diff options
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rwxr-xr-x | ld/emulparams/elf64hppa.sh | 10 |
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 = .;' |