mozilla-no-stdcxx-check.patch
branchfirefox40
changeset 869 0dd25a92df97
child 881 1268ddc9dc16
equal deleted inserted replaced
868:284da266ec46 869:0dd25a92df97
       
     1 # HG changeset patch
       
     2 # User Wolfgang Rosenauer <wr@rosenauer.org>
       
     3 # Parent  7b3798afc391847b7eec89b3714b54f1bbbaa0a1
       
     4 
       
     5 diff --git a/config/config.mk b/config/config.mk
       
     6 --- a/config/config.mk
       
     7 +++ b/config/config.mk
       
     8 @@ -623,34 +623,33 @@ EXPAND_LD = $(EXPAND_LIBS_EXEC) --uselis
       
     9  EXPAND_MKSHLIB_ARGS = --uselist
       
    10  ifdef SYMBOL_ORDER
       
    11  EXPAND_MKSHLIB_ARGS += --symbol-order $(SYMBOL_ORDER)
       
    12  endif
       
    13  EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB)
       
    14  
       
    15  ifneq (,$(MOZ_LIBSTDCXX_TARGET_VERSION)$(MOZ_LIBSTDCXX_HOST_VERSION))
       
    16  ifneq ($(OS_ARCH),Darwin)
       
    17 -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
       
    18 +#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
       
    19  endif
       
    20  endif
       
    21  
       
    22  ifeq (,$(filter $(OS_TARGET),WINNT Darwin))
       
    23  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
       
    24  endif
       
    25  
       
    26  ifeq ($(MOZ_WIDGET_TOOLKIT),android)
       
    27  # While this is very unlikely (libc being added by the compiler at the end
       
    28  # of the linker command line), if libmozglue.so ends up after libc.so, all
       
    29  # hell breaks loose, so better safe than sorry, and check it's actually the
       
    30  # case.
       
    31  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 } }'
       
    32  endif
       
    33  
       
    34  define CHECK_BINARY
       
    35 -$(call CHECK_STDCXX,$(1))
       
    36  $(call CHECK_TEXTREL,$(1))
       
    37  $(call LOCAL_CHECKS,$(1))
       
    38  $(call CHECK_MOZGLUE_ORDER,$(1))
       
    39  endef
       
    40  
       
    41  # autoconf.mk sets OBJ_SUFFIX to an error to avoid use before including
       
    42  # this file
       
    43  OBJ_SUFFIX := $(_OBJ_SUFFIX)