mozilla-no-stdcxx-check.patch
branchfirefox40
changeset 869 0dd25a92df97
child 881 1268ddc9dc16
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-no-stdcxx-check.patch	Mon Jul 20 11:11:23 2015 +0200
@@ -0,0 +1,43 @@
+# HG changeset patch
+# User Wolfgang Rosenauer <wr@rosenauer.org>
+# Parent  7b3798afc391847b7eec89b3714b54f1bbbaa0a1
+
+diff --git a/config/config.mk b/config/config.mk
+--- a/config/config.mk
++++ b/config/config.mk
+@@ -623,34 +623,33 @@ EXPAND_LD = $(EXPAND_LIBS_EXEC) --uselis
+ EXPAND_MKSHLIB_ARGS = --uselist
+ ifdef SYMBOL_ORDER
+ EXPAND_MKSHLIB_ARGS += --symbol-order $(SYMBOL_ORDER)
+ endif
+ EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB)
+ 
+ ifneq (,$(MOZ_LIBSTDCXX_TARGET_VERSION)$(MOZ_LIBSTDCXX_HOST_VERSION))
+ ifneq ($(OS_ARCH),Darwin)
+-CHECK_STDCXX = @$(TOOLCHAIN_PREFIX)objdump -p $(1) | grep -e 'GLIBCXX_3\.4\.\(9\|[1-9][0-9]\)' > /dev/null && echo 'TEST-UNEXPECTED-FAIL | check_stdcxx | We do not want these libstdc++ symbols to be used:' && $(TOOLCHAIN_PREFIX)objdump -T $(1) | grep -e 'GLIBCXX_3\.4\.\(9\|[1-9][0-9]\)' && exit 1 || true
++#CHECK_STDCXX = @$(TOOLCHAIN_PREFIX)objdump -p $(1) | grep -e 'GLIBCXX_3\.4\.\(9\|[1-9][0-9]\)' > /dev/null && echo 'TEST-UNEXPECTED-FAIL | check_stdcxx | We do not want these libstdc++ symbols to be used:' && $(TOOLCHAIN_PREFIX)objdump -T $(1) | grep -e 'GLIBCXX_3\.4\.\(9\|[1-9][0-9]\)' && exit 1 || true
+ endif
+ endif
+ 
+ ifeq (,$(filter $(OS_TARGET),WINNT Darwin))
+ CHECK_TEXTREL = @$(TOOLCHAIN_PREFIX)readelf -d $(1) | grep TEXTREL > /dev/null && echo 'TEST-UNEXPECTED-FAIL | check_textrel | We do not want text relocations in libraries and programs' || true
+ endif
+ 
+ ifeq ($(MOZ_WIDGET_TOOLKIT),android)
+ # While this is very unlikely (libc being added by the compiler at the end
+ # of the linker command line), if libmozglue.so ends up after libc.so, all
+ # hell breaks loose, so better safe than sorry, and check it's actually the
+ # case.
+ CHECK_MOZGLUE_ORDER = @$(TOOLCHAIN_PREFIX)readelf -d $(1) | grep NEEDED | awk '{ libs[$$NF] = ++n } END { if (libs["[libmozglue.so]"] && libs["[libc.so]"] < libs["[libmozglue.so]"]) { print "libmozglue.so must be linked before libc.so"; exit 1 } }'
+ endif
+ 
+ define CHECK_BINARY
+-$(call CHECK_STDCXX,$(1))
+ $(call CHECK_TEXTREL,$(1))
+ $(call LOCAL_CHECKS,$(1))
+ $(call CHECK_MOZGLUE_ORDER,$(1))
+ endef
+ 
+ # autoconf.mk sets OBJ_SUFFIX to an error to avoid use before including
+ # this file
+ OBJ_SUFFIX := $(_OBJ_SUFFIX)