[Bug 219153] head, stable/11, release/11.0.1: libkvm (& more?) not updated to handle powerpc/powerpc64 ET_DYN based vmcore.* 's and such
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sun May 14 06:36:51 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219153
--- Comment #13 from Mark Millard <markmi at dsl-only.net> ---
(In reply to Mark Millard from comment #12)
I found the "Raw core file not supported"
logic in /usr/src/lib/libkvm/kvm_powerpc.c :
static int
_powerpc_kvatop(kvm_t *kd, kvaddr_t va, off_t *ofs)
{
struct vmstate *vm;
vm = kd->vmst;
if (be32toh(vm->ph->p_paddr) == 0xffffffff)
return ((int)powerpc_va2off(kd, va, ofs));
_kvm_err(kd, kd->program, "Raw corefile not supported");
return (0);
}
where the usage was:
(gdb) step
_powerpc_kvatop (kd=0x41e14000, ofs=0xffffcaa0) at
/usr/src/lib/libkvm/kvm_powerpc.c:208
(gdb) print *kd
$11 = {arch = 0x41898118, program = 0x0, errp = 0x0, errbuf = 0x41e1400c "",
pmfd = 6, vmfd = -1, nlfd = 7, nlehdr = {e_ident = 0x41e14818
"\177ELF\001\002\001\t", e_type = 3, e_machine = 20,
e_version = 1, e_entry = 1048800, e_phoff = 0, e_shoff = 36444532, e_flags
= 32768, e_ehsize = 52, e_phentsize = 0, e_phnum = 0, e_shentsize = 40, e_shnum
= 69, e_shstrndx = 65},
resolve_symbol = 0, procbase = 0x0, argspc = 0x0, arglen = 0, argv = 0x0,
argc = 0, argbuf = 0x0, vmst = 0x41e22000, rawdump = 0, writable = 0,
vnet_initialized = 0, vnet_start = 0, vnet_stop = 0,
vnet_current = 0, vnet_base = 0, dpcpu_initialized = 0, dpcpu_start = 0,
dpcpu_stop = 0, dpcpu_maxcpus = 0, dpcpu_off = 0x0, dpcpu_curcpu = 0,
dpcpu_curoff = 0, pt_map = 0x0, pt_map_size = 0,
pt_sparse_off = 0, pt_sparse_size = 0, pt_popcounts = 0x0, pt_page_size = 0,
pt_word_size = 0}
(gdb) print *kd->vmst
$12 = {map = 0x41841000, mapsz = 84, dmphdrsz = 0, eh = 0x41841000, ph =
0x41841034}
(gdb) print *kd->vmst->ph
$13 = {p_type = 1, p_offset = 4096, p_vaddr = 4294967295, p_paddr = 0, p_filesz
= 2147483648, p_memsz = 2147483648, p_flags = 4, p_align = 4096}
(gdb) print *kd->vmst->eh
$14 = {e_ident = 0x41841000 "\177ELF\001\002\001?", e_type = 4, e_machine = 20,
e_version = 0, e_entry = 0, e_phoff = 52, e_shoff = 0, e_flags = 0, e_ehsize =
52, e_phentsize = 32, e_phnum = 1,
e_shentsize = 40, e_shnum = 0, e_shstrndx = 0}
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-toolchain
mailing list