Bug 16694 - gas does not accept ARM VFP registers in .cfi_offset directives
Summary: gas does not accept ARM VFP registers in .cfi_offset directives
Status: RESOLVED FIXED
Alias: None
Product: binutils
Classification: Unclassified
Component: gas (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-12 03:50 UTC by hans
Modified: 2014-03-17 16:34 UTC (History)
3 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments
Proposed patch (258 bytes, patch)
2014-03-14 11:48 UTC, Nick Clifton
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description hans 2014-03-12 03:50:56 UTC
For example, the following:

.Ltmp17:
    .cfi_offset d11, -48
.Ltmp18:
    .cfi_offset d10, -56
.Ltmp19:
    .cfi_offset d9, -64
.Ltmp20:
    .cfi_offset d8, -72

Is met with an error:

/tmp/a-e08bd9.s:148: Error: bad register expression
/tmp/a-e08bd9.s:150: Error: bad register expression
/tmp/a-e08bd9.s:152: Error: bad register expression
/tmp/a-e08bd9.s:154: Error: bad register expression


Regular r1, r2, etc. registers seem to work. It would be nice if it could handle the VFP registers too.
Comment 1 Nick Clifton 2014-03-14 11:48:41 UTC
Created attachment 7470 [details]
Proposed patch

Hi Hans,

  Please try out the uploaded patch and let me know what you think.

Cheers
  Nick
Comment 2 hans 2014-03-14 22:17:00 UTC
(In reply to Nick Clifton from comment #1)
>   Please try out the uploaded patch and let me know what you think.

Seems to work :)
Comment 3 Sourceware Commits 2014-03-17 16:32:05 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  1f5afe1cc03bb2cd50b75a21d491a349d7011ea1 (commit)
      from  f7c77d9323a3dcd6e52a8038d0cdab0748e5bc62 (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=1f5afe1cc03bb2cd50b75a21d491a349d7011ea1

commit 1f5afe1cc03bb2cd50b75a21d491a349d7011ea1
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Mar 17 16:30:30 2014 +0000

    Add support for parsing VFP register names in .cfi_offset directives.
    
    	PR gas/16694
    	* config/tc-arm.c (tc_arm_regname_to_dw2regnum): Parse VFP
    	registers as well.
    
    	* gas/cfi/cfi-arm-1.s: Add checks of VFP registers.
    	* gas/cfi/cfi-arm-1.d: Update expected output.

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

Summary of changes:
 gas/ChangeLog                     |    6 ++++++
 gas/config/tc-arm.c               |   29 +++++++++++++++++++++++------
 gas/testsuite/ChangeLog           |    6 ++++++
 gas/testsuite/gas/cfi/cfi-arm-1.d |    9 +++++++--
 gas/testsuite/gas/cfi/cfi-arm-1.s |    6 ++++++
 5 files changed, 48 insertions(+), 8 deletions(-)
Comment 4 Nick Clifton 2014-03-17 16:34:19 UTC
Hi Hans,

  I have committed a slightly improved version of the patch, along with an addition to the gas testsuite to make sure that the VFP registers will continue to be accepted in .cfi_offset statements.

Cheers
  Nick