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*);