# This mozconfig is used when compiling the browser for the SM(Hf) rooting # hazard analysis build, see # https://wiki.mozilla.org/Javascript:SpiderMonkey:ExactStackRooting # Do NOT include build/unix/mozconfig.linux because it points directly at the # tooltool-installed gcc, and the analysis works by wrapping the gcc invocation # with a script that invokes the real gcc with -fplugin and its configuration # directives. Instead, duplicate the contents of that mozconfig here: . "$topsrcdir/build/mozconfig.common" ac_add_options --enable-elf-hack ac_add_options --enable-stdcxx-compat # The objdir must be at a known location so its path can be stripped from the # filenames stored by the analysis mk_add_options MOZ_OBJDIR=obj-analyzed # The configuration options are chosen to compile the most code # (--enable-debug, --enable-tests) in the trickiest way possible # (--enable-optimize) to maximize the chance of seeing tricky static orderings. ac_add_options --enable-debug ac_add_options --enable-tests ac_add_options --enable-optimize CFLAGS="$CFLAGS -Wno-attributes" CPPFLAGS="$CPPFLAGS -Wno-attributes" CXXFLAGS="$CXXFLAGS -Wno-attributes" TOOLTOOL_DIR="$(dirname $topsrcdir)" export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig . $topsrcdir/build/unix/mozconfig.gtk . "$topsrcdir/build/mozconfig.common.override"