This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: PATCH: Add x32 abilist files
On Tue, 15 May 2012, Roland McGrath wrote:
> 1. Put the x86_64.* patterns back into the main file, and use
> %ifdef __ILP32__
> to distinguish x32. But if the i686 compiler defines __ILP32__ too,
> then this will get the wrong LD_SO. However, that needs a solution
> anyway, since for i686/x86_64/x32 the one <gnu/lib-names.h> is supposed
> to be triarch.
This requires a macro defined in configure, rather than one predefined by
the compiler, as with the ARM hard-float dynamic linker issue.
> 2. Put them into a new common place like sysdeps/x86/shlib-versions.
> Then make sysdeps/{x86_64,i386}/Implies list x86.
I like the sysdeps/x86 approach.
> Unless we figure that out in the next few hours, I think the right thing
> for now is to revert HJ's commit so that the i686 build does not regress
> before we resolve this properly.
I don't think this is particularly significant as a regression - I'm
pretty sure there are various (non-generated) headers installed for i686
that aren't biarch-capable at all, so for biarch-capable headers you
actually need to take those installed for x86_64 at present.
But I like sysdeps/x86 (and sysdeps/unix/sysv/linux/x86, etc.) as a
solution for this issue - it would be best for all three ABIs to install
exactly the same set of headers, which would work for all three ABIs,
rather than having multiple copies of various installed headers, some
versions of a header being biarch-capable and some not. (There are some
files other than installed headers that might be shared between x86 and
x86_64 as well.)
--
Joseph S. Myers
joseph@codesourcery.com