1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-03 11:33:37 +00:00

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

* emacs.c (main): Passing ADD_NO_RANDOMIZE to
	`personality'.
This commit is contained in:
Masatake YAMATO 2005-06-30 16:30:53 +00:00
parent 63f7ffb3de
commit 711877f36a
3 changed files with 12 additions and 18 deletions

View File

@ -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
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 @@ command when running temacs like this:
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

View File

@ -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

View File

@ -918,7 +918,13 @@ main (argc, argv
{
/* 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. */