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