From: Alan Modra Date: Mon, 10 Mar 2025 12:32:19 +0000 (+1030) Subject: meaningless p_offset for zero p_filesz PT_LOAD X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ebed0bfecc7f482a2c284947527427625ee42c1a;p=thirdparty%2Fbinutils-gdb.git meaningless p_offset for zero p_filesz PT_LOAD This patch avoids generating PT_LOAD segments that trip a bug in glibc's loader. PR 25237 PR 32763 * elf.c (assign_file_positions_for_load_sections): Don't put p_offset zero for empty PT_LOAD. --- diff --git a/bfd/elf.c b/bfd/elf.c index 20f96e689ce..ee89dd909da 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -6170,7 +6170,10 @@ assign_file_positions_for_load_sections (bfd *abfd, align = p->p_align; if (align < 1) align = 1; - p->p_offset = off % align; + /* Avoid p_offset of zero, which might be wrongly + interpreted as the segment being the first one, + containing the file header. PR32763. */ + p->p_offset = (off + align - 1) % align + 1; } } else