Kernel oops with 0.42 on ARM

michael.miller@prga.com michael.miller@prga.com
Wed Mar 15 14:05:00 GMT 2006


I have a Cerf Board which happily runs kernel 2.6.15.2 when built using
gcc 3.4.4, glibc 2.3.5 and binutils 2.16.1 via a Kegel 0.38 crosstool
script.  The Cerf Board is a PXA 255 (ARM XScale.)  I tried upgrading to
0.42 crosstool with gcc 4.1.0, glibc 2.3.2 and binutils 2.16.1.  This is
a combination that is listed as successful in Dan's Magic Matrix.  The
toolchain and kernel built successfully but when the kernel starts I get
an oops with an undefined instruction 0 at a pc address c01facdc that
seems via System.map to be actually in the stuart device structure from
generic.c in arch/arm/mach-pxa.  Almost like the structure itself is
trying to be executed.  Since things were happy before the compiler
change that suggests the problem is probably with gcc 4.1.0 or one of
its options.  Any ideas what might be going wrong or how to narrow down
the source of the problem?  

	Regards Mike



Log snippet from oops:

Linux version 2.6.15.2 (mike@nu.prga.net) (gcc version 4.1.0) #57 Mon
Mar 13 12:54:39 CST 2006
CPU: XScale-PXA255 [69052d06] revision 6 (ARMv5TE)
Machine: CerfBoard PXA Reference Board
Memory policy: ECC disabled, Data cache writeback
Memory clock: 99.53MHz (*27)
Run Mode clock: 398.13MHz (*4)
Turbo Mode clock: 398.13MHz (*1.0, active)
MCS0 = 0x12443fd0
MCS1 = 0x1558124c
MCS2 = 0x2aa85aa8
Detected Serial/GPIO Daughterboard.
CPU0: D VIVT undefined 5 cache
CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
Built 1 zonelists
Kernel command line: console=ttyS0,38400 rw root=1f03 init=/linuxrc
mem=64M rootfstype=jffs2
PID hash table entries: 512 (order: 9, 8192 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 64MB = 64MB total
Memory: 62640KB available (1879K code, 192K data, 92K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
NET: Registered protocol family 23
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
Serial: 8250/16550 driver $Revision: 1.90 $ 0 ports, IRQ sharing
disabled
pxa2xx-uart.0: ttyS0 at MMIO 0x40100000 (irq = 15) is a FFUART
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with
idebus=xx
Probing CerfBoard flash at physical address 0x00000000
Failed to ioremap cached PXA CerfBoard flash
Probing PXA CerfBoard flash at physical address 0xffffffff
PXA CerfBoard flash: Found 2 x16 devices at 0x0 in 32-bit bank
 Intel/Sharp Extended Query Table at 0x0031
Using buffer write method
cfi_cmdset_0001: Erase suspend on write enabled
Searching for RedBoot partition table in PXA CerfBoard flash at offset
0x1fc0000
No RedBoot partition table detected in PXA CerfBoard flash
Using static partitions on PXA CerfBoard flash
Creating 4 MTD partitions on "PXA CerfBoard flash":
0x00000000-0x00040000 : "Bootloader"
0x00040000-0x000c0000 : "Partition Tables"
0x000c0000-0x00200000 : "Kernel"
0x00200000-0x02000000 : "Filesystem"
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
Internal error: Oops - undefined instruction: 0 [#1]
Modules linked in:
CPU: 0
pc : [<c01facdc>]    lr : [<c00f7824>]    Not tainted
sp : c02cf5c4  ip : c02cfe84  fp : c02cfe80
r10: 00000000  r9 : 00000000  r8 : c02072c0
r7 : c02090c0  r6 : c01fa7a8  r5 : 00000000  r4 : 00000001
r3 : c01fac68  r2 : 20000013  r1 : c02090c0  r0 : c0207260
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  Segment kernel
Control: 397F  Table: A0004000  DAC: 00000017
Process swapper (pid: 1, stack limit = 0xc02ce194)
Stack: (0xc02cf5c4 to 0xc02d0000)
f5c0:          c02090c0 0000001b 0000001c 0000001d 00000006 00000007
00000008 
... and so on

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list