Don't expose all BSD extensions.

Just expose the ones that bionic historically leaked.

Also, many of the M_* constants in <math.h> are actually POSIX.

Change-Id: I6275df84c5866b872b71f1c8ed14e2aada12b793
diff --git a/libc/include/stdio.h b/libc/include/stdio.h
index cfcdf1a..ef660d8 100644
--- a/libc/include/stdio.h
+++ b/libc/include/stdio.h
@@ -227,10 +227,7 @@
 FILE* fmemopen(void*, size_t, const char*) __INTRODUCED_IN(23);
 FILE* open_memstream(char**, size_t*) __INTRODUCED_IN(23);
 
-/*
- * Routines that are purely local.
- */
-#if defined(__USE_BSD)
+#if defined(__USE_BSD) || defined(__BIONIC__) /* Historically bionic exposed these. */
 int  asprintf(char** __restrict, const char* __restrict, ...) __printflike(2, 3);
 char* fgetln(FILE* __restrict, size_t* __restrict);
 int fpurge(FILE*);