ld -r script fixes
For ld -r, we generally set the VMA of sections to zero. This is done to make the output of ld -r most similar to that output by the assembler, which generally has sections starting at VMA zero. In some cases that covers for backend bugs which would mis-handle relocatable object files with non-zero section VMAs. This patch fixes a few sections that didn't have zero VMAs for ld -r. A missing zero on .note.gnu.build-id and .eh_frame_hdr doesn't matter much since these are linker generated symbols only output on final link, but it's good to be consistent. * Makefile.am (ei386beos.c, ei386go32.c): Correct dependencies. * Makefile.in: Regenerate. * scripttempl/elf.sc (.note.gnu.build-id, .eh_frame_hdr): Set address with ${RELOCATING-0}. * scripttempl/arclinux.sc: Likewise. * scripttempl/armbpabi.sc: Likewise. * scripttempl/avr.sc: Likewise. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/elf_chaos.sc: Likewise. * scripttempl/elfarc.sc: Likewise. * scripttempl/elfxtensa.sc: Likewise. * scripttempl/mep.sc: Likewise. * scripttempl/nds32elf.sc: Likewise. * scripttempl/pru.sc: Likewise. * scripttempl/elf32msp430.sc: Likewise, and for other sections. * scripttempl/epiphany_4x4.sc: Similarly.
This commit is contained in:
parent
98a17ece01
commit
c2e863866d
19
ld/ChangeLog
19
ld/ChangeLog
@ -1,3 +1,22 @@
|
||||
2018-10-29 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* Makefile.am (ei386beos.c, ei386go32.c): Correct dependencies.
|
||||
* Makefile.in: Regenerate.
|
||||
* scripttempl/elf.sc (.note.gnu.build-id, .eh_frame_hdr): Set
|
||||
address with ${RELOCATING-0}.
|
||||
* scripttempl/arclinux.sc: Likewise.
|
||||
* scripttempl/armbpabi.sc: Likewise.
|
||||
* scripttempl/avr.sc: Likewise.
|
||||
* scripttempl/elf64hppa.sc: Likewise.
|
||||
* scripttempl/elf_chaos.sc: Likewise.
|
||||
* scripttempl/elfarc.sc: Likewise.
|
||||
* scripttempl/elfxtensa.sc: Likewise.
|
||||
* scripttempl/mep.sc: Likewise.
|
||||
* scripttempl/nds32elf.sc: Likewise.
|
||||
* scripttempl/pru.sc: Likewise.
|
||||
* scripttempl/elf32msp430.sc: Likewise, and for other sections.
|
||||
* scripttempl/epiphany_4x4.sc: Similarly.
|
||||
|
||||
2018-10-26 Christoph Conrads <christoph.conrads@fluent.ai>
|
||||
|
||||
* ld.texi (--gc-sections): Update.
|
||||
|
@ -1382,13 +1382,15 @@ ehppaobsd.c: $(srcdir)/emulparams/hppaobsd.sh \
|
||||
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
ei386beos.c: $(srcdir)/emulparams/i386beos.sh \
|
||||
$(srcdir)/emultempl/beos.em $(srcdir)/scripttempl/i386beos.sc ${GEN_DEPENDS}
|
||||
$(srcdir)/emultempl/beos.em $(srcdir)/scripttempl/i386beos.sc \
|
||||
$(srcdir)/scripttempl/DWARF.sc ${GEN_DEPENDS}
|
||||
|
||||
ei386bsd.c: $(srcdir)/emulparams/i386bsd.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
|
||||
|
||||
ei386go32.c: $(srcdir)/emulparams/i386go32.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386go32.sc ${GEN_DEPENDS}
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386go32.sc \
|
||||
$(srcdir)/scripttempl/DWARF.sc ${GEN_DEPENDS}
|
||||
|
||||
ei386lynx.c: $(srcdir)/emulparams/i386lynx.sh \
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
@ -2986,13 +2986,15 @@ ehppaobsd.c: $(srcdir)/emulparams/hppaobsd.sh \
|
||||
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
ei386beos.c: $(srcdir)/emulparams/i386beos.sh \
|
||||
$(srcdir)/emultempl/beos.em $(srcdir)/scripttempl/i386beos.sc ${GEN_DEPENDS}
|
||||
$(srcdir)/emultempl/beos.em $(srcdir)/scripttempl/i386beos.sc \
|
||||
$(srcdir)/scripttempl/DWARF.sc ${GEN_DEPENDS}
|
||||
|
||||
ei386bsd.c: $(srcdir)/emulparams/i386bsd.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
|
||||
|
||||
ei386go32.c: $(srcdir)/emulparams/i386go32.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386go32.sc ${GEN_DEPENDS}
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386go32.sc \
|
||||
$(srcdir)/scripttempl/DWARF.sc ${GEN_DEPENDS}
|
||||
|
||||
ei386lynx.c: $(srcdir)/emulparams/i386lynx.sh \
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
@ -358,7 +358,7 @@ emit_early_ro()
|
||||
{
|
||||
cat <<EOF
|
||||
${INITIAL_READONLY_SECTIONS}
|
||||
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
.note.gnu.build-id ${RELOCATING-0}: { *(.note.gnu.build-id) }
|
||||
EOF
|
||||
}
|
||||
|
||||
@ -539,7 +539,7 @@ cat <<EOF
|
||||
${CREATE_SHLIB-${SDATA2}}
|
||||
${CREATE_SHLIB-${SBSS2}}
|
||||
${OTHER_READONLY_SECTIONS}
|
||||
.eh_frame_hdr : { *(.eh_frame_hdr) ${RELOCATING+*(.eh_frame_entry .eh_frame_entry.*)} }
|
||||
.eh_frame_hdr ${RELOCATING-0} : { *(.eh_frame_hdr) ${RELOCATING+*(.eh_frame_entry .eh_frame_entry.*)} }
|
||||
.eh_frame ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) ${RELOCATING+*(.eh_frame.*)} }
|
||||
.gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table${RELOCATING+ .gcc_except_table.*}) }
|
||||
.gnu_extab ${RELOCATING-0} : ONLY_IF_RO { *(.gnu_extab*) }
|
||||
|
@ -254,7 +254,7 @@ cat <<EOF
|
||||
${RELOCATING+${FINI_ARRAY}}
|
||||
|
||||
${OTHER_READONLY_SECTIONS}
|
||||
.eh_frame_hdr : { *(.eh_frame_hdr) }
|
||||
.eh_frame_hdr ${RELOCATING-0} : { *(.eh_frame_hdr) }
|
||||
.eh_frame ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
|
||||
.gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.gcc_except_table${RELOCATING+ .gcc_except_table.*})) }
|
||||
|
||||
|
@ -336,7 +336,7 @@ cat <<EOF
|
||||
.stab.index 0 : { *(.stab.index) }
|
||||
.stab.indexstr 0 : { *(.stab.indexstr) }
|
||||
.comment 0 : { *(.comment) }
|
||||
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
.note.gnu.build-id ${RELOCATING-0} : { *(.note.gnu.build-id) }
|
||||
EOF
|
||||
|
||||
. $srcdir/scripttempl/DWARF.sc
|
||||
|
@ -378,7 +378,7 @@ emit_early_ro()
|
||||
{
|
||||
cat <<EOF
|
||||
${INITIAL_READONLY_SECTIONS}
|
||||
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
.note.gnu.build-id ${RELOCATING-0}: { *(.note.gnu.build-id) }
|
||||
EOF
|
||||
}
|
||||
|
||||
@ -564,7 +564,7 @@ cat <<EOF
|
||||
${CREATE_SHLIB-${SDATA2}}
|
||||
${CREATE_SHLIB-${SBSS2}}
|
||||
${OTHER_READONLY_SECTIONS}
|
||||
.eh_frame_hdr : { *(.eh_frame_hdr)${RELOCATING+ *(.eh_frame_entry .eh_frame_entry.*)} }
|
||||
.eh_frame_hdr ${RELOCATING-0} : { *(.eh_frame_hdr)${RELOCATING+ *(.eh_frame_entry .eh_frame_entry.*)} }
|
||||
.eh_frame ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame))${RELOCATING+ *(.eh_frame.*)} }
|
||||
.gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table${RELOCATING+ .gcc_except_table.*}) }
|
||||
.gnu_extab ${RELOCATING-0} : ONLY_IF_RO { *(.gnu_extab*) }
|
||||
|
@ -137,7 +137,7 @@ SECTIONS
|
||||
.rela.plt ${RELOCATING-0} : { *(.rela.plt) }
|
||||
|
||||
/* Internal text space. */
|
||||
.text :
|
||||
.text ${RELOCATING-0} :
|
||||
{
|
||||
${RELOCATING+. = ALIGN(2);
|
||||
*(SORT_NONE(.init))
|
||||
@ -187,7 +187,7 @@ SECTIONS
|
||||
_etext = .;}
|
||||
} ${RELOCATING+ > text}
|
||||
|
||||
.rodata :
|
||||
.rodata ${RELOCATING-0} :
|
||||
{
|
||||
${RELOCATING+. = ALIGN(2);
|
||||
*(.lower.rodata.* .lower.rodata)
|
||||
@ -239,7 +239,7 @@ SECTIONS
|
||||
KEEP (*(.dtors))}
|
||||
} ${RELOCATING+ > text}
|
||||
|
||||
.vectors ${RELOCATING-0}:
|
||||
.vectors ${RELOCATING-0} :
|
||||
{
|
||||
${RELOCATING+ PROVIDE (__vectors_start = .) ; }
|
||||
*(.vectors${RELOCATING+*})
|
||||
@ -277,7 +277,7 @@ SECTIONS
|
||||
${RELOCATING+__romdatastart = LOADADDR(.data);
|
||||
__romdatacopysize = SIZEOF(.data);}
|
||||
|
||||
.bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} :
|
||||
.bss ${RELOCATING-0}${RELOCATING+SIZEOF(.data) + ADDR(.data)} :
|
||||
{
|
||||
${RELOCATING+. = ALIGN(2);}
|
||||
${RELOCATING+ PROVIDE (__bss_start = .); }
|
||||
@ -291,14 +291,14 @@ SECTIONS
|
||||
} ${RELOCATING+ > data}
|
||||
${RELOCATING+ PROVIDE (__bsssize = SIZEOF(.bss)); }
|
||||
|
||||
.noinit ${RELOCATING+ SIZEOF(.bss) + ADDR(.bss)} :
|
||||
.noinit ${RELOCATING-0}${RELOCATING+SIZEOF(.bss) + ADDR(.bss)} :
|
||||
{
|
||||
${RELOCATING+ PROVIDE (__noinit_start = .) ; }
|
||||
*(.noinit)
|
||||
${RELOCATING+ PROVIDE (__noinit_end = .) ; }
|
||||
} ${RELOCATING+ > data}
|
||||
|
||||
.persistent ${RELOCATING+ SIZEOF(.noinit) + ADDR(.noinit)} :
|
||||
.persistent ${RELOCATING-0}${RELOCATING+SIZEOF(.noinit) + ADDR(.noinit)} :
|
||||
{
|
||||
${RELOCATING+ PROVIDE (__persistent_start = .) ; }
|
||||
*(.persistent)
|
||||
|
@ -299,7 +299,7 @@ SECTIONS
|
||||
${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR} + SIZEOF_HEADERS;}}
|
||||
${CREATE_PIE+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR} + SIZEOF_HEADERS;}}
|
||||
${INITIAL_READONLY_SECTIONS}
|
||||
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
.note.gnu.build-id ${RELOCATING-0}: { *(.note.gnu.build-id) }
|
||||
EOF
|
||||
|
||||
test -n "${RELOCATING+0}" || unset NON_ALLOC_DYN
|
||||
@ -431,7 +431,7 @@ cat <<EOF
|
||||
${CREATE_SHLIB-${SDATA2}}
|
||||
${CREATE_SHLIB-${SBSS2}}
|
||||
${OTHER_READONLY_SECTIONS}
|
||||
.eh_frame_hdr : { *(.eh_frame_hdr) }
|
||||
.eh_frame_hdr ${RELOCATING-0} : { *(.eh_frame_hdr) }
|
||||
.eh_frame ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
|
||||
.gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table${RELOCATING+ .gcc_except_table.*}) }
|
||||
|
||||
|
@ -264,7 +264,7 @@ cat <<EOF
|
||||
${CREATE_SHLIB-${SDATA2}}
|
||||
${CREATE_SHLIB-${SBSS2}}
|
||||
${OTHER_READONLY_SECTIONS}
|
||||
.eh_frame_hdr : { *(.eh_frame_hdr) }
|
||||
.eh_frame_hdr ${RELOCATING-0} : { *(.eh_frame_hdr) }
|
||||
|
||||
${RELOCATING+. = ALIGN(0x1000);}
|
||||
.data ${RELOCATING-0} :
|
||||
|
@ -294,7 +294,7 @@ cat <<EOF
|
||||
${CREATE_SHLIB-${SDATA2}}
|
||||
${CREATE_SHLIB-${SBSS2}}
|
||||
${OTHER_READONLY_SECTIONS}
|
||||
.eh_frame_hdr : { *(.eh_frame_hdr) }
|
||||
.eh_frame_hdr ${RELOCATING-0} : { *(.eh_frame_hdr) }
|
||||
.gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table${RELOCATING+ .gcc_except_table.*}) }
|
||||
|
||||
/* Adjust the address for the data segment. We want to adjust up to
|
||||
|
@ -310,7 +310,7 @@ SECTIONS
|
||||
${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR:-0} + SIZEOF_HEADERS;}}
|
||||
${CREATE_PIE+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR:-0} + SIZEOF_HEADERS;}}
|
||||
${INITIAL_READONLY_SECTIONS}
|
||||
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
.note.gnu.build-id ${RELOCATING-0}: { *(.note.gnu.build-id) }
|
||||
EOF
|
||||
|
||||
test -n "${RELOCATING+0}" || unset NON_ALLOC_DYN
|
||||
@ -440,7 +440,7 @@ cat <<EOF
|
||||
${CREATE_SHLIB-${SDATA2}}
|
||||
${CREATE_SHLIB-${SBSS2}}
|
||||
${OTHER_READONLY_SECTIONS}
|
||||
.eh_frame_hdr : { *(.eh_frame_hdr) }
|
||||
.eh_frame_hdr ${RELOCATING-0} : { *(.eh_frame_hdr) }
|
||||
.eh_frame ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
|
||||
.gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table${RELOCATING+ .gcc_except_table.*}) }
|
||||
|
||||
|
@ -375,7 +375,7 @@ cat <<EOF
|
||||
${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR:-0} + SIZEOF_HEADERS;}}
|
||||
${CREATE_PIE+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR:-0} + SIZEOF_HEADERS;}}
|
||||
${INITIAL_READONLY_SECTIONS}
|
||||
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
.note.gnu.build-id ${RELOCATING-0}: { *(.note.gnu.build-id) }
|
||||
EOF
|
||||
|
||||
test -n "${RELOCATING+0}" || unset NON_ALLOC_DYN
|
||||
@ -469,7 +469,7 @@ fi
|
||||
|
||||
cat <<EOF
|
||||
|
||||
.init ${RELOCATING+__init_start} :
|
||||
.init ${RELOCATING-0}${RELOCATING+__init_start} :
|
||||
{
|
||||
${RELOCATING+${INIT_START}}
|
||||
KEEP (*(.init))
|
||||
@ -479,14 +479,14 @@ cat <<EOF
|
||||
${TEXT_PLT+${PLT}}
|
||||
${TINY_READONLY_SECTION}
|
||||
|
||||
.fini ${RELOCATING+ADDR(.init)+SIZEOF(.init)} ${RELOCATING-0} :
|
||||
.fini ${RELOCATING-0}${RELOCATING+ADDR(.init)+SIZEOF(.init)} :
|
||||
{
|
||||
${RELOCATING+${FINI_START}}
|
||||
KEEP (*(.fini))
|
||||
${RELOCATING+${FINI_END}}
|
||||
} /* ${RELOCATING+ > INTERNAL_RAM} */ =${NOP-0}
|
||||
|
||||
.text ${RELOCATING+ADDR(.fini)+SIZEOF(.fini)} ${RELOCATING-0} :
|
||||
.text ${RELOCATING-0}${RELOCATING+ADDR(.fini)+SIZEOF(.fini)} :
|
||||
{
|
||||
${RELOCATING+${TEXT_START_SYMBOLS}}
|
||||
*(.text .stub${RELOCATING+ .text.* .gnu.linkonce.t.*})
|
||||
@ -503,7 +503,7 @@ cat <<EOF
|
||||
${CREATE_SHLIB-${SDATA2}}
|
||||
${CREATE_SHLIB-${SBSS2}}
|
||||
${OTHER_READONLY_SECTIONS}
|
||||
.eh_frame_hdr : { *(.eh_frame_hdr) }
|
||||
.eh_frame_hdr ${RELOCATING-0} : { *(.eh_frame_hdr) }
|
||||
.eh_frame ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
|
||||
.gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table${RELOCATING+ .gcc_except_table.*}) }
|
||||
|
||||
@ -557,7 +557,7 @@ cat <<EOF
|
||||
|
||||
${DATA_PLT+${PLT_BEFORE_GOT-${PLT}}}
|
||||
|
||||
.data ${RELOCATING+ADDR(.dtors)+SIZEOF(.dtors)} ${RELOCATING-0} :
|
||||
.data ${RELOCATING-0}${RELOCATING+ADDR(.dtors)+SIZEOF(.dtors)} :
|
||||
{
|
||||
${RELOCATING+${DATA_START_SYMBOLS}}
|
||||
*(.data${RELOCATING+ .data.* .gnu.linkonce.d.*})
|
||||
@ -583,7 +583,7 @@ cat <<EOF
|
||||
${RELOCATING+${OTHER_BSS_SYMBOLS}}
|
||||
${SBSS}
|
||||
${BSS_PLT+${PLT}}
|
||||
.bss ${RELOCATING+ADDR(.rodata)+SIZEOF(.rodata)} ${RELOCATING-0} :
|
||||
.bss ${RELOCATING-0}${RELOCATING+ADDR(.rodata)+SIZEOF(.rodata)} :
|
||||
{
|
||||
${RELOCATING+*(.dynbss)}
|
||||
*(.bss${RELOCATING+ .bss.* .gnu.linkonce.b.*})
|
||||
@ -606,7 +606,7 @@ cat <<EOF
|
||||
${RELOCATING+${DATA_SEGMENT_END}}
|
||||
|
||||
${RELOCATING+PROVIDE ( __stack_start_ = ORIGIN(EXTERNAL_DRAM_0) + __PROG_SIZE_FOR_CORE__ * __CORE_NUM_ + __PROG_SIZE_FOR_CORE__ - 0x10) ;}
|
||||
.stack ${RELOCATING+__stack_start_} : { ${RELOCATING+___stack = .;} *(.stack) }
|
||||
.stack ${RELOCATING-0}${RELOCATING+__stack_start_} : { ${RELOCATING+___stack = .;} *(.stack) }
|
||||
|
||||
${RELOCATING+PROVIDE ( ___heap_start = ORIGIN(EXTERNAL_DRAM_1) + __HEAP_SIZE_FOR_CORE__ * __CORE_NUM_ );}
|
||||
${RELOCATING+PROVIDE ( ___heap_end = ORIGIN(EXTERNAL_DRAM_1) + __HEAP_SIZE_FOR_CORE__ * __CORE_NUM_ + __HEAP_SIZE_FOR_CORE__ - 4 );}
|
||||
|
@ -329,7 +329,7 @@ cat <<EOF
|
||||
${CREATE_SHLIB-${SDATA2}}
|
||||
${CREATE_SHLIB-${SBSS2}}
|
||||
${OTHER_READONLY_SECTIONS}
|
||||
.eh_frame_hdr : { *(.eh_frame_hdr) }
|
||||
.eh_frame_hdr ${RELOCATING-0} : { *(.eh_frame_hdr) }
|
||||
.eh_frame ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
|
||||
.gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.gcc_except_table${RELOCATING+ .gcc_except_table.*})) }
|
||||
|
||||
|
@ -305,7 +305,7 @@ emit_early_ro()
|
||||
{
|
||||
cat <<EOF
|
||||
${INITIAL_READONLY_SECTIONS}
|
||||
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
.note.gnu.build-id ${RELOCATING-0}: { *(.note.gnu.build-id) }
|
||||
EOF
|
||||
}
|
||||
|
||||
@ -486,7 +486,7 @@ cat <<EOF
|
||||
${CREATE_SHLIB-${SDATA2}}
|
||||
${CREATE_SHLIB-${SBSS2}}
|
||||
${OTHER_READONLY_SECTIONS}
|
||||
.eh_frame_hdr : { *(.eh_frame_hdr) }
|
||||
.eh_frame_hdr ${RELOCATING-0} : { *(.eh_frame_hdr) }
|
||||
.eh_frame ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
|
||||
.gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table${RELOCATING+ .gcc_except_table.*}) }
|
||||
/* These sections are generated by the Sun/Oracle C++ compiler. */
|
||||
|
@ -164,7 +164,7 @@ SECTIONS
|
||||
} ${RELOCATING+ > dmem}
|
||||
|
||||
/* Global data not cleared after reset. */
|
||||
.noinit ${RELOCATING-0}:
|
||||
.noinit ${RELOCATING-0} :
|
||||
{
|
||||
${RELOCATING+ PROVIDE (_noinit_start = .) ; }
|
||||
*(.noinit)
|
||||
@ -185,7 +185,7 @@ SECTIONS
|
||||
.stab.index 0 : { *(.stab.index) }
|
||||
.stab.indexstr 0 : { *(.stab.indexstr) }
|
||||
.comment 0 : { *(.comment) }
|
||||
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
.note.gnu.build-id ${RELOCATING-0} : { *(.note.gnu.build-id) }
|
||||
EOF
|
||||
|
||||
. $srcdir/scripttempl/DWARF.sc
|
||||
|
Loading…
x
Reference in New Issue
Block a user