[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