Patchwork scripts/unifdef.c: rename getline symbol to something else

login
register
mail settings
Submitter Kyle McMartin
Date March 11, 2009, 4:17 p.m.
Message ID <20090311161733.GE5448@bombadil.infradead.org>
Download mbox | patch
Permalink /patch/11166/
State New, archived
Headers show

Comments

Kyle McMartin - March 11, 2009, 4:17 p.m.
From: Kyle McMartin <kyle@redhat.com>

Rawhide builds are currently failing to build unifdef.c, as the next
version of glibc changes the default _POSIX_C_SOURCE level, which
exposes getline() from <stdio.h>

scripts/unifdef.c:209: error: conflicting types for 'getline'
/usr/include/stdio.h:653: note: previous declaration of 'getline' was
here
make[2]: *** [scripts/unifdef] Error 1
make[1]: *** [__headers] Error 2
make: *** [vmlinux] Error 2

Rename the symbol in unifdef.c to parseline to avoid this conflicting
declaration.

Otherwise Jakub says we could add a -D_POSIX_C_SOURCE=200112L as a
workaround to unifdef CFLAGS, but this seems like it would be less
desirable in the long term.

Signed-off-by: Kyle McMartin <kyle@redhat.com>

---
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kyle McMartin - March 11, 2009, 6:59 p.m.
On Wed, Mar 11, 2009 at 07:37:35PM +0100, Sam Ravnborg wrote:
> > Rawhide builds are currently failing to build unifdef.c, as the next
> > version of glibc changes the default _POSIX_C_SOURCE level, which
> > exposes getline() from <stdio.h>
> > 
> > scripts/unifdef.c:209: error: conflicting types for 'getline'
> > /usr/include/stdio.h:653: note: previous declaration of 'getline' was
> > here
> > make[2]: *** [scripts/unifdef] Error 1
> > make[1]: *** [__headers] Error 2
> > make: *** [vmlinux] Error 2
> > 
> > Rename the symbol in unifdef.c to parseline to avoid this conflicting
> > declaration.
> 
> I have a similar patch queued in kbuild-fixes.git.
> 

Great, thanks. Is this going to go into the next -rc?

regards, Kyle
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andrew Morton - March 12, 2009, 6:56 a.m.
On Wed, 11 Mar 2009 14:59:42 -0400 Kyle McMartin <kyle@infradead.org> wrote:

> On Wed, Mar 11, 2009 at 07:37:35PM +0100, Sam Ravnborg wrote:
> > > Rawhide builds are currently failing to build unifdef.c, as the next
> > > version of glibc changes the default _POSIX_C_SOURCE level, which
> > > exposes getline() from <stdio.h>
> > > 
> > > scripts/unifdef.c:209: error: conflicting types for 'getline'
> > > /usr/include/stdio.h:653: note: previous declaration of 'getline' was
> > > here
> > > make[2]: *** [scripts/unifdef] Error 1
> > > make[1]: *** [__headers] Error 2
> > > make: *** [vmlinux] Error 2
> > > 
> > > Rename the symbol in unifdef.c to parseline to avoid this conflicting
> > > declaration.
> > 
> > I have a similar patch queued in kbuild-fixes.git.
> > 
> 
> Great, thanks. Is this going to go into the next -rc?
> 

I was going to put it into 2.6.29 but Sam stole it :)
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kyle McMartin - March 13, 2009, 5:51 a.m.
On Fri, Mar 13, 2009 at 06:52:09AM +0100, Sam Ravnborg wrote:
> > I was going to put it into 2.6.29 but Sam stole it :)
> Bad boy.
> The patch is included in -rc8 so everyone is happy again.
> 

Yup, I dropped the other patch from rawhide for -rc8.

Thanks again Sam,
	Kyle
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

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;