* subsegs.c (subseg_text_p): Rewrite non BFD_ASSEMBLER case to use
a list of names, to try obj_segment_name, and to try abbreviated names when using COFF without long section names.
This commit is contained in:
parent
7dcc986550
commit
be2acf2756
2 changed files with 38 additions and 4 deletions
|
@ -1,5 +1,9 @@
|
|||
1999-06-22 Ian Lance Taylor <ian@zembu.com>
|
||||
|
||||
* subsegs.c (subseg_text_p): Rewrite non BFD_ASSEMBLER case to use
|
||||
a list of names, to try obj_segment_name, and to try abbreviated
|
||||
names when using COFF without long section names.
|
||||
|
||||
* config/tc-alpha.c: More use of symbol accessor functions.
|
||||
* config/tc-arc.c: Likewise.
|
||||
* config/tc-d30v.c: Likewise.
|
||||
|
|
|
@ -566,17 +566,47 @@ section_symbol (sec)
|
|||
|
||||
/* Return whether the specified segment is thought to hold text. */
|
||||
|
||||
#ifndef BFD_ASSEMBLER
|
||||
const char * const nontext_section_names[] =
|
||||
{
|
||||
".eh_frame",
|
||||
".gcc_except_table",
|
||||
#ifdef OBJ_COFF
|
||||
#ifndef COFF_LONG_SECTION_NAMES
|
||||
".eh_fram",
|
||||
".gcc_exc",
|
||||
#endif
|
||||
#endif
|
||||
NULL
|
||||
};
|
||||
#endif /* ! BFD_ASSEMBLER */
|
||||
|
||||
int
|
||||
subseg_text_p (sec)
|
||||
segT sec;
|
||||
{
|
||||
#ifdef BFD_ASSEMBLER
|
||||
return (bfd_get_section_flags (stdoutput, sec) & SEC_CODE) != 0;
|
||||
#else
|
||||
return (sec != data_section
|
||||
&& sec != bss_section
|
||||
&& strcmp (segment_name (sec), ".eh_frame") != 0);
|
||||
#else /* ! BFD_ASSEMBLER */
|
||||
const char * const *p;
|
||||
|
||||
if (sec == data_section || sec == bss_section)
|
||||
return false;
|
||||
|
||||
for (p = nontext_section_names; *p != NULL; ++p)
|
||||
{
|
||||
if (strcmp (segment_name (sec), *p) == 0)
|
||||
return false;
|
||||
|
||||
#ifdef obj_segment_name
|
||||
if (strcmp (obj_segment_name (sec), *p) == 0)
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
#endif /* ! BFD_ASSEMBLER */
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in a new issue