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