mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-07 08:00:48 -08:00
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.
This commit is contained in:
parent
5159d5902f
commit
81da295eeb
4 changed files with 37 additions and 3 deletions
|
|
@ -1,3 +1,10 @@
|
|||
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>
|
||||
|
||||
Merge from gnulib, incorporating:
|
||||
|
|
|
|||
18
configure.ac
18
configure.ac
|
|
@ -988,6 +988,24 @@ if test $opsys = gnu-linux; then
|
|||
[if $PAXCTL -v conftest$EXEEXT >/dev/null 2>&1; then AC_MSG_RESULT(yes)
|
||||
else AC_MSG_RESULT(no); PAXCTL=""; 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
|
||||
|
||||
## Need makeinfo >= 4.7 (?) to build the manuals.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,9 @@
|
|||
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>
|
||||
|
||||
Fix maximization behavior on Windows (Bug#16300).
|
||||
|
|
|
|||
|
|
@ -108,11 +108,12 @@ LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@
|
|||
## Flags to pass to ld only for 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
|
||||
## the bss section and the heap. This can be prevented by disabling
|
||||
## memory randomization in temacs with "paxctl -r". See bug#11398.
|
||||
## the bss section and the heap. Older versions nee paxctl to work
|
||||
## around this, newer ones setfattr. See Bug#11398 and Bug#16343.
|
||||
PAXCTL = @PAXCTL@
|
||||
SETFATTR = @SETFATTR@
|
||||
|
||||
## Some systems define this to request special libraries.
|
||||
LIBS_SYSTEM=@LIBS_SYSTEM@
|
||||
|
|
@ -494,6 +495,8 @@ temacs$(EXEEXT): $(LIBXMENU) $(ALLOBJS) \
|
|||
$(TEMACS_POST_LINK)
|
||||
test "$(CANNOT_DUMP)" = "yes" || \
|
||||
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
|
||||
## HAVE_X11 && !USE_GTK, but there is no harm in always defining them.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue