Commit 711877f3 authored by Masatake YAMATO's avatar Masatake YAMATO
Browse files

2005-07-01 Masatake YAMATO <jet@gyve.org>

	* emacs.c (main): Passing ADD_NO_RANDOMIZE to
	`personality'.
parent 63f7ffb3
...@@ -2378,8 +2378,6 @@ The fix is to install a newer version of ncurses, such as version 4.2. ...@@ -2378,8 +2378,6 @@ The fix is to install a newer version of ncurses, such as version 4.2.
With certain recent Linux kernels (like the one of Redhat Fedora Core 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 1 and 2), the new "Exec-shield" functionality is enabled by default, which
creates a different memory layout that breaks the emacs dumper. 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 Configure can overcome the problem of exec-shield if the architecture is
x86 and the program setarch is present. On other architectures no x86 and the program setarch is present. On other architectures no
...@@ -2406,21 +2404,6 @@ command when running temacs like this: ...@@ -2406,21 +2404,6 @@ command when running temacs like this:
setarch i386 ./temacs --batch --load loadup [dump|bootstrap] 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. *** Fatal signal in the command temacs -l loadup inc dump.
This command is the final stage of building Emacs. It is run by the This command is the final stage of building Emacs. It is run by the
......
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> 2005-06-30 Juri Linkov <juri@jurta.org>
   
* xdisp.c (x_draw_vertical_border): If left fringe is not present * xdisp.c (x_draw_vertical_border): If left fringe is not present
......
...@@ -918,7 +918,13 @@ main (argc, argv ...@@ -918,7 +918,13 @@ main (argc, argv
{ {
/* Set this so we only do this once. */ /* Set this so we only do this once. */
putenv("EMACS_HEAP_EXEC=true"); 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); execvp (argv[0], argv);
/* If the exec fails, try to dump anyway. */ /* If the exec fails, try to dump anyway. */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment