Browse Source

Allow objcopy's --set-section-flags options to add or remove the SHF_EXCLUDE flag of ELF sections.

* objcopy.c (parse_flags): Handle "exclude".
	* doc/binutils.texi: Document the support.
binutils-2_35-branch
Fangrui Song 7 years ago
committed by Nick Clifton
parent
commit
3a5d12fbb4
  1. 5
      binutils/ChangeLog
  2. 8
      binutils/doc/binutils.texi
  3. 3
      binutils/objcopy.c

5
binutils/ChangeLog

@ -1,3 +1,8 @@
2020-02-10 Fangrui Song <maskray@google.com>
* objcopy.c (parse_flags): Handle "exclude".
* doc/binutils.texi: Document the support.
2020-02-10 Aaron Merey <amerey@redhat.com>
* binutils/testsuite/binutils-all/debuginfod.exp:

8
binutils/doc/binutils.texi

@ -1644,10 +1644,10 @@ Set the flags for any sections matching @var{sectionpattern}. The
@var{flags} argument is a comma separated string of flag names. The
recognized names are @samp{alloc}, @samp{contents}, @samp{load},
@samp{noload}, @samp{readonly}, @samp{code}, @samp{data}, @samp{rom},
@samp{share}, and @samp{debug}. You can set the @samp{contents} flag
for a section which does not have contents, but it is not meaningful
to clear the @samp{contents} flag of a section which does have
contents--just remove the section instead. Not all flags are
@samp{exclude}, @samp{share}, and @samp{debug}. You can set the
@samp{contents} flag for a section which does not have contents, but it
is not meaningful to clear the @samp{contents} flag of a section which
does have contents--just remove the section instead. Not all flags are
meaningful for all object file formats.
@item --set-section-alignment @var{sectionpattern}=@var{align}

3
binutils/objcopy.c

@ -780,6 +780,7 @@ parse_flags (const char *s)
PARSE_FLAG ("code", SEC_CODE);
PARSE_FLAG ("data", SEC_DATA);
PARSE_FLAG ("rom", SEC_ROM);
PARSE_FLAG ("exclude", SEC_EXCLUDE);
PARSE_FLAG ("share", SEC_COFF_SHARED);
PARSE_FLAG ("contents", SEC_HAS_CONTENTS);
PARSE_FLAG ("merge", SEC_MERGE);
@ -794,7 +795,7 @@ parse_flags (const char *s)
copy[len] = '\0';
non_fatal (_("unrecognized section flag `%s'"), copy);
fatal (_("supported flags: %s"),
"alloc, load, noload, readonly, debug, code, data, rom, share, contents, merge, strings");
"alloc, load, noload, readonly, debug, code, data, rom, exclude, share, contents, merge, strings");
}
s = snext;

Loading…
Cancel
Save