aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog5
-rwxr-xr-xld/emulparams/elf64hppa.sh10
2 files changed, 15 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index c5e87f9..631d414 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,10 @@
Wed Sep 15 02:47:43 1999 Jeffrey A Law (law@cygnus.com)
+ * emulparms/elf64hppa.sh (SHLIB_TEXT_START_ADDR): Define.
+ (SHLIB_DATA_ADDR): Likewise.
+
+ * emulparms/elf64hppa.sh (TEXT_DYNAMIC): Define.
+
* emulparms/elf64hppa.h (OTHER_READWRITE_SECTIONS): No longer combine
the .plt, .dlt, .opd into a single output section. Provide values
for __gp and __hp_load_map.
diff --git a/ld/emulparams/elf64hppa.sh b/ld/emulparams/elf64hppa.sh
index e404e29..b39274f 100755
--- a/ld/emulparams/elf64hppa.sh
+++ b/ld/emulparams/elf64hppa.sh
@@ -4,6 +4,13 @@ OUTPUT_FORMAT="elf64-hppa"
LIB_PATH=/usr/lib/pa20_64:/opt/langtools/lib/pa20_64
TEXT_START_ADDR=0x4000000000001000
DATA_ADDR=0x8000000000001000
+
+# The HP dynamic linker actually requires you set the start of text and
+# data to some reasonable value. Of course nobody knows what reasoanble
+# really is, so we just use the same values that HP's linker uses.
+SHLIB_TEXT_START_ADDR=0x4000000000001000
+SHLIB_DATA_ADDR=0x8000000000001000
+
TARGET_PAGE_SIZE=4096
MAXPAGESIZE=4096
ARCH=hppa
@@ -31,6 +38,9 @@ OTHER_GOT_RELOC_SECTIONS='.rela.dlt : { *(.rela.dlt) }'
EXECUTABLE_SYMBOLS='__SYSTEM_ID = 0x214; _FPU_STATUS = 0x0;'
DATA_PLT=
+# .dynamic should be at the start of the .text segment.
+TEXT_DYNAMIC=
+
# The PA64 ELF port needs two additional initializer sections and also wants
# a start/end symbol pair for the .init and .fini sections.
INIT_START='KEEP (*(.HP.init)); __preinit_start = .; KEEP (*(.preinit)); __preinit_end = .;__init_start = .;'