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
