aboutsummaryrefslogtreecommitdiff
path: root/ld/emulparams
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2001-06-27 08:42:29 +0000
committerAlan Modra <amodra@gmail.com>2001-06-27 08:42:29 +0000
commit9f22353f5ba698d6ca4a42697b47f973607c814a (patch)
treebe4f3002e3031784ba0127e4d47217f357f2fa39 /ld/emulparams
parentd827344236a4e852e15a74dfd23490c1fc2ac139 (diff)
downloadgdb-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.sh39
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=