зеркало из https://github.com/mozilla/gecko-dev.git
eab19f0855
When linking a weak symbol in an object against a library where the symbol is provided with a version, the final binary get a weak versioned symbol reference. It turns out weak versioned symbols still make the dynamic linker need the symbol version, even if all symbols needed with that version are weak. Practically speaking, that means with bug 1634204, we now end up with a weak versioned symbol reference to __cxa_thread_atexit_impl with version GLIBC_2.18, and glibcs without the symbol can't fulfil that version, even though the weak symbol is the only thing we need from that version. This means the check_binary changes in bug 1634204 are too relaxed, so we revert them (although we keep the easier to read conditions in check_dep_versions). We also introduce a hack in stdc++compat.cpp (although it's not technically entirely about libstdc++ compat) so that we avoid the weak symbol reference while keeping the intended baseline for libstdc++ and glibc. Differential Revision: https://phabricator.services.mozilla.com/D79773 |
||
---|---|---|
.. | ||
build-binutils | ||
build-gcc | ||
build-hfsplus | ||
elfhack | ||
stdc++compat | ||
aix.exp | ||
moz.build | ||
mozconfig.asan | ||
mozconfig.linux | ||
mozconfig.linux32 | ||
mozconfig.stdcxx | ||
mozconfig.tsan | ||
mozconfig.unix | ||
mozilla.in | ||
print-non-newline.sh | ||
rewrite_asan_dylib.py | ||
run-gprof.sh | ||
run-hiprof.sh | ||
run-mozilla.sh | ||
run-third.sh |