libm: explain the hard-coded _BSD_SOURCE better.

Change-Id: I2d3162f88aab49f111af3bdedc1205ad34f9fea2
diff --git a/libm/Android.bp b/libm/Android.bp
index de2e774..318d35f 100644
--- a/libm/Android.bp
+++ b/libm/Android.bp
@@ -388,7 +388,6 @@
     ],
 
     cflags: [
-        "-D_BSD_SOURCE",
         "-include freebsd-compat.h",
         "-fno-builtin",
         "-fno-math-errno",
diff --git a/libm/freebsd-compat.h b/libm/freebsd-compat.h
index f1985d2..9555ff9 100644
--- a/libm/freebsd-compat.h
+++ b/libm/freebsd-compat.h
@@ -16,6 +16,10 @@
 
 #pragma once
 
+// Since we're implementing all the extensions,
+// we need to make sure we get all their declarations when we include <math.h>.
+#define _BSD_SOURCE
+
 // Some FreeBSD source includes <complex.h> and assumes <math.h> from that.
 #include <math.h>