From 2836a869c4607fd1200b928986092ffed20c1d32 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 26 Aug 2014 15:06:49 +0100 Subject: [PATCH] Fix linker testsuite failures for Aarch64. Resolves PR 17312 * ld-aarch64/eh-frame-foo.s: Use 8-byte offset for X30. * ld-aarch64/eh-frame-bar.s: Likewise. * ld-aarch64/eh-frame.d: Updated to match current readelf output. * ld-elf/eh5.d: Allow any register names. --- ld/testsuite/ChangeLog | 7 ++++ ld/testsuite/ld-aarch64/eh-frame-bar.s | 2 +- ld/testsuite/ld-aarch64/eh-frame-foo.s | 2 +- ld/testsuite/ld-aarch64/eh-frame.d | 72 +++++++++++++++++----------------- ld/testsuite/ld-elf/eh5.d | 22 +++++------ 5 files changed, 56 insertions(+), 49 deletions(-) diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index ac09b8d..203fcc5 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2014-08-26 Nick Clifton + + * ld-aarch64/eh-frame-foo.s: Use 8-byte offset for X30. + * ld-aarch64/eh-frame-bar.s: Likewise. + * ld-aarch64/eh-frame.d: Updated to match current readelf output. + * ld-elf/eh5.d: Allow any register names. + 2014-08-22 Maciej W. Rozycki * ld-powerpc/apuinfo-vle.rd: New test. diff --git a/ld/testsuite/ld-aarch64/eh-frame-bar.s b/ld/testsuite/ld-aarch64/eh-frame-bar.s index a67d8e4..ebc4feb 100644 --- a/ld/testsuite/ld-aarch64/eh-frame-bar.s +++ b/ld/testsuite/ld-aarch64/eh-frame-bar.s @@ -12,7 +12,7 @@ __longjmp: .cfi_offset x27, 24 .cfi_offset x28, 32 .cfi_offset x29, 32 - .cfi_offset x30, 36 + .cfi_offset x30, 40 .cfi_offset d9, 8 # This eh frame data differs from eh-frame-bar.s here, see the comment # in eh-frame-foo.s diff --git a/ld/testsuite/ld-aarch64/eh-frame-foo.s b/ld/testsuite/ld-aarch64/eh-frame-foo.s index c077ef2..6a1e3b3 100644 --- a/ld/testsuite/ld-aarch64/eh-frame-foo.s +++ b/ld/testsuite/ld-aarch64/eh-frame-foo.s @@ -12,7 +12,7 @@ __longjmp: .cfi_offset x27, 24 .cfi_offset x28, 32 .cfi_offset x29, 32 - .cfi_offset x30, 36 + .cfi_offset x30, 40 .cfi_offset d9, 8 /* This eh frame data differs from eh-frame-bar.s here. The eh diff --git a/ld/testsuite/ld-aarch64/eh-frame.d b/ld/testsuite/ld-aarch64/eh-frame.d index 15d5c5c..eccef15 100644 --- a/ld/testsuite/ld-aarch64/eh-frame.d +++ b/ld/testsuite/ld-aarch64/eh-frame.d @@ -5,27 +5,27 @@ Contents of the .eh_frame section: 0+0000 0+0044 0+0000 CIE Version: 1 Augmentation: "zR" - Code alignment factor: 2 - Data alignment factor: -4 + Code alignment factor: . + Data alignment factor: -. Return address column: 30 Augmentation data: 1b - DW_CFA_def_cfa: r31 ofs 0 - DW_CFA_def_cfa: r0 ofs 0 - DW_CFA_offset_extended_sf: r19 at cfa\+16 - DW_CFA_offset_extended_sf: r20 at cfa\+16 - DW_CFA_offset_extended_sf: r21 at cfa\+16 - DW_CFA_offset_extended_sf: r22 at cfa\+16 - DW_CFA_offset_extended_sf: r23 at cfa\+24 - DW_CFA_offset_extended_sf: r24 at cfa\+24 - DW_CFA_offset_extended_sf: r25 at cfa\+24 - DW_CFA_offset_extended_sf: r26 at cfa\+24 - DW_CFA_offset_extended_sf: r27 at cfa\+24 - DW_CFA_offset_extended_sf: r28 at cfa\+32 - DW_CFA_offset_extended_sf: r29 at cfa\+32 - DW_CFA_offset_extended_sf: r30 at cfa\+36 - DW_CFA_offset_extended_sf: r9 at cfa\+8 - DW_CFA_offset_extended_sf: r11 at cfa\+8 + DW_CFA_def_cfa: r31 \(sp\) ofs 0 + DW_CFA_def_cfa: r0 \(x0\) ofs 0 + DW_CFA_offset_extended_sf: r19 \(x19\) at cfa\+16 + DW_CFA_offset_extended_sf: r20 \(x20\) at cfa\+16 + DW_CFA_offset_extended_sf: r21 \(x21\) at cfa\+16 + DW_CFA_offset_extended_sf: r22 \(x22\) at cfa\+16 + DW_CFA_offset_extended_sf: r23 \(x23\) at cfa\+24 + DW_CFA_offset_extended_sf: r24 \(x24\) at cfa\+24 + DW_CFA_offset_extended_sf: r25 \(x25\) at cfa\+24 + DW_CFA_offset_extended_sf: r26 \(x26\) at cfa\+24 + DW_CFA_offset_extended_sf: r27 \(x27\) at cfa\+24 + DW_CFA_offset_extended_sf: r28 \(x28\) at cfa\+32 + DW_CFA_offset_extended_sf: r29 \(x29\) at cfa\+32 + DW_CFA_offset_extended_sf: r30 \(x30\) at cfa\+40 + DW_CFA_offset_extended_sf: r73 \(v9\) at cfa\+8 + DW_CFA_offset_extended_sf: r75 \(v11\) at cfa\+8 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -46,27 +46,27 @@ Contents of the .eh_frame section: 0+0060 0+0044 0+0000 CIE Version: 1 Augmentation: "zR" - Code alignment factor: 2 - Data alignment factor: -4 + Code alignment factor: . + Data alignment factor: -. Return address column: 30 Augmentation data: 1b - DW_CFA_def_cfa: r31 ofs 0 - DW_CFA_def_cfa: r0 ofs 0 - DW_CFA_offset_extended_sf: r19 at cfa\+16 - DW_CFA_offset_extended_sf: r20 at cfa\+16 - DW_CFA_offset_extended_sf: r21 at cfa\+16 - DW_CFA_offset_extended_sf: r22 at cfa\+16 - DW_CFA_offset_extended_sf: r23 at cfa\+24 - DW_CFA_offset_extended_sf: r24 at cfa\+24 - DW_CFA_offset_extended_sf: r25 at cfa\+24 - DW_CFA_offset_extended_sf: r26 at cfa\+24 - DW_CFA_offset_extended_sf: r27 at cfa\+24 - DW_CFA_offset_extended_sf: r28 at cfa\+32 - DW_CFA_offset_extended_sf: r29 at cfa\+32 - DW_CFA_offset_extended_sf: r30 at cfa\+36 - DW_CFA_offset_extended_sf: r9 at cfa\+8 - DW_CFA_offset_extended_sf: r10 at cfa\+8 + DW_CFA_def_cfa: r31 \(sp\) ofs 0 + DW_CFA_def_cfa: r0 \(x0\) ofs 0 + DW_CFA_offset_extended_sf: r19 \(x19\) at cfa\+16 + DW_CFA_offset_extended_sf: r20 \(x20\) at cfa\+16 + DW_CFA_offset_extended_sf: r21 \(x21\) at cfa\+16 + DW_CFA_offset_extended_sf: r22 \(x22\) at cfa\+16 + DW_CFA_offset_extended_sf: r23 \(x23\) at cfa\+24 + DW_CFA_offset_extended_sf: r24 \(x24\) at cfa\+24 + DW_CFA_offset_extended_sf: r25 \(x25\) at cfa\+24 + DW_CFA_offset_extended_sf: r26 \(x26\) at cfa\+24 + DW_CFA_offset_extended_sf: r27 \(x27\) at cfa\+24 + DW_CFA_offset_extended_sf: r28 \(x28\) at cfa\+32 + DW_CFA_offset_extended_sf: r29 \(x29\) at cfa\+32 + DW_CFA_offset_extended_sf: r30 \(x30\) at cfa\+40 + DW_CFA_offset_extended_sf: r73 \(v9\) at cfa\+8 + DW_CFA_offset_extended_sf: r74 \(v10\) at cfa\+8 DW_CFA_nop DW_CFA_nop DW_CFA_nop diff --git a/ld/testsuite/ld-elf/eh5.d b/ld/testsuite/ld-elf/eh5.d index 9fea117..29dcdf9 100644 --- a/ld/testsuite/ld-elf/eh5.d +++ b/ld/testsuite/ld-elf/eh5.d @@ -22,7 +22,7 @@ Contents of the .eh_frame section: #... 0+001[48] 0+0014 0+001[8c] FDE cie=0+0000 pc=.* DW_CFA_advance_loc: 4 to .* - DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16 + DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -39,14 +39,14 @@ Contents of the .eh_frame section: 0+004[48] 0+0014 0+001c FDE cie=0+00(2c|30) pc=.* DW_CFA_advance_loc: 4 to .* - DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16 + DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop DW_CFA_nop DW_CFA_nop 0+00(5c|60) 0+0014 0+006[04] FDE cie=0+0000 pc=.* DW_CFA_advance_loc: 4 to .* - DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16 + DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -67,7 +67,7 @@ Contents of the .eh_frame section: Augmentation data: (ef be ad de 00 00 00 00|00 00 00 00 de ad be ef) DW_CFA_advance_loc: 4 to .* - DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16 + DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -80,7 +80,7 @@ Contents of the .eh_frame section: Return address column: .* Augmentation data: (0b|1b) - DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16 + DW_CFA_def_cfa: r0(.*) ofs 16 #... 0+00(c4|d0) 0+001[04] 0+001[8c] FDE cie=0+00b[08] pc=.* DW_CFA_nop @@ -99,7 +99,7 @@ Contents of the .eh_frame section: 0+0(0f|10)0 0+0014 0+001c FDE cie=0+00[de]8 pc=.* DW_CFA_advance_loc: 4 to .* - DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16 + DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -125,28 +125,28 @@ Contents of the .eh_frame section: Augmentation data: (ef be ad de 00 00 00 00|00 00 00 00 de ad be ef) DW_CFA_advance_loc: 4 to .* - DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16 + DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop DW_CFA_nop DW_CFA_nop 0+01(58|70) 0+0014 0+01(5c|74) FDE cie=0+0000 pc=.* DW_CFA_advance_loc: 4 to .* - DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16 + DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop DW_CFA_nop DW_CFA_nop #... 0+01(70|88) 0+0014 0+0(01c|148|15c) FDE cie=0+0(02c|030|170) pc=.* DW_CFA_advance_loc: 4 to .* - DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16 + DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop DW_CFA_nop DW_CFA_nop 0+01(88|a0) 0+0014 0+01(8c|a4) FDE cie=0+0000 pc=.* DW_CFA_advance_loc: 4 to .* - DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16 + DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -155,7 +155,7 @@ Contents of the .eh_frame section: Augmentation data: (ef be ad de 00 00 00 00|00 00 00 00 de ad be ef) DW_CFA_advance_loc: 4 to .* - DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16 + DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop DW_CFA_nop DW_CFA_nop -- 2.7.4