diff options
-rw-r--r-- | usr.sbin/kvm_mkdb/nlist.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/usr.sbin/kvm_mkdb/nlist.c b/usr.sbin/kvm_mkdb/nlist.c index 036b32a49c42..f1d004c57a4b 100644 --- a/usr.sbin/kvm_mkdb/nlist.c +++ b/usr.sbin/kvm_mkdb/nlist.c @@ -136,8 +136,19 @@ create_knlist(name, db) if (strcmp((char *)key.data, VRS_SYM) == 0) { long cur_off, voff; #ifndef KERNTEXTOFF +/* + * XXX + * The FreeBSD bootloader loads the kernel at the a_entry address, meaning + * that this is where the kernel starts. (not at KERNBASE) + * + * This may be introducing an i386 dependency. + */ +#if defined(__FreeBSD__) +#define KERNTEXTOFF ebuf.a_entry +#else #define KERNTEXTOFF KERNBASE #endif +#endif /* * Calculate offset relative to a normal (non-kernel) * a.out. KERNTEXTOFF is where the kernel is really |