patches/glibc/2.3.6/120-allow-gcc-4.0-wordexp.patch
author Zoltan Devai <zdevai@gmail.com>
Wed Oct 28 12:03:38 2009 +0100 (2009-10-28)
changeset 1602 1ba79f2126df
parent 402 197e1b49586e
permissions -rw-r--r--
libc/uClibc: fix building on system with recent glibc

While trying to build a toolchain with ct-ng 1.5.0,
arm-unknown-linux-uclibcgnueabi target,
I get the following error:

[INFO ] Installing C library headers
[EXTRA] Copying sources to build dir
[EXTRA] Applying configuration
[EXTRA] Building headers
[EXTRA] Installing headers
[ERROR] extra/scripts/unifdef.c:209: error: conflicting types for 'getline'
[ERROR] make[2]: *** [extra/scripts/unifdef] Error 1
[ERROR] Build failed in step 'Installing C library headers'

The following patch solves the problem.
(It's a backport of this uClibc commit:
http://git.uclibc.org/uClibc/commit/?id=49e81cada73616864b9b31df0aeb6961c30f5a6e
)

[--SNIP from another mail--]
AFAIK this is a problem since glibc 2.10.
yann@402
     1
../sysdeps/generic/wordexp.c: In function 'exec_comm':
yann@402
     2
../sysdeps/generic/wordexp.c:815: sorry, unimplemented: inlining failed in call to 'exec_comm_child': function body not available
yann@402
     3
../sysdeps/generic/wordexp.c:900: sorry, unimplemented: called from here
yann@402
     4
make[2]: *** [/home/dank/queue/jobdir.fast2/crosstool-dev/build/i686-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.3-20050307/build-glibc/posix/wordexp.o] Error
yann@402
     5
yann@402
     6
I had to add the keyword 'inline' to get it to compile:
yann@402
     7
yann@402
     8
--- glibc-2.3-20050307/sysdeps/generic/wordexp.c.old	2005-03-12 08:54:15.709253928 -0800
yann@402
     9
+++ glibc-2.3-20050307/sysdeps/generic/wordexp.c	2005-03-12 08:54:51.242852000 -0800
yann@402
    10
@@ -809,7 +809,7 @@
yann@402
    11
 }
yann@402
    12
yann@402
    13
 /* Function called by child process in exec_comm() */
yann@402
    14
-static void
yann@402
    15
+static inline void
yann@402
    16
 internal_function __attribute__ ((always_inline))
yann@402
    17
 exec_comm_child (char *comm, int *fildes, int showerr, int noexec)
yann@402
    18
 {
yann@402
    19
yann@402
    20
yann@402
    21
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>