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:
parent
e2204714e2
commit
59e0647f0d
@ -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>
|
||||
|
||||
* 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;
|
||||
else
|
||||
BFD_ASSERT (elf_tdata (abfd)->program_header_size
|
||||
== alloc * bed->s->sizeof_phdr);
|
||||
>= alloc * bed->s->sizeof_phdr);
|
||||
|
||||
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>
|
||||
|
||||
* 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");
|
||||
|
||||
if (phdr_size != elf_tdata (output_bfd)->program_header_size)
|
||||
need_layout = TRUE;
|
||||
{
|
||||
if (tries > 6)
|
||||
/* The first few times we allow any change to
|
||||
phdr_size . */
|
||||
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);
|
||||
|
@ -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>
|
||||
|
||||
* 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) }
|
||||
}
|
Loading…
Reference in New Issue
Block a user