diff options
author | Fangrui Song <maskray@google.com> | 2020-02-10 16:22:00 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2020-02-10 16:22:00 +0000 |
commit | 3a5d12fbb4f7888525978f9fba46b977afabe391 (patch) | |
tree | 78ab7e8fb6f09ab337aaac2eeb44f3ef0eb824f4 | |
parent | 46471187e440135c1f6e6b2c06df2139b61dfea2 (diff) | |
download | gdb-3a5d12fbb4f7888525978f9fba46b977afabe391.zip gdb-3a5d12fbb4f7888525978f9fba46b977afabe391.tar.gz gdb-3a5d12fbb4f7888525978f9fba46b977afabe391.tar.bz2 |
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.
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/doc/binutils.texi | 8 | ||||
-rw-r--r-- | binutils/objcopy.c | 3 |
3 files changed, 11 insertions, 5 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index fc3783e..06bbf5d 100644 --- a/binutils/ChangeLog +++ b/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: diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi index 669bee9..289d7b1 100644 --- a/binutils/doc/binutils.texi +++ b/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} diff --git a/binutils/objcopy.c b/binutils/objcopy.c index 212e251..fd94d63 100644 --- a/binutils/objcopy.c +++ b/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; |