mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-10 03:02:30 +00:00
PR ld/7028
* elf.c (assign_file_positions_for_load_sections): Allocate phrds with bfd_zalloc2 instead of bfd_alloc2. For the amount, use the possibly-preset header-size, not the computed one.
This commit is contained in:
parent
84290f2fa2
commit
5726889422
@ -1,3 +1,10 @@
|
||||
2008-11-13 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
PR ld/7028
|
||||
* elf.c (assign_file_positions_for_load_sections): Allocate phrds
|
||||
with bfd_zalloc2 instead of bfd_alloc2. For the amount, use
|
||||
the possibly-preset header-size, not the computed one.
|
||||
|
||||
2008-11-13 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
PR 7023
|
||||
|
16
bfd/elf.c
16
bfd/elf.c
@ -4183,7 +4183,21 @@ assign_file_positions_for_load_sections (bfd *abfd,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
phdrs = bfd_alloc2 (abfd, alloc, sizeof (Elf_Internal_Phdr));
|
||||
/* We're writing the size in elf_tdata (abfd)->program_header_size,
|
||||
see assign_file_positions_except_relocs, so make sure we have
|
||||
that amount allocated, with trailing space cleared.
|
||||
The variable alloc contains the computed need, while elf_tdata
|
||||
(abfd)->program_header_size contains the size used for the
|
||||
layout.
|
||||
See ld/emultempl/elf-generic.em:gld${EMULATION_NAME}_map_segments
|
||||
where the layout is forced to according to a larger size in the
|
||||
last iterations for the testcase ld-elf/header. */
|
||||
BFD_ASSERT (elf_tdata (abfd)->program_header_size % bed->s->sizeof_phdr
|
||||
== 0);
|
||||
phdrs = bfd_zalloc2 (abfd,
|
||||
(elf_tdata (abfd)->program_header_size
|
||||
/ bed->s->sizeof_phdr),
|
||||
sizeof (Elf_Internal_Phdr));
|
||||
elf_tdata (abfd)->phdr = phdrs;
|
||||
if (phdrs == NULL)
|
||||
return FALSE;
|
||||
|
Loading…
x
Reference in New Issue
Block a user