diff options
Diffstat (limited to 'user/mozjs/1004_fix_pie_detection.patch')
-rw-r--r-- | user/mozjs/1004_fix_pie_detection.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/user/mozjs/1004_fix_pie_detection.patch b/user/mozjs/1004_fix_pie_detection.patch new file mode 100644 index 000000000..e24adf365 --- /dev/null +++ b/user/mozjs/1004_fix_pie_detection.patch @@ -0,0 +1,34 @@ +From: Jory A. Pratt <anarchy@gentoo.org> + +CFLAGS must contain -fPIC when checking the linker + +diff --git a/build/autoconf/compiler-opts.m4 b/build/autoconf/compiler-opts.m4 +--- a/build/autoconf/compiler-opts.m4 ++++ b/build/autoconf/compiler-opts.m4 +@@ -205,23 +205,26 @@ MOZ_PIE= + + MOZ_ARG_ENABLE_BOOL(pie, + [ --enable-pie Enable Position Independent Executables], + MOZ_PIE=1, + MOZ_PIE= ) + + if test "$GNU_CC$CLANG_CC" -a -n "$MOZ_PIE"; then + AC_MSG_CHECKING([for PIE support]) ++ _SAVE_CFLAGS=$CFLAGS ++ CFLAGS="$CFLAGS -fPIC" + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $DSO_PIC_CFLAGS -pie" + AC_TRY_LINK(,,AC_MSG_RESULT([yes]) + [MOZ_PROGRAM_LDFLAGS="$MOZ_PROGRAM_LDFLAGS -pie"], + AC_MSG_RESULT([no]) + AC_MSG_ERROR([--enable-pie requires PIE support from the linker.])) + LDFLAGS=$_SAVE_LDFLAGS ++ CFLAGS=$_SAVE_CFLAGS + fi + + AC_SUBST(MOZ_PROGRAM_LDFLAGS) + + dnl ASan assumes no symbols are being interposed, and when that happens, + dnl it's not happy with it. Unconveniently, since Firefox is exporting + dnl libffi symbols and Gtk+3 pulls system libffi via libwayland-client, + dnl system libffi interposes libffi symbols that ASan assumes are in |