Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 10 Jan 2013 14:04:54 -0500
From: Rich Felker <>
Subject: Re: Remaining ABI issues

On Thu, Jan 10, 2013 at 08:04:54AM -0800, Isaac Dunham wrote:
> On Wed, 9 Jan 2013 23:03:19 -0500
> Rich Felker <> wrote:
> > As for type-2 issues (C++ ABI), there are a number I'm aware of and
> > probably plenty more I'm not aware of, where we don't match glibc and
> > thus can't work with glibc-targeted shared library binaries or
> > applications written in C++:
> > 
> > - FILE, mbstate_t, and fpos_t tags don't match glibc's.
> cares about what FILE looks like?

It cares what it looks like to (for unlocked getc/putc macros), but
that's not the issue at hand (it's already compatible). The issue at
hand is just the name of the struct tag for the struct type behind the
FILE typedef.

> > - Underlying type of pthread_t is pointer in musl, long in glibc
> >
> > - Type of timer_t is a pointer in musl; this is actually
> >   non-conforming to POSIX as well as being incompatible with glibc.
> FYI, I compared man 3posix types.h (SUSv3) with the POSIX 2008
> description, and it looks like the use of a pointer for pthread_t
> was at one point not permitted, though this was fixed by POSIX 2004.

Interesting. At least this provides some motivation for their
otherwise-very-bad definition.


Powered by blists - more mailing lists

Your e-mail address:

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