[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: new mvme88k kernel problems
- To: <tech_(_at_)_openbsd_(_dot_)_org>
- Subject: Re: new mvme88k kernel problems
- From: "Steve Murphree, Jr." <smurph_(_at_)_lgate_(_dot_)_cneti_(_dot_)_com>
- Date: Tue, 3 Nov 1998 11:30:58 -0600
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
>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 -' 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.
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?