Add platform specific version tags.

Some functions were added at different times on different platforms.
This should hopefully get most of them.

Bug: http://b/28178111
Change-Id: I85fdf92779a2f3277e9b537c6bfc7216790c607a
diff --git a/libc/include/math.h b/libc/include/math.h
index 6d0db17..97539d7 100644
--- a/libc/include/math.h
+++ b/libc/include/math.h
@@ -127,6 +127,13 @@
 #endif
 #endif /* __BSD_VISIBLE */
 
+/* scalbln, scalbnf, and scalblnl were unavailable on x86 until API level 18 */
+#if defined(__i386__)
+#define __INTRODUCED_IN_X86 __INTRODUCED_IN
+#else
+#define __INTRODUCED_IN_X86(x)
+#endif
+
 /*
  * Most of these functions depend on the rounding mode and have the side
  * effect of raising floating-point exceptions, so they are not declared
@@ -237,7 +244,7 @@
 double	nearbyint(double);
 double	round(double);
 double	scalbln(double, long);
-double	scalbn(double, int);
+double scalbn(double, int) __INTRODUCED_IN_X86(18);
 double	tgamma(double);
 double	trunc(double);
 #endif
@@ -322,7 +329,7 @@
 float	remquof(float, float, int *);
 float	rintf(float);
 float	scalblnf(float, long);
-float	scalbnf(float, int);
+float scalbnf(float, int) __INTRODUCED_IN_X86(18);
 float	truncf(float);
 
 float	fdimf(float, float);
@@ -415,7 +422,7 @@
 long double rintl(long double) __INTRODUCED_IN(21);
 long double	roundl(long double);
 long double	scalblnl(long double, long);
-long double	scalbnl(long double, int);
+long double scalbnl(long double, int) __INTRODUCED_IN_X86(18);
 long double sinhl(long double) __INTRODUCED_IN(21);
 long double sinl(long double) __INTRODUCED_IN(21);
 long double sqrtl(long double) __INTRODUCED_IN(21);