diff options
author | Alan Modra <amodra@gmail.com> | 2024-02-09 07:04:22 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2024-02-09 08:05:34 +1030 |
commit | 78f9e9faaa41d628170f6047c3e032a67f9e829d (patch) | |
tree | 0f80d1ab1a3c6b1524b630ae9cc2185929264369 | |
parent | e19278f72bdc92e720b2d6c144ddedff5821b56c (diff) | |
download | fsf-binutils-gdb-78f9e9faaa41d628170f6047c3e032a67f9e829d.zip fsf-binutils-gdb-78f9e9faaa41d628170f6047c3e032a67f9e829d.tar.gz fsf-binutils-gdb-78f9e9faaa41d628170f6047c3e032a67f9e829d.tar.bz2 |
PR31208, strip can break ELF alignment requirements
In https://sourceware.org/pipermail/binutils/2007-August/053261.html
(git commit 3dea8fca8b86) I disabled a then new linker feature that
removed empty PT_LOAD headers in cases where a user specified program
headers, and for objcopy. This can be a problem for objcopy/strip and
since objcopy operates on sections, any part of a PT_LOAD loading file
contents not covered by a section will be omitted anyway.
PR 31208
* elf.c (_bfd_elf_map_sections_to_segments): Pass remove_empty_load
as true to elf_modify_segment_map for objcopy/strip.
(cherry picked from commit 7f26d260ef76a4cb2873a7815bef187005528c19)
-rw-r--r-- | bfd/elf.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -5789,7 +5789,7 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, elf_seg_map (abfd) = mfirst; } - if (!elf_modify_segment_map (abfd, info, no_user_phdrs)) + if (!elf_modify_segment_map (abfd, info, no_user_phdrs || info == NULL)) return false; for (count = 0, m = elf_seg_map (abfd); m != NULL; m = m->next) |