Line 1... |
Line 1... |
#
|
#
|
# Unusual variables checked by this code:
|
# Unusual variables checked by this code:
|
# NOP - four byte opcode for no-op (defaults to 0)
|
# NOP - four byte opcode for no-op (defaults to none)
|
# NO_SMALL_DATA - no .sbss/.sbss2/.sdata/.sdata2 sections if not
|
# NO_SMALL_DATA - no .sbss/.sbss2/.sdata/.sdata2 sections if not
|
# empty.
|
# empty.
|
# SMALL_DATA_CTOR - .ctors contains small data.
|
# SMALL_DATA_CTOR - .ctors contains small data.
|
# SMALL_DATA_DTOR - .dtors contains small data.
|
# SMALL_DATA_DTOR - .dtors contains small data.
|
# DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
|
# DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
|
Line 89... |
Line 89... |
# .ldata .gnu.linkonce.l.foo
|
# .ldata .gnu.linkonce.l.foo
|
# .lbss .gnu.linkonce.lb.foo
|
# .lbss .gnu.linkonce.lb.foo
|
#
|
#
|
# Each of these can also have corresponding .rel.* and .rela.* sections.
|
# Each of these can also have corresponding .rel.* and .rela.* sections.
|
|
|
|
if test -n "$NOP"; then
|
|
FILL="=$NOP"
|
|
else
|
|
FILL=
|
|
fi
|
|
|
test -z "$RODATA_NAME" && RODATA_NAME=rodata
|
test -z "$RODATA_NAME" && RODATA_NAME=rodata
|
test -z "$SDATA_NAME" && SDATA_NAME=sdata
|
test -z "$SDATA_NAME" && SDATA_NAME=sdata
|
test -z "$SBSS_NAME" && SBSS_NAME=sbss
|
test -z "$SBSS_NAME" && SBSS_NAME=sbss
|
test -z "$BSS_NAME" && BSS_NAME=bss
|
test -z "$BSS_NAME" && BSS_NAME=bss
|
test -z "$ENTRY" && ENTRY=${USER_LABEL_PREFIX}_start
|
test -z "$ENTRY" && ENTRY=${USER_LABEL_PREFIX}_start
|
Line 436... |
Line 442... |
.init ${RELOCATING-0} :
|
.init ${RELOCATING-0} :
|
{
|
{
|
${RELOCATING+${INIT_START}}
|
${RELOCATING+${INIT_START}}
|
KEEP (*(.init))
|
KEEP (*(.init))
|
${RELOCATING+${INIT_END}}
|
${RELOCATING+${INIT_END}}
|
} =${NOP-0}
|
} ${FILL}
|
|
|
${TEXT_PLT+${PLT}}
|
${TEXT_PLT+${PLT}}
|
${TINY_READONLY_SECTION}
|
${TINY_READONLY_SECTION}
|
.text ${RELOCATING-0} :
|
.text ${RELOCATING-0} :
|
{
|
{
|
Line 451... |
Line 457... |
${RELOCATING+*(.text.hot .text.hot.*)}
|
${RELOCATING+*(.text.hot .text.hot.*)}
|
*(.text .stub${RELOCATING+ .text.* .gnu.linkonce.t.*})
|
*(.text .stub${RELOCATING+ .text.* .gnu.linkonce.t.*})
|
/* .gnu.warning sections are handled specially by elf32.em. */
|
/* .gnu.warning sections are handled specially by elf32.em. */
|
*(.gnu.warning)
|
*(.gnu.warning)
|
${RELOCATING+${OTHER_TEXT_SECTIONS}}
|
${RELOCATING+${OTHER_TEXT_SECTIONS}}
|
} =${NOP-0}
|
} ${FILL}
|
.fini ${RELOCATING-0} :
|
.fini ${RELOCATING-0} :
|
{
|
{
|
${RELOCATING+${FINI_START}}
|
${RELOCATING+${FINI_START}}
|
KEEP (*(.fini))
|
KEEP (*(.fini))
|
${RELOCATING+${FINI_END}}
|
${RELOCATING+${FINI_END}}
|
} =${NOP-0}
|
} ${FILL}
|
${RELOCATING+PROVIDE (__${ETEXT_NAME} = .);}
|
${RELOCATING+PROVIDE (__${ETEXT_NAME} = .);}
|
${RELOCATING+PROVIDE (_${ETEXT_NAME} = .);}
|
${RELOCATING+PROVIDE (_${ETEXT_NAME} = .);}
|
${RELOCATING+PROVIDE (${ETEXT_NAME} = .);}
|
${RELOCATING+PROVIDE (${ETEXT_NAME} = .);}
|
${WRITABLE_RODATA-${RODATA}}
|
${WRITABLE_RODATA-${RODATA}}
|
.${RODATA_NAME}1 ${RELOCATING-0} : { *(.${RODATA_NAME}1) }
|
.${RODATA_NAME}1 ${RELOCATING-0} : { *(.${RODATA_NAME}1) }
|