Free symbol buffers if they are no longer in use
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 17 Sep 2018 15:50:42 +0000 (08:50 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 17 Sep 2018 15:53:29 +0000 (08:53 -0700)
commitd839b9149957d9a8842c368caf97ef378d8c97af
treecf0716e5ff6f430baafb13d4f31744ba93e0b2cc
parente6cd1dc1e6c0d081382ee21c156b205204efc75b
Free symbol buffers if they are no longer in use

add_specific_symbols allocates a buffer to hold symbols.  It should be
freed only if it is no longer in use.

PR binutils/23633
* objcopy.c (strip_specific_buffer): New.
(strip_unneeded_buffer): Likewise.
(keep_specific_buffer): Likewise.
(localize_specific_buffer): Likewise.
(globalize_specific_buffer): Likewise.
(keepglobal_specific_buffer): Likewise.
(weaken_specific_buffer): Likewise.
(add_specific_symbols): Add an argument to return pointer to
allocated buffer.
(copy_main): Update add_specific_symbols to update pointers to
allocated buffer.  Free pointers to allocated buffer before
return.
binutils/ChangeLog
binutils/objcopy.c