svn commit: trunk/uClibc: include libc/sysdeps/linux/common libm

vda at uclibc.org vda at uclibc.org
Sat Dec 13 01:53:29 UTC 2008


Author: vda
Date: 2008-12-12 17:53:28 -0800 (Fri, 12 Dec 2008)
New Revision: 24398

Log:
*: document __USE_EXTERN_INLINES better;
 fix uclibc build if it is forcibly enabled



Modified:
   trunk/uClibc/include/features.h
   trunk/uClibc/libc/sysdeps/linux/common/cmsg_nxthdr.c
   trunk/uClibc/libm/float_wrappers.c
   trunk/uClibc/libm/ldouble_wrappers.c
   trunk/uClibc/libm/s_ceil.c
   trunk/uClibc/libm/s_fabs.c
   trunk/uClibc/libm/s_finite.c
   trunk/uClibc/libm/s_floor.c
   trunk/uClibc/libm/s_llrint.c
   trunk/uClibc/libm/s_lrint.c
   trunk/uClibc/libm/s_signbit.c
   trunk/uClibc/libm/s_signbitf.c


Changeset:
Modified: trunk/uClibc/include/features.h
===================================================================
--- trunk/uClibc/include/features.h	2008-12-12 23:34:42 UTC (rev 24397)
+++ trunk/uClibc/include/features.h	2008-12-13 01:53:28 UTC (rev 24398)
@@ -365,9 +365,17 @@
 
 #endif	/* !ASSEMBLER */
 
-/* Decide whether we can define 'extern inline' functions in headers.  */
-#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \
-    && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ \
+/* Decide whether we can, and are willing to define extern inline
+ * functions in headers, even if this results in a slightly bigger
+ * code for user programs built against uclibc.
+ * Enabled only in -O2 compiles, not -Os.
+ * uclibc itself is usually built without __USE_EXTERN_INLINES,
+ * remove "&& !defined __OPTIMIZE_SIZE__" part to do otherwise.
+ */
+#if __GNUC_PREREQ (2, 7) \
+    && defined __OPTIMIZE__ \
+    && !defined __OPTIMIZE_SIZE__ \
+    && !defined __NO_INLINE__ \
     && (defined __extern_inline || defined __GNUC_GNU_INLINE__)
 # define __USE_EXTERN_INLINES	1
 #endif

Modified: trunk/uClibc/libc/sysdeps/linux/common/cmsg_nxthdr.c
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/common/cmsg_nxthdr.c	2008-12-12 23:34:42 UTC (rev 24397)
+++ trunk/uClibc/libc/sysdeps/linux/common/cmsg_nxthdr.c	2008-12-13 01:53:28 UTC (rev 24398)
@@ -19,6 +19,8 @@
 
 #define __FORCE_GLIBC
 #include <features.h>
+/* Prevent math.h from defining a colliding inline */
+#undef __USE_EXTERN_INLINES
 #include <sys/socket.h>
 
 /* libc_hidden_proto(__cmsg_nxthdr) */

Modified: trunk/uClibc/libm/float_wrappers.c
===================================================================
--- trunk/uClibc/libm/float_wrappers.c	2008-12-12 23:34:42 UTC (rev 24397)
+++ trunk/uClibc/libm/float_wrappers.c	2008-12-13 01:53:28 UTC (rev 24398)
@@ -10,6 +10,9 @@
  * GNU Lesser General Public License version 2.1 or later.
  */
 
+#include <features.h>
+/* Prevent math.h from defining colliding inlines */
+#undef __USE_EXTERN_INLINES
 #include <math.h>
 #include <complex.h>
 

Modified: trunk/uClibc/libm/ldouble_wrappers.c
===================================================================
--- trunk/uClibc/libm/ldouble_wrappers.c	2008-12-12 23:34:42 UTC (rev 24397)
+++ trunk/uClibc/libm/ldouble_wrappers.c	2008-12-13 01:53:28 UTC (rev 24398)
@@ -10,6 +10,9 @@
  * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
  */
 
+#include <features.h>
+/* Prevent math.h from defining colliding inlines */
+#undef __USE_EXTERN_INLINES
 #include "math.h"
 
 /* Implement the following, as defined by SuSv3 */

Modified: trunk/uClibc/libm/s_ceil.c
===================================================================
--- trunk/uClibc/libm/s_ceil.c	2008-12-12 23:34:42 UTC (rev 24397)
+++ trunk/uClibc/libm/s_ceil.c	2008-12-13 01:53:28 UTC (rev 24398)
@@ -23,6 +23,9 @@
  *	Inexact flag raised if x not equal to ceil(x).
  */
 
+#include <features.h>
+/* Prevent math.h from defining a colliding inline */
+#undef __USE_EXTERN_INLINES
 #include "math.h"
 #include "math_private.h"
 

Modified: trunk/uClibc/libm/s_fabs.c
===================================================================
--- trunk/uClibc/libm/s_fabs.c	2008-12-12 23:34:42 UTC (rev 24397)
+++ trunk/uClibc/libm/s_fabs.c	2008-12-13 01:53:28 UTC (rev 24398)
@@ -18,6 +18,9 @@
  * fabs(x) returns the absolute value of x.
  */
 
+#include <features.h>
+/* Prevent math.h from defining a colliding inline */
+#undef __USE_EXTERN_INLINES
 #include "math.h"
 #include "math_private.h"
 

Modified: trunk/uClibc/libm/s_finite.c
===================================================================
--- trunk/uClibc/libm/s_finite.c	2008-12-12 23:34:42 UTC (rev 24397)
+++ trunk/uClibc/libm/s_finite.c	2008-12-13 01:53:28 UTC (rev 24398)
@@ -15,6 +15,9 @@
  * no branching!
  */
 
+#include <features.h>
+/* Prevent math.h from defining a colliding inline */
+#undef __USE_EXTERN_INLINES
 #include "math.h"
 #include "math_private.h"
 

Modified: trunk/uClibc/libm/s_floor.c
===================================================================
--- trunk/uClibc/libm/s_floor.c	2008-12-12 23:34:42 UTC (rev 24397)
+++ trunk/uClibc/libm/s_floor.c	2008-12-13 01:53:28 UTC (rev 24398)
@@ -23,6 +23,9 @@
  *	Inexact flag raised if x not equal to floor(x).
  */
 
+#include <features.h>
+/* Prevent math.h from defining a colliding inline */
+#undef __USE_EXTERN_INLINES
 #include "math.h"
 #include "math_private.h"
 

Modified: trunk/uClibc/libm/s_llrint.c
===================================================================
--- trunk/uClibc/libm/s_llrint.c	2008-12-12 23:34:42 UTC (rev 24397)
+++ trunk/uClibc/libm/s_llrint.c	2008-12-13 01:53:28 UTC (rev 24398)
@@ -19,8 +19,10 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <features.h>
+/* Prevent math.h from defining a colliding inline */
+#undef __USE_EXTERN_INLINES
 #include <math.h>
-
 #include "math_private.h"
 
 static const double two52[2] =

Modified: trunk/uClibc/libm/s_lrint.c
===================================================================
--- trunk/uClibc/libm/s_lrint.c	2008-12-12 23:34:42 UTC (rev 24397)
+++ trunk/uClibc/libm/s_lrint.c	2008-12-13 01:53:28 UTC (rev 24398)
@@ -19,8 +19,10 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <features.h>
+/* Prevent math.h from defining a colliding inline */
+#undef __USE_EXTERN_INLINES
 #include <math.h>
-
 #include "math_private.h"
 
 static const double two52[2] =

Modified: trunk/uClibc/libm/s_signbit.c
===================================================================
--- trunk/uClibc/libm/s_signbit.c	2008-12-12 23:34:42 UTC (rev 24397)
+++ trunk/uClibc/libm/s_signbit.c	2008-12-13 01:53:28 UTC (rev 24398)
@@ -18,8 +18,10 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <features.h>
+/* Prevent math.h from defining a colliding inline */
+#undef __USE_EXTERN_INLINES
 #include <math.h>
-
 #include "math_private.h"
 
 int

Modified: trunk/uClibc/libm/s_signbitf.c
===================================================================
--- trunk/uClibc/libm/s_signbitf.c	2008-12-12 23:34:42 UTC (rev 24397)
+++ trunk/uClibc/libm/s_signbitf.c	2008-12-13 01:53:28 UTC (rev 24398)
@@ -18,8 +18,10 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <features.h>
+/* Prevent math.h from defining a colliding inline */
+#undef __USE_EXTERN_INLINES
 #include <math.h>
-
 #include "math_private.h"
 
 libm_hidden_proto(__signbitf)




More information about the uClibc-cvs mailing list