ld/testsuite/

* ld-arm/arm-elf.exp: Skip farcalls tests for non-ARM-EABI
        targets.
        * ld-arm/thumb2-bl-as-thumb1-bad-noeabi.d: New file.
        * ld-arm/thumb2-bl-bad-noeabi.d: Likewise.

        ld/
        * ld.texinfo: State that farcalls stubs are supported for ARM-EABI
        only.
This commit is contained in:
Nick Clifton 2008-05-28 15:38:36 +00:00
parent ade9271736
commit 1a51c1a48d
5 changed files with 49 additions and 31 deletions

View File

@ -1,3 +1,8 @@
2008-05-28 Christophe Lyon <christophe.lyon@st.com>
* ld.texinfo: State that farcalls stubs are supported for ARM-EABI
only.
2008-05-27 Kai Tietz <kai.tietz@onevision.com>
* pe-dll.c (fill_edata): Make sure we calculate vma's in

View File

@ -355,7 +355,7 @@ gld${EMULATION_NAME}_finish (void)
{
if (ret < 0)
{
einfo ("%X%P: can not size stub section: %E\n");
einfo ("%X%P: could not compute sections lists for stub generation: %E\n");
return;
}
@ -369,7 +369,7 @@ gld${EMULATION_NAME}_finish (void)
& elf32_arm_add_stub_section,
& gldarm_layout_sections_again))
{
einfo ("%X%P: can not size stub section: %E\n");
einfo ("%X%P: cannot size stub section: %E\n");
return;
}
}

View File

@ -5713,6 +5713,10 @@ from the input sections.
The default, if @option{--stub-group-size=} is not specified, is
@samp{N = +1}.
Farcalls stubs insertion is fully supported for the ARM-EABI target
only, because it relies on object files properties not present
otherwise.
@ifclear GENERIC
@lowersections
@end ifclear

View File

@ -1,3 +1,10 @@
2008-05-28 Christophe Lyon <christophe.lyon@st.com>
* ld-arm/arm-elf.exp: Skip farcalls tests for non-ARM-EABI
targets.
* ld-arm/thumb2-bl-as-thumb1-bad-noeabi.d: New file.
* ld-arm/thumb2-bl-bad-noeabi.d: Likewise.
2008-05-22 Christophe Lyon <christophe.lyon@st.com>
* ld-arm/farcall-arm-arm.s: Force function type on 'bar'.

View File

@ -177,6 +177,36 @@ set armelftests {
{"callweak" "-static -T arm.ld" "" {callweak.s}
{{objdump -dr callweak.d}}
"callweak"}
}
run_ld_link_tests $armelftests
run_dump_test "group-relocs-alu-bad"
run_dump_test "group-relocs-ldr-bad"
run_dump_test "group-relocs-ldrs-bad"
run_dump_test "group-relocs-ldc-bad"
run_dump_test "emit-relocs1"
# Exclude non-ARM-EABI targets.
if { ![istarget "arm*-*-*eabi"] } {
# Special variants of these tests, as no farcall stub is generated
# for a non-ARM-EABI target
run_dump_test "thumb2-bl-as-thumb1-bad-noeabi"
run_dump_test "thumb2-bl-bad-noeabi"
return
}
# Farcalls stubs are fully supported for ARM-EABI only
set armeabitests {
{"EABI attribute merging" "-r" "" {attr-merge.s attr-merge.s}
{{readelf -A attr-merge.attr}}
"attr-merge"}
{"EABI attribute merging 2" "-r" "" {attr-merge-2a.s attr-merge-2b.s}
{{readelf -A attr-merge-2.attr}}
"attr-merge-2"}
{"Thumb-2 BL" "-Ttext 0x1000 --section-start .foo=0x1001000" "" {thumb2-bl.s}
{{objdump -dr thumb2-bl.d}}
"thumb2-bl"}
{"ARMv4 interworking" "-static -T arm.ld --fix-v4bx-interworking" "--fix-v4bx -meabi=4" {armv4-bx.s}
{{objdump -d armv4-bx.d}}
@ -252,37 +282,9 @@ set armelftests {
"farcall-group-size2"}
}
run_ld_link_tests $armelftests
run_dump_test "group-relocs-alu-bad"
run_dump_test "group-relocs-ldr-bad"
run_dump_test "group-relocs-ldrs-bad"
run_dump_test "group-relocs-ldc-bad"
run_dump_test "emit-relocs1"
run_ld_link_tests $armeabitests
run_dump_test "farcall-thumb-thumb"
run_dump_test "farcall-thumb-thumb-pic-veneer"
run_dump_test "farcall-thumb-thumb-m-pic-veneer"
run_dump_test "farcall-thumb-arm-pic-veneer"
run_dump_test "farcall-section"
# Exclude non-ARM-EABI targets.
if { ![istarget "arm*-*-*eabi"] } {
return
}
set armeabitests {
{"EABI attribute merging" "-r" "" {attr-merge.s attr-merge.s}
{{readelf -A attr-merge.attr}}
"attr-merge"}
{"EABI attribute merging 2" "-r" "" {attr-merge-2a.s attr-merge-2b.s}
{{readelf -A attr-merge-2.attr}}
"attr-merge-2"}
{"Thumb-2 BL" "-Ttext 0x1000 --section-start .foo=0x1001000" "" {thumb2-bl.s}
{{objdump -dr thumb2-bl.d}}
"thumb2-bl"}
{"Thumb-2 Interworked branch" "-T arm.ld" "" {thumb2-b-interwork.s}
{{objdump -dr thumb2-b-interwork.d}}
"thumb2-b-interwork"}
}
run_ld_link_tests $armeabitests