[OE-core] kernel miscompilation with gcc 4.8 for ARMv5
Enrico Scholz
enrico.scholz at sigma-chemnitz.de
Wed Jul 10 11:36:46 UTC 2013
Hi,
is it expected that recent gcc 4.8[1] compiles the kernel correctly?
Kernels for ARMv5 platforms (PXA168 -> 3.4.52, MX28 -> 3.8.13) fail here
100% at early boot with
[ 0.404750] Unable to handle kernel paging request at virtual address 00210020
[ 0.412468] pgd = c0004000
[ 0.415187] [00210020] *pgd=00000000
[ 0.418812] Internal error: Oops: 5 [#1] PREEMPT ARM
[ 0.423781] CPU: 0 Not tainted (3.8.13.ipan4 #1)
[ 0.428781] PC is at kmem_cache_alloc+0x44/0xcc
[ 0.433375] LR is at con_insert_unipair+0xa4/0xf0
[ 0.438093] pc : [<c00a6d7c>] lr : [<c02dc654>] psr: 20000053
(this is a similar error as described in [2]). Enabling heavy memory
debugging shows
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xc8800000 - 0xff000000 ( 872 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0436000 (4280 kB)
[ 0.000000] .init : 0xc0436000 - 0xc046a000 ( 208 kB)
[ 0.000000] .data : 0xc046a000 - 0xc049bff8 ( 200 kB)
[ 0.000000] .bss : 0xc049c01c - 0xc0511680 ( 470 kB)
[ 0.000000] =============================================================================
[ 0.000000] BUG kmem_cache_node (Not tainted): Redzone overwritten
[ 0.000000] -----------------------------------------------------------------------------
[ 0.000000]
[ 0.000000] INFO: 0xc78010fc-0xc78010ff. First byte 0x5a instead of 0xbb
[ 0.000000] INFO: Slab 0xc0620024 objects=18 used=18 fp=0x (null) flags=0x0080
[ 0.000000] INFO: Object 0xc78010e0 @offset=224 fp=0xc78011c0
[ 0.000000]
[ 0.000000] Bytes b4 c78010d0: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZZZZZZZZZ
[ 0.000000] Object c78010e0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
[ 0.000000] Object c78010f0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 5a kkkkkkkkkkkZ
[ 0.000000] Redzone c78010fc: 5a 5a 5a 5a ZZZZ
[ 0.000000] Padding c78011a4: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZZZZZZZZZ
[ 0.000000] Padding c78011b4: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZZZZZ
[ 0.000000] Backtrace:
for the 3.4.52 kernel. Compiling mm/slub.o with -O1 fixes *these*
problems but there happen other crashes later.
A kernel compiled for an ARMv7 platform (OMAP4, kernel 3.4.43) seems to
work (although there might be enabled other kernel options).
Are these problems resp. fixes known?
Enrico
Footnotes:
[1] from 4f5009dcbbeb27bdf5dcaebb3b457fecef410ebe
[2] https://bugs.launchpad.net/ubuntu/+source/gcc-4.8/+bug/1178847
More information about the Openembedded-core
mailing list