diff options
author | Alan Modra <amodra@gmail.com> | 2001-06-27 08:42:29 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2001-06-27 08:42:29 +0000 |
commit | 9f22353f5ba698d6ca4a42697b47f973607c814a (patch) | |
tree | be4f3002e3031784ba0127e4d47217f357f2fa39 /ld/emulparams | |
parent | d827344236a4e852e15a74dfd23490c1fc2ac139 (diff) | |
download | gdb-9f22353f5ba698d6ca4a42697b47f973607c814a.zip gdb-9f22353f5ba698d6ca4a42697b47f973607c814a.tar.gz gdb-9f22353f5ba698d6ca4a42697b47f973607c814a.tar.bz2 |
* emulparams/hppa64linux.sh: New file.
* configure.tgt: hppa*64*-*-linux* uses hppa64linux.sh
* Makefile.am (ALL_64_EMULATIONS): Add ehppa64linux.o
(ehppa64linux.c): Add rule to make it.
Run "make dep-am".
* Makefile.in: Regenerate.
Diffstat (limited to 'ld/emulparams')
-rw-r--r-- | ld/emulparams/hppa64linux.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/ld/emulparams/hppa64linux.sh b/ld/emulparams/hppa64linux.sh new file mode 100644 index 0000000..3fe422b --- /dev/null +++ b/ld/emulparams/hppa64linux.sh @@ -0,0 +1,39 @@ +SCRIPT_NAME=elf +ELFSIZE=64 +OUTPUT_FORMAT="elf64-hppa-linux" +TEXT_START_ADDR=0x10000 +TARGET_PAGE_SIZE=0x10000 +MAXPAGESIZE=0x10000 +ARCH=hppa +MACHINE=hppa2.0w +ENTRY="main" +TEMPLATE_NAME=elf32 +GENERATE_SHLIB_SCRIPT=yes + +# 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) } ' + +# The PA64 ELF port treats .plt sections differently than most. We also have +# to create a .opd section. What most systems call the .got, we call the .dlt +OTHER_READWRITE_SECTIONS='.opd : { *(.opd) } PROVIDE (__gp = .); .plt : { *(.plt) } .dlt : { *(.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) }' +#OTHER_BSS_END_SYMBOLS='PROVIDE (__TLS_SIZE = SIZEOF (.tbss));' +OTHER_BSS_END_SYMBOLS='PROVIDE (__TLS_SIZE = 0);' + +# HPs use .dlt where systems use .got. Sigh. +OTHER_GOT_RELOC_SECTIONS='.rela.dlt : { *(.rela.dlt) }' + +# We're not actually providing a symbol anymore (due to the inability to be +# safe in regards to shared libraries). So we just allocate the hunk of space +# unconditionally, but do not mess around with the symbol table. +DATA_START_SYMBOLS='. += 16;' + +DATA_PLT= + +# .dynamic should be at the start of the .text segment. +TEXT_DYNAMIC= |