[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
Mon May 8 21:22:00 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219153
Bug ID: 219153
Summary: head, stable/11, release/11.0.1: libkvm (& more?) not
updated to handle powerpc/powerpc64 ET_DYN based
vmcore.* 's and such
Product: Base System
Version: CURRENT
Hardware: powerpc
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: bin
Assignee: freebsd-bugs at FreeBSD.org
Reporter: markmi at dsl-only.net
[stable/11 and release/11.0.1 likely have the same
issue but the work would start in head so I picked
CURRENT since multi-select is not available.]
powerpc and powerpc64 use position independent kernels
these days and as such have kd->nlehdr.e_type == ET_DYN
(stated in libkvm terms).
But libkvm rejects all but ET_EXEC via:
_kvm_probe_elf_kernel(kvm_t *kd, int class, int machine)
{
return (kd->nlehdr.e_ident[EI_CLASS] == class &&
kd->nlehdr.e_type == ET_EXEC &&
kd->nlehdr.e_machine == machine);
}
There may be more than just this test needed
to work for ET_DYN for all I know.
But the test being unchanged suggests that libkvm
was not adjusted at all to be compatible with the
newer type of kernels that powerpc and powerpc64
switched to.
There may be more infrastructure around than just
libkvm that has not been updated to handle ET_DYN
based kernels for at least powerpc and powerpc64,
where they are in use for sure.
FYI:
20150307:
The 32-bit PowerPC kernel has been changed to a position-independent
executable. This can only be booted with a version of loader(8)
newer than January 31, 2015, so make sure to update both world and
kernel before rebooting.
. . .
20150131:
The powerpc64 kernel has been changed to a position-independent
executable. This can only be booted with a new version of loader(8),
so make sure to update both world and kernel before rebooting.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list