Darwin assert.h / shared libgcc mess

Zack Weinberg zack@codesourcery.com
Mon Nov 22 23:57:00 GMT 2004


Geoff Keating <geoffk@geoffk.org> writes:

> On 15/11/2004, at 3:39 PM, Zack Weinberg wrote:
>
>> Geoffrey Keating <geoffk@geoffk.org> writes:
>>
>>>> 2) Put __eprintf back into the shared libgcc, as an exported symbol,
>>>>    for all !inhibit_libc targets, so that fixincludes can rely on its
>>>>    being there.  (If we instead use __assert, then __eprintf will
>>>>    remain a static-library-only backward compatibility symbol.)
>>>
>>> Is this really necessary?  I'd rather have __eprintf linked into only
>>> those apps that need it.
>>
>> Right now, any shared library that uses assert will fail to link.
>> _Something_ has to be done.  I'm open to alternative suggestions.
>
> What I would do is put __eprintf in the static libgcc.a, and mark it as 
> hidden visibility so that it's private to each shared library.

Indeed, right now I am pursuing just such an idea.  It's not done
mainly because mklibgcc.in is very hard to modify.

zw



More information about the Gcc mailing list