summaryrefslogtreecommitdiffstats
path: root/ld/emulparams/elf64mmix.sh
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2002-02-01 08:24:03 +0000
committerHans-Peter Nilsson <hp@axis.com>2002-02-01 08:24:03 +0000
commit48fa4a5def1116273c2c2a236939e96eb9b6231a (patch)
treeb8597630be4f09f870fede949598daddae5d1d15 /ld/emulparams/elf64mmix.sh
parent930b4cb2c2da2be8643a1e79fe09fe7328544d32 (diff)
downloadppe42-binutils-48fa4a5def1116273c2c2a236939e96eb9b6231a.tar.gz
ppe42-binutils-48fa4a5def1116273c2c2a236939e96eb9b6231a.zip
Support on-demand global register allocation from
R_MMIX_BASE_PLUS_OFFSET relocs. * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Rename from mmix_set_reg_section_vma. Call _bfd_mmix_finalize_linker_allocated_gregs. (mmix_before_allocation): New function. (LDEMUL_AFTER_ALLOCATION): Set to mmix_after_allocation. (LDEMUL_BEFORE_ALLOCATION): Define to mmix_before_allocation. * scripttempl/mmo.sc (.text): Mark .init, .fini as KEEP. (.MMIX.reg_contents): Add .MMIX.reg_contents.linker_allocated before .MMIX.reg_contents. * emultempl/mmo.em (gldmmo_before_allocation): Define to default. (mmo_after_open): New function. (LDEMUL_AFTER_OPEN): Define to mmo_after_open. * emulparams/elf64mmix.sh (OTHER_SECTIONS): Tweak formatting. Add .MMIX.reg_contents.linker_allocated before .MMIX.reg_contents.
Diffstat (limited to 'ld/emulparams/elf64mmix.sh')
-rw-r--r--ld/emulparams/elf64mmix.sh5
1 files changed, 3 insertions, 2 deletions
diff --git a/ld/emulparams/elf64mmix.sh b/ld/emulparams/elf64mmix.sh
index c811ce084b..1ee9283289 100644
--- a/ld/emulparams/elf64mmix.sh
+++ b/ld/emulparams/elf64mmix.sh
@@ -44,14 +44,15 @@ OTHER_TEXT_SECTIONS='
PROVIDE (Main = DEFINED (Main) ? Main : (DEFINED (_start) ? _start : _start.));
'
-OTHER_SECTIONS="
+OTHER_SECTIONS='
.MMIX.reg_contents :
{
/* Note that this section always has a fixed VMA - that of its
first register * 8. */
+ *(.MMIX.reg_contents.linker_allocated);
*(.MMIX.reg_contents);
}
-"
+'
# FIXME: Also bit by the PROVIDE bug? If not, this could be
# EXECUTABLE_SYMBOLS.
OpenPOWER on IntegriCloud