Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20130208100125.0d6bf697.idunham@lavabit.com>
Date: Fri, 8 Feb 2013 10:01:25 -0800
From: Isaac Dunham <idunham@...abit.com>
To: musl@...ts.openwall.com
Subject: Re: guard bug for strerror_r

On Fri, 08 Feb 2013 18:30:00 +0100
Jens Gustedt <jens.gustedt@...ia.fr> wrote:

> 
> __GNU_SOURCE is defined by the gnu platform to specify the
> availability of their extensions. Unfortunately they don't have a
> finer grained tool to distinguish different types of extensions they
> provide. (BTW the same holds for gcc, that you only can tune with
> version numbers.)
> 
> If I, as a user, define __GNU_SOURCE I expect to have the gnu
> extension, if I then use strerror_r I expect to have their interface,
> since this is documented like this. At least as it is now, I don't
> think I have any means to distinguish the two platforms and to know
> which version of strerror_r I would receive.

#ifdef __linux
#include <features.h> /* this is partly for this purpose */
/*including <unistd.h> would also work, and is more universal
* it's actually necessary with dietlibc, IIRC */
#if defined(__GLIBC__) && defined(__USE_GNU)
..

-- 
Isaac Dunham <idunham@...abit.com>

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.