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, May 15, 2012 at 4:07 PM, Roland McGrath <roland@hack.frob.com> wrote:
>> Here is a patch. ?I added a special lib-names.awk for x86/x86-64 to
>> handle it properly for x32, ia32 and x86-64. ?Any comments?
>
> Rather than a new pure special case, I think we should generalize the
> generalization done for syscall-list-variants et al to be usable for
> other {bi,...}arch file generation. ?Then we can feed lib-names.awk
> those same variables to have it do the general case of multi-alternatives.
>
We have
hjl@gnu-6 glibc]$ cat ./sysdeps/x86_64/x32/shlib-versions
# Configuration DEFAULT Earliest symbol set
# ------------- --------------- ------------------------------
x86_64-.*-linux.* DEFAULT GLIBC_2.16
x86_64-.*-linux.* ld=ld-linux-x32.so.2 GLIBC_2.16
[hjl@gnu-6 glibc]$ cat ./sysdeps/x86_64/64/shlib-versions
# Configuration DEFAULT Earliest symbol set
# ------------- --------------- ------------------------------
x86_64-.*-linux.* DEFAULT GLIBC_2.2.5
x86_64-.*-linux.* ld=ld-linux-x86-64.so.2 GLIBC_2.2.5
[hjl@gnu-6 glibc]$
You can't tell which one is x32 just by looking at target name.
Since the only difference is in ld.so among 3 ABIs, my script
checks name of ld.so. Maybe the same approach can be used
for other archs. There is still an issue that you need a way
to #ifdef 3 ABIs. I am not sure if it can be generalized.
--
H.J.