Created attachment 33437 [details] [review]
Remove ABI Tag
For some time libGL has included an OS ABI tag, to indicate that the library is only usable on systems with TLS support (kernel 2.4.20 and above).
The problem is that this tag breaks ldconfig ordering of libGL. In my deployment, I install libGL from Mesa, from nVidia, and from ATI, simultaneously but under different paths. Adding the correct path to /etc/ld.so.conf used to work very well.
However, with the current libGL, even when another libGL is specified with priority, ldconfig will ignore it in favour of the Mesa GLX version, because of the tag:
libGL.so.1 (libc6, OS ABI: Linux 2.4.20) => /usr/lib/libGL.so.1
libGL.so.1 (libc6) => /usr/lib/nvidia/libGL.so.1
Seeing as 2.4 kernels are becoming increasingly rare, I am recommending removing the tag, thus restoring correct ldconfig order going forward. Patch attached.
This was discussed on the mailing list:
The problem is still in 7.7 and 7.9. amd64 is affected as well.
Since this bug requires some pretty ugly workarounds and seriously affects user experience it would be very nice if you could increase the priority of this problem report.
Attached you can find a patch for 7.7. Except for breaking Mesa for Linux x86 kernels before 2.4.20 (released 8 years ago) I don't see any disadvantages. On all other platforms the os abi tag is not in, anyway.
Created attachment 40879 [details] [review]
--enable-glx-tls breaks glxinfo of nvidia property drives on Fedora 19 Alfa .
glibc 2.16 doesn't even work on pre-2.6 kernels anymore. DRI support requires 2.6.28 or better, according to the install docs, so I think we can safely drop this entirely.
Author: Adam Jackson <firstname.lastname@example.org>
Date: Tue Apr 23 14:07:33 2013 -0400
linux: Don't emit a .note.ABI-tag section anymore (#26663)
We don't support pre-2.6 kernels anyway - the install docs say 2.6.28
for DRI - and apparently this confuses ld.so's sorting when multiple
libGLs are installed. Just remove it.
Note: this is a candidate for the stable branches.
Acked-by: Kenneth Graunke <email@example.com>
Signed-off-by: Adam Jackson <firstname.lastname@example.org>