bfd/
* elf32-arm.c (elf32_arm_next_input_section): Skip sections without SEC_CODE. ld/testsuite/ * ld-arm/arm-elf.exp (armeabitests): Add farcall-data. * ld-arm/farcall-data.d, ld-arm/farcall-data.s: New. * lib/ld-lib.exp (run_ld_link_tests, run_cc_link_tests): Correct regular expression for archives.
This commit is contained in:
parent
2f2de24889
commit
a747059210
|
@ -1,3 +1,8 @@
|
|||
2009-12-09 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* elf32-arm.c (elf32_arm_next_input_section): Skip sections without
|
||||
SEC_CODE.
|
||||
|
||||
2009-12-08 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* elf.c (write_zeros): New function.
|
||||
|
|
|
@ -3785,7 +3785,7 @@ elf32_arm_next_input_section (struct bfd_link_info *info,
|
|||
{
|
||||
asection **list = htab->input_list + isec->output_section->index;
|
||||
|
||||
if (*list != bfd_abs_section_ptr)
|
||||
if (*list != bfd_abs_section_ptr && (isec->flags & SEC_CODE) != 0)
|
||||
{
|
||||
/* Steal the link_sec pointer for our list. */
|
||||
#define PREV_SEC(sec) (htab->stub_group[(sec)->id].link_sec)
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2009-12-09 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* ld-arm/arm-elf.exp (armeabitests): Add farcall-data.
|
||||
* ld-arm/farcall-data.d, ld-arm/farcall-data.s: New.
|
||||
* lib/ld-lib.exp (run_ld_link_tests, run_cc_link_tests): Correct
|
||||
regular expression for archives.
|
||||
|
||||
2009-11-23 Paul Brook <paul@codesourcery.com>
|
||||
|
||||
* ld-arm/script-type.sym: New test.
|
||||
|
|
|
@ -422,6 +422,9 @@ set armeabitests {
|
|||
{{objdump -fdw farcall-mixed-lib.d}}
|
||||
"farcall-mixed-lib.so"}
|
||||
|
||||
{"Long branch with mixed text and data" "-T arm.ld" "" {farcall-data.s}
|
||||
{{objdump -dr farcall-data.d}}
|
||||
"farcall-data"}
|
||||
}
|
||||
|
||||
run_ld_link_tests $armeabitests
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
.*: file format .*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
00008000 <_start>:
|
||||
8000: ea000000 b 8008 <__far_veneer>
|
||||
8004: 00000000 andeq r0, r0, r0
|
||||
|
||||
00008008 <__far_veneer>:
|
||||
8008: e51ff004 ldr pc, \[pc, #-4\] ; 800c <__far_veneer\+0x4>
|
||||
800c: 12340000 \.word 0x12340000
|
||||
|
||||
00008010 <after>:
|
||||
8010: 11111111 \.word 0x11111111
|
||||
|
||||
Disassembly of section \.far:
|
||||
|
||||
12340000 <far>:
|
||||
12340000: e12fff1e bx lr
|
|
@ -0,0 +1,14 @@
|
|||
.syntax unified
|
||||
.text
|
||||
.global _start
|
||||
.type _start, %function
|
||||
_start:
|
||||
b far
|
||||
|
||||
.section .after
|
||||
after:
|
||||
.word 0x11111111
|
||||
|
||||
.section .far, "ax"
|
||||
.type far, %function
|
||||
far: bx lr
|
|
@ -1227,7 +1227,7 @@ proc run_ld_link_tests { ldtests } {
|
|||
continue
|
||||
}
|
||||
|
||||
if { [regexp ".*a$" $binfile] } {
|
||||
if { [regexp ".*\\.a$" $binfile] } {
|
||||
if { ![ar_simple_create $ar $ld_options $binfile "$objfiles"] } {
|
||||
fail $testname
|
||||
set failed 1
|
||||
|
@ -1538,7 +1538,7 @@ proc run_cc_link_tests { ldtests } {
|
|||
set cc_cmd $CC
|
||||
}
|
||||
|
||||
if { [regexp ".*a$" $binfile] } {
|
||||
if { [regexp ".*\\.a$" $binfile] } {
|
||||
if { ![ar_simple_create $ar $ldflags $binfile "$objfiles"] } {
|
||||
fail $testname
|
||||
set failed 1
|
||||
|
|
Loading…
Reference in New Issue