public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Indu Bhagat <indu.bhagat@oracle.com>
To: binutils@sourceware.org
Cc: nickc@redhat.com, weimin.pan@oracle.com,
	Indu Bhagat <indu.bhagat@oracle.com>
Subject: [PATCH,V1 00/14] Definition and support for SFrame unwind format
Date: Thu, 29 Sep 2022 17:04:26 -0700	[thread overview]
Message-ID: <20220930000440.1672106-1-indu.bhagat@oracle.com> (raw)
In-Reply-To: <e56eeab8-5f0c-be57-e69e-53a54cf9b9eb@redhat.com>

Hello,

This patch series was previously being reviewed in the set "[PATCH,V6 00/10]
Definition and Implementation of CTF Frame format" here
https://sourceware.org/pipermail/binutils/2022-August/122147.html

(Posting links here of previous posting with old name "CTF Frame" for easy
 lookup:

 Initial (V1) posting contains necessary introductions:
 https://sourceware.org/pipermail/binutils/2022-May/120731.html
 V2 posting with some improvements:
 https://sourceware.org/pipermail/binutils/2022-May/120899.html
 V3 posting with further improvements:
 https://sourceware.org/pipermail/binutils/2022-June/121245.html
 V4 posting with further improvements and bugfixes:
 https://sourceware.org/pipermail/binutils/2022-June/121478.html
 V5 posting:
 https://sourceware.org/pipermail/binutils/2022-July/121839.html
)

After the discussions at LPC and GNU Tools Cauldron this year, it seemed like
the format needed a more suitable name.  The previous name was justifiably
bringing up some questions around: 1. How tied is the proposed frame format
with CTF (Compact C-Type Format), and 2. Is the format applicable for only
applications written in C.  The answers to these questions are: 1. It is
independent of the CTF debug format, and 2. No.  So, we think the format needed
a more appropriate name.  The new chosen name is "Simple Frame format", or
"SFrame" format for plain vanilla backtracing.

This patch series has addressed the review comments sent earlier in August 2022
(and apologies for the long delay in sending this series):
  - include/sframe.h uses ansidecl.h and ATTRIBUTE_PACKED
  - gas patches have been split up. The gas testsuite is now a separate patch,
    hopefully it eases some pain around testing each patch as the gas
    testsuite needs the readelf/objdump support. The bfd/linker patch still 
    has the testsuite combined in it though ...
  - bfd/elf-sframe.c now uses less BFD_ASSERTs. Some of them remain and I will
    deal with them over time.
  - fixes made for the compile-time warnings around incompatible pointer type
    [-Werror=incompatible-pointer-types] noted on i686 build.
  - other fixes around return type of some APIs, goofy labels and like.
  - added binutils/NEWS, gas/NEWS and updated the src-release.sh

The format specification document still mains a TODO at this time. I plan to
resume working on this after I have tackled the task of SFrame generation for
PLT/veneers in aarch64.

Another comment/feedback received at Cauldron was around the representation of
the SFrame Frame Row Entries: Can SFrame FREs be made fixed length and hence,
possibly compacted further such that all SFrame FREs across functions can then
possibly share the SP/FP/RA offset records.  This still remains to be
experimented with.

PS: libsframe/configure has been REMOVED from the patch series, as it causes
the size of some patches to go beyond the allowed limit.  Please regenerate
libsframe/configure after applying the series.

Testing notes:
 - Tested natively on x86_64-linux, aarch64-linux and i686-linux with
 '--enable-shared'.
 - Cross builds for various targets on x86_64 host with no explicit
 '--enable-shared'.  Ran a regression script that checks for failures in gas,
 ld, binutils, libctf with no reported regressions. libsframe tests ran as
 expected. libsframebt (the backtracer) tests (which are present in
 libsframe/testsuite/libsframe.unwind) have been disabled with host != target.

What is SFrame format and why do we need it
-------------------------------------------
SFrame format is the Simple Frame format.  It can be used to represent the
minimal necessary information for backtracing.  As such, it only encodes how to
recover the CFA (based on SP/FP) and the return address (RA) for all
instructions of a program.

The format is supported on AMD64 and AARCH64 ABIs only.  The information stored
in the .sframe section is a subset of what .eh_frame can convey: .eh_frame can
convey how to resurrect all callee-saved registers, if need be; but .sframe
does not.

SFrame format is intended for usecases where fast virtual stack unwind is
needed, along with a need for a small simple unwinder. So, those applications
which struggle with the following two complaints will want to consider SFrame
format:
  - EH Frame based unwinders are complex and slow to manage with
  - EH Frame based unwinders are large as they need to deal with DWARF 
  opcodes via a stack machine implementation

