diff options
author | Jeff Law <law@redhat.com> | 1999-09-10 06:30:37 +0000 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 1999-09-10 06:30:37 +0000 |
commit | 904ecb2d787a2b9e501232d4e3852dc9659fca77 (patch) | |
tree | 05f5e7ec58a7d12d7c4c71cb0e3389d90aa1b947 /ld/emulparams | |
parent | fc4cc5bb8ff13611dc99ec51ecd9d02b3c85c04b (diff) | |
download | gdb-904ecb2d787a2b9e501232d4e3852dc9659fca77.zip gdb-904ecb2d787a2b9e501232d4e3852dc9659fca77.tar.gz gdb-904ecb2d787a2b9e501232d4e3852dc9659fca77.tar.bz2 |
* emulparms/elf64hppa.sh (OTHER_READONLY_SECTIONS): Put stubs before
unwinders so that they are closer to the text section.
(OTHER_BSS_SECTIONS): Define.
(EXECUTABLE_SYMBOLS): Provide __SYSTEM_ID and _FPU_STATUS.
(INIT_START, INIT_END): Define.
(FINI_START, FINI_END): Define.
* scripttempl/elf.sc: Add support for INIT_START, INIT_END,
FINI_START, FINI_END and OTHER_BSS_SECTIONS.
Diffstat (limited to 'ld/emulparams')
-rwxr-xr-x | ld/emulparams/elf64hppa.sh | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/ld/emulparams/elf64hppa.sh b/ld/emulparams/elf64hppa.sh index 8356fc3..06bbfc2 100755 --- a/ld/emulparams/elf64hppa.sh +++ b/ld/emulparams/elf64hppa.sh @@ -10,6 +10,27 @@ MACHINE=hppa2.0w ENTRY="main" TEMPLATE_NAME=elf32 GENERATE_SHLIB_SCRIPT=yes -OTHER_READONLY_SECTIONS='.stubs : { *(.stubs) } .PARISC.unwind : { *(.PARISC.unwind) }' +# We really want multiple .stub sections, one for each input .text section, +# but for now this is good enough. +OTHER_READONLY_SECTIONS='.PARISC.unwind : { *(.PARISC.unwind) } .stubs : { *(.stubs) }' + +# The PA64 ELF port treats .plt sections differently than most. We also have +# to create a .opd section. Combine the .opd, .plt and .dlt together into a +# single .dlt section in the output file. OTHER_READWRITE_SECTIONS='.dlt : { *(.opd) *(.plt) *(.dlt) }' + +# The PA64 ELF port has two additional bss sections. huge bss and thread bss. +# Make sure they end up in the appropriate location. We also have to set +# __TLS_SIZE to the size of the thread bss section. +OTHER_BSS_SECTIONS='.hbss : { *(.hbss) } .tbss : { *(.tbss) } __TLS_SIZE = SIZEOF(.tbss);' + +# The linker is required to define these two symbols. +EXECUTABLE_SYMBOLS='__SYSTEM_ID = 0x214; _FPU_STATUS = 0x0;' DATA_PLT= + +# 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 = .;' +INIT_END='__init_end = .;' +FINI_START='__fini_start = .;' +FINI_END='__fini_end = .;' |