The difference is that the -Bsymbolic flag is given to the linker when
using the pre-build toolchain (it seems for every shared library).

Our toolchain doesn't use that flag, causing the plt to be generated.

I'm able to successfully build a working linker by forcing this specific flag 
in Android.mk:
LOCAL_LDFLAGS := -shared -Wl,--exclude-libs,ALL -Wl,-Bsymbolic

But then you get tons of warnings when starting the container, because the same 
flag wasn't used for the rest of the shared libraries:
WARNING: linker: libdsyscalls.so has text relocations. This is wasting memory 
and is a security risk. Please fix.
WARNING: linker: libc.so has text relocations. This is wasting memory and is a 
security risk. Please fix.
WARNING: linker: libm.so has text relocations. This is wasting memory and is a 
security risk. Please fix.
WARNING: linker: liblog.so has text relocations. This is wasting memory and is 
a security risk. Please fix.
WARNING: linker: libcutils.so has text relocations. This is wasting memory and 
is a security risk. Please fix.
WARNING: linker: libusbhost.so has text relocations. This is wasting memory and 
is a security risk. Please fix.
WARNING: linker: libselinux.so has text relocations. This is wasting memory and 
is a security risk. Please fix.
WARNING: linker: ls has text relocations. This is wasting memory and is a 
security risk. Please fix.

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

Title:
  Android container fails to start when built with the gcc-i686-linux-
  android toolchain

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

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

Reply via email to