Commit Graph

1 Commits

Author SHA1 Message Date
Andrew Burgess
e511c9b19f objcopy/strip: Allow section patterns starting with '!'.
For symbol matching, prefixing a pattern with '!' will indicate a
non-matching pattern, however, this is not the case for section
patterns.  As a result it is not possible to say "apply this action to
all sections except ...".

With this commit the objcopy and strip tools now support '!' prefix for
section patterns, so we can say:

  objcopy --remove-section="*" --remove-section="!.text*"

Which will remove all sections, except those matching the pattern
'.text*'.

binutils/ChangeLog:

	* objcopy.c (find_section_list): Handle section patterns starting
	with '!' being a non-matching pattern.
	* doc/binutils.texi (objcopy): Give example of using '!' with
	--remove-section and --only-section.
	(strip): Give example of using '!' with --remove-section.
	* testsuite/binutils-all/data-sections.s: New file.
	* testsuite/binutils-all/only-section-01.d: New file.
	* testsuite/binutils-all/remove-section-01.d: New file.
	* testsuite/binutils-all/objcopy.exp: Run new tests.
	* NEWS: Mention new feature.
2016-07-14 11:32:48 +01:00