summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2008-08-20 23:17:40 +0000
committerKhem Raj <raj.khem@gmail.com>2008-08-20 23:17:40 +0000
commit9d462af468702d05059a69f3f3e39a889a7d1b77 (patch)
tree53c6c42cc50e4b1dede5ec8dcf048962cc2b0b62
parent347f41f1c6caef14cd1a30315a6ce8dd2692da76 (diff)
Enable -fgnu89-inline on compilers that support it. This helps
0.9.29 to compile with gcc 4.3.
-rw-r--r--packages/uclibc/uclibc-0.9.29/uclibc-use-fgnu89-inline.patch34
-rw-r--r--packages/uclibc/uclibc_0.9.29.bb3
2 files changed, 36 insertions, 1 deletions
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
index 0000000000..6f79c789d0
--- /dev/null
+++ b/packages/uclibc/uclibc-0.9.29/uclibc-use-fgnu89-inline.patch
@@ -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
diff --git a/packages/uclibc/uclibc_0.9.29.bb b/packages/uclibc/uclibc_0.9.29.bb
index fc06c28f67..41af861fcf 100644
--- a/packages/uclibc/uclibc_0.9.29.bb
+++ b/packages/uclibc/uclibc_0.9.29.bb
@@ -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