| 169 | } |
| 170 | |
| 171 | void |
| 172 | X_db_symbol_values(db_symtab_t *symtab, c_db_sym_t sym, const char **namep, |
| 173 | db_expr_t *valp) |
| 174 | { |
| 175 | linker_symval_t lval; |
| 176 | |
| 177 | if (symtab->private == NULL) { |
| 178 | linker_ddb_symbol_values((c_linker_sym_t)sym, &lval); |
| 179 | if (namep != NULL) |
| 180 | *namep = (const char*)lval.name; |
| 181 | if (valp != NULL) |
| 182 | *valp = (db_expr_t)lval.value; |
| 183 | } else { |
| 184 | if (namep != NULL) |
| 185 | *namep = (const char *)DB_PRIVATE(symtab)->strtab + |
| 186 | ((const Elf_Sym *)sym)->st_name; |
| 187 | if (valp != NULL) |
| 188 | *valp = (db_expr_t)((const Elf_Sym *)sym)->st_value + |
| 189 | DB_PRIVATE(symtab)->relbase; |
| 190 | } |
| 191 | } |
| 192 | |
| 193 | int |
| 194 | db_fetch_ksymtab(vm_offset_t ksym_start, vm_offset_t ksym_end, |
no test coverage detected