On Sun, Nov 20, 2016 at 1:09 PM, Florian Weimer <fw@xxxxxxxxxxxxx> wrote: > I'd look at the output from “eu-readelf -s > /opt/cross/lib/gcc/arm-linux-gnueabihf/6.2.0/../../../../arm-linux-gnueabihf/lib/libstdc++.so” Hmm. Good idea. I looked at it with nm but not readelf. The output looks similar to nm. For brevity: $ eu-readelf -s /opt/cross/lib/gcc/arm-linux-gnueabihf/6.2.0/../../../../arm-linux-gnueabihf/lib/libstdc++.so |grep modfl 3061: 001261d4 244 FUNC WEAK DEFAULT 11 modfl@@GLIBCXX_3.4.3 5225: 000707b4 4 FUNC GLOBAL DEFAULT 11 modfl@GLIBCXX_3.4.3 13894: 000707b4 4 FUNC LOCAL DEFAULT 11 __modfl_wrapper 13998: 001261d4 244 FUNC LOCAL DEFAULT 11 __modfl 17670: 001261d4 244 FUNC WEAK DEFAULT 11 modfl 19834: 000707b4 4 FUNC GLOBAL DEFAULT 11 modfl@GLIBCXX_3.4.3 "modfl" is one of the duplicate symbols being reported. > next. It seems to me it contains a statically-linked copy of libm.a, > which really should not happen. I do think that is what's happening. I'm perplexed as to why it may be though. > Since you are using a pre-built sysroot, maybe that's not set up for > dynamic linking at all? Nope. The pre-built sysroot most definitely supports dynamic linking just fine. It's just a Debian ARM image with some configuration tweaks. Thanks, Mark