-# Copyright (C) 2014-2018 Free Software Foundation, Inc.
+# Copyright (C) 2014-2021 Free Software Foundation, Inc.
#
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved.
cat << EOF
-/* Copyright (C) 2014-2018 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2021 Free Software Foundation, Inc.
Copying and distribution of this script, with or without modification,
are permitted in any medium without royalty provided the copyright
.zdata ${ZDATA_START_ADDR} :
{
*(.zdata)
- *(.zbss)
+ ${RELOCATING+*(.zbss)
*(reszdata)
- *(.zcommon)
+ *(.zcommon)}
}
/* This is the read only part of the zero data area.
.rozdata ${ROZDATA_START_ADDR} :
{
*(.rozdata)
- *(romzdata)
- *(romzbss)
+ ${RELOCATING+*(romzdata)
+ *(romzbss)}
}
/* Read-only sections, merged into text segment. */
.rela.bss : { *(.rela.bss) }
.rel.plt : { *(.rel.plt) }
.rela.plt : { *(.rela.plt) }
- .init : { KEEP (*(.init)) } =0
+ .init : { KEEP (*(SORT_NONE(.init))) } =0
.plt : { *(.plt) }
.text :
*(.text)
${RELOCATING+*(.text.*)}
- /* .gnu.warning sections are handled specially by elf32.em. */
+ /* .gnu.warning sections are handled specially by elf.em. */
*(.gnu.warning)
- *(.gnu.linkonce.t*)
+ ${RELOCATING+*(.gnu.linkonce.t*)}
} =0
${RELOCATING+_etext = .;}
*(.call_table_text)
}
- .fini : { KEEP (*(.fini)) } =0
- .rodata : { *(.rodata) ${RELOCATING+*(.rodata.*)} *(.gnu.linkonce.r*) }
+ .fini : { KEEP (*(SORT_NONE(.fini))) } =0
+ .rodata : { *(.rodata) ${RELOCATING+*(.rodata.*) *(.gnu.linkonce.r*)} }
.rodata1 : { *(.rodata1) }
.data :
{
*(.data)
- ${RELOCATING+*(.data.*)}
- *(.gnu.linkonce.d*)
- CONSTRUCTORS
+ ${RELOCATING+*(.data.*)
+ *(.gnu.linkonce.d*)}
+ ${CONSTRUCTING+CONSTRUCTORS}
}
.data1 : { *(.data1) }
.ctors :
{
${CONSTRUCTING+___ctors = .;}
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
+ ${RELOCATING+KEEP (*(SORT(.ctors.*)))}
KEEP (*crtend(.ctors))
${CONSTRUCTING+___ctors_end = .;}
}
{
${CONSTRUCTING+___dtors = .;}
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
+ ${RELOCATING+KEEP (*(SORT(.dtors.*)))}
KEEP (*crtend.o(.dtors))
${CONSTRUCTING+___dtors_end = .;}
}
.gcc_except_table : { *(.gcc_except_table) }
- .got : { *(.got.plt) *(.got) }
+ .got : {${RELOCATING+ *(.got.plt)} *(.got) }
.dynamic : { *(.dynamic) }
.tdata ${TDATA_START_ADDR} :
{
- ${RELOCATING+PROVIDE (__ep = .);}
+ ${RELOCATING+PROVIDE (__ep = .);
*(.tbyte)
- *(.tcommon_byte)
+ *(.tcommon_byte)}
*(.tdata)
- *(.tbss)
- *(.tcommon)
+ ${RELOCATING+*(.tbss)
+ *(.tcommon)}
}
/* We want the small data sections together, so single-instruction offsets
{
${RELOCATING+__sbss_start = .;}
*(.sbss)
- *(.scommon)
+ ${RELOCATING+*(.scommon)}
}
${RELOCATING+_edata = DEFINED (__sbss_start) ? __sbss_start : . ;}
{
${RELOCATING+__bss_start = DEFINED (__sbss_start) ? __sbss_start : . ;}
${RELOCATING+__real_bss_start = . ;}
- *(.dynbss)
+ ${RELOCATING+*(.dynbss)}
*(.bss)
- *(COMMON)
+ ${RELOCATING+*(COMMON)}
}
${RELOCATING+_end = . ;}