diff options
author | Alan Modra <amodra@bigpond.net.au> | 2013-01-14 13:37:07 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2013-01-14 13:37:07 +0000 |
commit | f767babf512130fdcfa0bac71fe82251d58463ca (patch) | |
tree | 2c79911d24c1cb67ce4959e75a8e7b7df38692fe /ld/scripttempl | |
parent | a9aea02ade16877c3436ccc3ce0463ba616af152 (diff) | |
download | binutils-redhat-f767babf512130fdcfa0bac71fe82251d58463ca.tar.gz |
* ld.texinfo (-Tldata-segment): Describe.
* ldlex.h (OPTION_TLDATA_SEGMENT): New enum value.
* lexsup.c (ld_options): Add -Tldata-segment.
(parse_args): Handle OPTION_TLDATA_SEGMENT.
* scripttempl/elf.sc: Support LARGE_DATA_ADDR.
Diffstat (limited to 'ld/scripttempl')
-rw-r--r-- | ld/scripttempl/elf.sc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc index cf3f6d8c74..bbff2337e4 100644 --- a/ld/scripttempl/elf.sc +++ b/ld/scripttempl/elf.sc @@ -608,6 +608,15 @@ cat <<EOF ${LARGE_BSS_AFTER_BSS+${LARGE_BSS}} ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} ${RELOCATING+. = ALIGN(${ALIGNMENT});} +EOF + +LARGE_DATA_ADDR=". = SEGMENT_START(\"ldata-segment\", ${LARGE_DATA_ADDR-.});" +SHLIB_LARGE_DATA_ADDR=". = SEGMENT_START(\"ldata-segment\", ${SHLIB_LARGE_DATA_ADDR-.});" + + cat <<EOF + ${RELOCATING+${CREATE_SHLIB-${CREATE_PIE-${LARGE_DATA_ADDR}}}} + ${RELOCATING+${CREATE_SHLIB+${SHLIB_LARGE_DATA_ADDR}}} + ${RELOCATING+${CREATE_PIE+${SHLIB_LARGE_DATA_ADDR}}} ${LARGE_SECTIONS} ${LARGE_BSS_AFTER_BSS-${LARGE_BSS}} ${RELOCATING+. = ALIGN(${ALIGNMENT});} |