More details about the format are available in include/sframe.h, please see
commit "sframe.h: Add SFrame format definition".

Our not-so-exhaustive experiments (basically binutils programs built with
-Wa,--gsframe) show that SFrame/EH Frame section ratio to be an average of 0.8x
for x86_64 and 0.7x for aarch64.

Support in binutils
-------------------

This patch series adds support for SFrame format in GNU as, ld, readelf and
objdump. Two new libraries are being added:
  - libsframe - provides means to decode, encode/write, and probe SFrame
    sections. This is used by GNU ld and libsframebt.
  - libsframebt - small backtracer based on SFrame format.

More details on each of these components are provided in the respective commit
message.

Thanks,

Indu Bhagat (11):
  sframe.h: Add SFrame format definition
  gas: add new command line option --gsframe
  gas: generate .sframe from CFI directives
  gas: testsuite: add new tests for SFrame unwind info
  bfd: linker: merge .sframe sections
  readelf/objdump: support for SFrame section
  gdb: sim: buildsystem changes to accommodate libsframe
  libctf: add libsframe to LDFLAGS and LIBS
  src-release.sh: Add libsframe
  binutils/NEWS: add text for SFrame support
  gas/NEWS: add text about new command line option and SFrame support

Weimin Pan (3):
  libsframe: add the SFrame library
  unwinder: generate backtrace using SFrame format
  unwinder: Add SFrame unwinder tests

 Makefile.def                                  |    6 +
 Makefile.in                                   | 1299 +++++++++++++-
 bfd/Makefile.am                               |    6 +-
 bfd/Makefile.in                               |    7 +-
 bfd/bfd-in2.h                                 |    1 +
 bfd/configure                                 |    2 +-
 bfd/configure.ac                              |    2 +-
 bfd/elf-bfd.h                                 |   54 +
 bfd/elf-sframe.c                              |  533 ++++++
 bfd/elf.c                                     |   32 +
 bfd/elf64-x86-64.c                            |   97 +-
 bfd/elflink.c                                 |   52 +
 bfd/elfxx-x86.c                               |  377 +++-
 bfd/elfxx-x86.h                               |   46 +
 bfd/section.c                                 |    1 +
 binutils/Makefile.am                          |   10 +-
 binutils/Makefile.in                          |    9 +-
 binutils/NEWS                                 |    2 +
 binutils/doc/binutils.texi                    |    4 +
 binutils/doc/sframe.options.texi              |   10 +
 binutils/objdump.c                            |   76 +
 binutils/readelf.c                            |   47 +
 config/sframe.m4                              |   16 +
 configure                                     |    2 +-
 configure.ac                                  |    2 +-
 gas/Makefile.am                               |    3 +
 gas/Makefile.in                               |   22 +-
 gas/NEWS                                      |    3 +
 gas/as.c                                      |   10 +-
 gas/as.h                                      |   13 +-
 gas/config/tc-aarch64.c                       |   41 +
 gas/config/tc-aarch64.h                       |   29 +
 gas/config/tc-i386.c                          |   44 +
 gas/config/tc-i386.h                          |   26 +
 gas/config/tc-xtensa.c                        |    1 +
 gas/doc/as.texi                               |   19 +-
 gas/dw2gencfi.c                               |   30 +
 gas/dw2gencfi.h                               |    1 +
 gas/gen-sframe.c                              | 1300 ++++++++++++++
 gas/gen-sframe.h                              |  141 ++
 gas/sframe-opt.c                              |  158 ++
 .../gas/cfi-sframe/cfi-sframe-aarch64-1.d     |   20 +
 .../gas/cfi-sframe/cfi-sframe-aarch64-1.s     |   61 +
 .../gas/cfi-sframe/cfi-sframe-common-1.d      |   17 +
 .../gas/cfi-sframe/cfi-sframe-common-1.s      |    3 +
 .../gas/cfi-sframe/cfi-sframe-common-2.d      |   17 +
 .../gas/cfi-sframe/cfi-sframe-common-2.s      |    2 +
 .../gas/cfi-sframe/cfi-sframe-common-3.d      |   17 +
 .../gas/cfi-sframe/cfi-sframe-common-3.s      |    4 +
 .../gas/cfi-sframe/cfi-sframe-common-4.d      |   21 +
 .../gas/cfi-sframe/cfi-sframe-common-4.s      |    8 +
 .../gas/cfi-sframe/cfi-sframe-common-5.d      |   21 +
 .../gas/cfi-sframe/cfi-sframe-common-5.s      |    7 +
 .../gas/cfi-sframe/cfi-sframe-common-6.d      |   21 +
 .../gas/cfi-sframe/cfi-sframe-common-6.s      |    7 +
 .../gas/cfi-sframe/cfi-sframe-common-7.d      |   21 +
 .../gas/cfi-sframe/cfi-sframe-common-7.s      |    7 +
 .../gas/cfi-sframe/cfi-sframe-common-8.d      |   20 +
 .../gas/cfi-sframe/cfi-sframe-common-8.s      |   12 +
 .../gas/cfi-sframe/cfi-sframe-x86_64-1.d      |   22 +
 .../gas/cfi-sframe/cfi-sframe-x86_64-1.s      |   30 +
 gas/testsuite/gas/cfi-sframe/cfi-sframe.exp   |   58 +
 gas/testsuite/gas/cfi-sframe/common-empty-1.d |   14 +
 gas/testsuite/gas/cfi-sframe/common-empty-1.s |    5 +
 gas/testsuite/gas/cfi-sframe/common-empty-2.d |   14 +
 gas/testsuite/gas/cfi-sframe/common-empty-2.s |    8 +
 gas/testsuite/gas/cfi-sframe/common-empty-3.d |   14 +
 gas/testsuite/gas/cfi-sframe/common-empty-3.s |    9 +
 gas/testsuite/gas/cfi-sframe/common-empty-4.d |   14 +
 gas/testsuite/gas/cfi-sframe/common-empty-4.s |   17 +
 gas/write.c                                   |   13 +
 gdb/Makefile.in                               |    8 +-
 gdb/acinclude.m4                              |    4 +-
 gdb/configure                                 |   35 +-
 gdb/configure.ac                              |   11 +
 include/elf/common.h                          |    1 +
 include/elf/internal.h                        |    1 +
 include/sframe-api.h                          |  214 +++
 include/sframe-backtrace-api.h                |   57 +
 include/sframe.h                              |  281 +++
 ld/Makefile.am                                |    2 +
 ld/Makefile.in                                |    2 +
 ld/configure                                  |    8 +-
 ld/configure.ac                               |    3 +
 ld/ld.texi                                    |    4 +-
 ld/scripttempl/elf.sc                         |    2 +
 ld/testsuite/ld-aarch64/aarch64-elf.exp       |    2 +
 ld/testsuite/ld-aarch64/sframe-bar.s          |    7 +
 ld/testsuite/ld-aarch64/sframe-foo.s          |   10 +
 ld/testsuite/ld-aarch64/sframe-simple-1.d     |   26 +
 ld/testsuite/ld-bootstrap/bootstrap.exp       |    8 +-
 ld/testsuite/ld-sframe/discard.d              |   10 +
 ld/testsuite/ld-sframe/discard.ld             |    9 +
 ld/testsuite/ld-sframe/discard.s              |   13 +
 ld/testsuite/ld-sframe/sframe-empty.d         |   10 +
 ld/testsuite/ld-sframe/sframe-empty.s         |    2 +
 ld/testsuite/ld-sframe/sframe.exp             |   47 +
 ld/testsuite/ld-x86-64/sframe-bar.s           |   31 +
 ld/testsuite/ld-x86-64/sframe-foo.s           |   37 +
 ld/testsuite/ld-x86-64/sframe-plt-1.d         |   29 +
 ld/testsuite/ld-x86-64/sframe-simple-1.d      |   35 +
 ld/testsuite/ld-x86-64/x86-64.exp             |    2 +
 ld/testsuite/lib/ld-lib.exp                   |   45 +
 libctf/configure                              |    4 +-
 libctf/configure.ac                           |    4 +-
 libsframe/Makefile.am                         |   54 +
 libsframe/Makefile.in                         | 1100 ++++++++++++
 libsframe/aclocal.m4                          | 1242 +++++++++++++
 libsframe/config.h.in                         |  144 ++
 libsframe/configure.ac                        |   97 +
 libsframe/sframe-backtrace-err.c              |   46 +
 libsframe/sframe-backtrace.c                  |  619 +++++++
 libsframe/sframe-dump.c                       |  181 ++
 libsframe/sframe-error.c                      |   49 +
 libsframe/sframe-impl.h                       |   55 +
 libsframe/sframe.c                            | 1584 +++++++++++++++++
 libsframe/testsuite/Makefile.am               |   23 +
 libsframe/testsuite/Makefile.in               |  684 +++++++
 libsframe/testsuite/config/default.exp        |   57 +
 libsframe/testsuite/lib/sframe-lib.exp        |  180 ++
 libsframe/testsuite/libsframe.decode/DATA1    |  Bin 0 -> 59 bytes
 libsframe/testsuite/libsframe.decode/DATA2    |  Bin 0 -> 91 bytes
 .../testsuite/libsframe.decode/DATA_BIGE      |  Bin 0 -> 59 bytes
 .../testsuite/libsframe.decode/Makefile.am    |   14 +
 .../testsuite/libsframe.decode/Makefile.in    |  663 +++++++
 .../libsframe.decode/bigendian_data.c         |  107 ++
 .../testsuite/libsframe.decode/decode.exp     |   41 +
 .../testsuite/libsframe.decode/frecnt_1.c     |   99 ++
 .../testsuite/libsframe.decode/frecnt_2.c     |  103 ++
 .../testsuite/libsframe.encode/Makefile.am    |    6 +
 .../testsuite/libsframe.encode/Makefile.in    |  610 +++++++
 .../testsuite/libsframe.encode/encode.exp     |   25 +
 .../testsuite/libsframe.encode/encode_1.c     |  182 ++
 .../testsuite/libsframe.unwind/backtrace.c    |  145 ++
 .../testsuite/libsframe.unwind/backtrace.lk   |    3 +
 .../testsuite/libsframe.unwind/inline-cmds.c  |  136 ++
 .../testsuite/libsframe.unwind/inline-cmds.lk |    3 +
 libsframe/testsuite/libsframe.unwind/inline.c |   97 +
 .../testsuite/libsframe.unwind/inline.lk      |    3 +
 .../testsuite/libsframe.unwind/solib-lib1.c   |    8 +
 .../testsuite/libsframe.unwind/solib-lib2.c   |   51 +
 .../testsuite/libsframe.unwind/solib-main.c   |   47 +
 .../testsuite/libsframe.unwind/solib-main.d   |    3 +
 .../testsuite/libsframe.unwind/solib.exp      |   75 +
 .../testsuite/libsframe.unwind/solib_lib1.h   |    3 +
 .../testsuite/libsframe.unwind/solib_lib2.h   |    3 +
 .../testsuite/libsframe.unwind/tailcall.c     |  103 ++
 .../testsuite/libsframe.unwind/tailcall.lk    |    3 +
 libsframe/testsuite/libsframe.unwind/ttest.c  |  127 ++
 libsframe/testsuite/libsframe.unwind/ttest.lk |    3 +
 .../testsuite/libsframe.unwind/unwind.exp     |  200 +++
 sim/common/Make-common.in                     |    7 +-
 src-release.sh                                |    4 +-
 153 files changed, 14927 insertions(+), 64 deletions(-)
 create mode 100644 bfd/elf-sframe.c
 create mode 100644 binutils/doc/sframe.options.texi
 create mode 100644 config/sframe.m4
 create mode 100644 gas/gen-sframe.c
 create mode 100644 gas/gen-sframe.h
 create mode 100644 gas/sframe-opt.c
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-aarch64-1.d
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-aarch64-1.s
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-1.d
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-1.s
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-2.d
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-2.s
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-3.d
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-3.s
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-4.d
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-4.s
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-5.d
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-5.s
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-6.d
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-6.s
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-7.d
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-7.s
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-8.d
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-8.s
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-1.d
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-1.s
 create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe.exp
 create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-1.d
 create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-1.s
 create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-2.d
 create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-2.s
 create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-3.d
 create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-3.s
 create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-4.d
 create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-4.s
 create mode 100644 include/sframe-api.h
 create mode 100644 include/sframe-backtrace-api.h
 create mode 100644 include/sframe.h
 create mode 100644 ld/testsuite/ld-aarch64/sframe-bar.s
 create mode 100644 ld/testsuite/ld-aarch64/sframe-foo.s
 create mode 100644 ld/testsuite/ld-aarch64/sframe-simple-1.d
 create mode 100644 ld/testsuite/ld-sframe/discard.d
 create mode 100644 ld/testsuite/ld-sframe/discard.ld
 create mode 100644 ld/testsuite/ld-sframe/discard.s
 create mode 100644 ld/testsuite/ld-sframe/sframe-empty.d
 create mode 100644 ld/testsuite/ld-sframe/sframe-empty.s
 create mode 100644 ld/testsuite/ld-sframe/sframe.exp
 create mode 100644 ld/testsuite/ld-x86-64/sframe-bar.s
 create mode 100644 ld/testsuite/ld-x86-64/sframe-foo.s
 create mode 100644 ld/testsuite/ld-x86-64/sframe-plt-1.d
 create mode 100644 ld/testsuite/ld-x86-64/sframe-simple-1.d
 create mode 100644 libsframe/Makefile.am
 create mode 100644 libsframe/Makefile.in
 create mode 100644 libsframe/aclocal.m4
 create mode 100644 libsframe/config.h.in
 create mode 100644 libsframe/configure.ac
 create mode 100644 libsframe/sframe-backtrace-err.c
 create mode 100644 libsframe/sframe-backtrace.c
 create mode 100644 libsframe/sframe-dump.c
 create mode 100644 libsframe/sframe-error.c
 create mode 100644 libsframe/sframe-impl.h
 create mode 100644 libsframe/sframe.c
 create mode 100644 libsframe/testsuite/Makefile.am
 create mode 100644 libsframe/testsuite/Makefile.in
 create mode 100644 libsframe/testsuite/config/default.exp
 create mode 100644 libsframe/testsuite/lib/sframe-lib.exp
 create mode 100644 libsframe/testsuite/libsframe.decode/DATA1
 create mode 100644 libsframe/testsuite/libsframe.decode/DATA2
 create mode 100644 libsframe/testsuite/libsframe.decode/DATA_BIGE
 create mode 100644 libsframe/testsuite/libsframe.decode/Makefile.am
 create mode 100644 libsframe/testsuite/libsframe.decode/Makefile.in
 create mode 100644 libsframe/testsuite/libsframe.decode/bigendian_data.c
 create mode 100644 libsframe/testsuite/libsframe.decode/decode.exp
 create mode 100644 libsframe/testsuite/libsframe.decode/frecnt_1.c
 create mode 100644 libsframe/testsuite/libsframe.decode/frecnt_2.c
 create mode 100644 libsframe/testsuite/libsframe.encode/Makefile.am
 create mode 100644 libsframe/testsuite/libsframe.encode/Makefile.in
 create mode 100644 libsframe/testsuite/libsframe.encode/encode.exp
 create mode 100644 libsframe/testsuite/libsframe.encode/encode_1.c
 create mode 100644 libsframe/testsuite/libsframe.unwind/backtrace.c
 create mode 100644 libsframe/testsuite/libsframe.unwind/backtrace.lk
 create mode 100644 libsframe/testsuite/libsframe.unwind/inline-cmds.c
 create mode 100644 libsframe/testsuite/libsframe.unwind/inline-cmds.lk
 create mode 100644 libsframe/testsuite/libsframe.unwind/inline.c
 create mode 100644 libsframe/testsuite/libsframe.unwind/inline.lk
 create mode 100644 libsframe/testsuite/libsframe.unwind/solib-lib1.c
 create mode 100644 libsframe/testsuite/libsframe.unwind/solib-lib2.c
 create mode 100644 libsframe/testsuite/libsframe.unwind/solib-main.c
 create mode 100644 libsframe/testsuite/libsframe.unwind/solib-main.d
 create mode 100644 libsframe/testsuite/libsframe.unwind/solib.exp
 create mode 100644 libsframe/testsuite/libsframe.unwind/solib_lib1.h
 create mode 100644 libsframe/testsuite/libsframe.unwind/solib_lib2.h
 create mode 100644 libsframe/testsuite/libsframe.unwind/tailcall.c
 create mode 100644 libsframe/testsuite/libsframe.unwind/tailcall.lk
 create mode 100644 libsframe/testsuite/libsframe.unwind/ttest.c
 create mode 100644 libsframe/testsuite/libsframe.unwind/ttest.lk
 create mode 100644 libsframe/testsuite/libsframe.unwind/unwind.exp

