libsframe: add the SFrame library
authorWeimin Pan <weimin.pan@oracle.com>
Tue, 15 Nov 2022 23:06:59 +0000 (15:06 -0800)
committerIndu Bhagat <indu.bhagat@oracle.com>
Tue, 15 Nov 2022 23:24:29 +0000 (15:24 -0800)
commit19e559f1c91bfaedbd2f91d85ee161f3f03fda3c
tree527ffba7056f53a26aa5114336ab0a218d868232
parentdc56ee029e7e02666b81101e169333f7edfa76f9
libsframe: add the SFrame library

libsframe is a library that allows you to:
- decode a .sframe section
- probe and inspect a .sframe section
- encode (and eventually write) a .sframe section.

This library is currently being used by the linker, readelf, objdump.
This library will also be used by the SFrame unwinder which is still
to be upstream'd.

The file include/sframe-api.h defines the user-facing APIs for decoding,
encoding and probing .sframe sections. A set of error codes together
with their error message strings are also defined.

Endian flipping is performed automatically at read and write time, if
cross-endianness is detected.

ChangeLog:

* Makefile.def: Add libsframe as new module with its
dependencies.
* Makefile.in: Regenerated.
* binutils/Makefile.am: Add libsframe.
* binutils/Makefile.in: Regenerated.
* configure: Regenerated
* configure.ac: Add libsframe to host_libs.
* libsframe/Makefile.am: New file.
* libsframe/Makefile.in: New file.
* libsframe/aclocal.m4: New file.
* libsframe/config.h.in: New file.
* libsframe/configure: New file.
* libsframe/configure.ac: New file.
* libsframe/sframe-error.c: New file.
* libsframe/sframe-impl.h: New file.
* libsframe/sframe.c: New file.

include/ChangeLog:

* sframe-api.h: New file.

testsuite/ChangeLog:

* libsframe/testsuite/Makefile.am: New file.
* libsframe/testsuite/Makefile.in: Regenerated.
* libsframe/testsuite/libsframe.decode/Makefile.am: New
  file.
* libsframe/testsuite/libsframe.decode/Makefile.in:
  Regenerated.
* libsframe/testsuite/libsframe.decode/decode.exp: New file.
* libsframe/testsuite/libsframe.encode/Makefile.am:
  Likewise.
* libsframe/testsuite/libsframe.encode/Makefile.in:
  Regenerated.
* libsframe/testsuite/libsframe.encode/encode.exp: New file.
* libsframe/testsuite/libsframe.encode/encode-1.c: Likewise.
* libsframe/testsuite/libsframe.decode/be-flipping.c: Likewise.
* libsframe/testsuite/libsframe.decode/frecnt-1.c: Likewise.
* libsframe/testsuite/libsframe.decode/frecnt-2.c: Likewise.
* libsframe/testsuite/libsframe.decode/DATA-BE: New file.
* libsframe/testsuite/libsframe.decode/DATA1: Likewise.
* libsframe/testsuite/libsframe.decode/DATA2: Likewise.
30 files changed:
Makefile.def
Makefile.in
binutils/Makefile.am
binutils/Makefile.in
config/dejagnu.m4 [new file with mode: 0644]
configure
configure.ac
include/sframe-api.h [new file with mode: 0644]
libsframe/Makefile.am [new file with mode: 0644]
libsframe/Makefile.in [new file with mode: 0644]
libsframe/aclocal.m4 [new file with mode: 0644]
libsframe/config.h.in [new file with mode: 0644]
libsframe/configure [new file with mode: 0755]
libsframe/configure.ac [new file with mode: 0644]
libsframe/sframe-error.c [new file with mode: 0644]
libsframe/sframe-impl.h [new file with mode: 0644]
libsframe/sframe.c [new file with mode: 0644]
libsframe/testsuite/config/default.exp [new file with mode: 0644]
libsframe/testsuite/libsframe.decode/DATA-BE [new file with mode: 0644]
libsframe/testsuite/libsframe.decode/DATA1 [new file with mode: 0644]
libsframe/testsuite/libsframe.decode/DATA2 [new file with mode: 0644]
libsframe/testsuite/libsframe.decode/be-flipping.c [new file with mode: 0644]
libsframe/testsuite/libsframe.decode/decode.exp [new file with mode: 0644]
libsframe/testsuite/libsframe.decode/frecnt-1.c [new file with mode: 0644]
libsframe/testsuite/libsframe.decode/frecnt-2.c [new file with mode: 0644]
libsframe/testsuite/libsframe.decode/local.mk [new file with mode: 0644]
libsframe/testsuite/libsframe.encode/encode-1.c [new file with mode: 0644]
libsframe/testsuite/libsframe.encode/encode.exp [new file with mode: 0644]
libsframe/testsuite/libsframe.encode/local.mk [new file with mode: 0644]
libsframe/testsuite/local.mk [new file with mode: 0644]