aboutsummaryrefslogtreecommitdiff
path: root/libctf
diff options
context:
space:
mode:
authorNick Alcock <nick.alcock@oracle.com>2021-03-25 16:32:46 +0000
committerNick Alcock <nick.alcock@oracle.com>2021-03-25 16:32:49 +0000
commit5226ef61131c1dbb58bcf4ff10ece4312690bc82 (patch)
treed8eaa6454bb50cdd0ffd03f25f1055f27c4ccee7 /libctf
parent86f64bf43f70ecefa9232f5b8621b179dfff52fd (diff)
downloadfsf-binutils-gdb-5226ef61131c1dbb58bcf4ff10ece4312690bc82.zip
fsf-binutils-gdb-5226ef61131c1dbb58bcf4ff10ece4312690bc82.tar.gz
fsf-binutils-gdb-5226ef61131c1dbb58bcf4ff10ece4312690bc82.tar.bz2
libctf: make ctf_bfdopen_ctfsect a debugger entry point
This makes it possible to use LIBCTF_DEBUG to debug things that happen before the ctf_bfdopen_internal call that ctf_bfdopen_ctfsect eventually thunks down to (symtab/strtab lookup, archive opening, etc). This is not important for ctf_open callers, since ctf_fdopen already calls libctf_init_debug, but ctf_bfdopen_ctfsect is a public entry point that can be called directly (e.g. objdump and readelf both do so). libctf/ChangeLog 2021-03-25 Nick Alcock <nick.alcock@oracle.com> * ctf-open-bfd.c (ctf_bfdopen_ctfsect): Initialize debugging.
Diffstat (limited to 'libctf')
-rw-r--r--libctf/ChangeLog4
-rw-r--r--libctf/ctf-open-bfd.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/libctf/ChangeLog b/libctf/ChangeLog
index a9e76ec..32268f8 100644
--- a/libctf/ChangeLog
+++ b/libctf/ChangeLog
@@ -1,5 +1,9 @@
2021-03-25 Nick Alcock <nick.alcock@oracle.com>
+ * ctf-open-bfd.c (ctf_bfdopen_ctfsect): Initialize debugging.
+
+2021-03-25 Nick Alcock <nick.alcock@oracle.com>
+
PR libctf/27628
* ctf-serialize.c (ctf_emit_type_sect): Allow for a NULL vlen in
CTF_K_FUNCTION types.
diff --git a/libctf/ctf-open-bfd.c b/libctf/ctf-open-bfd.c
index 84e4af6..9508641 100644
--- a/libctf/ctf-open-bfd.c
+++ b/libctf/ctf-open-bfd.c
@@ -99,6 +99,8 @@ ctf_bfdopen_ctfsect (struct bfd *abfd _libctf_unused_,
char *strtab_alloc = NULL;
int symsect_endianness = -1;
+ libctf_init_debug();
+
#ifdef HAVE_BFD_ELF
ctf_sect_t symsect, strsect;
Elf_Internal_Shdr *symhdr;