mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-01 01:45:51 +08:00
* elf.c (rewrite_elf_program_header): Don't wrap p_paddr to
include file or program headers.
This commit is contained in:
@ -1,3 +1,8 @@
|
||||
2008-08-01 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* elf.c (rewrite_elf_program_header): Don't wrap p_paddr to
|
||||
include file or program headers.
|
||||
|
||||
2008-07-30 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* coff-ppc.c, coffgen.c, ecoff.c, ecofflink.c, elf.c, elf32-frv.c,
|
||||
|
13
bfd/elf.c
13
bfd/elf.c
@ -5559,9 +5559,19 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
|
||||
/* Offset the segment physical address from the lma
|
||||
to allow for space taken up by elf headers. */
|
||||
if (map->includes_filehdr)
|
||||
{
|
||||
if (map->p_paddr >= iehdr->e_ehsize)
|
||||
map->p_paddr -= iehdr->e_ehsize;
|
||||
else
|
||||
{
|
||||
map->includes_filehdr = FALSE;
|
||||
map->includes_phdrs = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if (map->includes_phdrs)
|
||||
{
|
||||
if (map->p_paddr >= iehdr->e_phnum * iehdr->e_phentsize)
|
||||
{
|
||||
map->p_paddr -= iehdr->e_phnum * iehdr->e_phentsize;
|
||||
|
||||
@ -5573,6 +5583,9 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
|
||||
phdr_adjust_num = iehdr->e_phnum;
|
||||
phdr_adjust_seg = map;
|
||||
}
|
||||
else
|
||||
map->includes_phdrs = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/* Step Three: Loop over the sections again, this time assigning
|
||||
|
Reference in New Issue
Block a user