From 06cb0b6ddbbb2f9275b3a71eda3f2ffeff929d90 Mon Sep 17 00:00:00 2001 From: Zoltan Devai Date: Wed, 28 Oct 2009 12:03:38 +0100 Subject: 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. diff --git a/patches/uClibc/0.9.30.1/180-getline-conflict.patch b/patches/uClibc/0.9.30.1/180-getline-conflict.patch new file mode 100644 index 0000000..50842f9 --- /dev/null +++ b/patches/uClibc/0.9.30.1/180-getline-conflict.patch @@ -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; + -- cgit v0.10.2-6-g49f6