diff options
| author | Paul Eggert | 2016-07-20 09:16:49 +0200 |
|---|---|---|
| committer | Paul Eggert | 2016-07-20 09:49:41 +0200 |
| commit | 63750fd4ed4ff8bb9b3ff8868d4e36e3422adb21 (patch) | |
| tree | cff2b72f4d4fc257cc7cf73ec13777c768317328 /src/callproc.c | |
| parent | bf5ddded70c11edaf3514b25da27fc71cfb8e965 (diff) | |
| download | emacs-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.c | 4 |
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); |