objcopy: Add --update-section option.
authorAndrew Burgess <andrew.burgess@embecosm.com>
Fri, 13 Feb 2015 17:04:42 +0000 (17:04 +0000)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Sat, 28 Feb 2015 21:25:51 +0000 (21:25 +0000)
commitacf1419f9c52d06ee70169b85c5f8980c7359f8f
treed8a193b0f2a2411aa63f1cf4a4284c33368cb5df
parentb7236fbee40060bcf5e90740a5c5706317749f91
objcopy: Add --update-section option.

New option for objcopy --update-section allows the contents of a section
to be updated while maintaining the section flags, and, for ELF files,
the section to segment mapping.

New test uses --dump-section and --update-section to check that a
section can be made larger and smaller with an update.

binutils/ChangeLog:

* objcopy.c (update_sections): New list.
(command_line_switch): Add OPTION_UPDATE_SECTION.
(copy_options): Add update-section.
(copy_usage): Document new option.
(is_update_section): New function.
(is_strip_section_1): Add check for attempt to update and remove
the same section.
(copy_object): Update size and content of requested sections.
(skip_section): Don't copy for updated sections.
(copy_main): Handle --update-section.
* doc/binutils.texi (objcopy): Add description of --update-section
option.
* NEWS: Mention --update-section option.

binutils/testsuite/ChangeLog:

* binutils-all/update-1.s: New file.
* binutils-all/update-2.s: New file.
* binutils-all/update-3.s: New file.
* binutils-all/update-4.s: New file.
* binutils-all/update-section.exp: New file.
binutils/ChangeLog
binutils/NEWS
binutils/doc/binutils.texi
binutils/objcopy.c
binutils/testsuite/ChangeLog
binutils/testsuite/binutils-all/update-1.s [new file with mode: 0644]
binutils/testsuite/binutils-all/update-2.s [new file with mode: 0644]
binutils/testsuite/binutils-all/update-3.s [new file with mode: 0644]
binutils/testsuite/binutils-all/update-4.s [new file with mode: 0644]
binutils/testsuite/binutils-all/update-section.exp [new file with mode: 0644]