mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-17 21:03:55 +08:00
bfd/
* elf32-arm.c (elf32_arm_size_stubs): Call layout_sections_again at least once when fixing cortex-a8. ld/testsuite/ * ld-arm/arm-elf.exp: Add new test. * ld-arm/cortex-a8-fix-hdr.d: New. * ld-arm/cortex-a8-fix-hdr.s: New. * ld-arm/cortex-a8-fix-hdr.t: New.
This commit is contained in:
@ -1,3 +1,8 @@
|
||||
2009-08-06 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* elf32-arm.c (elf32_arm_size_stubs): Call layout_sections_again
|
||||
at least once when fixing cortex-a8.
|
||||
|
||||
2009-08-05 Chao-ying Fu <fu@mips.com>
|
||||
|
||||
* elf32-mips.c (mips_reloc_map): Add BFD_RELOC_MIPS_JALR.
|
||||
|
@ -4246,6 +4246,16 @@ elf32_arm_size_stubs (bfd *output_bfd,
|
||||
|
||||
group_sections (htab, stub_group_size, stubs_always_after_branch);
|
||||
|
||||
/* If we're applying the cortex A8 fix, we need to determine the
|
||||
program header size now, because we cannot change it later --
|
||||
that could alter section placements. Notice the A8 erratum fix
|
||||
ends up requiring the section addresses to remain unchanged
|
||||
modulo the page size. That's something we cannot represent
|
||||
inside BFD, and we don't want to force the section alignment to
|
||||
be the page size. */
|
||||
if (htab->fix_cortex_a8)
|
||||
(*htab->layout_sections_again) ();
|
||||
|
||||
while (1)
|
||||
{
|
||||
bfd *input_bfd;
|
||||
|
@ -1,3 +1,10 @@
|
||||
2009-08-06 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* ld-arm/arm-elf.exp: Add new test.
|
||||
* ld-arm/cortex-a8-fix-hdr.d: New.
|
||||
* ld-arm/cortex-a8-fix-hdr.s: New.
|
||||
* ld-arm/cortex-a8-fix-hdr.t: New.
|
||||
|
||||
2009-08-05 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
|
||||
|
||||
* ld-spu/fixup.d: New.
|
||||
|
@ -209,6 +209,10 @@ set armelftests {
|
||||
"-EL -Ttext=0x00 --fix-cortex-a8 --defsym far_fn1=0x80000000 --defsym far_fn2=0x80000004 --defsym far_fn=0x7fff0000 --defsym _start=0" "-EL" {cortex-a8-far-1.s cortex-a8-far-2.s}
|
||||
{{objdump -dr cortex-a8-far.d}}
|
||||
"cortex-a8-far"}
|
||||
{"Cortex-A8 erratum fix, headers"
|
||||
"-EL --fix-cortex-a8 -T cortex-a8-fix-hdr.t" "-EL" {cortex-a8-fix-hdr.s}
|
||||
{{objdump -dr cortex-a8-fix-hdr.d}}
|
||||
"cortex-a8-fix-hdr"}
|
||||
{"Unwinding and -gc-sections" "-gc-sections" "" {gc-unwind.s}
|
||||
{{objdump -sj.data gc-unwind.d}}
|
||||
"gc-unwind"}
|
||||
|
24
ld/testsuite/ld-arm/cortex-a8-fix-hdr.d
Normal file
24
ld/testsuite/ld-arm/cortex-a8-fix-hdr.d
Normal file
@ -0,0 +1,24 @@
|
||||
|
||||
.*: file format .*
|
||||
|
||||
|
||||
Disassembly of section \.text:
|
||||
|
||||
00000fe0 <_start>:
|
||||
fe0: bf00 nop
|
||||
fe2: bf00 nop
|
||||
fe4: bf00 nop
|
||||
fe6: bf00 nop
|
||||
fe8: bf00 nop
|
||||
fea: bf00 nop
|
||||
fec: bf00 nop
|
||||
fee: bf00 nop
|
||||
ff0: bf00 nop
|
||||
ff2: bf00 nop
|
||||
ff4: bf00 nop
|
||||
ff6: bf00 nop
|
||||
ff8: bf00 nop
|
||||
ffa: ea81 0002 eor.w r0, r1, r2
|
||||
ffe: f000 b80f b.w 1020 <_start\+0x40>
|
||||
#...
|
||||
1020: f7ff bfde b.w fe0 <_start>
|
14
ld/testsuite/ld-arm/cortex-a8-fix-hdr.s
Normal file
14
ld/testsuite/ld-arm/cortex-a8-fix-hdr.s
Normal file
@ -0,0 +1,14 @@
|
||||
.syntax unified
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
.align 5
|
||||
.globl _start
|
||||
.thumb_func
|
||||
_start:
|
||||
.rept 13
|
||||
nop
|
||||
.endr
|
||||
eor r0, r1, r2
|
||||
b.w _start
|
||||
|
10
ld/testsuite/ld-arm/cortex-a8-fix-hdr.t
Normal file
10
ld/testsuite/ld-arm/cortex-a8-fix-hdr.t
Normal file
@ -0,0 +1,10 @@
|
||||
|
||||
|
||||
SECTIONS {
|
||||
. = SIZEOF_HEADERS;
|
||||
. += 0xf80;
|
||||
.text : {
|
||||
*(.text)
|
||||
} = 0
|
||||
/DISCARD/ : { *(*) }
|
||||
}
|
Reference in New Issue
Block a user