-- 
2.37.2


  reply	other threads:[~2022-09-30  0:05 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-02  8:04 [PATCH,V6 00/10] Definition and Implementation of CTF Frame format Indu Bhagat
2022-08-02  8:04 ` [PATCH,V6 01/10] ctf-frame.h: Add CTF Frame format definition Indu Bhagat
2022-08-15 12:04   ` Nick Clifton
2022-08-02  8:04 ` [PATCH,V6 02/10] gas: add new command line option --gctf-frame Indu Bhagat
2022-08-15 12:07   ` Nick Clifton
2022-08-02  8:04 ` [PATCH,V6 03/10] gas: generate .ctf_frame Indu Bhagat
2022-08-15 12:22   ` Nick Clifton
2022-08-02  8:04 ` [PATCH,V6 04/10] libctfframe: add the CTF Frame library Indu Bhagat
2022-08-15 12:46   ` Nick Clifton
2022-08-02  8:04 ` [PATCH,V6 05/10] libctfframe: add GNU poke pickles for CTF Frame Indu Bhagat
2022-08-15 12:50   ` Nick Clifton
2022-08-02  8:04 ` [PATCH,V6 06/10] bfd: linker: merge .ctf_frame sections Indu Bhagat
2022-08-15 13:02   ` Nick Clifton
2022-08-18  2:11     ` Indu Bhagat
2022-08-02  8:04 ` [PATCH,V6 07/10] readelf/objdump: support for CTF Frame section Indu Bhagat
2022-08-15 13:11   ` Nick Clifton
2022-08-02  8:04 ` [PATCH,V6 08/10] unwinder: generate backtrace using CTF Frame format Indu Bhagat
2022-08-15 13:16   ` Nick Clifton
2022-08-02  8:04 ` [PATCH,V6 09/10] unwinder: Add CTF Frame unwinder tests Indu Bhagat
2022-08-15 13:27   ` Nick Clifton
2022-08-02  8:04 ` [PATCH, V6 10/10] gdb: sim: buildsystem changes to accommodate libctfframe Indu Bhagat
2022-08-05 14:43   ` Tom Tromey
2022-08-15 12:18 ` [PATCH,V6 00/10] Definition and Implementation of CTF Frame format Nick Clifton
2022-08-18  1:38   ` Indu Bhagat
2022-08-15 14:25 ` Nick Clifton
2022-09-30  0:04   ` Indu Bhagat [this message]
2022-09-30  0:04     ` [PATCH,V1 01/14] sframe.h: Add SFrame format definition Indu Bhagat
2022-09-30  0:04     ` [PATCH,V1 02/14] gas: add new command line option --gsframe Indu Bhagat
2022-09-30  0:04     ` [PATCH,V1 03/14] gas: generate .sframe from CFI directives Indu Bhagat
2022-09-30  0:04     ` [PATCH,V1 04/14] gas: testsuite: add new tests for SFrame unwind info Indu Bhagat
2022-09-30  0:04     ` [PATCH,V1 05/14] libsframe: add the SFrame library Indu Bhagat
2022-09-30  0:04     ` [PATCH,V1 06/14] bfd: linker: merge .sframe sections Indu Bhagat
2022-09-30 10:51       ` Nick Clifton
2022-09-30  0:04     ` [PATCH,V1 07/14] readelf/objdump: support for SFrame section Indu Bhagat
2022-09-30 11:08       ` Nick Clifton
2022-09-30  0:04     ` [PATCH,V1 08/14] unwinder: generate backtrace using SFrame format Indu Bhagat
2022-09-30  0:04     ` [PATCH,V1 09/14] unwinder: Add SFrame unwinder tests Indu Bhagat
2022-09-30  0:04     ` [PATCH,V1 10/14] gdb: sim: buildsystem changes to accommodate libsframe Indu Bhagat
2022-10-11 16:08       ` [PATCH, V1 " Tom Tromey
2022-09-30  0:04     ` [PATCH,V1 11/14] libctf: add libsframe to LDFLAGS and LIBS Indu Bhagat
2022-09-30  0:04     ` [PATCH,V1 12/14] src-release.sh: Add libsframe Indu Bhagat
2022-09-30  0:04     ` [PATCH,V1 13/14] binutils/NEWS: add text for SFrame support Indu Bhagat
2022-09-30  0:04     ` [PATCH,V1 14/14] gas/NEWS: add text about new command line option and " Indu Bhagat
2022-09-30  8:09     ` [PATCH,V1 00/14] Definition and support for SFrame unwind format Jan Beulich
2022-10-04  5:16       ` Indu Bhagat
2022-10-04  6:53         ` Jan Beulich
2022-09-30  8:24     ` Fangrui Song
2022-10-01  0:15       ` Indu Bhagat
2022-09-30  9:12     ` Nick Clifton
2022-10-01  0:29       ` Indu Bhagat
2022-10-01  9:51       ` Jose E. Marchesi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220930000440.1672106-1-indu.bhagat@oracle.com \
    --to=indu.bhagat@oracle.com \
    --cc=binutils@sourceware.org \
    --cc=nickc@redhat.com \
    --cc=weimin.pan@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).