diff -r 284da266ec46 -r 0dd25a92df97 mozilla-no-stdcxx-check.patch --- /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 +# 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)