]> git.ipfire.org Git - thirdparty/elfutils.git/commit
strip: Ignore --reloc-debug-sections-only for non-ET_REL files.
authorAaron Merey <amerey@redhat.com>
Tue, 5 Nov 2024 22:41:26 +0000 (17:41 -0500)
committerAaron Merey <amerey@redhat.com>
Tue, 5 Nov 2024 22:41:26 +0000 (17:41 -0500)
commite425a70469436c704e6c24dd4bc2abb8fb24b61d
treef1c0345defe2c4af9bf0619370e58e958b0d9eef
parent567d080473b63597acbe3a0bae9a729f0dbee722
strip: Ignore --reloc-debug-sections-only for non-ET_REL files.

strip --reloc-debug-sections-only is expected to be a no-op for
non-ET_REL files.  This was not enforced in the code.  Sections
were copied over to a new output file and normally its contents
would be identical to the input file.

However the output file is not identical to a non-ET_REL input
file if the linker organized sections such that the indices of
SHF_ALLOC sections are not in a contigous group.

In this case strip will modify sections in order to keep all SHF_ALLOC
sections in a contiguous group.

Fix this by ignoring --reloc-debug-sections-only for non-ET_REL files.

https://sourceware.org/bugzilla/show_bug.cgi?id=32253

Signed-off-by: Aaron Merey <amerey@redhat.com>
src/strip.c