Silently ignore an 'a' flag in a COFF .section directive.

This commit is contained in:
Nick Clifton
2002-05-23 10:45:14 +00:00
parent 69108c1f43
commit 6ff96af674
3 changed files with 28 additions and 17 deletions

View File

@ -1,3 +1,10 @@
2002-05-23 Nick Clifton <nickc@cambridge.redhat.com>
* config/obj-coff.c (obj_coff_section): Silently ignore an 'a'
flag.
* doc/as.texinfo: Document that the COFF version of .section
ignores the 'a' flag.
2002-05-23 Alan Modra <amodra@bigpond.net.au> 2002-05-23 Alan Modra <amodra@bigpond.net.au>
* config/tc-alpha.c (assemble_tokens): Protect use of * config/tc-alpha.c (assemble_tokens): Protect use of

View File

@ -1397,23 +1397,24 @@ coff_frob_file_after_relocs ()
bfd_map_over_sections (stdoutput, coff_adjust_section_syms, (char*) 0); bfd_map_over_sections (stdoutput, coff_adjust_section_syms, (char*) 0);
} }
/* /* Implement the .section pseudo op:
* implement the .section pseudo op: .section name {, "flags"}
* .section name {, "flags"} ^ ^
* ^ ^ | +--- optional flags: 'b' for bss
* | +--- optional flags: 'b' for bss | 'i' for info
* | 'i' for info +-- section name 'l' for lib
* +-- section name 'l' for lib 'n' for noload
* 'n' for noload 'o' for over
* 'o' for over 'w' for data
* 'w' for data 'd' (apparently m88k for data)
* 'd' (apparently m88k for data) 'x' for text
* 'x' for text 'r' for read-only data
* 'r' for read-only data 's' for shared data (PE)
* 's' for shared data (PE) But if the argument is not a quoted string, treat it as a
* But if the argument is not a quoted string, treat it as a subsegment number.
* subsegment number.
*/ Note the 'a' flag is silently ignored. This allows the same
.section directive to be parsed in both ELF and COFF formats. */
void void
obj_coff_section (ignore) obj_coff_section (ignore)
@ -1466,6 +1467,7 @@ obj_coff_section (ignore)
case 'n': flags &=~ SEC_LOAD; flags |= SEC_NEVER_LOAD; break; case 'n': flags &=~ SEC_LOAD; flags |= SEC_NEVER_LOAD; break;
case 'd': flags |= SEC_DATA | SEC_LOAD; /* fall through */ case 'd': flags |= SEC_DATA | SEC_LOAD; /* fall through */
case 'w': flags &=~ SEC_READONLY; break; case 'w': flags &=~ SEC_READONLY; break;
case 'a': break; /* For compatability with ELF. */
case 'x': flags |= SEC_CODE | SEC_LOAD; break; case 'x': flags |= SEC_CODE | SEC_LOAD; break;
case 'r': flags |= SEC_READONLY; break; case 'r': flags |= SEC_READONLY; break;
case 's': flags |= SEC_SHARED; break; case 's': flags |= SEC_SHARED; break;

View File

@ -4978,6 +4978,8 @@ read-only section
executable section executable section
@item s @item s
shared section (meaningful for PE targets) shared section (meaningful for PE targets)
@item a
ignored. (For compatibility with the ELF version)
@end table @end table
If no flags are specified, the default flags depend upon the section name. If If no flags are specified, the default flags depend upon the section name. If