Lines Matching refs:hdr
270 struct ksyms_hdr *hdr; in ksyms_snapshot() local
273 hdr = malloc(sizeof(*hdr), M_KSYMS, M_WAITOK | M_ZERO); in ksyms_snapshot()
278 hdr->kh_ehdr.e_ident[EI_PAD] = 0; in ksyms_snapshot()
279 hdr->kh_ehdr.e_ident[EI_MAG0] = ELFMAG0; in ksyms_snapshot()
280 hdr->kh_ehdr.e_ident[EI_MAG1] = ELFMAG1; in ksyms_snapshot()
281 hdr->kh_ehdr.e_ident[EI_MAG2] = ELFMAG2; in ksyms_snapshot()
282 hdr->kh_ehdr.e_ident[EI_MAG3] = ELFMAG3; in ksyms_snapshot()
283 hdr->kh_ehdr.e_ident[EI_DATA] = ELF_DATA; in ksyms_snapshot()
284 hdr->kh_ehdr.e_ident[EI_OSABI] = ELFOSABI_FREEBSD; in ksyms_snapshot()
285 hdr->kh_ehdr.e_ident[EI_CLASS] = ELF_CLASS; in ksyms_snapshot()
286 hdr->kh_ehdr.e_ident[EI_VERSION] = EV_CURRENT; in ksyms_snapshot()
287 hdr->kh_ehdr.e_ident[EI_ABIVERSION] = 0; in ksyms_snapshot()
288 hdr->kh_ehdr.e_type = ET_EXEC; in ksyms_snapshot()
289 hdr->kh_ehdr.e_machine = ELF_ARCH; in ksyms_snapshot()
290 hdr->kh_ehdr.e_version = EV_CURRENT; in ksyms_snapshot()
291 hdr->kh_ehdr.e_entry = 0; in ksyms_snapshot()
292 hdr->kh_ehdr.e_phoff = offsetof(struct ksyms_hdr, kh_txtphdr); in ksyms_snapshot()
293 hdr->kh_ehdr.e_shoff = offsetof(struct ksyms_hdr, kh_shdr); in ksyms_snapshot()
294 hdr->kh_ehdr.e_flags = 0; in ksyms_snapshot()
295 hdr->kh_ehdr.e_ehsize = sizeof(Elf_Ehdr); in ksyms_snapshot()
296 hdr->kh_ehdr.e_phentsize = sizeof(Elf_Phdr); in ksyms_snapshot()
297 hdr->kh_ehdr.e_phnum = 2; /* Text and Data */ in ksyms_snapshot()
298 hdr->kh_ehdr.e_shentsize = sizeof(Elf_Shdr); in ksyms_snapshot()
299 hdr->kh_ehdr.e_shnum = SHDR_NUM; in ksyms_snapshot()
300 hdr->kh_ehdr.e_shstrndx = SHDR_SHSTRTAB; in ksyms_snapshot()
305 hdr->kh_txtphdr.p_type = PT_LOAD; in ksyms_snapshot()
307 hdr->kh_txtphdr.p_vaddr = 0; in ksyms_snapshot()
308 hdr->kh_txtphdr.p_memsz = 0; in ksyms_snapshot()
309 hdr->kh_txtphdr.p_flags = PF_R | PF_X; in ksyms_snapshot()
311 hdr->kh_datphdr.p_type = PT_LOAD; in ksyms_snapshot()
313 hdr->kh_datphdr.p_vaddr = 0; in ksyms_snapshot()
314 hdr->kh_datphdr.p_memsz = 0; in ksyms_snapshot()
315 hdr->kh_datphdr.p_flags = PF_R | PF_W | PF_X; in ksyms_snapshot()
324 hdr->kh_shdr[SHDR_SYMTAB].sh_name = 1; /* String offset (skip null) */ in ksyms_snapshot()
325 hdr->kh_shdr[SHDR_SYMTAB].sh_type = SHT_SYMTAB; in ksyms_snapshot()
326 hdr->kh_shdr[SHDR_SYMTAB].sh_flags = 0; in ksyms_snapshot()
327 hdr->kh_shdr[SHDR_SYMTAB].sh_addr = 0; in ksyms_snapshot()
328 hdr->kh_shdr[SHDR_SYMTAB].sh_offset = sizeof(*hdr); in ksyms_snapshot()
329 hdr->kh_shdr[SHDR_SYMTAB].sh_size = ts->ts_symsz; in ksyms_snapshot()
330 hdr->kh_shdr[SHDR_SYMTAB].sh_link = SHDR_STRTAB; in ksyms_snapshot()
331 hdr->kh_shdr[SHDR_SYMTAB].sh_info = ts->ts_symsz / sizeof(Elf_Sym); in ksyms_snapshot()
332 hdr->kh_shdr[SHDR_SYMTAB].sh_addralign = sizeof(long); in ksyms_snapshot()
333 hdr->kh_shdr[SHDR_SYMTAB].sh_entsize = sizeof(Elf_Sym); in ksyms_snapshot()
336 hdr->kh_shdr[SHDR_STRTAB].sh_name = 1 + sizeof(STR_SYMTAB); in ksyms_snapshot()
337 hdr->kh_shdr[SHDR_STRTAB].sh_type = SHT_STRTAB; in ksyms_snapshot()
338 hdr->kh_shdr[SHDR_STRTAB].sh_flags = 0; in ksyms_snapshot()
339 hdr->kh_shdr[SHDR_STRTAB].sh_addr = 0; in ksyms_snapshot()
340 hdr->kh_shdr[SHDR_STRTAB].sh_offset = in ksyms_snapshot()
341 hdr->kh_shdr[SHDR_SYMTAB].sh_offset + ts->ts_symsz; in ksyms_snapshot()
342 hdr->kh_shdr[SHDR_STRTAB].sh_size = ts->ts_strsz; in ksyms_snapshot()
343 hdr->kh_shdr[SHDR_STRTAB].sh_link = 0; in ksyms_snapshot()
344 hdr->kh_shdr[SHDR_STRTAB].sh_info = 0; in ksyms_snapshot()
345 hdr->kh_shdr[SHDR_STRTAB].sh_addralign = sizeof(char); in ksyms_snapshot()
346 hdr->kh_shdr[SHDR_STRTAB].sh_entsize = 0; in ksyms_snapshot()
349 hdr->kh_shdr[SHDR_SHSTRTAB].sh_name = 1 + sizeof(STR_SYMTAB) + in ksyms_snapshot()
351 hdr->kh_shdr[SHDR_SHSTRTAB].sh_type = SHT_STRTAB; in ksyms_snapshot()
352 hdr->kh_shdr[SHDR_SHSTRTAB].sh_flags = 0; in ksyms_snapshot()
353 hdr->kh_shdr[SHDR_SHSTRTAB].sh_addr = 0; in ksyms_snapshot()
354 hdr->kh_shdr[SHDR_SHSTRTAB].sh_offset = in ksyms_snapshot()
356 hdr->kh_shdr[SHDR_SHSTRTAB].sh_size = sizeof(ksyms_shstrtab); in ksyms_snapshot()
357 hdr->kh_shdr[SHDR_SHSTRTAB].sh_link = 0; in ksyms_snapshot()
358 hdr->kh_shdr[SHDR_SHSTRTAB].sh_info = 0; in ksyms_snapshot()
359 hdr->kh_shdr[SHDR_SHSTRTAB].sh_addralign = 0 /* sizeof(char) */; in ksyms_snapshot()
360 hdr->kh_shdr[SHDR_SHSTRTAB].sh_entsize = 0; in ksyms_snapshot()
363 bcopy(ksyms_shstrtab, hdr->kh_shstrtab, sizeof(ksyms_shstrtab)); in ksyms_snapshot()
366 to.to_symoff = hdr->kh_shdr[SHDR_SYMTAB].sh_offset; in ksyms_snapshot()
367 to.to_stroff = hdr->kh_shdr[SHDR_STRTAB].sh_offset; in ksyms_snapshot()
372 error = ksyms_emit(sc, hdr, 0, sizeof(*hdr)); in ksyms_snapshot()
373 free(hdr, M_KSYMS); in ksyms_snapshot()