2
0
mirror of https://sourceware.org/git/binutils-gdb.git synced 2025-03-31 14:11:36 +08:00

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.
This commit is contained in:
Alan Modra 2025-03-10 23:02:19 +10:30
parent b8c5ada174
commit ebed0bfecc

@ -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