diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2009-02-01 12:05:25 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2009-02-01 12:05:25 +0000 |
commit | 273f4430f86503a7e746f8710c6165f794a360bd (patch) | |
tree | fc71715af5f5de20016d4a6f74e668c8dbf46734 /ld | |
parent | 88a0e15ba8649517e8e0ee6bfaa2de668b167068 (diff) | |
download | fsf-binutils-gdb-273f4430f86503a7e746f8710c6165f794a360bd.zip fsf-binutils-gdb-273f4430f86503a7e746f8710c6165f794a360bd.tar.gz fsf-binutils-gdb-273f4430f86503a7e746f8710c6165f794a360bd.tar.bz2 |
bfd/
* elf-eh-frame.c (REQUIRE_CLEARED_RELOCS) Remove.
(_bfd_elf_parse_eh_frame): Do not check relocations for removed FDEs.
ld/testsuite/
* ld-elf/eh-group2.s: New `.cfi_lsda' referencing `.gcc_except_table'.
* ld-elf/eh-group.exp: New test and conditional defininiton of `ELF64'.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/eh-group.exp | 24 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/eh-group2.s | 11 |
3 files changed, 36 insertions, 4 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 0fb021f..cba7ed9 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-02-01 Jan Kratochvil <jan.kratochvil@redhat.com> + + * ld-elf/eh-group2.s: New `.cfi_lsda' referencing `.gcc_except_table'. + * ld-elf/eh-group.exp: New test and conditional defininiton of `ELF64'. + 2009-01-29 Nick Clifton <nickc@redhat.com> * lib/ld-lib.exp (check_gc_sections_available): Add MeP to list of diff --git a/ld/testsuite/ld-elf/eh-group.exp b/ld/testsuite/ld-elf/eh-group.exp index 6072355..7ac15f3 100644 --- a/ld/testsuite/ld-elf/eh-group.exp +++ b/ld/testsuite/ld-elf/eh-group.exp @@ -40,12 +40,28 @@ if ![is_elf_format] { return } -set build_tests_ld { - {"Build eh-group1.o" - "-r" "" - {eh-group1.s eh-group2.s} {} "eh-group.o"} +# alpha-linux-gnu does not support 64-bit relocations: +# relocation truncated to fit: REFLONG against `.gcc_except_table' +# arm-eabi does not support 64-bit relocations: +# bad relocation fixup type (1) +set testname "Guess the target size from eh-group1size.o" +if [ld_assemble $as "$srcdir/$subdir/eh-group1.s" "tmpdir/eh-group1size.o"] { + pass $testname +} else { + fail $testname } +set as_options "" +if [is_elf64 "tmpdir/eh-group1size.o"] { + set as_options "$as_options --defsym ELF64=1" +} + +set build_tests_ld [list \ + [list "Build eh-group1.o" \ + "-r" "$as_options" \ + {eh-group1.s eh-group2.s} {} "eh-group.o"] \ +] + run_ld_link_tests $build_tests_ld set testname "Link eh-group.o to eh-group" diff --git a/ld/testsuite/ld-elf/eh-group2.s b/ld/testsuite/ld-elf/eh-group2.s index 2ec8919..49b59de 100644 --- a/ld/testsuite/ld-elf/eh-group2.s +++ b/ld/testsuite/ld-elf/eh-group2.s @@ -1,4 +1,15 @@ .section sect, "axG", %progbits, sectgroup, comdat .cfi_startproc +# Test intention is that LSDA must be provided by the discarded FDE. +# DW_EH_PE_udata8 = 4 +# DW_EH_PE_udata4 = 3 + .ifdef ELF64 + .cfi_lsda 4, lsda + .else + .cfi_lsda 3, lsda + .endif .skip 16 .cfi_endproc + + .section .gcc_except_table, "a", %progbits +lsda: |