forked from Imagelibrary/binutils-gdb
libctf: rename ctf_dict.ctf_{symtab,strtab}
These two fields are constantly confusing because CTF dicts contain both a symtypetab and strtab, but these fields are not that: they are the symtab and strtab from the ELF file. We have enough string tables now (internal, external, synthetic external, dynamic) that we need to at least name them better than this to avoid getting totally confused. Rename them to ctf_ext_symtab and ctf_ext_strtab. libctf/ * ctf-dump.c (ctf_dump_objts): Rename ctf_symtab -> ctf_ext_symtab. * ctf-impl.h (struct ctf_dict.ctf_symtab): Rename to... (struct ctf_dict.ctf_ext_strtab): ... this. (struct ctf_dict.ctf_strtab): Rename to... (struct ctf_dict.ctf_ext_strtab): ... this. * ctf-lookup.c (ctf_lookup_symbol_name): Adapt. (ctf_lookup_symbol_idx): Adapt. (ctf_lookup_by_sym_or_name): Adapt. * ctf-open.c (ctf_bufopen_internal): Adapt. (ctf_dict_close): Adapt. (ctf_getsymsect): Adapt. (ctf_getstrsect): Adapt. (ctf_symsect_endianness): Adapt.
This commit is contained in:
@@ -441,7 +441,7 @@ ctf_dump_objts (ctf_dict_t *fp, ctf_dump_state_t *state, int functions)
|
|||||||
if ((functions && fp->ctf_funcidx_names)
|
if ((functions && fp->ctf_funcidx_names)
|
||||||
|| (!functions && fp->ctf_objtidx_names))
|
|| (!functions && fp->ctf_objtidx_names))
|
||||||
str = str_append (str, _("Section is indexed.\n"));
|
str = str_append (str, _("Section is indexed.\n"));
|
||||||
else if (fp->ctf_symtab.cts_data == NULL)
|
else if (fp->ctf_ext_symtab.cts_data == NULL)
|
||||||
str = str_append (str, _("No symbol table.\n"));
|
str = str_append (str, _("No symbol table.\n"));
|
||||||
|
|
||||||
while ((id = ctf_symbol_next (fp, &i, &name, functions)) != CTF_ERR)
|
while ((id = ctf_symbol_next (fp, &i, &name, functions)) != CTF_ERR)
|
||||||
|
|||||||
@@ -366,9 +366,9 @@ struct ctf_dict
|
|||||||
struct ctf_header *ctf_header; /* The header from this CTF dict. */
|
struct ctf_header *ctf_header; /* The header from this CTF dict. */
|
||||||
unsigned char ctf_openflags; /* Flags the dict had when opened. */
|
unsigned char ctf_openflags; /* Flags the dict had when opened. */
|
||||||
ctf_sect_t ctf_data; /* CTF data from object file. */
|
ctf_sect_t ctf_data; /* CTF data from object file. */
|
||||||
ctf_sect_t ctf_symtab; /* Symbol table from object file. */
|
ctf_sect_t ctf_ext_symtab; /* Symbol table from object file. */
|
||||||
ctf_sect_t ctf_strtab; /* String table from object file. */
|
ctf_sect_t ctf_ext_strtab; /* String table from object file. */
|
||||||
int ctf_symsect_little_endian; /* Endianness of the ctf_symtab. */
|
int ctf_symsect_little_endian; /* Endianness of the ctf_ext_symtab. */
|
||||||
ctf_dynhash_t *ctf_symhash_func; /* (partial) hash, symsect name -> idx. */
|
ctf_dynhash_t *ctf_symhash_func; /* (partial) hash, symsect name -> idx. */
|
||||||
ctf_dynhash_t *ctf_symhash_objt; /* ditto, for object symbols. */
|
ctf_dynhash_t *ctf_symhash_objt; /* ditto, for object symbols. */
|
||||||
size_t ctf_symhash_latest; /* Amount of symsect scanned so far. */
|
size_t ctf_symhash_latest; /* Amount of symsect scanned so far. */
|
||||||
|
|||||||
@@ -469,7 +469,7 @@ ctf_symidx_sort (ctf_dict_t *fp, uint32_t *idx, size_t *nidx,
|
|||||||
static const char *
|
static const char *
|
||||||
ctf_lookup_symbol_name (ctf_dict_t *fp, unsigned long symidx)
|
ctf_lookup_symbol_name (ctf_dict_t *fp, unsigned long symidx)
|
||||||
{
|
{
|
||||||
const ctf_sect_t *sp = &fp->ctf_symtab;
|
const ctf_sect_t *sp = &fp->ctf_ext_symtab;
|
||||||
ctf_link_sym_t sym;
|
ctf_link_sym_t sym;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
@@ -540,7 +540,7 @@ static unsigned long
|
|||||||
ctf_lookup_symbol_idx (ctf_dict_t *fp, const char *symname, int try_parent,
|
ctf_lookup_symbol_idx (ctf_dict_t *fp, const char *symname, int try_parent,
|
||||||
int is_function)
|
int is_function)
|
||||||
{
|
{
|
||||||
const ctf_sect_t *sp = &fp->ctf_symtab;
|
const ctf_sect_t *sp = &fp->ctf_ext_symtab;
|
||||||
ctf_link_sym_t sym;
|
ctf_link_sym_t sym;
|
||||||
void *known_idx;
|
void *known_idx;
|
||||||
int err;
|
int err;
|
||||||
@@ -973,7 +973,7 @@ ctf_lookup_by_sym_or_name (ctf_dict_t *fp, unsigned long symidx,
|
|||||||
const char *symname, int try_parent,
|
const char *symname, int try_parent,
|
||||||
int is_function)
|
int is_function)
|
||||||
{
|
{
|
||||||
const ctf_sect_t *sp = &fp->ctf_symtab;
|
const ctf_sect_t *sp = &fp->ctf_ext_symtab;
|
||||||
ctf_id_t type = 0;
|
ctf_id_t type = 0;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -1626,8 +1626,8 @@ ctf_bufopen_internal (const ctf_sect_t *ctfsect, const ctf_sect_t *symsect,
|
|||||||
|
|
||||||
if (symsect != NULL)
|
if (symsect != NULL)
|
||||||
{
|
{
|
||||||
memcpy (&fp->ctf_symtab, symsect, sizeof (ctf_sect_t));
|
memcpy (&fp->ctf_ext_symtab, symsect, sizeof (ctf_sect_t));
|
||||||
memcpy (&fp->ctf_strtab, strsect, sizeof (ctf_sect_t));
|
memcpy (&fp->ctf_ext_strtab, strsect, sizeof (ctf_sect_t));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fp->ctf_data.cts_name != NULL)
|
if (fp->ctf_data.cts_name != NULL)
|
||||||
@@ -1636,14 +1636,14 @@ ctf_bufopen_internal (const ctf_sect_t *ctfsect, const ctf_sect_t *symsect,
|
|||||||
err = ENOMEM;
|
err = ENOMEM;
|
||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
if (fp->ctf_symtab.cts_name != NULL)
|
if (fp->ctf_ext_symtab.cts_name != NULL)
|
||||||
if ((fp->ctf_symtab.cts_name = strdup (fp->ctf_symtab.cts_name)) == NULL)
|
if ((fp->ctf_ext_symtab.cts_name = strdup (fp->ctf_ext_symtab.cts_name)) == NULL)
|
||||||
{
|
{
|
||||||
err = ENOMEM;
|
err = ENOMEM;
|
||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
if (fp->ctf_strtab.cts_name != NULL)
|
if (fp->ctf_ext_strtab.cts_name != NULL)
|
||||||
if ((fp->ctf_strtab.cts_name = strdup (fp->ctf_strtab.cts_name)) == NULL)
|
if ((fp->ctf_ext_strtab.cts_name = strdup (fp->ctf_ext_strtab.cts_name)) == NULL)
|
||||||
{
|
{
|
||||||
err = ENOMEM;
|
err = ENOMEM;
|
||||||
goto bad;
|
goto bad;
|
||||||
@@ -1651,10 +1651,10 @@ ctf_bufopen_internal (const ctf_sect_t *ctfsect, const ctf_sect_t *symsect,
|
|||||||
|
|
||||||
if (fp->ctf_data.cts_name == NULL)
|
if (fp->ctf_data.cts_name == NULL)
|
||||||
fp->ctf_data.cts_name = _CTF_NULLSTR;
|
fp->ctf_data.cts_name = _CTF_NULLSTR;
|
||||||
if (fp->ctf_symtab.cts_name == NULL)
|
if (fp->ctf_ext_symtab.cts_name == NULL)
|
||||||
fp->ctf_symtab.cts_name = _CTF_NULLSTR;
|
fp->ctf_ext_symtab.cts_name = _CTF_NULLSTR;
|
||||||
if (fp->ctf_strtab.cts_name == NULL)
|
if (fp->ctf_ext_strtab.cts_name == NULL)
|
||||||
fp->ctf_strtab.cts_name = _CTF_NULLSTR;
|
fp->ctf_ext_strtab.cts_name = _CTF_NULLSTR;
|
||||||
|
|
||||||
if (strsect != NULL)
|
if (strsect != NULL)
|
||||||
{
|
{
|
||||||
@@ -1836,11 +1836,11 @@ ctf_dict_close (ctf_dict_t *fp)
|
|||||||
if (fp->ctf_data.cts_name != _CTF_NULLSTR)
|
if (fp->ctf_data.cts_name != _CTF_NULLSTR)
|
||||||
free ((char *) fp->ctf_data.cts_name);
|
free ((char *) fp->ctf_data.cts_name);
|
||||||
|
|
||||||
if (fp->ctf_symtab.cts_name != _CTF_NULLSTR)
|
if (fp->ctf_ext_symtab.cts_name != _CTF_NULLSTR)
|
||||||
free ((char *) fp->ctf_symtab.cts_name);
|
free ((char *) fp->ctf_ext_symtab.cts_name);
|
||||||
|
|
||||||
if (fp->ctf_strtab.cts_name != _CTF_NULLSTR)
|
if (fp->ctf_ext_strtab.cts_name != _CTF_NULLSTR)
|
||||||
free ((char *) fp->ctf_strtab.cts_name);
|
free ((char *) fp->ctf_ext_strtab.cts_name);
|
||||||
else if (fp->ctf_data_mmapped)
|
else if (fp->ctf_data_mmapped)
|
||||||
ctf_munmap (fp->ctf_data_mmapped, fp->ctf_data_mmapped_len);
|
ctf_munmap (fp->ctf_data_mmapped, fp->ctf_data_mmapped_len);
|
||||||
|
|
||||||
@@ -1909,13 +1909,13 @@ ctf_getdatasect (const ctf_dict_t *fp)
|
|||||||
ctf_sect_t
|
ctf_sect_t
|
||||||
ctf_getsymsect (const ctf_dict_t *fp)
|
ctf_getsymsect (const ctf_dict_t *fp)
|
||||||
{
|
{
|
||||||
return fp->ctf_symtab;
|
return fp->ctf_ext_symtab;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctf_sect_t
|
ctf_sect_t
|
||||||
ctf_getstrsect (const ctf_dict_t *fp)
|
ctf_getstrsect (const ctf_dict_t *fp)
|
||||||
{
|
{
|
||||||
return fp->ctf_strtab;
|
return fp->ctf_ext_strtab;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set the endianness of the symbol table attached to FP. */
|
/* Set the endianness of the symbol table attached to FP. */
|
||||||
@@ -1930,8 +1930,8 @@ ctf_symsect_endianness (ctf_dict_t *fp, int little_endian)
|
|||||||
our idea of the endianness has changed. */
|
our idea of the endianness has changed. */
|
||||||
|
|
||||||
if (old_endianness != fp->ctf_symsect_little_endian
|
if (old_endianness != fp->ctf_symsect_little_endian
|
||||||
&& fp->ctf_sxlate != NULL && fp->ctf_symtab.cts_data != NULL)
|
&& fp->ctf_sxlate != NULL && fp->ctf_ext_symtab.cts_data != NULL)
|
||||||
assert (init_symtab (fp, fp->ctf_header, &fp->ctf_symtab) == 0);
|
assert (init_symtab (fp, fp->ctf_header, &fp->ctf_ext_symtab) == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return the CTF handle for the parent CTF dict, if one exists. Otherwise
|
/* Return the CTF handle for the parent CTF dict, if one exists. Otherwise
|
||||||
|
|||||||
Reference in New Issue
Block a user