Public bug reported:

It seems that expansion of the $PLATFORM dynamic linker variable has
changed between xenial and bionic:


rojer@xenial$ apt-cache policy libc6
libc6:
  Installed: 2.23-0ubuntu10
  Candidate: 2.23-0ubuntu10
rojer@xenial$ LD_PRELOAD='/foo/$LIB/$PLATFORM/bar.so' strace -f /bin/true 2>&1 
| grep '^open.*foo'
open("/foo/lib/x86_64-linux-gnu/x86_64/bar.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT 
(No such file or directory)


rojer@bionic$ apt-cache policy libc6
libc6:
  Installed: 2.27-3ubuntu1
  Candidate: 2.27-3ubuntu1
rojer@bionic$ LD_PRELOAD='/foo/$LIB/$PLATFORM/bar.so' strace -f /bin/true 2>&1 
| grep '^open.*foo'
openat(AT_FDCWD, "/foo/lib/x86_64-linux-gnu/haswell/bar.so", 
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)


What was `x86_64` before has changed to `haswell` which is way too
specific and also doesn't match the man page for ld.so which clearly
states:

       $PLATFORM (or equivalently ${PLATFORM})
              This expands to a string corresponding to the processor type of 
the host system (e.g., "x86_64").  On some architectures, the Linux kernel 
doesn't provide a platform string to the dynamic linker.  The value of this  
string  is  taken
              from the AT_PLATFORM value in the auxiliary vector (see 
getauxval(3)).


I verified that `getauxval(AT_PLATFORM)` still returns `x86_64`.

** Affects: glibc (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1780723

Title:
  Wrong expansion of $PLATFORM by ld.so on 18.04

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1780723/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to