Hi,

compiling kernel-headers with a recent host compiler yields the following error:

scripts/unifdef.c:209: error: conflicting types for 'getline'
/usr/include/stdio.h:651: note: previous declaration of 'getline' was 
here

in unifdef.c:
static Linetype         getline(void);

in stdio.h:

extern _IO_ssize_t getline (char **__restrict __lineptr,
                            size_t *__restrict __n,
                            FILE *__restrict __stream) __wur;


It should only appear on newer systems as mentioned in this article [1].
I attached a patch which applies a patch based on Kyle McMartin's patch.
(HATTRICK)

Regards, Frederik

[1]http://blog.scottt.tw/2009/04/getline-is-in-posix-2008-and-exposed-in.html




-------------------------------------------------------------------------
Geschäftsführung:       Klaus Blankenagel       Karl-Heinz Malzahn
Sitz der Gesellschaft:  Ense
Amtsgericht:  Arnsberg HRB 4452

Diese Nachricht ist als vertraulich einzustufen. Sollten Sie nicht der 
vorgesehene Empfänger sein, bitten wir Sie höflich um eine kurze 
Mitteilung und um die Löschung dieser Nachricht.
Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulässig.
Diese Nachricht dient lediglich dem Austausch von Informationen und 
entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten 
Manipulierbarkeit von E-Mails können wir keine Haftung für den Inhalt 
übernehmen.

-------------------------------------------------------------------------
management:  Klaus Blankenagel  Karl-Heinz Malzahn
based in:        Ense
competent country court:  Arnsberg HRB 4452

This message is confidential and may be privileged. If you are not 
the intended recipient, we kindly ask you to inform the sender and 
delete this message.
Any authorised dissemination or copying hereof is prohibited. 
This message servers for information purposes only and shall not 
have any legally binding effect. Given that e-mails can easily be 
subject to manipulation, we can not accept any liability for the 
content provided.

>From a1b9f0384cb9695a26e073ab202e7872e2897e36 Mon Sep 17 00:00:00 2001
From: Frederik Sdun <frederik.s...@inotec-licht.de>
Date: Mon, 18 Jan 2010 14:44:08 +0100
Subject: [PATCH] Add patch to rename kernel's getline to parseline


Signed-off-by: Frederik Sdun <frederik.s...@inotec-licht.de>
---
 .../linux-2.6.27/rename_getline_parseline.patch    |   31 ++++++++++++++++++++
 patches/linux-2.6.27/series                        |    1 +
 2 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/patches/linux-2.6.27/rename_getline_parseline.patch b/patches/linux-2.6.27/rename_getline_parseline.patch
new file mode 100644
index 0000000..74615a8
--- /dev/null
+++ b/patches/linux-2.6.27/rename_getline_parseline.patch
@@ -0,0 +1,31 @@
+diff --git a/scripts/unifdef.c b/scripts/unifdef.c
+index 552025e..977e682 100644
+--- a/scripts/unifdef.c
++++ b/scripts/unifdef.c
+@@ -206,7 +206,7 @@ static void done(void);
+static void error(const char *);
+static int findsym(const char *);
+static void flushline(bool);
+-static Linetype getline(void);
++static Linetype parseline(void);
+static Linetype ifeval(const char **);
+static void ignoreoff(void);
+static void ignoreon(void);
+@@ -512,7 +512,7 @@ process(void)
+
+for (;;) {
+linenum++;
+- lineval = getline();
++ lineval = parseline();
+trans_table[ifstate[depth]][lineval]();
+debug("process %s -> %s depth %d",
+linetype_name[lineval],
+@@ -526,7 +526,7 @@ process(void)
+* help from skipcomment().
+*/
+static Linetype
+-getline(void)
++parseline(void)
+{
+const char *cp;
+int cursym;
diff --git a/patches/linux-2.6.27/series b/patches/linux-2.6.27/series
new file mode 100644
index 0000000..efe8051
--- /dev/null
+++ b/patches/linux-2.6.27/series
@@ -0,0 +1 @@
+rename_getline_parseline.patch
-- 
1.6.3.3

--
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to