i finally got some traction on the plumbing problem
i've been seeing on kw. but now i'm stumped.
perhaps there is something obvious that i am missing.
here's the original problem. this only is observable on kw,
as far as i know:
mkdir /tmp/2.6 && cd /tmp && acme
b3 on 2.6, directory does not open.
in /sys/src/cmd/acme/look.c:/^look3.c if i add
fn1("");
right before Return:, the problem goes away. if i
add
fn0();
the problem remains. the definitions are
void
fn0(void)
{
}
void
fn1(char*)
{
}
i think i've ruled out a timing or proc restore problem
because a call to sleep(100) from fn0 doesn't change
anything.
but this is really a strange problem, since openfile()
should have already run! somehow code run later
seems to change the result.
the assembly in question is (works)
look3+0x2dc 0x0001265c BL openfile
look3+0x2e0 0x00012660 MOVW $#0x471b1,R0
look3+0x2e4 0x00012664 BL fn1
look3+0x2e8 0x00012668 B look3+0x1b0
or (doesn't work)
look3+0x2dc 0x0001265c BL openfile
look3+0x2e0 0x00012660 BL fn0
look3+0x2e4 0x00012664 B look3+0x1b0
ideas?
- erik