Subject: Re: Feb 7 sup; can't build a working kernel
To: None <amiga-dev@NetBSD.ORG>
From: Michael L. Hitch <osymh@gemini.oscs.montana.edu>
List: amiga-dev
Date: 02/10/1995 20:07:38
On Feb 10,  9:50am, Niklas Hallqvist wrote:
> >>>>> "Rob" == Rob Healey <rhealey@kas.helios.mn.org> writes:
> 
> Rob> 	Anybody able to build a working kernel from the Feb 7 sup? It
> Rob> will boot but can't seem to read the root filesystem correctly,
> Rob> i.e.  it will find /etc/init to exec and /sbin/sh to run but any
> Rob> directory below / is scrambled if you try to do an ls. Reboot
...
> This ought to work since the 9th, with the new copy.s.  I haven't
> rebooted yet, but did a similiar local change to copy.s and got
> things to work again.  The problems was that the changes to
> kern_exec.c involved a length argument to copyoutstr greater than 64K,
> and the old generic m68k implementation were known to not deal with
> such situations.

  That is the problem:  kern_exec.c is now using ARG_MAX as the maximum
length of the string to be copied.  ARG_MAX is defined as (256 * 1024).
The old copy.s code assumed the max length to be < 64K and only loaded
the low 16 bits of the size - which is now zero.  So when kern_exec.c
tried to copy out the arguments, copyoutstr would exit without copying
anything.

Michael

-- 
Michael L. Hitch			INTERNET:  osymh@montana.edu
Computer Consultant
Office of Systems and Computing Services
Montana State University	Bozeman, MT	USA