mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-30 00:52:16 +08:00
2008-08-08 Sterling Augustine <sterling@tensilica.com>
* config/tc-xtensa.c (exclude_section_from_property_tables): New. (xtensa_create_property_segments): Use it. (xtensa_create_xproperty_segments): Likewise.
This commit is contained in:
@ -1,3 +1,9 @@
|
||||
2008-08-08 Sterling Augustine <sterling@tensilica.com>
|
||||
|
||||
* config/tc-xtensa.c (exclude_section_from_property_tables): New.
|
||||
(xtensa_create_property_segments): Use it.
|
||||
(xtensa_create_xproperty_segments): Likewise.
|
||||
|
||||
2008-08-08 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* doc/internals.texi (DWARF2_FORMAT): Update for 2008-08-04 change.
|
||||
|
@ -10320,6 +10320,7 @@ static void xtensa_create_property_segments
|
||||
(frag_predicate, frag_predicate, const char *, xt_section_type);
|
||||
static void xtensa_create_xproperty_segments
|
||||
(frag_flags_fn, const char *, xt_section_type);
|
||||
static bfd_boolean exclude_section_from_property_tables (segT);
|
||||
static bfd_boolean section_has_property (segT, frag_predicate);
|
||||
static bfd_boolean section_has_xproperty (segT, frag_flags_fn);
|
||||
static void add_xt_block_frags
|
||||
@ -10383,12 +10384,8 @@ xtensa_create_property_segments (frag_predicate property_function,
|
||||
seclist = &(*seclist)->next)
|
||||
{
|
||||
segT sec = *seclist;
|
||||
flagword flags;
|
||||
|
||||
flags = bfd_get_section_flags (stdoutput, sec);
|
||||
if (flags & SEC_DEBUGGING)
|
||||
continue;
|
||||
if (!(flags & SEC_ALLOC))
|
||||
if (exclude_section_from_property_tables (sec))
|
||||
continue;
|
||||
|
||||
if (section_has_property (sec, property_function))
|
||||
@ -10485,12 +10482,8 @@ xtensa_create_xproperty_segments (frag_flags_fn flag_fn,
|
||||
seclist = &(*seclist)->next)
|
||||
{
|
||||
segT sec = *seclist;
|
||||
flagword flags;
|
||||
|
||||
flags = bfd_get_section_flags (stdoutput, sec);
|
||||
if ((flags & SEC_DEBUGGING)
|
||||
|| !(flags & SEC_ALLOC)
|
||||
|| (flags & SEC_MERGE))
|
||||
if (exclude_section_from_property_tables (sec))
|
||||
continue;
|
||||
|
||||
if (section_has_xproperty (sec, flag_fn))
|
||||
@ -10573,6 +10566,27 @@ xtensa_create_xproperty_segments (frag_flags_fn flag_fn,
|
||||
}
|
||||
|
||||
|
||||
static bfd_boolean
|
||||
exclude_section_from_property_tables (segT sec)
|
||||
{
|
||||
flagword flags = bfd_get_section_flags (stdoutput, sec);
|
||||
|
||||
/* Sections that don't contribute to the memory footprint are excluded. */
|
||||
if ((flags & SEC_DEBUGGING)
|
||||
|| !(flags & SEC_ALLOC)
|
||||
|| (flags & SEC_MERGE))
|
||||
return TRUE;
|
||||
|
||||
/* Linker cie and fde optimizations mess up property entries for
|
||||
eh_frame sections, but there is nothing inside them relevant to
|
||||
property tables anyway. */
|
||||
if (strcmp (sec->name, ".eh_frame") == 0)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
static bfd_boolean
|
||||
section_has_property (segT sec, frag_predicate property_function)
|
||||
{
|
||||
|
Reference in New Issue
Block a user