+2005-05-10 Alan Modra <amodra@bigpond.net.au>
+
+ * scripttempl/elf.sc (DATA_SEGMENT_RELRO_GOTPLT_END): Delete.
+ (DATA_SEGMENT_RELRO_END): Use SEPARATE_GOTPLT value.
+ (GOTPLT): Remove DATA_SEGMENT_RELRO_GOTPLT_END. Place after
+ DATA_SEGMENT_RELRO_END in script.
+
2005-05-09 H.J. Lu <hongjiu.lu@intel.com>
* emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols):
test -n "$RELRO_NOW" && unset SEPARATE_GOTPLT
DATA_SEGMENT_ALIGN="ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))"
DATA_SEGMENT_RELRO_END=""
-DATA_SEGMENT_RELRO_GOTPLT_END=""
DATA_SEGMENT_END=""
if test -n "${COMMONPAGESIZE}"; then
DATA_SEGMENT_ALIGN="ALIGN (${SEGMENT_SIZE}) - ((${MAXPAGESIZE} - .) & (${MAXPAGESIZE} - 1)); . = DATA_SEGMENT_ALIGN (${MAXPAGESIZE}, ${COMMONPAGESIZE})"
DATA_SEGMENT_END=". = DATA_SEGMENT_END (.);"
- if test -n "${SEPARATE_GOTPLT}"; then
- DATA_SEGMENT_RELRO_GOTPLT_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT}, .);"
- else
- DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (0, .);"
- fi
+ DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT-0}, .);"
fi
INTERP=".interp ${RELOCATING-0} : { *(.interp) }"
PLT=".plt ${RELOCATING-0} : { *(.plt) }"
GOT=".got ${RELOCATING-0} : { *(.got.plt) *(.got) }"
else
GOT=".got ${RELOCATING-0} : { *(.got) }"
- GOTPLT="${RELOCATING+${DATA_SEGMENT_RELRO_GOTPLT_END}}
- .got.plt ${RELOCATING-0} : { *(.got.plt) }"
+ GOTPLT=".got.plt ${RELOCATING-0} : { *(.got.plt) }"
fi
fi
DYNAMIC=".dynamic ${RELOCATING-0} : { *(.dynamic) }"
${TEXT_DYNAMIC-${DYNAMIC}}
${NO_SMALL_DATA+${RELRO_NOW+${GOT}}}
${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT+${GOT}}}}
- ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT+${GOTPLT}}}}
${RELOCATING+${DATA_SEGMENT_RELRO_END}}
+ ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT+${GOTPLT}}}}
${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT-${GOT}}}}
${DATA_PLT+${PLT_BEFORE_GOT-${PLT}}}