aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasatake YAMATO2005-06-30 16:30:53 +0000
committerMasatake YAMATO2005-06-30 16:30:53 +0000
commit711877f36a52e234c80f8cecbae3d3d03c388ba9 (patch)
tree300878da5fae0b758f2bd4f30ba0102eb2d2ce0c
parent63f7ffb3deb917b90fd7119c5ff09875863329fd (diff)
downloademacs-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/PROBLEMS17
-rw-r--r--src/ChangeLog5
-rw-r--r--src/emacs.c8
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.
2378With certain recent Linux kernels (like the one of Redhat Fedora Core 2378With certain recent Linux kernels (like the one of Redhat Fedora Core
23791 and 2), the new "Exec-shield" functionality is enabled by default, which 23791 and 2), the new "Exec-shield" functionality is enabled by default, which
2380creates a different memory layout that breaks the emacs dumper. 2380creates a different memory layout that breaks the emacs dumper.
2381The work-around explained here is not enough on Fedora Core 4. Read the
2382next item.
2383 2381
2384Configure can overcome the problem of exec-shield if the architecture is 2382Configure can overcome the problem of exec-shield if the architecture is
2385x86 and the program setarch is present. On other architectures no 2383x86 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
2411In addition to exec-shield explained above "Linux: Segfault during
2412`make bootstrap' under certain recent versions of the Linux kernel"
2413item, Linux kernel shipped with Fedora Core 4 randomizes the virtual
2414address space of a process. As the result dumping is failed even if
2415you turn off the exec-shield. In such case use -R option of setarch
2416command:
2417
2418 setarch -R i386 ./temacs --batch --load loadup [dump|bootstrap]
2419
2420or
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
2426This command is the final stage of building Emacs. It is run by the 2409This 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 @@
12005-07-01 Masatake YAMATO <jet@gyve.org>
2
3 * emacs.c (main): Passing ADD_NO_RANDOMIZE to
4 `personality'.
5
12005-06-30 Juri Linkov <juri@jurta.org> 62005-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. */