Commit 81da295e authored by Paul Eggert's avatar Paul Eggert

Port to GNU/Linux with recent grsecurity/PaX patches (Bug#16343).

Problem and proposed patch reported by Ulrich Mueller;
this patch uses a somewhat-different approach.
* configure.ac (SETFATTR): New variable.
* src/Makefile.in (SETFATTR): New macro.
(temacs$(EXEEXT)): Use it.
parent 5159d590
2014-01-05 Paul Eggert <eggert@cs.ucla.edu>
Port to GNU/Linux with recent grsecurity/PaX patches (Bug#16343).
Problem and proposed patch reported by Ulrich Mueller;
this patch uses a somewhat-different approach.
* configure.ac (SETFATTR): New variable.
2014-01-03 Paul Eggert <eggert@cs.ucla.edu> 2014-01-03 Paul Eggert <eggert@cs.ucla.edu>
Merge from gnulib, incorporating: Merge from gnulib, incorporating:
......
...@@ -988,6 +988,24 @@ if test $opsys = gnu-linux; then ...@@ -988,6 +988,24 @@ if test $opsys = gnu-linux; then
[if $PAXCTL -v conftest$EXEEXT >/dev/null 2>&1; then AC_MSG_RESULT(yes) [if $PAXCTL -v conftest$EXEEXT >/dev/null 2>&1; then AC_MSG_RESULT(yes)
else AC_MSG_RESULT(no); PAXCTL=""; fi]) else AC_MSG_RESULT(no); PAXCTL=""; fi])
fi fi
if test "${SETFATTR+set}" != set; then
AC_CACHE_CHECK([for setfattr],
[emacs_cv_prog_setfattr],
[touch conftest.tmp
if (setfattr -n user.pax.flags conftest.tmp) >/dev/null 2>&1; then
emacs_cv_prog_setfattr=yes
else
emacs_cv_prog_setfattr=no
fi])
if test "$emacs_cv_prog_setfattr" = yes; then
SETFATTR=setfattr
else
SETFATTR=no
fi
rm -f conftest.tmp
AC_SUBST([SETFATTR])
fi
fi fi
## Need makeinfo >= 4.7 (?) to build the manuals. ## Need makeinfo >= 4.7 (?) to build the manuals.
......
2014-01-05 Paul Eggert <eggert@cs.ucla.edu>
Port to GNU/Linux with recent grsecurity/PaX patches (Bug#16343).
* Makefile.in (SETFATTR): New macro.
(temacs$(EXEEXT)): Use it.
2014-01-04 Martin Rudalics <rudalics@gmx.at> 2014-01-04 Martin Rudalics <rudalics@gmx.at>
Fix maximization behavior on Windows (Bug#16300). Fix maximization behavior on Windows (Bug#16300).
......
...@@ -108,11 +108,12 @@ LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@ ...@@ -108,11 +108,12 @@ LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@
## Flags to pass to ld only for temacs. ## Flags to pass to ld only for temacs.
TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_TEMACS) TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_TEMACS)
## If available, the full path to the paxctl program. ## If available, the names of the paxctl and setfattr programs.
## On grsecurity/PaX systems, unexec will fail due to a gap between ## On grsecurity/PaX systems, unexec will fail due to a gap between
## the bss section and the heap. This can be prevented by disabling ## the bss section and the heap. Older versions nee paxctl to work
## memory randomization in temacs with "paxctl -r". See bug#11398. ## around this, newer ones setfattr. See Bug#11398 and Bug#16343.
PAXCTL = @PAXCTL@ PAXCTL = @PAXCTL@
SETFATTR = @SETFATTR@
## Some systems define this to request special libraries. ## Some systems define this to request special libraries.
LIBS_SYSTEM=@LIBS_SYSTEM@ LIBS_SYSTEM=@LIBS_SYSTEM@
...@@ -494,6 +495,8 @@ temacs$(EXEEXT): $(LIBXMENU) $(ALLOBJS) \ ...@@ -494,6 +495,8 @@ temacs$(EXEEXT): $(LIBXMENU) $(ALLOBJS) \
$(TEMACS_POST_LINK) $(TEMACS_POST_LINK)
test "$(CANNOT_DUMP)" = "yes" || \ test "$(CANNOT_DUMP)" = "yes" || \
test "X$(PAXCTL)" = X || $(PAXCTL) -r temacs$(EXEEXT) test "X$(PAXCTL)" = X || $(PAXCTL) -r temacs$(EXEEXT)
test "$(CANNOT_DUMP)" = "yes" || test -z "$(SETFATTR)" || \
$(SETFATTR) -n user.pax.flags -v r $@
## The following oldxmenu-related rules are only (possibly) used if ## The following oldxmenu-related rules are only (possibly) used if
## HAVE_X11 && !USE_GTK, but there is no harm in always defining them. ## HAVE_X11 && !USE_GTK, but there is no harm in always defining them.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment