Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <587EE06E.1040905@adelielinux.org>
Date: Tue, 17 Jan 2017 21:26:38 -0600
From: "A. Wilcox" <awilfox@...lielinux.org>
To: musl@...ts.openwall.com
Subject: Re: SUSv2 c89 compilation environment symbols missing

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 17/01/17 17:36, Laine Gholson wrote:
> then remove the macros, half-supporting something is worse than
> not supporting it at all

I am highly interested in what you are using that needs SUSv2 confstr
macros.  That isn't snark, either; I didn't know anything that would
build against musl (or even a compiler that can link against musl)
would specifically require C89 confstr macros and not be easily
portable to at least the C99 ones.

>>>> On Fri, Dec 30, 2016 at 04:30:13PM -0600, Laine Gholson
>>>> wrote:
>>>>> musl defines, e.g _SC_XBS5_ILP32_OFF32, but not 
>>>>> _CS_XBS5_ILP32_OFF32_CFLAGS see
>>>>> http://pubs.opengroup.org/onlinepubs/7908799/xcu/getconf.html

The
>>>>> 
argument you are making is for confstr, not getconf, so that we
are clear.  getconf is a shell utility, and confstr is a C function:
http://pubs.opengroup.org/onlinepubs/7908799/xsh/confstr.html

Note that those macros were marked as LEGACY and only available under
XSI option for the 2004 edition (Issue 6) of the POSIX standard.  The
2008/2016 edition (Issue 7) of the POSIX standard removes them.

Considering musl's first public code drop was 2011-02-12, I highly
doubt that it targets Issue 6 as Issue 7 had already existed for three
years.  (Rich can correct me here if I'm wrong.)

As I see it, you have two options here:

- - Port the software you want to build to the new macros defined in a
newer edition (ideally Issue 7) of the POSIX standard.  Using
preprocessor conditionals, you should even be able to retain backwards
compatibility with the SUSv2 macros if you need that for any reason.

- - Use a library that specifically implements SUSv2.  The Open Group
maintains a register of compliant implementations[1], and it looks
like Solaris 9 will meet your needs on SPARC and x86 while AIX 5.1 and
5.2 will on PowerPC.


[1]: http://www.opengroup.org/csq/search/t=XU2.html

- -- 
A. Wilcox (awilfox)
Project Lead, Adélie Linux
http://adelielinux.org

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.