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

Reply via email to