------- Comment #6 from mikpe at it dot uu dot se  2010-05-28 11:49 -------
Confirmed.  A linux-2.6.34 kernel configured for ARM and compiled with
gcc-4.5-20100520 crashes during boot with a NULL pointer dereference in its
copy_user_highpage() exactly at the point where it tries to start /sbin/init.  
HIGHMEM enabled or not makes no difference.  The same kernel compiled with
gcc-4.4.4 boots fine.

Both gcc's were configured for armv5tel-unknown-linux-gnu --with-arch=armv5te
--with-tune=xscale.  The linux kernels were built for mach-iop32x/n2100 (XScale
IOP80219).

I note that copypage-xscale.c:xscale_mc_copy_user_highpage() calls a __naked
function to do the bulk copy.  Converting that to a plain inline function
(changing 'pc' to 'lr' in the final instruction that restores the scrach regs),
does not prevent the crash.  So I suspect a plain C code miscompilation.

I'll try to bisect it.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44290

Reply via email to