Ticket #4053: GCC6.3.patch

File GCC6.3.patch, 2.0 KB (added by Itms, 3 years ago)
  • libraries/source/spidermonkey/build.sh

     
    2929
    3030CONF_OPTS="--enable-shared-js --disable-tests --without-intl-api"
    3131
     32# If the compiler is GCC 6 (or later), we need to disable some optimizations.
     33# Indeed, SpiderMonkey 38, when compiled with GCC6 or later, can segfault during GC.
     34if [ "${OS}" != "Windows_NT" -a "${CXX:=g++}" = "g++" ]
     35then
     36  if [ "`g++ -dumpversion | cut -f1 -d.`" -ge "6" ]
     37  then
     38    CXXFLAGS="${CXXFLAGS} -fno-schedule-insns2 -fno-delete-null-pointer-checks"
     39  fi
     40fi
     41
    3242# Change the default location where the tracelogger should store its output.
    3343# The default location is . on Windows and /tmp/ on *nix.
    3444TLCXXFLAGS='-DTRACE_LOG_DIR="\"../../source/tools/tracelogger/\""'
     
    91101perl -i.bak -pe 's/(SHARED_LIBRARY_NAME\s+=).*/$1 '\''mozjs38-ps-debug'\''/' moz.build
    92102mkdir -p build-debug
    93103cd build-debug
    94 CXXFLAGS="${TLCXXFLAGS}" ../configure ${CONF_OPTS} --with-nspr-libs="$NSPR_LIBS" --with-nspr-cflags="$NSPR_INCLUDES" --enable-debug --disable-optimize --enable-js-diagnostics --enable-gczeal
     104CXXFLAGS="${CXXFLAGS} ${TLCXXFLAGS}" ../configure ${CONF_OPTS} --with-nspr-libs="$NSPR_LIBS" --with-nspr-cflags="$NSPR_INCLUDES" --enable-debug --disable-optimize --enable-js-diagnostics --enable-gczeal
    95105${MAKE} ${MAKE_OPTS}
    96106cd ..
    97107
     
    98108perl -i.bak -pe 's/(SHARED_LIBRARY_NAME\s+=).*/$1 '\''mozjs38-ps-release'\''/' moz.build
    99109mkdir -p build-release
    100110cd build-release
    101 CXXFLAGS="${TLCXXFLAGS}" ../configure ${CONF_OPTS} --with-nspr-libs="$NSPR_LIBS" --with-nspr-cflags="$NSPR_INCLUDES" --enable-optimize  # --enable-gczeal --enable-debug-symbols
     111CXXFLAGS="${CXXFLAGS} ${TLCXXFLAGS}" ../configure ${CONF_OPTS} --with-nspr-libs="$NSPR_LIBS" --with-nspr-cflags="$NSPR_INCLUDES" --enable-optimize  # --enable-gczeal --enable-debug-symbols
    102112${MAKE} ${MAKE_OPTS}
    103113cd ..
    104114