minimal sysroot references to the non armhf loader

Bug #1011671 reported by Ken Werner
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro Toolchain Binaries
Fix Released
High
Unassigned

Bug Description

The the minimal sysroot we provide with the gcc-linaro-arm-linux-gnueabihf-2012.05-20120523_linux contains libraries that reference the ld-linux.so.3 loader (DT_NEEDED):
  gcc-linaro-arm-linux-gnueabihf-2012.05-20120523_linux/arm-linux-gnueabihf/libc/lib/arm-linux-gnueabihf/libbz2.so.1.0.4
  gcc-linaro-arm-linux-gnueabihf-2012.05-20120523_linux/arm-linux-gnueabihf/libc/lib/arm-linux-gnueabihf/libz.so.1.2.3.4
  gcc-linaro-arm-linux-gnueabihf-2012.05-20120523_linux/arm-linux-gnueabihf/libc/lib/arm-linux-gnueabihf/libselinux.so.1

This raises a couple of questions:
 1) Where do these files come from? (Afair we configure crosstoolng to use some prebuilt libs. Are they copied from Ubuntu?)
 2) Why are they using symbols exported by the loader at all? (they might be pulled in accidentally)
 3) Why do we provide libselinux.so.1 in a minimal sysroot?

Changed in linaro-toolchain-binaries:
status: New → Triaged
Revision history for this message
Ken Werner (kwerner) wrote :

Since the sysroot is taken from Ubuntu it sounds like an Ubuntu bug to me. I don't know why any regular library would pull in symbols from the loader. Maybe those symbols are meant to be provided by something else and just got satisfied by the loader accidentally. Which leads to the question: What happened during the build? I guess checking Ubuntu package build logs for the final link step is not enough as the linker doesn't list what symbol a satisfied by which lib and therefore causing a DT_NEEDED entry.

Michael Hope (michaelh1)
Changed in linaro-toolchain-binaries:
importance: Undecided → High
milestone: none → 2012.06
Michael Hope (michaelh1)
Changed in linaro-toolchain-binaries:
status: Triaged → In Progress
Revision history for this message
Ken Werner (kwerner) wrote :

Side note: Since I don't really depend on having these libs in the sysroot I just removed them as a workaround. That way the build of oe-core+meta-linaro using the 2012.05 release of the binary toolchain went successful.

Revision history for this message
Marcin Juszkiewicz (hrw) wrote :

All those packages were built long time before ld-linux-so.3 change. That's why you see this. It is not a problem on target device because ld-linux-so.3 is symlink to ld-linux-armhf.so.3 which is symlink to ld-2.15.so file.

bzip2 in precise was 26 weeks ago, zlib 31 weeks, libselinux 14 weeks.

Changed in linaro-toolchain-binaries:
status: In Progress → Fix Committed
Revision history for this message
Ken Werner (kwerner) wrote :

Thanks for the info Marcin. This explains why it's referencing the old loader name. But I'm still wondering why a library like libz is pulling in the loader at all. Why would libz need a symbol exported by the loader?

Changed in linaro-toolchain-binaries:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.