[PATCH] Don't check ABI for _nl_default_dirname

Rich Felker dalias@aerifal.cx
Sun Dec 9 18:38:00 GMT 2012


On Fri, Dec 07, 2012 at 09:02:15PM -0800, Andi Kleen wrote:
> From: Andi Kleen <ak@linux.intel.com>
> 
> As discussed in http://comments.gmane.org/gmane.comp.lib.glibc.alpha/24671
> 
> The ABI of _nl_default_dirname depends on the prefix glibc is compiled with.
> For glibcs with non standard prefix _nl_default_dirname changes,
> which causes the ABI check in make check to fail.

This is a fundamentally broken part of the ABI that should be fixed.
_nl_default_dirname should be deprecated (with whatever tricks to
prevent new programs from linking to it) and replaced with
_nl_default_dirname_ptr that's a pointer instead of an array.
Exporting arrays that will be subject to copy relocations is deep into
the realm of Considered Harmful.

If _nl_default_dirname is declared anywhere in the headers, it could
be remapped to generate a reference through the
_nl_default_dirname_ptr pointer instead.

Rich



More information about the Libc-alpha mailing list