vmx: update openbsd kernel heuristics

in OpenBSD 6.9 and up, the kernel (bsd, bsd.mp) still has
the ostype symbols, but bsd.rd appears to have lost them,
even when decompressed.

so, as a result, we should use what we have, which isn't
much.
This commit is contained in:
Ori Bernstein 2021-09-25 16:57:58 +00:00
parent 6e8b8c8f1a
commit 235ef367d7

View file

@ -728,7 +728,7 @@ obsdload(void)
static int
tryelf(void)
{
char *s;
char *s, *t;
if(!elfheaders()) return 0;
elfdata();
@ -736,6 +736,11 @@ tryelf(void)
s = symaddr(elfsym("ostype"));
if(s != nil && strcmp(s, "OpenBSD") == 0)
return obsdload();
/* from 6.9 up, bsd.rd has just these syms */
s = symaddr(elfsym("rd_root_image"));
t = symaddr(elfsym("rd_root_size"));
if(s != nil && t != nil)
return obsdload();
return 0;
}