X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=ld%2Femulparams%2Felf32bmip.sh;fp=ld%2Femulparams%2Felf32bmip.sh;h=44a0b8a16eecbf64ae65b21af4c19e254d7c630d;hp=bcb850900124c78d6e388447d52206685f824727;hb=88750007d7869f178f0ba528f41efd3b74c424cf;hpb=6df9443a374e2b81278c61b8afc0a1eef7db280b diff --git a/ld/emulparams/elf32bmip.sh b/ld/emulparams/elf32bmip.sh index bcb8509..44a0b8a 100644 --- a/ld/emulparams/elf32bmip.sh +++ b/ld/emulparams/elf32bmip.sh @@ -35,6 +35,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) }