[okl4-developer] memory address conversion from process to wombat
Geoffrey Lee
glee at ok-labs.com
Fri Sep 5 11:55:19 EST 2008
On Thu, Sep 04, 2008 at 10:56:01AM -0700, Damien Schulz wrote:
> Hi there,
>
> currently I'm trying to execute OKL4 1.5.2 including Wombat on an Samsung s3c2440 SoC.
> After some time I always get the following error (console output):
>
> <6>alignment fault: @ 1032c, faddr=35ff75a2 in: dummyapp (50)
> Segmentation fault
Hi Damien
This appears to be a Linux program error, not a kernel problem.
The program counter at the time the Linux program was running
was 1032c and the fault address was 35ff75a2, which indeed
appears to be unaligned. Is it possible to disassemble the
Linux program to see what it was doing at that time?
-gl
>
> Code around the faulty instruction (in l4kernel):
>
> f00102a8 <__udivsi3>:
> f00102a8: e2512001 subs r2, r1, #1 ; 0x1
> f00102ac: 01a0f00e moveq pc, lr
> f00102b0: 3a000036 bcc f0010390 <__udivsi3+0xe8>
> f00102b4: e1500001 cmp r0, r1
> f00102b8: 9a000022 bls f0010348 <__udivsi3+0xa0>
> f00102bc: e1110002 tst r1, r2
> f00102c0: 0a000023 beq f0010354 <__udivsi3+0xac>
> f00102c4: e311020e tst r1, #-536870912 ; 0xe0000000
> f00102c8: 01a01181 moveq r1, r1, lsl #3
> f00102cc: 03a03008 moveq r3, #8 ; 0x8
> f00102d0: 13a03001 movne r3, #1 ; 0x1
> f00102d4: e3510201 cmp r1, #268435456 ; 0x10000000
> f00102d8: 31510000 cmpcc r1, r0
> f00102dc: 31a01201 movcc r1, r1, lsl #4
> f00102e0: 31a03203 movcc r3, r3, lsl #4
> f00102e4: 3afffffa bcc f00102d4 <__udivsi3+0x2c>
> f00102e8: e3510102 cmp r1, #-2147483648 ; 0x80000000
> f00102ec: 31510000 cmpcc r1, r0
> f00102f0: 31a01081 movcc r1, r1, lsl #1
> f00102f4: 31a03083 movcc r3, r3, lsl #1
> f00102f8: 3afffffa bcc f00102e8 <__udivsi3+0x40>
> f00102fc: e3a02000 mov r2, #0 ; 0x0
> f0010300: e1500001 cmp r0, r1
> f0010304: 20400001 subcs r0, r0, r1
> f0010308: 21822003 orrcs r2, r2, r3
> f001030c: e15000a1 cmp r0, r1, lsr #1
> f0010310: 204000a1 subcs r0, r0, r1, lsr #1
> f0010314: 218220a3 orrcs r2, r2, r3, lsr #1
> f0010318: e1500121 cmp r0, r1, lsr #2
> f001031c: 20400121 subcs r0, r0, r1, lsr #2
> f0010320: 21822123 orrcs r2, r2, r3, lsr #2
> f0010324: e15001a1 cmp r0, r1, lsr #3
> f0010328: 204001a1 subcs r0, r0, r1, lsr #3
> f001032c: 218221a3 orrcs r2, r2, r3, lsr #3 <-- crash
> f0010330: e3500000 cmp r0, #0 ; 0x0
> f0010334: 11b03223 movnes r3, r3, lsr #4
> f0010338: 11a01221 movne r1, r1, lsr #4
> f001033c: 1affffef bne f0010300 <__udivsi3+0x58>
> f0010340: e1a00002 mov r0, r2
> f0010344: e1a0f00e mov pc, lr
>
> And this is what I google says to this problem:
> https://lists.ertos.nicta.com.au/archives/kenge-users/2006-September/000352.html
>
> It seems that a similar problem has already been fixed some time ago.
>
> Has anyone an idea what could cause this problem?
>
> Thank you,
> ~Damien
>
> _______________________________________________
> Developer mailing list
> Developer at okl4.org
> https://lists.okl4.org/mailman/listinfo/developer
>
--
More information about the Developer
mailing list