mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 13:56:22 +08:00
bfd/
* elf.c (assign_file_positions_for_load_sections): We can require fewer phdrs than expected. ld/ * emultempl/elf-generic.em (gdl_map_segments): Only allow header shrinkage for the first few iterations. ld/testsuite/ * ld-elf/header.d: New. * ld-elf/header.t: New. * ld-elf/header.s: New.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2007-01-11 Nathan Sidwell <nathan@codesourcery.com>
|
||||||
|
|
||||||
|
* elf.c (assign_file_positions_for_load_sections): We can
|
||||||
|
require fewer phdrs than expected.
|
||||||
|
|
||||||
2007-01-08 Kazu Hirata <kazu@codesourcery.com>
|
2007-01-08 Kazu Hirata <kazu@codesourcery.com>
|
||||||
|
|
||||||
* archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
|
* archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
|
||||||
|
@ -4275,7 +4275,7 @@ assign_file_positions_for_load_sections (bfd *abfd,
|
|||||||
elf_tdata (abfd)->program_header_size = alloc * bed->s->sizeof_phdr;
|
elf_tdata (abfd)->program_header_size = alloc * bed->s->sizeof_phdr;
|
||||||
else
|
else
|
||||||
BFD_ASSERT (elf_tdata (abfd)->program_header_size
|
BFD_ASSERT (elf_tdata (abfd)->program_header_size
|
||||||
== alloc * bed->s->sizeof_phdr);
|
>= alloc * bed->s->sizeof_phdr);
|
||||||
|
|
||||||
if (alloc == 0)
|
if (alloc == 0)
|
||||||
{
|
{
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2007-01-11 Nathan Sidwell <nathan@codesourcery.com>
|
||||||
|
|
||||||
|
* emultempl/elf-generic.em (gdl_map_segments): Only allow header
|
||||||
|
shrinkage for the first few iterations.
|
||||||
|
|
||||||
2007-01-08 Kai Tietz <kai.tietz@onevision.com>
|
2007-01-08 Kai Tietz <kai.tietz@onevision.com>
|
||||||
|
|
||||||
* configure.tgt: Renamed target x86_64-*-mingw64 to
|
* configure.tgt: Renamed target x86_64-*-mingw64 to
|
||||||
|
@ -60,7 +60,17 @@ gld${EMULATION_NAME}_map_segments (bfd_boolean need_layout)
|
|||||||
einfo ("%F%P: map sections to segments failed: %E\n");
|
einfo ("%F%P: map sections to segments failed: %E\n");
|
||||||
|
|
||||||
if (phdr_size != elf_tdata (output_bfd)->program_header_size)
|
if (phdr_size != elf_tdata (output_bfd)->program_header_size)
|
||||||
|
{
|
||||||
|
if (tries > 6)
|
||||||
|
/* The first few times we allow any change to
|
||||||
|
phdr_size . */
|
||||||
need_layout = TRUE;
|
need_layout = TRUE;
|
||||||
|
else if (phdr_size < elf_tdata (output_bfd)->program_header_size)
|
||||||
|
/* After that we only allow the size to grow. */
|
||||||
|
need_layout = TRUE;
|
||||||
|
else
|
||||||
|
elf_tdata (output_bfd)->program_header_size = phdr_size;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while (need_layout && --tries);
|
while (need_layout && --tries);
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2007-01-11 Nathan Sidwell <nathan@codesourcery.com>
|
||||||
|
|
||||||
|
* ld-elf/header.d: New.
|
||||||
|
* ld-elf/header.t: New.
|
||||||
|
* ld-elf/header.s: New.
|
||||||
|
|
||||||
2007-01-08 Kai Tietz <kai.tietz@onevision.com>
|
2007-01-08 Kai Tietz <kai.tietz@onevision.com>
|
||||||
|
|
||||||
* ld-fastcall/fastcall.exp: Renamed target x86_64-*-mingw64 to
|
* ld-fastcall/fastcall.exp: Renamed target x86_64-*-mingw64 to
|
||||||
|
12
ld/testsuite/ld-elf/header.d
Normal file
12
ld/testsuite/ld-elf/header.d
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# ld: -T header.t -z max-page-size=0x10000
|
||||||
|
# objdump: -hpw
|
||||||
|
|
||||||
|
#...
|
||||||
|
Program Header:
|
||||||
|
LOAD off 0x0*0000000 vaddr 0x0*0010000 paddr 0x0*0010000 align 2..16
|
||||||
|
filesz 0x0*001002[48] memsz 0x0*001002[48] flags rwx
|
||||||
|
|
||||||
|
Sections:
|
||||||
|
Idx Name Size VMA *LMA *File off Algn Flags
|
||||||
|
0 .text 0*000ffac 0*001007[48] 0*001007[48] 0*000007[48] 2... CONTENTS, ALLOC, LOAD, READONLY, CODE
|
||||||
|
1 .data 0*0000004 0*002002[04] 0*002002[04] 0*001002[04] 2... CONTENTS, ALLOC, LOAD, DATA
|
8
ld/testsuite/ld-elf/header.s
Normal file
8
ld/testsuite/ld-elf/header.s
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
.text
|
||||||
|
.globl main
|
||||||
|
main:
|
||||||
|
.rept 0x4000 - 0x15
|
||||||
|
.long 0xfedcba98
|
||||||
|
.endr
|
||||||
|
.data
|
||||||
|
.long 0x76543210
|
8
ld/testsuite/ld-elf/header.t
Normal file
8
ld/testsuite/ld-elf/header.t
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
ENTRY(main)
|
||||||
|
|
||||||
|
SECTIONS
|
||||||
|
{
|
||||||
|
. = 0x10000 + SIZEOF_HEADERS;
|
||||||
|
.text : { *(.text) }
|
||||||
|
.data : { *(.data) }
|
||||||
|
}
|
Reference in New Issue
Block a user