Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 15 Feb 2012 22:59:26 -0500
From: Rich Felker <>
Subject: Re: Little nit in string.h

On Wed, Feb 15, 2012 at 07:47:27PM -0800, Isaac Dunham wrote:
> basename (string.h:88) should accept a "const char *", instead of "char *"
> (this is breaking the build for some libiberty versions)
> I noticed this trying to build gcc-3.4.6-1 (because gcc3 is faster
> and doesn't do the completely wrong optimizations of gcc4).

Unfortunately this software is expecting the GNU version of basename,
whose prototype does not match the standard function (defined in
libgen.h). If libiberty is trying to define basename itself, I wonder
if the CFLAGS at configure and build time are mismatching in a way
that makes it think it needs to do this. I don't see any solution to
the problem by changing the headers, since putting a wrong prototype
in string.h would conflict with the correct version in libgen.h if
both are included. Maybe we could get away with a non-prototype
declaration in string.h, though, i.e. just:

char *basename();

Ideas welcome.


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.