the problematic code is at /sys/src/9/port/segment.c:483,491

        for(i = 0; i < NSEG; i++) {
                ns = up->seg[i];
                if(ns == 0 || ns == s)
                        continue;
                if(newtop >= ns->base && newtop < ns->top) {
                        qunlock(&s->lk);
                        error(Esoverlap);
                }
        }

so either gcc is causing the math here to go funky, or
9vx really does have a odd segment layout.
what does /proc/$pid/segment say?

- erik

Reply via email to