From 4e25343c6e697b139ad25ff7b04c39295381b355 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Sat, 22 Jan 2005 18:13:16 +0000 Subject: [PATCH] * emulparams/elf32bmip.sh (OTHER_GOT_SECTIONS): Add ". = .;". * emulparams/elf32bmipn32-defs.sh (OTHER_GOT_SECTIONS): Likewise. --- ld/ChangeLog | 5 +++++ ld/emulparams/elf32bmip.sh | 5 +++++ ld/emulparams/elf32bmipn32-defs.sh | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/ld/ChangeLog b/ld/ChangeLog index 8c7183aef4..d261fe2023 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2005-01-22 Richard Sandiford + + * emulparams/elf32bmip.sh (OTHER_GOT_SECTIONS): Add ". = .;". + * emulparams/elf32bmipn32-defs.sh (OTHER_GOT_SECTIONS): Likewise. + 2005-01-21 Jakub Jelinek * ldgram.y (AS_NEEDED): New token. diff --git a/ld/emulparams/elf32bmip.sh b/ld/emulparams/elf32bmip.sh index 7badcb84d7..3d99044b41 100644 --- a/ld/emulparams/elf32bmip.sh +++ b/ld/emulparams/elf32bmip.sh @@ -16,7 +16,12 @@ INITIAL_READONLY_SECTIONS=" .reginfo ${RELOCATING-0} : { *(.reginfo) } " OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)' +# If the output has a GOT section, there must be exactly 0x7ff0 bytes +# between .got and _gp. The ". = ." below stops the orphan code from +# inserting other sections between the assignment to _gp and the start +# of .got. OTHER_GOT_SYMBOLS=' + . = .; _gp = ALIGN(16) + 0x7ff0; ' OTHER_SDATA_SECTIONS=" diff --git a/ld/emulparams/elf32bmipn32-defs.sh b/ld/emulparams/elf32bmipn32-defs.sh index f7b0d08f85..e234d3899a 100644 --- a/ld/emulparams/elf32bmipn32-defs.sh +++ b/ld/emulparams/elf32bmipn32-defs.sh @@ -36,7 +36,12 @@ MAXPAGESIZE=0x100000 ENTRY=__start # GOT-related settings. +# If the output has a GOT section, there must be exactly 0x7ff0 bytes +# between .got and _gp. The ". = ." below stops the orphan code from +# inserting other sections between the assignment to _gp and the start +# of .got. OTHER_GOT_SYMBOLS=' + . = .; _gp = ALIGN(16) + 0x7ff0; ' OTHER_SDATA_SECTIONS="