[PATCH 4/8] libctf: make ctf_bfdopen_ctfsect a debugger entry point

Nick Alcock nick.alcock@oracle.com
Wed Mar 24 01:21:54 GMT 2021

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).

2021-03-23  Nick Alcock  <nick.alcock@oracle.com>

	* ctf-open-bfd.c (ctf_bfdopen_ctfsect): Initialize debugging.
 libctf/ctf-open-bfd.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libctf/ctf-open-bfd.c b/libctf/ctf-open-bfd.c
index 84e4af6a73a..950864118fc 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;

More information about the Binutils mailing list