aboutsummaryrefslogtreecommitdiff
path: root/ld/emulparams
diff options
context:
space:
mode:
Diffstat (limited to 'ld/emulparams')
-rwxr-xr-xld/emulparams/elf64hppa.sh14
1 files changed, 2 insertions, 12 deletions
diff --git a/ld/emulparams/elf64hppa.sh b/ld/emulparams/elf64hppa.sh
index fbe3592..0b9c613 100755
--- a/ld/emulparams/elf64hppa.sh
+++ b/ld/emulparams/elf64hppa.sh
@@ -16,18 +16,8 @@ GENERATE_SHLIB_SCRIPT=yes
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.
-#
-# We have temporarily moved the .plt input section to the front of the
-# .dlt output section. This was __gp will be near .plt, regardless of the
-# size of .opd.
-#
-# In the near future the code to compute __gp will be improved and we can
-# move .opd to the start of the .dlt again.
-#
-#
-OTHER_READWRITE_SECTIONS='.dlt : { *(.plt) *(.dlt) *(.opd) }'
+# to create a .opd section. What most systems call the .got, we call the .dlt
+OTHER_READWRITE_SECTIONS='__hp_load_map = .; . += 16; .opd : { *(.opd) }; __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