aboutsummaryrefslogtreecommitdiffstats
path: root/src/callproc.c
diff options
context:
space:
mode:
authorPaul Eggert2016-07-20 09:16:49 +0200
committerPaul Eggert2016-07-20 09:49:41 +0200
commit63750fd4ed4ff8bb9b3ff8868d4e36e3422adb21 (patch)
treecff2b72f4d4fc257cc7cf73ec13777c768317328 /src/callproc.c
parentbf5ddded70c11edaf3514b25da27fc71cfb8e965 (diff)
downloademacs-63750fd4ed4ff8bb9b3ff8868d4e36e3422adb21.tar.gz
emacs-63750fd4ed4ff8bb9b3ff8868d4e36e3422adb21.zip
Fix port to glibc 2.24 (pre-release) + ppc64
* src/callproc.c (child_setup): Use emacs_exec_file so that ASLR is enabled in the child process. * src/emacs.c: Move some personality details into sys/sysdep.c. Do not include <sys/personality.h>. (main): Disable ASLR earlier, so that we don’t chdir twice. * src/lisp.h (disable_address_randomization): New decl. * src/sysdep.c (disable_address_randomization) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details here from emacs.c. (emacs_exec_file): New function.
Diffstat (limited to 'src/callproc.c')
-rw-r--r--src/callproc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/callproc.c b/src/callproc.c
index 9ec7893868d..487115d60c3 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -1317,8 +1317,8 @@ child_setup (int in, int out, int err, char **new_argv, bool set_pgrp,
1317 setpgid (0, 0); 1317 setpgid (0, 0);
1318 tcsetpgrp (0, pid); 1318 tcsetpgrp (0, pid);
1319 1319
1320 execve (new_argv[0], new_argv, env); 1320 int errnum = emacs_exec_file (new_argv[0], new_argv, env);
1321 exec_failed (new_argv[0], errno); 1321 exec_failed (new_argv[0], errnum);
1322 1322
1323#else /* MSDOS */ 1323#else /* MSDOS */
1324 pid = run_msdos_command (new_argv, pwd_var + 4, in, out, err, env); 1324 pid = run_msdos_command (new_argv, pwd_var + 4, in, out, err, env);