From f3be70df1b1681ad1b9b0490587011bde433d220 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 16 Dec 2021 16:40:57 +0000 Subject: Fix AVR assembler so that it creates relocs that will work with linker relaxation. PR 28686 gas * config/tc-avr.h (tc_fix_adjustable): Define. * config/tc-avr.c (avr_fix_adjustable): New function. * testsuite/gas/all/gas.exp: Skip tests that need adjustable fixups. * testsuite/gas/elf/elf.exp: Likewise. * testsuite/gas/avr/diffreloc_withrelax.d: Adjust expected output. * testsuite/gas/avr/pc-relative-reloc.d: Adjust expected output. ld * testsuite/ld-avr/avr-prop-7.d: Adjust expected output. * testsuite/ld-avr/avr-prop-8.d: Likewise. * testsuite/ld-avr/pr13402.d: Likewise. --- gas/testsuite/gas/all/gas.exp | 4 ++-- gas/testsuite/gas/avr/diffreloc_withrelax.d | 4 ++-- gas/testsuite/gas/avr/pc-relative-reloc.d | 2 +- gas/testsuite/gas/elf/elf.exp | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) (limited to 'gas/testsuite') diff --git a/gas/testsuite/gas/all/gas.exp b/gas/testsuite/gas/all/gas.exp index 5eee4f8..5a08027 100644 --- a/gas/testsuite/gas/all/gas.exp +++ b/gas/testsuite/gas/all/gas.exp @@ -166,11 +166,11 @@ switch -glob $target_triplet { # symbols on relocs. setup_xfail "m68hc1*-*-*" "m6811-*-*" "m6812-*-*" "rl78-*-*" setup_xfail "riscv*-*-*" "rx-*-*" "vax*-*-*" "xgate*-*-*" "z8k-*-*" - setup_xfail "loongarch*-*-*" + setup_xfail "loongarch*-*-*" "avr-*-*" run_dump_test redef2 setup_xfail "m68hc1*-*-*" "m6811-*-*" "m6812-*-*" "rl78-*-*" setup_xfail "riscv*-*-*" "rx-*-*" "vax*-*-*" "xgate*-*-*" "z8k-*-*" - setup_xfail "loongarch*-*-*" + setup_xfail "loongarch*-*-*" "avr-*-*" # rs6000-aix disallows redefinition via .comm. if [is_xcoff_format] { setup_xfail *-*-* diff --git a/gas/testsuite/gas/avr/diffreloc_withrelax.d b/gas/testsuite/gas/avr/diffreloc_withrelax.d index 6d5bd2e..9d59e05 100644 --- a/gas/testsuite/gas/avr/diffreloc_withrelax.d +++ b/gas/testsuite/gas/avr/diffreloc_withrelax.d @@ -8,9 +8,9 @@ RELOCATION RECORDS FOR \[.text\]: OFFSET TYPE VALUE -00000000 R_AVR_CALL .text +00000000 R_AVR_CALL L1 RELOCATION RECORDS FOR \[.data\]: OFFSET TYPE VALUE -00000000 R_AVR_DIFF16 .text\+0x00000004 +00000000 R_AVR_DIFF16 L2 diff --git a/gas/testsuite/gas/avr/pc-relative-reloc.d b/gas/testsuite/gas/avr/pc-relative-reloc.d index cc22b0b..30d0df6 100644 --- a/gas/testsuite/gas/avr/pc-relative-reloc.d +++ b/gas/testsuite/gas/avr/pc-relative-reloc.d @@ -12,7 +12,7 @@ RELOCATION RECORDS FOR \[.text.main\]: RELOCATION RECORDS FOR \[.debug_line\]: OFFSET TYPE VALUE -00000000 R_AVR_32_PCREL .debug_line_end-0x00000004 +00000000 R_AVR_32_PCREL .Ldebug_line_end-0x00000004 RELOCATION RECORDS FOR \[.debug_line.text.main\]: diff --git a/gas/testsuite/gas/elf/elf.exp b/gas/testsuite/gas/elf/elf.exp index 08105f8..c172ba3 100644 --- a/gas/testsuite/gas/elf/elf.exp +++ b/gas/testsuite/gas/elf/elf.exp @@ -184,7 +184,7 @@ if { [is_elf_format] } then { # against ordinary symbols into relocations against section symbols. # This is usually revealed by the error message: # symbol `sym' required but not present - setup_xfail "m681*-*-*" "m68hc*-*-*" "xgate-*-*" "vax-*-*" + setup_xfail "m681*-*-*" "m68hc*-*-*" "xgate-*-*" "vax-*-*" "avr-*-*" run_dump_test redef run_dump_test equ-reloc } -- cgit v1.1