diff --git a/gas/ChangeLog b/gas/ChangeLog index 1c1fbb2bb4..907c5d6e89 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2009-05-17 Kai Tietz + + * config/obj-coff.c (obj_coff_section): Add 'y' as + specifier for SEC_COFF_NOREAD section flag. + * doc/as.texinfo: Add documentation about .section flag 'y'. + 2009-05-13 DJ Delorie * cgen.c (gas_cgen_parse_operand): Guard against NULL pointers. diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c index 4bcede6ee2..b2f455818f 100644 --- a/gas/config/obj-coff.c +++ b/gas/config/obj-coff.c @@ -1475,6 +1475,7 @@ coff_frob_file_after_relocs (void) 'x' for text 'r' for read-only data 's' for shared data (PE) + 'y' for noread But if the argument is not a quoted string, treat it as a subsegment number. @@ -1584,6 +1585,10 @@ obj_coff_section (int ignore ATTRIBUTE_UNUSED) flags |= SEC_READONLY; break; + case 'y': + flags |= SEC_COFF_NOREAD | SEC_READONLY; + break; + case 'i': /* STYP_INFO */ case 'l': /* STYP_LIB */ case 'o': /* STYP_OVER */ @@ -1628,7 +1633,8 @@ obj_coff_section (int ignore ATTRIBUTE_UNUSED) /* This section's attributes have already been set. Warn if the attributes don't match. */ flagword matchflags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_CODE - | SEC_DATA | SEC_COFF_SHARED | SEC_NEVER_LOAD); + | SEC_DATA | SEC_COFF_SHARED | SEC_NEVER_LOAD + | SEC_COFF_NOREAD); if ((flags ^ oldflags) & matchflags) as_warn (_("Ignoring changed section attributes for %s"), name); } diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo index 0968a29e3e..9871fe2793 100644 --- a/gas/doc/as.texinfo +++ b/gas/doc/as.texinfo @@ -5726,6 +5726,8 @@ executable section shared section (meaningful for PE targets) @item a ignored. (For compatibility with the ELF version) +@item y +section is not readable (meaningful for PE targets) @end table If no flags are specified, the default flags depend upon the section name. If