Mercurial > emacs
changeset 63883:53559de8d502
2005-07-01 Masatake YAMATO <jet@gyve.org>
* emacs.c (main): Passing ADD_NO_RANDOMIZE to
`personality'.
author | Masatake YAMATO <jet@gyve.org> |
---|---|
date | Thu, 30 Jun 2005 16:30:53 +0000 |
parents | 35bc84251d54 |
children | 3caa4e1966cf |
files | etc/PROBLEMS src/ChangeLog src/emacs.c |
diffstat | 3 files changed, 12 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/etc/PROBLEMS Thu Jun 30 15:06:33 2005 +0000 +++ b/etc/PROBLEMS Thu Jun 30 16:30:53 2005 +0000 @@ -2378,8 +2378,6 @@ With certain recent Linux kernels (like the one of Redhat Fedora Core 1 and 2), the new "Exec-shield" functionality is enabled by default, which creates a different memory layout that breaks the emacs dumper. -The work-around explained here is not enough on Fedora Core 4. Read the -next item. Configure can overcome the problem of exec-shield if the architecture is x86 and the program setarch is present. On other architectures no @@ -2406,21 +2404,6 @@ setarch i386 ./temacs --batch --load loadup [dump|bootstrap] -*** Fedora Core 4 GNU/Linux: Segfault during dumping. - -In addition to exec-shield explained above "Linux: Segfault during -`make bootstrap' under certain recent versions of the Linux kernel" -item, Linux kernel shipped with Fedora Core 4 randomizes the virtual -address space of a process. As the result dumping is failed even if -you turn off the exec-shield. In such case use -R option of setarch -command: - - setarch -R i386 ./temacs --batch --load loadup [dump|bootstrap] - -or - - setarch -R i386 make bootstrap - *** Fatal signal in the command temacs -l loadup inc dump. This command is the final stage of building Emacs. It is run by the
--- a/src/ChangeLog Thu Jun 30 15:06:33 2005 +0000 +++ b/src/ChangeLog Thu Jun 30 16:30:53 2005 +0000 @@ -1,3 +1,8 @@ +2005-07-01 Masatake YAMATO <jet@gyve.org> + + * emacs.c (main): Passing ADD_NO_RANDOMIZE to + `personality'. + 2005-06-30 Juri Linkov <juri@jurta.org> * xdisp.c (x_draw_vertical_border): If left fringe is not present
--- a/src/emacs.c Thu Jun 30 15:06:33 2005 +0000 +++ b/src/emacs.c Thu Jun 30 16:30:53 2005 +0000 @@ -918,7 +918,13 @@ { /* Set this so we only do this once. */ putenv("EMACS_HEAP_EXEC=true"); - personality (PER_LINUX32); + + /* A flag to turn off address randomization which is introduced + in linux kernel shipped with fedora core 4 */ +#define ADD_NO_RANDOMIZE 0x0040000 + personality (PER_LINUX32 | ADD_NO_RANDOMIZE); +#undef ADD_NO_RANDOMIZE + execvp (argv[0], argv); /* If the exec fails, try to dump anyway. */