X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=ld%2Femulparams%2Felf32bmipn32-defs.sh;fp=ld%2Femulparams%2Felf32bmipn32-defs.sh;h=45bfd5d7883f3c836375f1e8da8c82a536545d95;hp=49d2f8545da5e3a36d7294325a621517af9120f5;hb=d5da4f291af551c0b8b79e1d4a9b173d60e5c10e;hpb=7b5ea4fcdf2819e070665ab5610f8b48e3867c10 diff --git a/ld/emulparams/elf32bmipn32-defs.sh b/ld/emulparams/elf32bmipn32-defs.sh index 49d2f85..45bfd5d 100644 --- a/ld/emulparams/elf32bmipn32-defs.sh +++ b/ld/emulparams/elf32bmipn32-defs.sh @@ -53,6 +53,25 @@ OTHER_GOT_SYMBOLS=' . = .; _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 +# the section from _gp. Note that the traditional: +# +# . = . +# _gp = ALIGN (16) + 0x7ff0; +# .got : { *(.got.plt) *(.got) } +# +# would set _gp to the wrong value; _gp - 0x7ff0 must point to the start +# of *(.got). +GOT=".got ${RELOCATING-0} : { *(.got) }" +unset OTHER_READWRITE_SECTIONS +unset OTHER_RELRO_SECTIONS +if test -n "$RELRO_NOW"; then + OTHER_RELRO_SECTIONS=".got.plt ${RELOCATING-0} : { *(.got.plt) }" +else + OTHER_READWRITE_SECTIONS=".got.plt ${RELOCATING-0} : { *(.got.plt) }" +fi + OTHER_SDATA_SECTIONS=" .lit8 ${RELOCATING-0} : { *(.lit8) } .lit4 ${RELOCATING-0} : { *(.lit4) }