Bug 17312 - ld tests "EH Frame merge" and "ld-elf/eh5" failed on aarch64
Summary: ld tests "EH Frame merge" and "ld-elf/eh5" failed on aarch64
Status: RESOLVED FIXED
Alias: None
Product: binutils
Classification: Unclassified
Component: ld (show other bugs)
Version: 2.25
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-08-26 05:51 UTC by amker.cheng
Modified: 2014-08-26 14:08 UTC (History)
1 user (show)

See Also:
Host:
Target: aarch64-none-elf,aarchh64-none-linux-gnu
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description amker.cheng 2014-08-26 05:51:45 UTC
Hi,
Below ld test cases now failed on aarch64.
FAIL: EH Frame merge
FAIL: ld-elf/eh5

I think they are caused by same reason.  The log message is like:
/home/binche01/work/oban-work/build-aarch64-none-elf/obj/binutils/ld/../binutils/objdump --dwarf=frames tmpdir/eh-frame
regexp_diff match failure
regexp "^  DW_CFA_def_cfa: r31 ofs 0$"
line   "  DW_CFA_def_cfa: r31 (sp) ofs 0"
regexp_diff match failure
regexp "^  DW_CFA_def_cfa: r0 ofs 0$"
line   "  DW_CFA_def_cfa: r0 (x0) ofs 0"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r19 at cfa\+16$"
line   "  DW_CFA_offset_extended_sf: r19 (x19) at cfa+16"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r20 at cfa\+16$"
line   "  DW_CFA_offset_extended_sf: r20 (x20) at cfa+16"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r21 at cfa\+16$"
line   "  DW_CFA_offset_extended_sf: r21 (x21) at cfa+16"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r22 at cfa\+16$"
line   "  DW_CFA_offset_extended_sf: r22 (x22) at cfa+16"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r23 at cfa\+24$"
line   "  DW_CFA_offset_extended_sf: r23 (x23) at cfa+24"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r24 at cfa\+24$"
line   "  DW_CFA_offset_extended_sf: r24 (x24) at cfa+24"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r25 at cfa\+24$"
line   "  DW_CFA_offset_extended_sf: r25 (x25) at cfa+24"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r26 at cfa\+24$"
line   "  DW_CFA_offset_extended_sf: r26 (x26) at cfa+24"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r27 at cfa\+24$"
line   "  DW_CFA_offset_extended_sf: r27 (x27) at cfa+24"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r28 at cfa\+32$"
line   "  DW_CFA_offset_extended_sf: r28 (x28) at cfa+32"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r29 at cfa\+32$"
line   "  DW_CFA_offset_extended_sf: r29 (x29) at cfa+32"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r30 at cfa\+36$"
line   "  DW_CFA_offset_extended_sf: r30 (x30) at cfa+36"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r9 at cfa\+8$"
line   "  DW_CFA_offset_extended_sf: r9 (x9) at cfa+8"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r11 at cfa\+8$"
line   "  DW_CFA_offset_extended_sf: r11 (x11) at cfa+8"
regexp_diff match failure
regexp "^  DW_CFA_def_cfa: r31 ofs 0$"
line   "  DW_CFA_def_cfa: r31 (sp) ofs 0"
regexp_diff match failure
regexp "^  DW_CFA_def_cfa: r0 ofs 0$"
line   "  DW_CFA_def_cfa: r0 (x0) ofs 0"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r19 at cfa\+16$"
line   "  DW_CFA_offset_extended_sf: r19 (x19) at cfa+16"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r20 at cfa\+16$"
line   "  DW_CFA_offset_extended_sf: r20 (x20) at cfa+16"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r21 at cfa\+16$"
line   "  DW_CFA_offset_extended_sf: r21 (x21) at cfa+16"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r22 at cfa\+16$"
line   "  DW_CFA_offset_extended_sf: r22 (x22) at cfa+16"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r23 at cfa\+24$"
line   "  DW_CFA_offset_extended_sf: r23 (x23) at cfa+24"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r24 at cfa\+24$"
line   "  DW_CFA_offset_extended_sf: r24 (x24) at cfa+24"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r25 at cfa\+24$"
line   "  DW_CFA_offset_extended_sf: r25 (x25) at cfa+24"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r26 at cfa\+24$"
line   "  DW_CFA_offset_extended_sf: r26 (x26) at cfa+24"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r27 at cfa\+24$"
line   "  DW_CFA_offset_extended_sf: r27 (x27) at cfa+24"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r28 at cfa\+32$"
line   "  DW_CFA_offset_extended_sf: r28 (x28) at cfa+32"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r29 at cfa\+32$"
line   "  DW_CFA_offset_extended_sf: r29 (x29) at cfa+32"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r30 at cfa\+36$"
line   "  DW_CFA_offset_extended_sf: r30 (x30) at cfa+36"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r9 at cfa\+8$"
line   "  DW_CFA_offset_extended_sf: r9 (x9) at cfa+8"
regexp_diff match failure
regexp "^  DW_CFA_offset_extended_sf: r10 at cfa\+8$"
line   "  DW_CFA_offset_extended_sf: r10 (x10) at cfa+8"
FAIL: EH Frame merge

Binutils is configured with below options:
binutils-gdb/configure --enable-64-bit-bfd --enable-targets=arm-none-eabi,aarch64-none-linux-gnu,aarch64-none-elf --disable-newlib-supplied-syscalls --enable-newlib-io-long-long --enable-newlib-mb --disable-gdb --without-gdb --target=aarch64-none-elf --prefix=....../target-aarch64-none-elf --with-pkgversion=unknown --disable-nls --without-x --disable-gdbtk --disable-tui --without-python --without-tcl --without-tk
Comment 1 Nick Clifton 2014-08-26 14:08:16 UTC
Hi Amker,

  I have checked in a patch to fix this.

Cheers
  Nick
Comment 2 cvs-commit@gcc.gnu.org 2014-08-26 14:08:29 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
       via  2836a869c4607fd1200b928986092ffed20c1d32 (commit)
      from  5575639b8dbb2a04087c3bef0b10f182da48ad35 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2836a869c4607fd1200b928986092ffed20c1d32

commit 2836a869c4607fd1200b928986092ffed20c1d32
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Aug 26 15:06:49 2014 +0100

    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.

-----------------------------------------------------------------------

Summary of changes:
 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(-)