diff options
| author | Masatake YAMATO | 2005-06-30 16:30:53 +0000 |
|---|---|---|
| committer | Masatake YAMATO | 2005-06-30 16:30:53 +0000 |
| commit | 711877f36a52e234c80f8cecbae3d3d03c388ba9 (patch) | |
| tree | 300878da5fae0b758f2bd4f30ba0102eb2d2ce0c | |
| parent | 63f7ffb3deb917b90fd7119c5ff09875863329fd (diff) | |
| download | emacs-711877f36a52e234c80f8cecbae3d3d03c388ba9.tar.gz emacs-711877f36a52e234c80f8cecbae3d3d03c388ba9.zip | |
2005-07-01 Masatake YAMATO <jet@gyve.org>
* emacs.c (main): Passing ADD_NO_RANDOMIZE to
`personality'.
| -rw-r--r-- | etc/PROBLEMS | 17 | ||||
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/emacs.c | 8 |
3 files changed, 12 insertions, 18 deletions
diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 73da2666f97..73fe4615bf9 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS | |||
| @@ -2378,8 +2378,6 @@ The fix is to install a newer version of ncurses, such as version 4.2. | |||
| 2378 | With certain recent Linux kernels (like the one of Redhat Fedora Core | 2378 | With certain recent Linux kernels (like the one of Redhat Fedora Core |
| 2379 | 1 and 2), the new "Exec-shield" functionality is enabled by default, which | 2379 | 1 and 2), the new "Exec-shield" functionality is enabled by default, which |
| 2380 | creates a different memory layout that breaks the emacs dumper. | 2380 | creates a different memory layout that breaks the emacs dumper. |
| 2381 | The work-around explained here is not enough on Fedora Core 4. Read the | ||
| 2382 | next item. | ||
| 2383 | 2381 | ||
| 2384 | Configure can overcome the problem of exec-shield if the architecture is | 2382 | Configure can overcome the problem of exec-shield if the architecture is |
| 2385 | x86 and the program setarch is present. On other architectures no | 2383 | x86 and the program setarch is present. On other architectures no |
| @@ -2406,21 +2404,6 @@ command when running temacs like this: | |||
| 2406 | 2404 | ||
| 2407 | setarch i386 ./temacs --batch --load loadup [dump|bootstrap] | 2405 | setarch i386 ./temacs --batch --load loadup [dump|bootstrap] |
| 2408 | 2406 | ||
| 2409 | *** Fedora Core 4 GNU/Linux: Segfault during dumping. | ||
| 2410 | |||
| 2411 | In addition to exec-shield explained above "Linux: Segfault during | ||
| 2412 | `make bootstrap' under certain recent versions of the Linux kernel" | ||
| 2413 | item, Linux kernel shipped with Fedora Core 4 randomizes the virtual | ||
| 2414 | address space of a process. As the result dumping is failed even if | ||
| 2415 | you turn off the exec-shield. In such case use -R option of setarch | ||
| 2416 | command: | ||
| 2417 | |||
| 2418 | setarch -R i386 ./temacs --batch --load loadup [dump|bootstrap] | ||
| 2419 | |||
| 2420 | or | ||
| 2421 | |||
| 2422 | setarch -R i386 make bootstrap | ||
| 2423 | |||
| 2424 | *** Fatal signal in the command temacs -l loadup inc dump. | 2407 | *** Fatal signal in the command temacs -l loadup inc dump. |
| 2425 | 2408 | ||
| 2426 | This command is the final stage of building Emacs. It is run by the | 2409 | This command is the final stage of building Emacs. It is run by the |
diff --git a/src/ChangeLog b/src/ChangeLog index 85c3b747424..4c3c6a80d49 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2005-07-01 Masatake YAMATO <jet@gyve.org> | ||
| 2 | |||
| 3 | * emacs.c (main): Passing ADD_NO_RANDOMIZE to | ||
| 4 | `personality'. | ||
| 5 | |||
| 1 | 2005-06-30 Juri Linkov <juri@jurta.org> | 6 | 2005-06-30 Juri Linkov <juri@jurta.org> |
| 2 | 7 | ||
| 3 | * xdisp.c (x_draw_vertical_border): If left fringe is not present | 8 | * xdisp.c (x_draw_vertical_border): If left fringe is not present |
diff --git a/src/emacs.c b/src/emacs.c index fd38268386a..89d6070b176 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -918,7 +918,13 @@ main (argc, argv | |||
| 918 | { | 918 | { |
| 919 | /* Set this so we only do this once. */ | 919 | /* Set this so we only do this once. */ |
| 920 | putenv("EMACS_HEAP_EXEC=true"); | 920 | putenv("EMACS_HEAP_EXEC=true"); |
| 921 | personality (PER_LINUX32); | 921 | |
| 922 | /* A flag to turn off address randomization which is introduced | ||
| 923 | in linux kernel shipped with fedora core 4 */ | ||
| 924 | #define ADD_NO_RANDOMIZE 0x0040000 | ||
| 925 | personality (PER_LINUX32 | ADD_NO_RANDOMIZE); | ||
| 926 | #undef ADD_NO_RANDOMIZE | ||
| 927 | |||
| 922 | execvp (argv[0], argv); | 928 | execvp (argv[0], argv); |
| 923 | 929 | ||
| 924 | /* If the exec fails, try to dump anyway. */ | 930 | /* If the exec fails, try to dump anyway. */ |