libctf, include: add ctf_getsymsect and ctf_getstrsect
authorNick Alcock <nick.alcock@oracle.com>
Fri, 20 Nov 2020 13:34:04 +0000 (13:34 +0000)
committerNick Alcock <nick.alcock@oracle.com>
Fri, 20 Nov 2020 13:34:12 +0000 (13:34 +0000)
commit97a2a623d0193dbfc92d92545b63aaffd6099272
tree4467ff62484008adf7eb1596909465cd727201a9
parent2c78e92523a650c9cbd68130ce8a766570457cd6
libctf, include: add ctf_getsymsect and ctf_getstrsect

libctf has long provided ctf_getdatasect, which hands back a pointer to
the CTF section a (read-only) dict came from.  But it has no such
functions to return pointers to the ELF symbol table or string table
it's working from, which is unfortunate because several libctf functions
(ctf_open, ctf_fdopen, and ctf_bfdopen) figure out which string and
symbol table to use themselves, and don't tell the user what they
decided, so the caller can't agree on which symtab to use with libctf
even if it wanted to.

Add a pair of functions to return the symtab and strtab in use.  Like
ctf_getdatasect, these return ctf_sect_t structures by value, filled
with all-NULL/0 content if a symtab or strtab is not being used.

include/ChangeLog
2020-11-20  Nick Alcock  <nick.alcock@oracle.com>

* ctf-api.h (ctf_getsymsect): New.
(ctf_getstrsect): Likewise.

libctf/ChangeLog
2020-11-20  Nick Alcock  <nick.alcock@oracle.com>

* ctf-open.c (ctf_getsymsect): New.
(ctf_getstrsect): Likewise.
* libctf.ver: Add them.
include/ChangeLog
include/ctf-api.h
libctf/ChangeLog
libctf/ctf-open.c
libctf/libctf.ver