gecko-dev/toolkit/crashreporter
Mike Hommey e0bbb4aa9e Bug 1423802 - Handle stdc++compat and STLPORT_LIBS at the emitter level. r=nalexander
Bug 1256642 introduced magic at the emitter level to determine whether a
binary contains C++ sources and should be linked with the C compiler or
the C++ compiler.

Unfortunately, the Binary() moz.build template always adds C++ OS
libraries on Android (through STLPORT_LIBS), and C++ libraries on Linux
(stdc++compat).

The latter only ends up forcing every Binary() to be linked with the C++
linker, which is unfortunate, but doesn't cause much problems. The
former, however, involving OS libraries, the magic from bug 1256642
doesn't kick in, so we end up trying to link C++ OS libraries with the C
linker. Which ends up failing, because the libraries in STLPORT_LIBS
require -lm, which, while it's added by the C++ compiler when linking,
is not when the linkage is driven by the C compiler.

Because the fallible library, linked to all GeckoBinary()s is a C++
library, we still ended up linking with the C++ compiler on Android, so
this wasn't actually causing any problem... until I tried to remove that
fallible library in bug 1423803.

Anyways, the core problem is that moz.build evaluation is happening too
early to know whether any C++ sources are being linked together, so
there is no way the Binary() template can do the right thing. So this
change moves the logic to the emitter.

This also changes the type of STLPORT_LIBS to a list.

--HG--
extra : rebase_source : a70ddf7a132f94dc10e7e1db94ae80fb8d7a269f
2017-12-07 12:15:32 +09:00
..
breakpad-client Bug 1394734 - Replace CONFIG['CLANG*'] by CONFIG['CC_TYPE'] r=glandium 2017-12-07 22:09:38 +01:00
breakpad-patches
breakpad-windows-libxul Bug 1386876 - Replace all uses of DISABLE_STL_WRAPPING with a template, remove DISABLE_STL_WRAPPING. r=glandium 2017-09-11 11:33:26 -07:00
breakpad-windows-standalone Bug 1386876 - Replace all uses of DISABLE_STL_WRAPPING with a template, remove DISABLE_STL_WRAPPING. r=glandium 2017-09-11 11:33:26 -07:00
client Bug 379290 - Add env var to auto submit crashes r=gsvelto 2017-12-07 08:47:29 -08:00
content Bug 1417940 - Change various instances of manually calling getService to use Services.jsm in toolkit/. r=mossop 2017-11-09 16:36:57 +00:00
docs
google-breakpad Bug 1423802 - Handle stdc++compat and STLPORT_LIBS at the emitter level. r=nalexander 2017-12-07 12:15:32 +09:00
injector Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium 2017-12-07 22:09:15 +01:00
minidump-analyzer Bug 1333126 - Use win64 PE unwind metadata to improve client-side stack walking; r=gsvelto 2017-08-06 08:46:50 +02:00
test Bug 1394734 - Replace CONFIG['MSVC'] by CONFIG['CC_TYPE'] r=glandium 2017-12-08 13:46:13 +01:00
tools bug 1422740 - change upload-symbols tasks to use in-tree lint image. r=gps 2017-12-06 06:39:46 -05:00
crashreporter.mozbuild Bug 1394734 - Simplify various corner cases r=glandium 2017-12-07 22:10:19 +01:00
CrashReports.jsm Bug 1408777 - Automatically fix instances of missing semicolons in the tree. r=Standard8 2017-10-15 20:50:39 +01:00
CrashSubmit.jsm Bug 1417940 - Change various instances of manually calling getService to use Services.jsm in toolkit/. r=mossop 2017-11-09 16:36:57 +00:00
InjectCrashReporter.cpp Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
InjectCrashReporter.h
jar.mn Bug 1402519 - When the crash reporter code is disabled at configure time replace it with a dummy implementation; r=ted.mielczarek 2017-11-14 14:49:33 +01:00
KeyValueParser.jsm Bug 1408777 - Automatically fix instances of missing semicolons in the tree. r=Standard8 2017-10-15 20:50:39 +01:00
LoadLibraryRemote.cpp Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
LoadLibraryRemote.h
mac_utils.h
mac_utils.mm
moz.build Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium 2017-12-07 22:09:15 +01:00
nsDummyExceptionHandler.cpp Bug 1419959 - Unbreak build on Tier3 platforms after bug 1402519. r=gsvelto 2017-11-24 02:31:42 +00:00
nsExceptionHandler.cpp Bug 1424304 - Workaround to allow the crashreporter to launch correctly on Fennec; r=ted.mielczarek 2017-12-08 18:25:40 +01:00
nsExceptionHandler.h Bug 1423773 - Part 1: Remove usage of nsStringGlue.h. r=glandium 2017-12-06 16:52:51 -08:00
nsExceptionHandlerUtils.cpp Bug 1402519 - When the crash reporter code is disabled at configure time replace it with a dummy implementation; r=ted.mielczarek 2017-11-14 14:49:33 +01:00
nsExceptionHandlerUtils.h Bug 1402519 - When the crash reporter code is disabled at configure time replace it with a dummy implementation; r=ted.mielczarek 2017-11-14 14:49:33 +01:00
ThreadAnnotation.cpp
ThreadAnnotation.h
update-breakpad.sh
update-jsoncpp.sh Bug 1356382 - Move jsoncpp library and ensure it is included even when crashreporter is not r=ted 2017-04-19 14:41:03 -07:00