mozilla-no-stdcxx-check.patch
changeset 899 44a28160de40
parent 881 1268ddc9dc16
child 1006 5ba9b67de554
equal deleted inserted replaced
898:1d01621f9535 899:44a28160de40
     1 # HG changeset patch
     1 # HG changeset patch
     2 # User Wolfgang Rosenauer <wr@rosenauer.org>
     2 # User Wolfgang Rosenauer <wr@rosenauer.org>
     3 # Parent  af8fd72bd18717e6fc46340f467c7fa4f6d8c2ab
     3 # Parent  e96e9b3997ea31024687aaa1e9aa5ccf78bc0ee9
     4 
     4 
     5 diff --git a/config/config.mk b/config/config.mk
     5 diff --git a/config/config.mk b/config/config.mk
     6 --- a/config/config.mk
     6 --- a/config/config.mk
     7 +++ b/config/config.mk
     7 +++ b/config/config.mk
     8 @@ -626,34 +626,33 @@ EXPAND_LD = $(EXPAND_LIBS_EXEC) --uselis
     8 @@ -653,17 +653,16 @@ ifeq ($(MOZ_WIDGET_TOOLKIT),android)
     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\.\(1[1-9]\|[2-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\.\(1[1-9]\|[2-9][0-9]\)' && exit 1 || true
       
    18 +#CHECK_STDCXX = @$(TOOLCHAIN_PREFIX)objdump -p $(1) | grep -e 'GLIBCXX_3\.4\.\(1[1-9]\|[2-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\.\(1[1-9]\|[2-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
     9  # 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
    10  # hell breaks loose, so better safe than sorry, and check it's actually the
    30  # case.
    11  # 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 } }'
    12  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
    13  endif
    33  
    14  
    34  define CHECK_BINARY
    15  define CHECK_BINARY
       
    16  $(call CHECK_GLIBC,$(1))
    35 -$(call CHECK_STDCXX,$(1))
    17 -$(call CHECK_STDCXX,$(1))
    36  $(call CHECK_TEXTREL,$(1))
    18  $(call CHECK_TEXTREL,$(1))
    37  $(call LOCAL_CHECKS,$(1))
    19  $(call LOCAL_CHECKS,$(1))
    38  $(call CHECK_MOZGLUE_ORDER,$(1))
    20  $(call CHECK_MOZGLUE_ORDER,$(1))
    39  endef
    21  endef