forked from Imagelibrary/binutils-gdb
bfd/
2004-05-26 H.J. Lu <hongjiu.lu@intel.com> * elf.c (_bfd_elf_make_section_from_shdr): Undo the last change. ld/ 2004-05-26 H.J. Lu <hongjiu.lu@intel.com> * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Clear SEC_EXCLUDE on non-SEC_DEBUGGING sections for relocatable link. * ldlang.c (lang_add_section): Likewise.
This commit is contained in:
29
ld/ldlang.c
29
ld/ldlang.c
@@ -1094,29 +1094,20 @@ lang_add_section (lang_statement_list_type *ptr,
|
||||
|
||||
flags = bfd_get_section_flags (section->owner, section);
|
||||
|
||||
discard = FALSE;
|
||||
|
||||
if (link_info.relocatable)
|
||||
/* SEC_EXCLUDE is ignored when doing a relocatable link, except in
|
||||
the special case of debug info. (See bfd/stabs.c) */
|
||||
if (link_info.relocatable && (flags & SEC_DEBUGGING) == 0)
|
||||
{
|
||||
/* SEC_EXCLUDE is ignored when doing a relocatable link,
|
||||
except in the special case of debug info. (See bfd/stabs.c) */
|
||||
if ((flags & SEC_DEBUGGING) == 0)
|
||||
flags &= ~SEC_EXCLUDE;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* SEC_GROUP sections should be dropped on a final link. */
|
||||
if ((flags & SEC_GROUP) != 0)
|
||||
flags |= SEC_EXCLUDE;
|
||||
}
|
||||
flags &= ~SEC_EXCLUDE;
|
||||
|
||||
/* Write SEC_EXCLUDE flag back, to simplify later linker code. */
|
||||
if (section->owner != NULL)
|
||||
bfd_set_section_flags (section->owner, section, flags);
|
||||
/* Write the modified flag back, to simplify later linker
|
||||
code. */
|
||||
if (section->owner != NULL)
|
||||
bfd_set_section_flags (section->owner, section, flags);
|
||||
}
|
||||
|
||||
/* Discard sections marked with SEC_EXCLUDE. */
|
||||
if ((flags & SEC_EXCLUDE) != 0)
|
||||
discard = TRUE;
|
||||
discard = (flags & SEC_EXCLUDE) != 0;
|
||||
|
||||
/* Discard input sections which are assigned to a section named
|
||||
DISCARD_SECTION_NAME. */
|
||||
|
||||
Reference in New Issue
Block a user