symtab
struct nlist *p, *symtab;
symtab = (struct nlist *)(a_out_mmap + symoff);
soff = symtab->n_un.n_strx;
if (soff != 0 && (symtab->n_type & N_STAB) == 0)
p->n_value = symtab->n_value;
p->n_type = symtab->n_type;
p->n_desc = symtab->n_desc;
p->n_other = symtab->n_other;
symtab++;
if (!(q->symtab = symtab_new()))
symtab_destroy(q->symtab);
struct symtab *symtab;
struct symtab *
struct symtab *symtab;
if (!(symtab = calloc(sizeof(struct symtab), 1)))
return symtab;
symtab->tab.hashfunc = &hashfunc_string;
symtab->tab.cmpfunc = &cmpfunc_string;
return symtab;
symtab_destroy(struct symtab *symtab)
free(symtab);
symtab_find(const struct symtab *symtab, const char *str)
if (hash_find(&symtab->tab, (uintptr_t)str, &val))
symtab_insert(struct symtab *symtab, const char *name,
hash_insert(&symtab->tab, (uintptr_t)name, (uintptr_t)var);
parse_var(f->var, q->symtab, &var, &q->parse_err_buf[0],
parse_string(&q->pending_event, q->symtab, &ev->fmt[1],
const struct symtab *symtab;
struct symtab *symtab;
struct symtab *symtab_new(void);
struct evtr_variable * symtab_find(const struct symtab *, const char *);
int symtab_insert(struct symtab *, const char *, struct evtr_variable *);
void symtab_destroy(struct symtab *);
int parse_string(evtr_event_t, struct symtab *, const char *, char *, size_t);
int parse_var(const char *, struct symtab *, struct evtr_variable **,
hsh = symtab_find(ctx->symtab, hashname);
var = symtab_find(ctx->symtab, (yyvsp[(1) - (1)].tok)->str);
symtab_insert(ctx->symtab, (yyvsp[(1) - (1)].tok)->str, var);
symtab_insert(ctx->symtab, var->name, var);
parse_string(evtr_event_t ev, struct symtab *symtab, const char *str,
ctx.symtab = symtab;
parse_var(const char *str, struct symtab *symtab, struct evtr_variable **var,
ctx.symtab = symtab;
symtab_insert(ctx->symtab, var->name, var);
var = symtab_find(ctx->symtab, $1->str);
symtab_insert(ctx->symtab, $1->str, var);
parse_string(evtr_event_t ev, struct symtab *symtab, const char *str,
ctx.symtab = symtab;
parse_var(const char *str, struct symtab *symtab, struct evtr_variable **var,
ctx.symtab = symtab;
hsh = symtab_find(ctx->symtab, hashname);
static struct symtab *strtab;
typedef struct symtab symtab_t;
sym = obj->symtab + ELF_R_SYM(rel->r_info);
sym = obj->symtab + ELF_R_SYM(rela->r_info);
obj->symtab = (const Elf_Sym *)
ref = refobj->symtab + symnum;
if (obj->symtab == NULL || obj->strtab == NULL ||
def = obj->symtab + symoffset;
symp = obj->symtab + symnum;
const Elf_Sym *symtab; /* Symbol table */
dstsym = dstobj->symtab + ELF_R_SYM(rela->r_info);
ef->symtab = (Elf_Sym*)(uintptr_t)(dp[i].d_un.d_ptr + off);
if (ef->hashtab == NULL || ef->symtab == NULL ||
Elf_Sym *symtab;
COPYOUT(ef->symtab + symnum, &sym, sizeof(sym));
X_db_line_at_pc(db_symtab_t *symtab, c_db_sym_t cursym, char **filename,
X_db_sym_numargs(db_symtab_t *symtab, c_db_sym_t cursym, int *nargp,
X_db_search_symbol(db_symtab_t *symtab, db_addr_t off, db_strategy_t strategy,
X_db_symbol_values(db_symtab_t *symtab, c_db_sym_t dbsym, const char **namep,
boolean_t X_db_line_at_pc (db_symtab_t *symtab, c_db_sym_t cursym,
c_db_sym_t X_db_search_symbol (db_symtab_t *symtab, db_addr_t off,
void X_db_symbol_values (db_symtab_t *symtab,
Elf_Sym* symtab;
symtab = (Elf_Sym *)base;
ef->ddbsymtab = symtab;
ef->symtab = (Elf_Sym*) (ef->address + dp->d_un.d_ptr);
ef->ddbsymtab = ef->symtab;
ref = ef->symtab + ELF_R_SYM(r_info);
symp = ef->symtab + symnum;
if (ef->symtab == ef->ddbsymtab)
if (es >= ef->symtab && es < (ef->symtab + ef->nchains)) {
if (ef->symtab == ef->ddbsymtab)
const Elf_Sym* symtab; /* DT_SYMTAB */
sym = ef->symtab + symidx;