From: Ian Lance Taylor Date: Tue, 22 Jun 1999 19:04:42 +0000 (+0000) Subject: * subsegs.c (subseg_text_p): Rewrite non BFD_ASSEMBLER case to use X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=be2acf275637e78bd900b7cce39af180f5c53cd3;p=binutils-gdb.git * 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. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index b4cf7df320c..46853d56339 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,9 @@ 1999-06-22 Ian Lance Taylor + * 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. diff --git a/gas/subsegs.c b/gas/subsegs.c index a8e4b4b5a0e..f0efed1e64b 100644 --- a/gas/subsegs.c +++ b/gas/subsegs.c @@ -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