mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 20:28:28 +08:00
Re: Always keep sections marked with SEC_KEEP
Revert bba037e0, it breaks the gc-sections model. Instead fix the underlying problem which is that _bfd_elf_gc_mark_hook is too late to be setting SEC_KEEP. PR ld/11133 PR ld/19161 * elflink.c (elf_gc_sweep): Revert last patch. (_bfd_elf_gc_mark_hook): Don't set SEC_KEEP here.
This commit is contained in:
@ -1,3 +1,10 @@
|
||||
2015-10-23 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR ld/11133
|
||||
PR ld/19161
|
||||
* elflink.c (elf_gc_sweep): Revert last patch.
|
||||
(_bfd_elf_gc_mark_hook): Don't set SEC_KEEP here.
|
||||
|
||||
2015-10-22 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/19161
|
||||
|
@ -12101,7 +12101,7 @@ _bfd_elf_gc_mark_hook (asection *sec,
|
||||
{
|
||||
sec = bfd_get_section_by_name (i, sec_name);
|
||||
if (sec)
|
||||
sec->flags |= SEC_KEEP;
|
||||
return sec;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -12449,8 +12449,7 @@ elf_gc_sweep (bfd *abfd, struct bfd_link_info *info)
|
||||
o->gc_mark = first->gc_mark;
|
||||
}
|
||||
|
||||
/* Always keep sections marked with SEC_KEEP. */
|
||||
if (o->gc_mark || (o->flags & SEC_KEEP))
|
||||
if (o->gc_mark)
|
||||
continue;
|
||||
|
||||
/* Skip sweeping sections already excluded. */
|
||||
|
Reference in New Issue
Block a user