Closed Bug 748739 Opened 11 years ago Closed 11 years ago
Sanitizer work with --enable-stdcxx-compat and gcc >= 4 .5
When building with --enable-stdcxx-compat (required on the linux slaves with Clang it seems), I get the following error when building with AddressSanitizer support: TEST-UNEXPECTED-FAIL | | We don't want these libstdc++ symbols to be used: 0000000000000000 DF *UND* 0000000000000000 GLIBCXX_3.4.14 _ZNSsC1EOSs 0000000000000000 DF *UND* 0000000000000000 GLIBCXX_3.4.14 _ZNSsaSEOSs make: *** [ssltunnel] Error 1 make: *** Deleting file `ssltunnel' make: *** [libs] Error 2 make: Leaving directory `/builds/slave/try-lnx64-dbg/build/obj-firefox/testing/mochitest/ssltunnel' Glandium explained me that this is due to stdc++compat.cpp being opt-in. However, the AddressSanitizer runtime library itself is written in C++ and seems to pull in dependencies that make it a requirement to have stdc++compat.cpp everywhere.
Try build: https://tbpl.mozilla.org/?tree=Try&rev=735716659700 (STDCXX_COMPAT is only enabled on linux and mac) This ensures we don't have any more surprise with random binaries requiring stdc++compat to be linked to it. And linking as a static library ensures that it's actually not included unless it's used (since the linker discards unused object files from static libraries)
Missing an ifdef in build/unix/Makefile.in
Attachment #618637 - Flags: review?(ted.mielczarek)
Comment on attachment 618637 [details] [diff] [review] Link stdc++compat as a static library, and always link it when STDCXX_COMPAT is enabled Review of attachment 618637 [details] [diff] [review]: ----------------------------------------------------------------- ::: toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in @@ -62,5 @@ > CPP_PROG_LINK = 1 > > -#XXX: bug 554854 causes us to be unable to run binaries on the build slaves > -# due to them having an older libstdc++ > -HOST_LDFLAGS += -static Nice, I was just thinking we could remove this before I got to this diff hunk!
Attachment #618637 - Flags: review?(ted.mielczarek) → review+
Target Milestone: --- → mozilla15
Fixup for Linux PGO bustage: https://hg.mozilla.org/integration/mozilla-inbound/rev/5b2cef6c4c34
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.