libctf, binutils: dump the CTF header
The CTF header has before now been thrown away too soon to be dumped using the ctf_dump() machinery used by objdump and readelf: instead, a kludge involving debugging-priority dumps of the header offsets on every open was used. Replace this with proper first-class dumping machinery just like everything else in the CTF file, and have objdump and readelf use it. (The dumper already had an enum value in ctf_sect_names_t for this purpose, waiting to be used.) v5: fix tabdamage. libctf/ * ctf-impl.h (ctf_file_t): New field ctf_openflags. * ctf-open.c (ctf_bufopen): Set it. No longer dump header offsets. * ctf-dump.c (dump_header): New function, dump the CTF header. (ctf_dump): Call it. (ctf_dump_header_strfield): New function. (ctf_dump_header_sectfield): Likewise. binutils/ * objdump.c (dump_ctf_archive_member): Dump the CTF header. * readelf.c (dump_section_as_ctf): Likewise.
This commit is contained in:
parent
fd55eae84d
commit
9b32cba44d
7 changed files with 151 additions and 14 deletions
|
@ -218,6 +218,7 @@ struct ctf_file
|
|||
{
|
||||
const ctf_fileops_t *ctf_fileops; /* Version-specific file operations. */
|
||||
struct ctf_header *ctf_header; /* The header from this CTF file. */
|
||||
unsigned char ctf_openflags; /* Flags the file had when opened. */
|
||||
ctf_sect_t ctf_data; /* CTF data from object file. */
|
||||
ctf_sect_t ctf_symtab; /* Symbol table from object file. */
|
||||
ctf_sect_t ctf_strtab; /* String table from object file. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue