bba037e0ae
SEC_KEEP check in elf_gc_sweep was missing in commit: commit bde6f3eb6dff94cea1d471e15c6154d55d49820f Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Jan 8 01:43:23 2010 +0000 Set SEC_KEEP on section XXX for undefined __start_XXX/__stop_XXX bfd/ 2010-01-07 H.J. Lu <hongjiu.lu@intel.com> PR ld/11133 * elflink.c (_bfd_elf_gc_mark_hook): Check section XXX for undefined __start_XXX/__stop_XXX in all input files and set SEC_KEEP. This patch adds SEC_KEEP check to elf_gc_sweep. bfd/ PR ld/19161 * elflink.c (elf_gc_sweep): Always keep sections marked with SEC_KEEP. ld/testsuite/ PR ld/19161 * ld-gc/gc.exp: Run pr19161 test. * ld-gc/pr19161-1.c: New file. * ld-gc/pr19161-2.c: Likewise. * ld-gc/pr19161.d: Likewise.
20 lines
249 B
C
20 lines
249 B
C
int __attribute__((section("my_section"))) a[2] = {0x1234, 0x5678};
|
|
|
|
extern int __start_my_section;
|
|
|
|
extern int (*p)(void);
|
|
|
|
int
|
|
dump()
|
|
{
|
|
int* ap = &__start_my_section;
|
|
return ap[0];
|
|
}
|
|
|
|
void
|
|
__attribute__((constructor))
|
|
foo()
|
|
{
|
|
p = dump;
|
|
}
|