[PATCH] Don't check ABI for _nl_default_dirname

Jonathan Nieder jrnieder@gmail.com
Mon Dec 10 05:52:00 GMT 2012


Andi Kleen wrote:

>> But, as already mentioned, the size is encoded into the COPY reloc.
>> 
>> So the dynamic linker "notices" that your application linked with
>> a "different" instance of the symbol, since the size is different,
>> and it will signal an error.
>
> I haven't seen that and i configure glibc with a different prefix. Have you?

I assume you've never used _nl_default_dirname in a program.

Hey, it is even likely that nobody ever does.  No header advertises
it.  There is no obvious reason to export it --- as far as I can tell
that was a historical mistake.  A tempting fix would be to remove the
symbol, though that would be hard to explain to people watching the
ABI.

Second best after removing it would be to trick programs with
references to _nl_default_dirname that already worked into continuing
to work.  That's what the strawman patch upthread tries to do.

[...]
> So you're saying that it's impossible to configure glibc with anything
> different than --prefix=/usr

No.  It's just impossible to configure glibc with a prefix of
different length and then run an existing dynamically linked program
that used _nl_default_dirname.

Thanks,
Jonathan



More information about the Libc-alpha mailing list