summaryrefslogtreecommitdiff
path: root/src/emacs.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2018-07-08 09:04:02 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2018-07-08 09:04:51 -0700
commit65889a6d127fcbbbdc1e74d26036e91bd24d1405 (patch)
treeac6c9c7aec8cfa00469b612e1e099309cfa57e31 /src/emacs.c
parent48efd1c98b3d4714860e4bf355c6af57c6cee827 (diff)
downloademacs-65889a6d127fcbbbdc1e74d26036e91bd24d1405.tar.gz
Fix bootstrap infloop in GNU/Linux alpha
* src/emacs.c (main): Do not re-exec if EMACS_HEAP_EXEC is already set (Bug#32083).
Diffstat (limited to 'src/emacs.c')
-rw-r--r--src/emacs.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/emacs.c b/src/emacs.c
index 017c62308c1..f5e47428ef9 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -707,10 +707,12 @@ main (int argc, char **argv)
bool disable_aslr = dumping;
# endif
- if (disable_aslr && disable_address_randomization ())
+ if (disable_aslr && disable_address_randomization ()
+ && !getenv ("EMACS_HEAP_EXEC"))
{
/* Set this so the personality will be reverted before execs
- after this one. */
+ after this one, and to work around an re-exec loop on buggy
+ kernels (Bug#32083). */
xputenv ("EMACS_HEAP_EXEC=true");
/* Address randomization was enabled, but is now disabled.