Enable -fgnu89-inline on compilers that support it. This helps
authorKhem Raj <raj.khem@gmail.com>
Wed, 20 Aug 2008 23:17:40 +0000 (23:17 +0000)
committerKhem Raj <raj.khem@gmail.com>
Wed, 20 Aug 2008 23:17:40 +0000 (23:17 +0000)
0.9.29 to compile with gcc 4.3.

packages/uclibc/uclibc-0.9.29/uclibc-use-fgnu89-inline.patch [new file with mode: 0644]
packages/uclibc/uclibc_0.9.29.bb

diff --git a/packages/uclibc/uclibc-0.9.29/uclibc-use-fgnu89-inline.patch b/packages/uclibc/uclibc-0.9.29/uclibc-use-fgnu89-inline.patch
new file mode 100644 (file)
index 0000000..6f79c78
--- /dev/null
@@ -0,0 +1,34 @@
+Source: http://www.nabble.com/-PATCH--uclibc-extern-inline-td14223616.html
+
+Description:
+
+Needed for uclibc-0.9.29 to compile with gcc 4.3.1
+
+You get this error without
+
+libc/libc_so.a(libc_pthread_init.oS): In function `testandset':
+libc_pthread_init.c:(.text+0x0): multiple definition of `testandset'
+libc/libc_so.a(forward.oS):forward.c:(.text+0x0): first defined here
+libc/libc_so.a(rpc_thread.oS): In function `testandset':
+rpc_thread.c:(.text+0x0): multiple definition of `testandset'
+libc/libc_so.a(forward.oS):forward.c:(.text+0x0): first defined here
+make[1]: *** [lib/libc.so] Error 1
+make: *** [lib/libc.so.0] Error 2
+
+
+---
+ Rules.mak |    1 +
+ 1 file changed, 1 insertion(+)
+
+Index: uClibc-0.9.29/Rules.mak
+===================================================================
+--- uClibc-0.9.29.orig/Rules.mak       2008-08-19 13:43:56.000000000 -0700
++++ uClibc-0.9.29/Rules.mak    2008-08-19 13:45:04.000000000 -0700
+@@ -402,6 +402,7 @@ CFLAGS += -DSTATIC
+ endif
+ CFLAGS += $(call check_gcc,-std=gnu99,)
++CFLAGS += $(call check_gcc,-fgnu89-inline,)
+ LDFLAGS_NOSTRIP:=$(CPU_LDFLAGS-y) -shared --warn-common --warn-once -z combreloc
+ # binutils-2.16.1 warns about ignored sections, 2.16.91.0.3 and newer are ok
index fc06c28..41af861 100644 (file)
@@ -7,7 +7,7 @@
 # on whether the base patches apply to the selected (SRCDATE) svn release.
 #
 UCLIBC_BASE ?= "0.9.29"
-PR = "r22"
+PR = "r23"
 DEFAULT_PREFERENCE = "1"
 
 require uclibc.inc
@@ -30,6 +30,7 @@ SRC_URI += "file://uClibc.machine file://uClibc.distro \
            file://uClibc-0.9.29-nonposix_bashisms.patch;patch=1 \
             file://arm_fix_alignment.patch;patch=1 \
            file://uclibc-arm-ftruncate64.patch;patch=1 \
+           file://uclibc-use-fgnu89-inline.patch;patch=1 \
            "
 
 #recent versions uclibc require real kernel headers