static int kt_symtab_func(void *data, const GElf_Sym *sym, const char *name, uint_t id) { kt_symarg_t *argp = data; if (mdb_tgt_sym_match(sym, argp->sym_type)) { argp->sym_info.sym_id = id; return (argp->sym_cb(argp->sym_data, sym, name, &argp->sym_info, argp->sym_obj)); } return (0); }
static int kp_symtab_func(void *data, const GElf_Sym *symp, const char *name, uint_t id) { kp_symarg_t *argp = data; if (mdb_tgt_sym_match(symp, argp->sym_type)) { GElf_Sym sym = *symp; sym.st_value += argp->sym_adjust; argp->sym_info.sym_id = id; return (argp->sym_cb(argp->sym_data, &sym, name, &argp->sym_info, argp->sym_obj)); } return (0); }