[0/6] SFrame: support for .cfi_negate_ra_state in aarch64

Message ID 20221214195859.1233809-1-indu.bhagat@oracle.com
Headers
Series SFrame: support for .cfi_negate_ra_state in aarch64 |

Message

Indu Bhagat Dec. 14, 2022, 7:58 p.m. UTC
  Hello,

This patchset adds support for handling .cfi_negate_ra_state assembler
directive for SFrame information generation on aarch64. Without this support,
the .cfi_negate_ra_state directive was being ignored: no SFrame unwind
information was being generated for those code regions (bounded by the
.cfi_startproc/.cfi_endproc) that contained a .cfi_negate_ra_state directive.

The support is split in small patches to hopefully ease the review.

In a follow up patch series, support for .cfi_b_key_frame will be added.

Testing notes:
- Regression tested cross build of several targets on an x86_64 host and an
aarch64 host using a regression script that checks for failures in gas, ld,
binutils, libctf and libsframe.
- Regression tested native builds on x86_64 and aarch64.
- binutils/gdb try bot showed no new regressions.

Thanks,

Indu Bhagat (6):
  [1/6] sframe.h: add support for .cfi_negate_ra_state
  [2/6] gas: sframe: add support for .cfi_negate_ra_state
  [3/6] gas: sframe: testsuite: add testcase for .cfi_negate_ra_state
  [4/6] libsframe: provide new access API for mangled RA bit
  [5/6] objdump/readelf: sframe: emit marker for FREs with mangled RA
  [6/6] sframe: doc: update spec for the mangled-RA bit in FRE

 gas/gen-sframe.c                              | 41 +++++++++++++++----
 gas/gen-sframe.h                              |  6 ++-
 .../gas/cfi-sframe/cfi-sframe-aarch64-2.d     | 20 +++++++++
 ...ommon-empty-4.s => cfi-sframe-aarch64-2.s} |  3 +-
 gas/testsuite/gas/cfi-sframe/cfi-sframe.exp   |  2 +-
 gas/testsuite/gas/cfi-sframe/common-empty-4.d | 14 -------
 include/sframe-api.h                          |  7 ++++
 include/sframe.h                              | 23 +++++++----
 libsframe/doc/sframe-spec.texi                |  4 +-
 libsframe/sframe-dump.c                       | 13 ++++--
 libsframe/sframe.c                            | 18 ++++++++
 11 files changed, 113 insertions(+), 38 deletions(-)
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-aarch64-2.d
 rename gas/testsuite/gas/cfi-sframe/{common-empty-4.s => cfi-sframe-aarch64-2.s} (85%)
 delete mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-4.d
  

Comments

Nick Clifton Dec. 16, 2022, 4:39 p.m. UTC | #1
Hi Indu,
> Indu Bhagat (6):
>    [1/6] sframe.h: add support for .cfi_negate_ra_state
>    [2/6] gas: sframe: add support for .cfi_negate_ra_state
>    [3/6] gas: sframe: testsuite: add testcase for .cfi_negate_ra_state
>    [4/6] libsframe: provide new access API for mangled RA bit
>    [5/6] objdump/readelf: sframe: emit marker for FREs with mangled RA
>    [6/6] sframe: doc: update spec for the mangled-RA bit in FRE
> 

Patch series approved - please apply.

Cheers
   Nick