diff options
Diffstat (limited to 'ld/scripttempl')
-rw-r--r-- | ld/scripttempl/elf.sc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc index 5ccdd41..444aef2 100644 --- a/ld/scripttempl/elf.sc +++ b/ld/scripttempl/elf.sc @@ -359,7 +359,7 @@ OUTPUT_ARCH(${OUTPUT_ARCH}) ${RELOCATING+ENTRY(${ENTRY})} ${RELOCATING+${LIB_SEARCH_DIRS}} -${RELOCATING+${EXECUTABLE_SYMBOLS}} +${RELOCATING+${CREATE_SHLIB-${EXECUTABLE_SYMBOLS}}} ${RELOCATING+${INPUT_FILES}} ${RELOCATING- /* For some reason, the Solaris linker makes bad executables if gld -r is used and the intermediate file has sections starting @@ -637,9 +637,9 @@ cat <<EOF ${SDATA_GOT+${OTHER_GOT_SECTIONS}} ${DATA_SDATA-${SDATA}} ${DATA_SDATA-${OTHER_SDATA_SECTIONS}} - ${RELOCATING+${DATA_END_SYMBOLS-${USER_LABEL_PREFIX}_edata = .; PROVIDE (${USER_LABEL_PREFIX}edata = .);}} + ${RELOCATING+${DATA_END_SYMBOLS-${CREATE_SHLIB+PROVIDE (}${USER_LABEL_PREFIX}_edata = .${CREATE_SHLIB+)}; PROVIDE (${USER_LABEL_PREFIX}edata = .);}} ${RELOCATING+. = .;} - ${RELOCATING+${USER_LABEL_PREFIX}__bss_start = .;} + ${RELOCATING+${CREATE_SHLIB+PROVIDE (}${USER_LABEL_PREFIX}__bss_start = .${CREATE_SHLIB+)};} ${RELOCATING+${OTHER_BSS_SYMBOLS}} ${DATA_SDATA-${SBSS}} ${BSS_PLT+${PLT}} @@ -672,7 +672,7 @@ cat <<EOF ${LARGE_BSS_AFTER_BSS-${LARGE_BSS}} ${RELOCATING+. = ALIGN(${ALIGNMENT});} ${RELOCATING+${OTHER_END_SYMBOLS}} - ${RELOCATING+${END_SYMBOLS-${USER_LABEL_PREFIX}_end = .; PROVIDE (${USER_LABEL_PREFIX}end = .);}} + ${RELOCATING+${END_SYMBOLS-${CREATE_SHLIB+PROVIDE (}${USER_LABEL_PREFIX}_end = .${CREATE_SHLIB+)}; PROVIDE (${USER_LABEL_PREFIX}end = .);}} ${RELOCATING+${DATA_SEGMENT_END}} ${TINY_DATA_SECTION} ${TINY_BSS_SECTION} |