strhdr
struct strhdr *next;
#define STRTBLINCR ((size_t)sizeof (struct strhdr))
static struct strhdr strtblhdr[allocsize(MAXCOMPLEXLEN) / STRTBLINCR];
struct strhdr *np;
struct strhdr *tp, *np;
np = (struct strhdr *)name;
GElf_Shdr strhdr;
gelf_getshdr(strscn, &strhdr) == NULL)
strhdr.sh_name);
strsect.cts_type = strhdr.sh_type;
strsect.cts_flags = strhdr.sh_flags;
strsect.cts_size = strhdr.sh_size;
strsect.cts_entsize = strhdr.sh_entsize;
strsect.cts_offset = (off64_t)strhdr.sh_offset;
mp->symhdr, mp->strings, mp->strhdr, errp)) == NULL)
if (mod->symhdr != NULL && mod->strhdr != NULL && mod->symtbl != NULL &&
mod->symhdr, mod->symtbl, mod->strhdr, mod->strings,
(uintptr_t)mod->strhdr) != sizeof (Shdr))
mp->strhdr == NULL || mp->symtbl == NULL || mp->strings == NULL) {
mp->symtbl, mp->strhdr, mp->strings,
&kmc->kmc_ehdr, mp->symhdr, mp->symtbl, mp->strhdr,
Shdr *symhdr, const void *str_va, Shdr *strhdr, int *errp)
strtab.cts_type = strhdr->sh_type;
strtab.cts_flags = strhdr->sh_flags;
strtab.cts_size = strhdr->sh_size;
strtab.cts_entsize = strhdr->sh_entsize;
strtab.cts_offset = strhdr->sh_offset;
Shdr symhdr, strhdr;
kmod.strhdr == NULL) {
if (mdb_tgt_vread(t, &strhdr, sizeof (Shdr),
(uintptr_t)kmod.strhdr) == -1) {
kmod.symsize = symhdr.sh_size + strhdr.sh_size;
km->km_strtab_hdr = strhdr;
if (!xkb_read_word(xkb, (uintptr_t)module->strhdr +
Elf32_Shdr *strhdr; /* section table entry for strtab */
strhdr = (Elf32_Shdr *)secdata->d_buf;
strhdr = strhdr + symhdr->sh_link;
if (strhdr->sh_type != SHT_STRTAB) {
if ((strdata = elf_read(fd, strhdr->sh_offset, strhdr->sh_size,
strhdr->sh_size, ELF_T_BYTE)) == 0) {
((char *)strdata->d_buf)[strhdr->sh_size-1] = '\0';
if (sym->st_name > strhdr->sh_size) {
strsect.cts_size = mp->strhdr->sh_size;
size = mp->strhdr->sh_size;
mp->strhdr = (Shdr *)(mp->symhdr + 1);
mp->symtbl = (char *)(mp->strhdr + 1);
mp->strhdr->sh_type = SHT_STRTAB;
mp->strhdr->sh_addr = (Addr)mp->strings;
mp->strhdr->sh_size = strsize;
mp->strhdr->sh_addralign = 1;
mp->strhdr = (Shdr *)
(mp->hashsize + mp->nsyms) * sizeof (symid_t) + mp->strhdr->sh_size;
mp->strhdr->sh_size, mp->strhdr->sh_offset) < 0) {
if (sp->st_name >= mp->strhdr->sh_size)
mp->strhdr = NULL;
mp->strhdr = kobj_zalloc(sizeof (Shdr), KM_WAIT);
mp->strhdr->sh_type = SHT_STRTAB;
mp->strhdr->sh_addr = dyn->d_un.d_ptr;
mp->strhdr->sh_size = dyn->d_un.d_val;
mp->strhdr = (Shdr *)
mp->strings = (char *)mp->strhdr->sh_addr;
mp->symsize = mp->symhdr->sh_size + mp->strhdr->sh_size + sizeof (int) +
mp1->symhdr != mp2->symhdr || mp1->strhdr != mp2->strhdr ||
Shdr *strhdr = symhdr + symhdr->sh_link;
char *strings = (char *)strhdr->sh_addr;
Shdr *symhdr, *strhdr;
mp->strhdr = (Shdr *)
mp->nsyms * sizeof (symid_t) + mp->strhdr->sh_size;
mp->strhdr->sh_size, mp->strhdr->sh_offset) < 0))