logo       

Bugfix.: msg#00067

os.netbsd.ports.vax

Subject: Bugfix.

Can someone please commit this?
It's a bug in the kernel. Running a program like nslookup will immediately panic the system.

----------
diff -c -r1.89 vm_machdep.c
*** sys/arch/vax/vax/vm_machdep.c 11 Dec 2005 12:19:36 -0000 1.89
--- sys/arch/vax/vax/vm_machdep.c 23 Dec 2005 13:16:34 -0000
***************
*** 190,196 ****
void *arg;
{
struct pcb *pcb = &l->l_addr->u_pcb;
! struct trapframe *tf = (struct trapframe *)(l->l_addr + USPACE) - 1;
struct callsframe *cf;
extern int sret;

--- 190,196 ----
void *arg;
{
struct pcb *pcb = &l->l_addr->u_pcb;
! struct trapframe *tf = (struct trapframe *)((u_int)l->l_addr + USPACE) - 1;
struct callsframe *cf;
extern int sret;
-----------


Also, with the latest set of changes, the kernel will not build on a vax.
Several things are wrong.
First of all, DEFS.h is missing. It can be copied from
lib/libc/arch/vax/DEFS.h to sys/lib/libkern/arch/vax

Second, sys/lib/libkern/libkern.h defines different functions, such as memcpy. This conflicts with the definitions in sys/arch/vax/include/macros.h, where these functions are declared as inline functions.

I have patches for this, but I'm not sure my solution really is the correct way to deal with it. (I'm just #if -ing things out if I'm building for VAX).

Johnny

--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt@xxxxxxxxxxxx || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise