# HG changeset patch # User Zoltan Devai # Date 1256727818 -3600 # Node ID 01d01185eb18b297abc9cf7972ce635cf527f871 # Parent c938fd487dea0572cdaf1b2e198c684f6d78d31b 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. (transplanted from 1ba79f2126df8bd89120899a58f2d0bcc2e9c771) diff -r c938fd487dea -r 01d01185eb18 patches/uClibc/0.9.30.1/180-getline-conflict.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/uClibc/0.9.30.1/180-getline-conflict.patch Wed Oct 28 12:03:38 2009 +0100 @@ -0,0 +1,30 @@ +--- a/extra/scripts/unifdef.c ++++ b/extra/scripts/unifdef.c +@@ -206,7 +206,7 @@ + static void error(const char *); + static int findsym(const char *); + static void flushline(bool); +-static Linetype getline(void); ++static Linetype get_line(void); + static Linetype ifeval(const char **); + static void ignoreoff(void); + static void ignoreon(void); +@@ -512,7 +512,7 @@ + + for (;;) { + linenum++; +- lineval = getline(); ++ lineval = get_line(); + trans_table[ifstate[depth]][lineval](); + debug("process %s -> %s depth %d", + linetype_name[lineval], +@@ -526,7 +526,7 @@ + * help from skipcomment(). + */ + static Linetype +-getline(void) ++get_line(void) + { + const char *cp; + int cursym; +