This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Commit: Fix display of 64-bit CFI and FDE frames
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: Kyrill Tkachov <kyrylo dot tkachov at arm dot com>
- Cc: "nickc at redhat dot com" <nickc at redhat dot com>, "binutils at sourceware dot org" <binutils at sourceware dot org>, Marcus Shawcroft <Marcus dot Shawcroft at arm dot com>
- Date: Mon, 16 Sep 2013 11:10:22 +0100
- Subject: Re: Commit: Fix display of 64-bit CFI and FDE frames
- Authentication-results: sourceware.org; auth=none
- References: <87fvta2yjh dot fsf at BigChill dot fritz dot box> <5236D6F5 dot 8030505 at arm dot com>
On 16/09/13 11:01, Kyrill Tkachov wrote:
> Hi Nick, all,
>
> Seems that an aarch64 test also needs updating to match the 64-bit
> addresses.
> Otherwise we get a FAIL on aarch64.
> This patch updates the test.
>
> ran check-ld on aarch64-none-elf to confirm that it works.
>
> Ok for trunk?
>
I'd prefer the regexps to be more consistently written. Sometimes we
have <c>*<c><c>123 and sometimes <c>+<c>123
R.
> Thanks,
> Kyrill
>
> [ld/testsuite/]
>
> 2013-09-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>
> * ld-aarch64/eh-frame.d: Update expected output to allow for
> 64-bit addresses.
>
> On 12/09/13 10:13, Nick Clifton wrote:
>> Hi Guys,
>>
>> Following on from my recent patch to fix the detection of 64-bit CFI
>> and FDE frames, I am now checking in the attached patch to fix the
>> display of 64-bit CFI and FDE information. The patch also involves
>> updating the testsuites to handle the 64-bit addresses when they are
>> displayed. I have also added a test to the SAFE_BYTE_GET macro to
>> make sure that the variable receiving the bytes is wide enough to
>> contain all of the bytes that are going to be read.
>>
>> Cheers
>> Nick
>>
>> binutils/ChangeLog
>> 2013-09-12 Nick Clifton <nickc@redhat.com>
>>
>> * dwarf.c (dwarf_vmatoa): Rename to dwarf_vmatoa_1 and add a
>> precision parameter.
>> (dwarf_vmatoa): New wrapper for dwarf_vmatoa_1.
>> (print_dwarf_vma): Use dwarf_vmatoa_1.
>> (SAFE_BYTE_GET): Add check that VAL is big enough to contain
>> AMOUNT bytes.
>> (process_debug_info): Use an unsigned int for the offset size.
>> (process_debug_pubnames): Likewise.
>> (display_debug_aranges): Likewise.
>> (struct Frame_Chunk): Use dwarf_vma type for pc_begin and pc_range
>> fields.
>> (frame_display_row): Use print_dwarf_vma to display dwarf_vma
>> values.
>> (display_debug_frames): Likewise.
>>
>> binutils/testsuite/ChangeLog
>> 2013-09-12 Nick Clifton <nickc@redhat.com>
>>
>> * binutils-all/x86-64/compressed-1a.d: Update expected output to
>> allow for 64-bit addresses.
>>
>> gas/testsuite/ChangeLog
>> 2013-09-12 Nick Clifton <nickc@redhat.com>
>>
>> * gas/cfi/cfi-alpha-1.d: Update expected output to allow for
>> 64-bit addresses.
>> * gas/cfi/cfi-alpha-3.d: Likewise.
>> * gas/cfi/cfi-arm-1.d: Likewise.
>> * gas/cfi/cfi-common-1.d: Likewise.
>> * gas/cfi/cfi-common-2.d: Likewise.
>> * gas/cfi/cfi-common-3.d: Likewise.
>> * gas/cfi/cfi-common-4.d: Likewise.
>> * gas/cfi/cfi-common-5.d: Likewise.
>> * gas/cfi/cfi-common-6.d: Likewise.
>> * gas/cfi/cfi-common-7.d: Likewise.
>> * gas/cfi/cfi-hppa-1.d: Likewise.
>> * gas/cfi/cfi-i386-2.d: Likewise.
>> * gas/cfi/cfi-i386.d: Likewise.
>> * gas/cfi/cfi-m68k.d: Likewise.
>> * gas/cfi/cfi-mips-1.d: Likewise.
>> * gas/cfi/cfi-ppc-1.d: Likewise.
>> * gas/cfi/cfi-s390-1.d: Likewise.
>> * gas/cfi/cfi-s390x-1.d: Likewise.
>> * gas/cfi/cfi-sh-1.d: Likewise.
>> * gas/cfi/cfi-sparc-1.d: Likewise.
>> * gas/cfi/cfi-sparc64-1.d: Likewise.
>> * gas/cfi/cfi-x86_64.d: Likewise.
>>
>> ld/testsuite/ChangeLog
>> 2013-09-12 Nick Clifton <nickc@redhat.com>
>>
>> * ld-elf/eh1.d: Update expected output to allow for
>> 64-bit addresses.
>> * ld-elf/eh2.d: Likewise.
>> * ld-elf/eh3.d: Likewise.
>> * ld-elf/eh4.d: Likewise.
>> * ld-elf/eh5.d: Likewise.
>> * ld-elf/eh6.d: Likewise.
>> * ld-mips-elf/eh-frame1-n64.d: Likewise.
>> * ld-mips-elf/eh-frame2-n64.d: Likewise.
>> * ld-mips-elf/eh-frame3.d: Likewise.
>
>
> aarch64-ld-test.patch
>
>
> diff --git a/ld/testsuite/ld-aarch64/eh-frame.d b/ld/testsuite/ld-aarch64/eh-frame.d
> index 88e9988..91280b1 100644
> --- a/ld/testsuite/ld-aarch64/eh-frame.d
> +++ b/ld/testsuite/ld-aarch64/eh-frame.d
> @@ -2,7 +2,7 @@
>
> Contents of the .eh_frame section:
>
> -00000000 00000044 00000000 CIE
> +0+0000 0+0044 0+0000 CIE
> Version: 1
> Augmentation: "zR"
> Code alignment factor: 2
> @@ -34,7 +34,7 @@ Contents of the .eh_frame section:
> DW_CFA_nop
> DW_CFA_nop
>
> -00000048 00000014 0000004c FDE cie=00000000 pc=f*ffffff80..f*ffffffc0
> +0+0048 0+0014 0+004c FDE cie=0+0000 pc=f*ffffff80..f*ffffffc0
> DW_CFA_nop
> DW_CFA_nop
> DW_CFA_nop
> @@ -43,7 +43,7 @@ Contents of the .eh_frame section:
> DW_CFA_nop
> DW_CFA_nop
>
> -00000060 00000044 00000000 CIE
> +0+0060 0+0044 0+0000 CIE
> Version: 1
> Augmentation: "zR"
> Code alignment factor: 2
> @@ -75,7 +75,7 @@ Contents of the .eh_frame section:
> DW_CFA_nop
> DW_CFA_nop
>
> -000000a8 00000014 0000004c FDE cie=00000060 pc=f*ffffffc0..00000000
> +0+00a8 0+0014 0+004c FDE cie=0+0060 pc=f*ffffffc0..0+0000
> DW_CFA_nop
> DW_CFA_nop
> DW_CFA_nop
>