mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-19 05:42:42 +08:00
* scripttempl/armbpabi.sc: Don't combine .init_array.* or
.fini_array.* when do relocatable linking. * scripttempl/elf.sc: Likewise. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/elfxtensa.sc: Likewise. testsuite/ * ld-elf/init-fini-arrays.s: New test. * ld-elf/init-fini-arrays.d: New test.
This commit is contained in:
@ -1,3 +1,12 @@
|
|||||||
|
2010-02-27 Jie Zhang <jie@codesourcery.com>
|
||||||
|
|
||||||
|
* scripttempl/armbpabi.sc: Don't combine .init_array.* or
|
||||||
|
.fini_array.* when do relocatable linking.
|
||||||
|
* scripttempl/elf.sc: Likewise.
|
||||||
|
* scripttempl/elf32sh-symbian.sc: Likewise.
|
||||||
|
* scripttempl/elf64hppa.sc: Likewise.
|
||||||
|
* scripttempl/elfxtensa.sc: Likewise.
|
||||||
|
|
||||||
2010-02-26 Alan Modra <amodra@gmail.com>
|
2010-02-26 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* scripttempl/elf.sc (.fini_array): Place input .fini_array after
|
* scripttempl/elf.sc (.fini_array): Place input .fini_array after
|
||||||
|
@ -64,6 +64,24 @@ else
|
|||||||
NO_SMALL_DATA=" "
|
NO_SMALL_DATA=" "
|
||||||
fi
|
fi
|
||||||
test -n "$SEPARATE_GOTPLT" && SEPARATE_GOTPLT=" "
|
test -n "$SEPARATE_GOTPLT" && SEPARATE_GOTPLT=" "
|
||||||
|
INIT_ARRAY=".init_array ${RELOCATING-0} :
|
||||||
|
{
|
||||||
|
/* SymbianOS uses this symbol. */
|
||||||
|
${RELOCATING+PROVIDE (SHT\$\$INIT_ARRAY\$\$Base = .);}
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__init_array_start = .);}}
|
||||||
|
KEEP (*(SORT(.init_array.*)))
|
||||||
|
KEEP (*(.init_array))
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__init_array_end = .);}}
|
||||||
|
/* SymbianOS uses this symbol. */
|
||||||
|
${RELOCATING+PROVIDE (SHT\$\$INIT_ARRAY\$\$Limit = .);}
|
||||||
|
}"
|
||||||
|
FINI_ARRAY=".fini_array ${RELOCATING-0} :
|
||||||
|
{
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__fini_array_start = .);}}
|
||||||
|
KEEP (*(SORT(.fini_array.*)))
|
||||||
|
KEEP (*(.fini_array))
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__fini_array_end = .);}}
|
||||||
|
}"
|
||||||
CTOR=".ctors ${CONSTRUCTING-0} :
|
CTOR=".ctors ${CONSTRUCTING-0} :
|
||||||
{
|
{
|
||||||
${CONSTRUCTING+${CTOR_START}}
|
${CONSTRUCTING+${CTOR_START}}
|
||||||
@ -218,24 +236,8 @@ cat <<EOF
|
|||||||
KEEP (*(.preinit_array))
|
KEEP (*(.preinit_array))
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__preinit_array_end = .);}}
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__preinit_array_end = .);}}
|
||||||
}
|
}
|
||||||
.init_array ${RELOCATING-0} :
|
${RELOCATING+${INIT_ARRAY}}
|
||||||
{
|
${RELOCATING+${FINI_ARRAY}}
|
||||||
/* SymbianOS uses this symbol. */
|
|
||||||
${RELOCATING+PROVIDE (SHT\$\$INIT_ARRAY\$\$Base = .);}
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__init_array_start = .);}}
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__init_array_end = .);}}
|
|
||||||
/* SymbianOS uses this symbol. */
|
|
||||||
${RELOCATING+PROVIDE (SHT\$\$INIT_ARRAY\$\$Limit = .);}
|
|
||||||
}
|
|
||||||
.fini_array ${RELOCATING-0} :
|
|
||||||
{
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__fini_array_start = .);}}
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__fini_array_end = .);}}
|
|
||||||
}
|
|
||||||
|
|
||||||
${OTHER_READONLY_SECTIONS}
|
${OTHER_READONLY_SECTIONS}
|
||||||
.eh_frame_hdr : { *(.eh_frame_hdr) }
|
.eh_frame_hdr : { *(.eh_frame_hdr) }
|
||||||
|
@ -216,6 +216,20 @@ test "${LARGE_SECTIONS}" = "yes" && LARGE_SECTIONS="
|
|||||||
*(.ldata${RELOCATING+ .ldata.* .gnu.linkonce.l.*})
|
*(.ldata${RELOCATING+ .ldata.* .gnu.linkonce.l.*})
|
||||||
${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);}
|
${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);}
|
||||||
}"
|
}"
|
||||||
|
INIT_ARRAY=".init_array ${RELOCATING-0} :
|
||||||
|
{
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_start = .);}}
|
||||||
|
KEEP (*(SORT(.init_array.*)))
|
||||||
|
KEEP (*(.init_array))
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_end = .);}}
|
||||||
|
}"
|
||||||
|
FINI_ARRAY=".fini_array ${RELOCATING-0} :
|
||||||
|
{
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_start = .);}}
|
||||||
|
KEEP (*(SORT(.fini_array.*)))
|
||||||
|
KEEP (*(.fini_array))
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_end = .);}}
|
||||||
|
}"
|
||||||
CTOR=".ctors ${CONSTRUCTING-0} :
|
CTOR=".ctors ${CONSTRUCTING-0} :
|
||||||
{
|
{
|
||||||
${CONSTRUCTING+${CTOR_START}}
|
${CONSTRUCTING+${CTOR_START}}
|
||||||
@ -455,20 +469,8 @@ cat <<EOF
|
|||||||
KEEP (*(.preinit_array))
|
KEEP (*(.preinit_array))
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_end = .);}}
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_end = .);}}
|
||||||
}
|
}
|
||||||
.init_array ${RELOCATING-0} :
|
${RELOCATING+${INIT_ARRAY}}
|
||||||
{
|
${RELOCATING+${FINI_ARRAY}}
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_start = .);}}
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_end = .);}}
|
|
||||||
}
|
|
||||||
.fini_array ${RELOCATING-0} :
|
|
||||||
{
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_start = .);}}
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_end = .);}}
|
|
||||||
}
|
|
||||||
${SMALL_DATA_CTOR-${RELOCATING+${CTOR}}}
|
${SMALL_DATA_CTOR-${RELOCATING+${CTOR}}}
|
||||||
${SMALL_DATA_DTOR-${RELOCATING+${DTOR}}}
|
${SMALL_DATA_DTOR-${RELOCATING+${DTOR}}}
|
||||||
.jcr ${RELOCATING-0} : { KEEP (*(.jcr)) }
|
.jcr ${RELOCATING-0} : { KEEP (*(.jcr)) }
|
||||||
|
@ -85,6 +85,20 @@ DYNAMIC=".dynamic : { *(.dynamic) } :dynamic :dyn"
|
|||||||
RODATA=".rodata ALIGN(4) : { *(.rodata${RELOCATING+ .rodata.* .gnu.linkonce.r.*}) }"
|
RODATA=".rodata ALIGN(4) : { *(.rodata${RELOCATING+ .rodata.* .gnu.linkonce.r.*}) }"
|
||||||
DISCARDED="/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.directive) *(.gnu.lto_*) }"
|
DISCARDED="/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.directive) *(.gnu.lto_*) }"
|
||||||
test -z "$GOT" && GOT=".got ${RELOCATING-0} : { *(.got.plt) *(.got) } :dynamic :dyn"
|
test -z "$GOT" && GOT=".got ${RELOCATING-0} : { *(.got.plt) *(.got) } :dynamic :dyn"
|
||||||
|
INIT_ARRAY=".init_array ${RELOCATING-0} :
|
||||||
|
{
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__init_array_start = .);}}
|
||||||
|
KEEP (*(SORT(.init_array.*)))
|
||||||
|
KEEP (*(.init_array))
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__init_array_end = .);}}
|
||||||
|
}"
|
||||||
|
FINI_ARRAY=".fini_array ${RELOCATING-0} :
|
||||||
|
{
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__fini_array_start = .);}}
|
||||||
|
KEEP (*(SORT(.fini_array.*)))
|
||||||
|
KEEP (*(.fini_array))
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__fini_array_end = .);}}
|
||||||
|
}"
|
||||||
CTOR=".ctors ALIGN(4) :
|
CTOR=".ctors ALIGN(4) :
|
||||||
{
|
{
|
||||||
${CONSTRUCTING+${CTOR_START}}
|
${CONSTRUCTING+${CTOR_START}}
|
||||||
@ -214,20 +228,8 @@ SECTIONS
|
|||||||
KEEP (*(.preinit_array))
|
KEEP (*(.preinit_array))
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__preinit_array_end = .);}}
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__preinit_array_end = .);}}
|
||||||
}
|
}
|
||||||
.init_array ${RELOCATING-0} :
|
${RELOCATING+${INIT_ARRAY}}
|
||||||
{
|
${RELOCATING+${FINI_ARRAY}}
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__init_array_start = .);}}
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__init_array_end = .);}}
|
|
||||||
}
|
|
||||||
.fini_array ${RELOCATING-0} :
|
|
||||||
{
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__fini_array_start = .);}}
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__fini_array_end = .);}}
|
|
||||||
}
|
|
||||||
|
|
||||||
${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+. = ${DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}}
|
${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+. = ${DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}}
|
||||||
${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
|
${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
|
||||||
|
@ -200,6 +200,20 @@ test "${LARGE_SECTIONS}" = "yes" && LARGE_SECTIONS="
|
|||||||
*(.ldata${RELOCATING+ .ldata.* .gnu.linkonce.l.*})
|
*(.ldata${RELOCATING+ .ldata.* .gnu.linkonce.l.*})
|
||||||
${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);}
|
${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);}
|
||||||
}"
|
}"
|
||||||
|
INIT_ARRAY=".init_array ${RELOCATING-0} :
|
||||||
|
{
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_start = .);}}
|
||||||
|
KEEP (*(SORT(.init_array.*)))
|
||||||
|
KEEP (*(.init_array))
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_end = .);}}
|
||||||
|
}"
|
||||||
|
FINI_ARRAY=".fini_array ${RELOCATING-0} :
|
||||||
|
{
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_start = .);}}
|
||||||
|
KEEP (*(SORT(.fini_array.*)))
|
||||||
|
KEEP (*(.fini_array))
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_end = .);}}
|
||||||
|
}"
|
||||||
CTOR=".ctors ${CONSTRUCTING-0} :
|
CTOR=".ctors ${CONSTRUCTING-0} :
|
||||||
{
|
{
|
||||||
${CONSTRUCTING+${CTOR_START}}
|
${CONSTRUCTING+${CTOR_START}}
|
||||||
@ -428,20 +442,8 @@ cat <<EOF
|
|||||||
KEEP (*(.preinit_array))
|
KEEP (*(.preinit_array))
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_end = .);}}
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_end = .);}}
|
||||||
}
|
}
|
||||||
.init_array ${RELOCATING-0} :
|
${RELOCATING+${INIT_ARRAY}}
|
||||||
{
|
${RELOCATING+${FINI_ARRAY}}
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_start = .);}}
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_end = .);}}
|
|
||||||
}
|
|
||||||
.fini_array ${RELOCATING-0} :
|
|
||||||
{
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_start = .);}}
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_end = .);}}
|
|
||||||
}
|
|
||||||
${SMALL_DATA_CTOR-${RELOCATING+${CTOR}}}
|
${SMALL_DATA_CTOR-${RELOCATING+${CTOR}}}
|
||||||
${SMALL_DATA_DTOR-${RELOCATING+${DTOR}}}
|
${SMALL_DATA_DTOR-${RELOCATING+${DTOR}}}
|
||||||
.jcr ${RELOCATING-0} : { KEEP (*(.jcr)) }
|
.jcr ${RELOCATING-0} : { KEEP (*(.jcr)) }
|
||||||
|
@ -217,6 +217,20 @@ test "${LARGE_SECTIONS}" = "yes" && LARGE_SECTIONS="
|
|||||||
*(.ldata${RELOCATING+ .ldata.* .gnu.linkonce.l.*})
|
*(.ldata${RELOCATING+ .ldata.* .gnu.linkonce.l.*})
|
||||||
${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);}
|
${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);}
|
||||||
}"
|
}"
|
||||||
|
INIT_ARRAY=".init_array ${RELOCATING-0} :
|
||||||
|
{
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_start = .);}}
|
||||||
|
KEEP (*(SORT(.init_array.*)))
|
||||||
|
KEEP (*(.init_array))
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_end = .);}}
|
||||||
|
}"
|
||||||
|
FINI_ARRAY=".fini_array ${RELOCATING-0} :
|
||||||
|
{
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_start = .);}}
|
||||||
|
KEEP (*(SORT(.fini_array.*)))
|
||||||
|
KEEP (*(.fini_array))
|
||||||
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_end = .);}}
|
||||||
|
}"
|
||||||
CTOR=".ctors ${CONSTRUCTING-0} :
|
CTOR=".ctors ${CONSTRUCTING-0} :
|
||||||
{
|
{
|
||||||
${CONSTRUCTING+${CTOR_START}}
|
${CONSTRUCTING+${CTOR_START}}
|
||||||
@ -438,20 +452,8 @@ cat <<EOF
|
|||||||
KEEP (*(.preinit_array))
|
KEEP (*(.preinit_array))
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_end = .);}}
|
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_end = .);}}
|
||||||
}
|
}
|
||||||
.init_array ${RELOCATING-0} :
|
${RELOCATING+${INIT_ARRAY}}
|
||||||
{
|
${RELOCATING+${FINI_ARRAY}}
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_start = .);}}
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_end = .);}}
|
|
||||||
}
|
|
||||||
.fini_array ${RELOCATING-0} :
|
|
||||||
{
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_start = .);}}
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_end = .);}}
|
|
||||||
}
|
|
||||||
${SMALL_DATA_CTOR-${RELOCATING+${CTOR}}}
|
${SMALL_DATA_CTOR-${RELOCATING+${CTOR}}}
|
||||||
${SMALL_DATA_DTOR-${RELOCATING+${DTOR}}}
|
${SMALL_DATA_DTOR-${RELOCATING+${DTOR}}}
|
||||||
.jcr ${RELOCATING-0} : { KEEP (*(.jcr)) }
|
.jcr ${RELOCATING-0} : { KEEP (*(.jcr)) }
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2010-02-27 Jie Zhang <jie@codesourcery.com>
|
||||||
|
|
||||||
|
* ld-elf/init-fini-arrays.s: New test.
|
||||||
|
* ld-elf/init-fini-arrays.d: New test.
|
||||||
|
|
||||||
2010-02-24 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
|
2010-02-24 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
|
||||||
|
|
||||||
* ld-arm/group-relocs.s: Mark code sections as executable.
|
* ld-arm/group-relocs.s: Mark code sections as executable.
|
||||||
|
9
ld/testsuite/ld-elf/init-fini-arrays.d
Normal file
9
ld/testsuite/ld-elf/init-fini-arrays.d
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#source: init-fini-arrays.s
|
||||||
|
#ld: -r
|
||||||
|
#readelf: -S
|
||||||
|
|
||||||
|
#...
|
||||||
|
\[[ 0-9]+\] \.init_array\.01000[ \t]+PROGBITS[ \t0-9a-f]+WA?.*
|
||||||
|
#...
|
||||||
|
\[[ 0-9]+\] \.fini_array\.01000[ \t]+PROGBITS[ \t0-9a-f]+WA?.*
|
||||||
|
#pass
|
6
ld/testsuite/ld-elf/init-fini-arrays.s
Normal file
6
ld/testsuite/ld-elf/init-fini-arrays.s
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
.section .init_array.01000,"aw",%progbits
|
||||||
|
.align 4
|
||||||
|
.word 0
|
||||||
|
.section .fini_array.01000,"aw",%progbits
|
||||||
|
.align 4
|
||||||
|
.word 0
|
Reference in New Issue
Block a user