First off, thanks to everyone who responded! The problem turns out to be a compiler bug in egcs, which (with optimization turned all the way up to -O6) generates bad code in the kernel; specifically in the file kernel/module.c. When I recompile just that file with -O2 optimization, or under gcc, the problem goes away. I'll isolate the problem and kick it toward the egcs folks. Thanks again! Brad Kaiser ([EMAIL PROTECTED])
