aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2024-02-09 07:04:22 +1030
committerAlan Modra <amodra@gmail.com>2024-02-09 07:23:08 +1030
commit7f26d260ef76a4cb2873a7815bef187005528c19 (patch)
tree7285c732cef0684f8f1e8408cc7533491b221cba /bfd/elf.c
parent66ab1a14e196a5ad1f5fd8d225647bd48ff02a25 (diff)
downloadgdb-7f26d260ef76a4cb2873a7815bef187005528c19.zip
gdb-7f26d260ef76a4cb2873a7815bef187005528c19.tar.gz
gdb-7f26d260ef76a4cb2873a7815bef187005528c19.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.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r--bfd/elf.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/bfd/elf.c b/bfd/elf.c
index 88c75ae..8bffd3c 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -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)