From 9e8082845f85cc1cb6be434177aa4d59e00663ff Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Mon, 6 Aug 2012 22:40:36 +0000 Subject: [PATCH] ld/ * emulparams/elf32bmip.sh: Make _gp hidden. * emulparams/elf32bmipn32-defs.sh: Likewise. * emulparams/elf32mipswindiss.sh: Likewise. * scripttempl/mips.sc: Likewise. ld/testsuite/ * ld-mips-elf/rel32-o32.d: Adjust section VMAs after the removal of _gp from the global scope. * ld-mips-elf/rel32-n32.d: Likewise. * ld-mips-elf/rel64.d: Likewise. --- ld/ChangeLog | 7 +++++++ ld/emulparams/elf32bmip.sh | 2 +- ld/emulparams/elf32bmipn32-defs.sh | 2 +- ld/emulparams/elf32mipswindiss.sh | 2 +- ld/scripttempl/mips.sc | 2 +- ld/testsuite/ChangeLog | 7 +++++++ ld/testsuite/ld-mips-elf/rel32-n32.d | 6 +++--- ld/testsuite/ld-mips-elf/rel32-o32.d | 4 ++-- ld/testsuite/ld-mips-elf/rel64.d | 4 ++-- 9 files changed, 25 insertions(+), 11 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 451f110..29311f8 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,12 @@ 2012-08-06 Maciej W. Rozycki + * emulparams/elf32bmip.sh: Make _gp hidden. + * emulparams/elf32bmipn32-defs.sh: Likewise. + * emulparams/elf32mipswindiss.sh: Likewise. + * scripttempl/mips.sc: Likewise. + +2012-08-06 Maciej W. Rozycki + * ldexp.h (etree_union): Add defsym member to the assign member structure. (exp_assign): Add hidden argument to prototype. diff --git a/ld/emulparams/elf32bmip.sh b/ld/emulparams/elf32bmip.sh index f0fcd2c..118d57a 100644 --- a/ld/emulparams/elf32bmip.sh +++ b/ld/emulparams/elf32bmip.sh @@ -33,7 +33,7 @@ OTHER_GOT_RELOC_SECTIONS=" # of .got. OTHER_GOT_SYMBOLS=' . = .; - _gp = ALIGN(16) + 0x7ff0; + HIDDEN (_gp = ALIGN (16) + 0x7ff0); ' # .got.plt is only used for the PLT psABI extension. It should not be # included in the .sdata block with .got, as there is no need to access diff --git a/ld/emulparams/elf32bmipn32-defs.sh b/ld/emulparams/elf32bmipn32-defs.sh index 45bfd5d..12aaf72 100644 --- a/ld/emulparams/elf32bmipn32-defs.sh +++ b/ld/emulparams/elf32bmipn32-defs.sh @@ -51,7 +51,7 @@ OTHER_GOT_RELOC_SECTIONS=" # of .got. OTHER_GOT_SYMBOLS=' . = .; - _gp = ALIGN(16) + 0x7ff0; + HIDDEN (_gp = ALIGN (16) + 0x7ff0); ' # .got.plt is only used for the PLT psABI extension. It should not be # included in the .sdata block with .got, as there is no need to access diff --git a/ld/emulparams/elf32mipswindiss.sh b/ld/emulparams/elf32mipswindiss.sh index 4f1148b..3b9678b 100644 --- a/ld/emulparams/elf32mipswindiss.sh +++ b/ld/emulparams/elf32mipswindiss.sh @@ -12,7 +12,7 @@ MAXPAGESIZE=0x40000 # the Diab linker. TEXT_START_ADDR=0x100000 DATA_START_SYMBOLS='__DATA_ROM = .; __DATA_RAM = .;' -SDATA_START_SYMBOLS='_SDA_BASE_ = .; _gp = . + 0x7ff0;' +SDATA_START_SYMBOLS='_SDA_BASE_ = .; HIDDEN (_gp = . + 0x7ff0);' SDATA2_START_SYMBOLS='_SDA2_BASE_ = .;' EXECUTABLE_SYMBOLS='__HEAP_START = .; __SP_INIT = 0x800000; __SP_END = __SP_INIT - 0x20000; __HEAP_END = __SP_END; __DATA_END = _edata; __BSS_START = __bss_start; __BSS_END = _end; __HEAP_START = _end;' diff --git a/ld/scripttempl/mips.sc b/ld/scripttempl/mips.sc index f53558a..1be01f9 100644 --- a/ld/scripttempl/mips.sc +++ b/ld/scripttempl/mips.sc @@ -42,7 +42,7 @@ SECTIONS *(.data) ${CONSTRUCTING+CONSTRUCTORS} } - ${RELOCATING+ _gp = ALIGN(16) + 0x8000;} + ${RELOCATING+ HIDDEN (_gp = ALIGN (16) + 0x8000);} .lit8 : { *(.lit8) } diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 7f93d4d..cd71a9f 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,5 +1,12 @@ 2012-08-06 Maciej W. Rozycki + * ld-mips-elf/rel32-o32.d: Adjust section VMAs after the removal + of _gp from the global scope. + * ld-mips-elf/rel32-n32.d: Likewise. + * ld-mips-elf/rel64.d: Likewise. + +2012-08-06 Maciej W. Rozycki + * ld-mips-elf/mips-elf.exp: Set has_newabi for all Linux targets. Adjust abi_asflags for targets that do not infer the ISA from the ABI. diff --git a/ld/testsuite/ld-mips-elf/rel32-n32.d b/ld/testsuite/ld-mips-elf/rel32-n32.d index 9951615..ba83d51 100644 --- a/ld/testsuite/ld-mips-elf/rel32-n32.d +++ b/ld/testsuite/ld-mips-elf/rel32-n32.d @@ -10,6 +10,6 @@ Relocation section '.rel.dyn' at offset .* contains 2 entries: [0-9a-f ]+R_MIPS_REL32 Hex dump of section '.text': - 0x000002e0 00000000 00000000 00000000 00000000 ................ - 0x000002f0 000002f0 00000000 00000000 00000000 ................ - 0x00000300 00000000 00000000 00000000 00000000 ................ + 0x000002d0 00000000 00000000 00000000 00000000 ................ + 0x000002e0 000002e0 00000000 00000000 00000000 ................ + 0x000002f0 00000000 00000000 00000000 00000000 ................ diff --git a/ld/testsuite/ld-mips-elf/rel32-o32.d b/ld/testsuite/ld-mips-elf/rel32-o32.d index 742cdaa..ac82459 100644 --- a/ld/testsuite/ld-mips-elf/rel32-o32.d +++ b/ld/testsuite/ld-mips-elf/rel32-o32.d @@ -10,6 +10,6 @@ Relocation section '.rel.dyn' at offset .* contains 2 entries: [0-9a-f ]+R_MIPS_REL32 Hex dump of section '.text': + 0x000002c0 00000000 00000000 00000000 00000000 ................ + 0x000002d0 000002d0 00000000 00000000 00000000 ................ 0x000002e0 00000000 00000000 00000000 00000000 ................ - 0x000002f0 000002f0 00000000 00000000 00000000 ................ - 0x00000300 00000000 00000000 00000000 00000000 ................ diff --git a/ld/testsuite/ld-mips-elf/rel64.d b/ld/testsuite/ld-mips-elf/rel64.d index 01bffa3..595762f 100644 --- a/ld/testsuite/ld-mips-elf/rel64.d +++ b/ld/testsuite/ld-mips-elf/rel64.d @@ -14,6 +14,6 @@ Relocation section '.rel.dyn' at offset .* contains 2 entries: +Type3: R_MIPS_NONE Hex dump of section '.text': + 0x00000430 00000000 00000000 00000000 00000000 ................ + 0x00000440 00000000 00000440 00000000 00000000 ................ 0x00000450 00000000 00000000 00000000 00000000 ................ - 0x00000460 00000000 00000460 00000000 00000000 ................ - 0x00000470 00000000 00000000 00000000 00000000 ................ -- 2.7.4