summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/binutils/ld/emulparams
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2004-05-30 22:05:41 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2004-05-30 22:05:41 +0000
commit513fcf4400d7426048333ce05ca24deb5bf5d091 (patch)
treea11598c14f9cd37f76183d921d8b45fe29c61135 /gnu/usr.bin/binutils/ld/emulparams
parent9bebcfe960ad199afc860fbbefb3177ae0d005cd (diff)
emacs undump is very sensative to the section ordering, For W^X a couple
of sections were moved for protections purposes. This causes problems with emacs undump. Only move the sections if the W^X padding is active. Generate the scripts properly for newer binutils, on i386 if -Z is active, move the executable start address back to the classic base address.
Diffstat (limited to 'gnu/usr.bin/binutils/ld/emulparams')
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf_i386_obsd.sh5
1 files changed, 5 insertions, 0 deletions
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf_i386_obsd.sh b/gnu/usr.bin/binutils/ld/emulparams/elf_i386_obsd.sh
index f3449fe290a..e3e102ab1fb 100644
--- a/gnu/usr.bin/binutils/ld/emulparams/elf_i386_obsd.sh
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf_i386_obsd.sh
@@ -1,7 +1,12 @@
. ${srcdir}/emulparams/elf_i386.sh
. ${srcdir}/emulparams/elf_obsd.sh
+if test "$LD_FLAG" = "Z"
+then
+TEXT_START_ADDR=0x08048000
+else
TEXT_START_ADDR=0x1C000000
+fi
RODATA_PADSIZE=0x20000000
RODATA_ALIGN=". = ALIGN(${RODATA_PADSIZE})"