[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: new mvme88k kernel problems

-----Original Message-----
From: Steve Murphree, Jr. <root_(_at_)_smcomp_(_dot_)_com>
To: tech_(_at_)_openbsd_(_dot_)_org <tech_(_at_)_openbsd_(_dot_)_org>
Date: Saturday, October 31, 1998 7:13 PM
Subject: new mvme88k kernel problems

>Hello all,
>I have a working, but crippled kernel for the mvme88k.  It seems 
>that a program that is being executed with no args doesn't work.
>eg. 'ls' bombs, but 'ls -l' works.
>Hence, when init fires up a shell, 'sh', it gets SIGSEGV. csh doesn't 
>have this problem for some reason.  I can boot to single user, specify 
>csh as the shell, get a prompt and then run sh with an argument and 
>sh will then function.
>I hacked up pwd to test some things.  I made it accept any arguments 
>'pwd' bomb
>'pwd -' works
>'pwd steve' bomb
>'pwd - steve' bomb
>'pwd - steve -' works
>With no args the program never gets out of crt0.o, main is never called, 
>and the program generates a segment violation.  It seems that the stack 
>given to the program is off-limits.  The moment crt0.o tries to get 
>argc, argv, etc. it SIGSEGVs.
>Any clues?

This seems to be a stack alignment problem.  I aligned the stack on a 
quad word boundary and everything started working.  Hmm...  Why would 
this matter if the stack is supposed to be aligned to a double word 
boundary?  Is this a compiler issue?