diff options
author | Alan Modra <amodra@gmail.com> | 2013-01-14 13:37:10 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2013-01-14 13:37:10 +0000 |
commit | 0d705e9f94332dec93970e80afec6c667c79f555 (patch) | |
tree | 72b50754b08938a17dcbddd889102ac21d96d9c2 /ld/scripttempl/elf.sc | |
parent | d6391ce5a607711d3db4847d0fa0dd3c00c289e2 (diff) | |
download | gdb-0d705e9f94332dec93970e80afec6c667c79f555.zip gdb-0d705e9f94332dec93970e80afec6c667c79f555.tar.gz gdb-0d705e9f94332dec93970e80afec6c667c79f555.tar.bz2 |
* 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/elf.sc')
-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 cf3f6d8..bbff233 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});} |