在 2010-11-12五的 11:19 -0600,Scott Wood写道:
> On Fri, 12 Nov 2010 20:45:18 +0800
> terry <gliumailena...@gmail.com> wrote:
> 
> > Dear Scott,
> >     I have disassemble the nand_base.o file,because i know the problem
> > happened here.
> 
> Why not disassemble the whole u-boot?
> 
> Then you'll get malloc as well, and the addresses will be closer to
> what shows up in the dump.
> 
> > Do you think it's useful for your analysis?
> 
> Can you disassemble malloc?  That's where it actually crashed.

following is part of result that I disassemble the whole u-boot.

33f85f50 <nand_scan_tail>:
  6487 33f85f50:   e92d4070    push    {r4, r5, r6, lr}
  6488 33f85f54:   e590509c    ldr r5, [r0, #156]
  6489 33f85f58:   e595304c    ldr r3, [r5, #76]
  6490 33f85f5c:   e3130701    tst r3, #262144 ; 0x40000
  6491 33f85f60:   e1a06000    mov r6, r0
  6492 33f85f64:   1a000002    bne 33f85f74 <nand_scan_tail+0x24>
  6493 33f85f68:   e59f04ec    ldr r0, [pc, #1260] ; 33f8645c
<nand_scan_tail+0x       50c>// value seen below.
  6494 33f85f6c:   eb0026cc    bl  33f8faa4 <malloc>
  6495 33f85f70:   e58500dc    str r0, [r5, #220]
  6496 33f85f74:   e59510dc    ldr r1, [r5, #220]
  6497 33f85f78:   e3510000    cmp r1, #0  ; 0x0
  6498 33f85f7c:   03e0000b    mvneq   r0, #11 ; 0xb
  6499 33f85f80:   08bd8070    popeq   {r4, r5, r6, pc}

value of pc + 1260:
33f8645c:   0000128e    .word   0x0000128e

and the following is part of malloc after disassembled, you can find the
detailed content of malloc in the attachment malloc.dis file(I'm not
sure which part could be useful,so I attached whole malloc).

 61 33f8fb84:   9a000004    bls 33f8fb9c <malloc+0xf8>
 62 33f8fb88:   e59f352c    ldr r3, [pc, #1324] ; 33f900bc <malloc
+0x618>
 63 33f8fb8c:   e1520003    cmp r2, r3
 64 33f8fb90:   91a0392a    lsrls   r3, sl, #18
 65 33f8fb94:   83a0207e    movhi   r2, #126    ; 0x7e
 66 33f8fb98:   9283207c    addls   r2, r3, #124    ; 0x7c
 67 33f8fb9c:   e59f3514    ldr r3, [pc, #1300] ; 33f900b8 <malloc
+0x614>
 68 33f8fba0:   e0834182    add r4, r3, r2, lsl #3
 69 33f8fba4:   e594000c    ldr r0, [r4, #12]
 70 33f8fba8:   ea000012    b   33f8fbf8 <malloc+0x154>
 71 33f8fbac:   e5903004    ldr r3, [r0, #4]
 72 33f8fbb0:   e3c33003    bic r3, r3, #3  ; 0x3  //it seems that
exception occurs here
 73 33f8fbb4:   e06a1003    rsb r1, sl, r3
 74 33f8fbb8:   e351000f    cmp r1, #15 ; 0xf
 75 33f8fbbc:   c2422001    subgt   r2, r2, #1  ; 0x1
 76 33f8fbc0:   ca00000e    bgt 33f8fc00 <malloc+0x15c>
 77 33f8fbc4:   e3510000    cmp r1, #0  ; 0x0
 78 33f8fbc8:   e590c00c    ldr ip, [r0, #12]
 79 33f8fbcc:   ba000008    blt 33f8fbf4 <malloc+0x150>
 80 33f8fbd0:   e0803003    add r3, r0, r3
 81 33f8fbd4:   e5932004    ldr r2, [r3, #4]
 82 33f8fbd8:   e5901008    ldr r1, [r0, #8]

> > 00001a4c <nand_scan_tail>:
> >  1749     1a4c:   e92d4070    push    {r4, r5, r6, lr}
> >  1750     1a50:   e590509c    ldr r5, [r0, #156]
> >  1751     1a54:   e595304c    ldr r3, [r5, #76]
> >  1752     1a58:   e3130701    tst r3, #262144 ; 0x40000
> >  1753     1a5c:   e1a06000    mov r6, r0
> >  1754     1a60:   1a000002    bne 1a70 <nand_scan_tail+0x24>
> >  1755     1a64:   e59f04ec    ldr r0, [pc, #1260] ; 1f58 <nand_scan_tail
> > +0x50c>
> >  1756     1a68:   ebfffffe    bl  0 <malloc>
> 
> What's the value at PC+1260?
It's "1f58:   0000128e    .word   0x0000128e"
> 
> > by the way,I cann't find the prototype of malloc in the whole project,it
> > seems that it is encapsulated in some libs.
> 
> It's in common/malloc.c.  There's weird preprocessor renaming going on,
> so it's called mALLOc in that file, but it shows up as malloc in the
> binary.
Thanks very much for your carefully instruction.

> 
> -Scott
> 

-- 
Best regards,
terry
33f8faa0 <cfree>:
33f8faa0:       eaffff6f        b       33f8f864 <free>

33f8faa4 <malloc>:
33f8faa4:       e59f2608        ldr     r2, [pc, #1544] ; 33f900b4 
<malloc+0x610>
33f8faa8:       e5923004        ldr     r3, [r2, #4]
33f8faac:       e3530000        cmp     r3, #0  ; 0x0
33f8fab0:       e92d47f0        push    {r4, r5, r6, r7, r8, r9, sl, lr}
33f8fab4:       1a000002        bne     33f8fac4 <malloc+0x20>
33f8fab8:       e5923008        ldr     r3, [r2, #8]
33f8fabc:       e3530000        cmp     r3, #0  ; 0x0
33f8fac0:       0a000178        beq     33f900a8 <malloc+0x604>
33f8fac4:       e3500000        cmp     r0, #0  ; 0x0
33f8fac8:       ba000176        blt     33f900a8 <malloc+0x604>
33f8facc:       e280000b        add     r0, r0, #11     ; 0xb
33f8fad0:       e3500016        cmp     r0, #22 ; 0x16
33f8fad4:       d3a0a010        movle   sl, #16 ; 0x10
33f8fad8:       da000002        ble     33f8fae8 <malloc+0x44>
33f8fadc:       e3c0a007        bic     sl, r0, #7      ; 0x7
33f8fae0:       e35a0f7e        cmp     sl, #504        ; 0x1f8
33f8fae4:       2a000015        bcs     33f8fb40 <malloc+0x9c>
33f8fae8:       e59f35c8        ldr     r3, [pc, #1480] ; 33f900b8 
<malloc+0x614>
33f8faec:       e1a021aa        lsr     r2, sl, #3
33f8faf0:       e0833182        add     r3, r3, r2, lsl #3
33f8faf4:       e593c00c        ldr     ip, [r3, #12]
33f8faf8:       e15c0003        cmp     ip, r3
33f8fafc:       1a000004        bne     33f8fb14 <malloc+0x70>
33f8fb00:       e28c3008        add     r3, ip, #8      ; 0x8
33f8fb04:       e593c00c        ldr     ip, [r3, #12]
33f8fb08:       e15c0003        cmp     ip, r3
33f8fb0c:       02827002        addeq   r7, r2, #2      ; 0x2
33f8fb10:       0a00003b        beq     33f8fc04 <malloc+0x160>
33f8fb14:       e59c3004        ldr     r3, [ip, #4]
33f8fb18:       e3c33003        bic     r3, r3, #3      ; 0x3
33f8fb1c:       e08c3003        add     r3, ip, r3
33f8fb20:       e5932004        ldr     r2, [r3, #4]
33f8fb24:       e59c000c        ldr     r0, [ip, #12]
33f8fb28:       e59c1008        ldr     r1, [ip, #8]
33f8fb2c:       e3822001        orr     r2, r2, #1      ; 0x1
33f8fb30:       e5801008        str     r1, [r0, #8]
33f8fb34:       e5832004        str     r2, [r3, #4]
33f8fb38:       e581000c        str     r0, [r1, #12]
33f8fb3c:       ea00004c        b       33f8fc74 <malloc+0x1d0>
33f8fb40:       e1b024aa        lsrs    r2, sl, #9
33f8fb44:       01a021aa        lsreq   r2, sl, #3
33f8fb48:       0a000013        beq     33f8fb9c <malloc+0xf8>
33f8fb4c:       e3520004        cmp     r2, #4  ; 0x4
33f8fb50:       91a0332a        lsrls   r3, sl, #6
33f8fb54:       92832038        addls   r2, r3, #56     ; 0x38
33f8fb58:       9a00000f        bls     33f8fb9c <malloc+0xf8>
33f8fb5c:       e3520014        cmp     r2, #20 ; 0x14
33f8fb60:       9282205b        addls   r2, r2, #91     ; 0x5b
33f8fb64:       9a00000c        bls     33f8fb9c <malloc+0xf8>
33f8fb68:       e3520054        cmp     r2, #84 ; 0x54
33f8fb6c:       91a0362a        lsrls   r3, sl, #12
33f8fb70:       9283206e        addls   r2, r3, #110    ; 0x6e
33f8fb74:       9a000008        bls     33f8fb9c <malloc+0xf8>
33f8fb78:       e3520f55        cmp     r2, #340        ; 0x154
33f8fb7c:       91a037aa        lsrls   r3, sl, #15
33f8fb80:       92832077        addls   r2, r3, #119    ; 0x77
33f8fb84:       9a000004        bls     33f8fb9c <malloc+0xf8>
33f8fb88:       e59f352c        ldr     r3, [pc, #1324] ; 33f900bc 
<malloc+0x618>
33f8fb8c:       e1520003        cmp     r2, r3
33f8fb90:       91a0392a        lsrls   r3, sl, #18
33f8fb94:       83a0207e        movhi   r2, #126        ; 0x7e
33f8fb98:       9283207c        addls   r2, r3, #124    ; 0x7c
33f8fb9c:       e59f3514        ldr     r3, [pc, #1300] ; 33f900b8 
<malloc+0x614>
33f8fba0:       e0834182        add     r4, r3, r2, lsl #3
33f8fba4:       e594000c        ldr     r0, [r4, #12]
33f8fba8:       ea000012        b       33f8fbf8 <malloc+0x154>
33f8fbac:       e5903004        ldr     r3, [r0, #4]
33f8fbb0:       e3c33003        bic     r3, r3, #3      ; 0x3
33f8fbb4:       e06a1003        rsb     r1, sl, r3
33f8fbb8:       e351000f        cmp     r1, #15 ; 0xf
33f8fbbc:       c2422001        subgt   r2, r2, #1      ; 0x1
33f8fbc0:       ca00000e        bgt     33f8fc00 <malloc+0x15c>
33f8fbc4:       e3510000        cmp     r1, #0  ; 0x0
33f8fbc8:       e590c00c        ldr     ip, [r0, #12]
33f8fbcc:       ba000008        blt     33f8fbf4 <malloc+0x150>
33f8fbd0:       e0803003        add     r3, r0, r3
33f8fbd4:       e5932004        ldr     r2, [r3, #4]
33f8fbd8:       e5901008        ldr     r1, [r0, #8]
33f8fbdc:       e3822001        orr     r2, r2, #1      ; 0x1
33f8fbe0:       e58c1008        str     r1, [ip, #8]
33f8fbe4:       e5832004        str     r2, [r3, #4]
33f8fbe8:       e581c00c        str     ip, [r1, #12]
33f8fbec:       e2805008        add     r5, r0, #8      ; 0x8
33f8fbf0:       ea00012d        b       33f900ac <malloc+0x608>
33f8fbf4:       e1a0000c        mov     r0, ip
33f8fbf8:       e1500004        cmp     r0, r4
33f8fbfc:       1affffea        bne     33f8fbac <malloc+0x108>
33f8fc00:       e2827001        add     r7, r2, #1      ; 0x1
33f8fc04:       e59f54ac        ldr     r5, [pc, #1196] ; 33f900b8 
<malloc+0x614>
33f8fc08:       e2859008        add     r9, r5, #8      ; 0x8
33f8fc0c:       e599c008        ldr     ip, [r9, #8]
33f8fc10:       e15c0009        cmp     ip, r9
33f8fc14:       0a000056        beq     33f8fd74 <malloc+0x2d0>
33f8fc18:       e59c3004        ldr     r3, [ip, #4]
33f8fc1c:       e3c34003        bic     r4, r3, #3      ; 0x3
33f8fc20:       e06a0004        rsb     r0, sl, r4
33f8fc24:       e350000f        cmp     r0, #15 ; 0xf
33f8fc28:       da000009        ble     33f8fc54 <malloc+0x1b0>
33f8fc2c:       e08c200a        add     r2, ip, sl
33f8fc30:       e38a3001        orr     r3, sl, #1      ; 0x1
33f8fc34:       e3801001        orr     r1, r0, #1      ; 0x1
33f8fc38:       e58c3004        str     r3, [ip, #4]
33f8fc3c:       e589200c        str     r2, [r9, #12]
33f8fc40:       e5892008        str     r2, [r9, #8]
33f8fc44:       e7820000        str     r0, [r2, r0]
33f8fc48:       e9820202        stmib   r2, {r1, r9}
33f8fc4c:       e582900c        str     r9, [r2, #12]
33f8fc50:       ea000007        b       33f8fc74 <malloc+0x1d0>
33f8fc54:       e3500000        cmp     r0, #0  ; 0x0
33f8fc58:       e589900c        str     r9, [r9, #12]
33f8fc5c:       e5899008        str     r9, [r9, #8]
33f8fc60:       ba000005        blt     33f8fc7c <malloc+0x1d8>
33f8fc64:       e08c2004        add     r2, ip, r4
33f8fc68:       e5923004        ldr     r3, [r2, #4]
33f8fc6c:       e3833001        orr     r3, r3, #1      ; 0x1
33f8fc70:       e5823004        str     r3, [r2, #4]
33f8fc74:       e28c5008        add     r5, ip, #8      ; 0x8
33f8fc78:       ea00010b        b       33f900ac <malloc+0x608>
33f8fc7c:       e3540c02        cmp     r4, #512        ; 0x200
33f8fc80:       2a00000c        bcs     33f8fcb8 <malloc+0x214>
33f8fc84:       e5953004        ldr     r3, [r5, #4]
33f8fc88:       e1a011a4        lsr     r1, r4, #3
33f8fc8c:       e1a00141        asr     r0, r1, #2
33f8fc90:       e3a02001        mov     r2, #1  ; 0x1
33f8fc94:       e1833012        orr     r3, r3, r2, lsl r0
33f8fc98:       e5853004        str     r3, [r5, #4]
33f8fc9c:       e0851181        add     r1, r5, r1, lsl #3
33f8fca0:       e5913008        ldr     r3, [r1, #8]
33f8fca4:       e58c100c        str     r1, [ip, #12]
33f8fca8:       e58c3008        str     r3, [ip, #8]
33f8fcac:       e583c00c        str     ip, [r3, #12]
33f8fcb0:       e581c008        str     ip, [r1, #8]
33f8fcb4:       ea00002e        b       33f8fd74 <malloc+0x2d0>
33f8fcb8:       e1a014a4        lsr     r1, r4, #9
33f8fcbc:       e3510004        cmp     r1, #4  ; 0x4
33f8fcc0:       91a03324        lsrls   r3, r4, #6
33f8fcc4:       92831038        addls   r1, r3, #56     ; 0x38
33f8fcc8:       9a00000f        bls     33f8fd0c <malloc+0x268>
33f8fccc:       e3510014        cmp     r1, #20 ; 0x14
33f8fcd0:       9281105b        addls   r1, r1, #91     ; 0x5b
33f8fcd4:       9a00000c        bls     33f8fd0c <malloc+0x268>
33f8fcd8:       e3510054        cmp     r1, #84 ; 0x54
33f8fcdc:       91a03624        lsrls   r3, r4, #12
33f8fce0:       9283106e        addls   r1, r3, #110    ; 0x6e
33f8fce4:       9a000008        bls     33f8fd0c <malloc+0x268>
33f8fce8:       e3510f55        cmp     r1, #340        ; 0x154
33f8fcec:       91a037a4        lsrls   r3, r4, #15
33f8fcf0:       92831077        addls   r1, r3, #119    ; 0x77
33f8fcf4:       9a000004        bls     33f8fd0c <malloc+0x268>
33f8fcf8:       e59f33bc        ldr     r3, [pc, #956]  ; 33f900bc 
<malloc+0x618>
33f8fcfc:       e1510003        cmp     r1, r3
33f8fd00:       91a03924        lsrls   r3, r4, #18
33f8fd04:       83a0107e        movhi   r1, #126        ; 0x7e
33f8fd08:       9283107c        addls   r1, r3, #124    ; 0x7c
33f8fd0c:       e59f63a4        ldr     r6, [pc, #932]  ; 33f900b8 
<malloc+0x614>
33f8fd10:       e0865181        add     r5, r6, r1, lsl #3
33f8fd14:       e5950008        ldr     r0, [r5, #8]
33f8fd18:       e1500005        cmp     r0, r5
33f8fd1c:       11a02000        movne   r2, r0
33f8fd20:       1a000009        bne     33f8fd4c <malloc+0x2a8>
33f8fd24:       e5963004        ldr     r3, [r6, #4]
33f8fd28:       e1a01141        asr     r1, r1, #2
33f8fd2c:       e3a02001        mov     r2, #1  ; 0x1
33f8fd30:       e1833112        orr     r3, r3, r2, lsl r1
33f8fd34:       e5863004        str     r3, [r6, #4]
33f8fd38:       e1a03000        mov     r3, r0
33f8fd3c:       ea000008        b       33f8fd64 <malloc+0x2c0>
33f8fd40:       e5922008        ldr     r2, [r2, #8]
33f8fd44:       e1520005        cmp     r2, r5
33f8fd48:       0a000003        beq     33f8fd5c <malloc+0x2b8>
33f8fd4c:       e5923004        ldr     r3, [r2, #4]
33f8fd50:       e3c33003        bic     r3, r3, #3      ; 0x3
33f8fd54:       e1540003        cmp     r4, r3
33f8fd58:       3afffff8        bcc     33f8fd40 <malloc+0x29c>
33f8fd5c:       e592300c        ldr     r3, [r2, #12]
33f8fd60:       e1a00002        mov     r0, r2
33f8fd64:       e58c300c        str     r3, [ip, #12]
33f8fd68:       e58c0008        str     r0, [ip, #8]
33f8fd6c:       e580c00c        str     ip, [r0, #12]
33f8fd70:       e583c008        str     ip, [r3, #8]
33f8fd74:       e1a03147        asr     r3, r7, #2
33f8fd78:       e3a02001        mov     r2, #1  ; 0x1
33f8fd7c:       e1a00312        lsl     r0, r2, r3
33f8fd80:       e59f3330        ldr     r3, [pc, #816]  ; 33f900b8 
<malloc+0x614>
33f8fd84:       e5932004        ldr     r2, [r3, #4]
33f8fd88:       e1500002        cmp     r0, r2
33f8fd8c:       8a00004f        bhi     33f8fed0 <malloc+0x42c>
33f8fd90:       e1100002        tst     r0, r2
33f8fd94:       03c73003        biceq   r3, r7, #3      ; 0x3
33f8fd98:       02837004        addeq   r7, r3, #4      ; 0x4
33f8fd9c:       0a000001        beq     33f8fda8 <malloc+0x304>
33f8fda0:       ea000003        b       33f8fdb4 <malloc+0x310>
33f8fda4:       e2877004        add     r7, r7, #4      ; 0x4
33f8fda8:       e1a00080        lsl     r0, r0, #1
33f8fdac:       e1100002        tst     r0, r2
33f8fdb0:       0afffffb        beq     33f8fda4 <malloc+0x300>
33f8fdb4:       e59f32fc        ldr     r3, [pc, #764]  ; 33f900b8 
<malloc+0x614>
33f8fdb8:       e0831187        add     r1, r3, r7, lsl #3
33f8fdbc:       e1a05007        mov     r5, r7
33f8fdc0:       e1a02001        mov     r2, r1
33f8fdc4:       e592400c        ldr     r4, [r2, #12]
33f8fdc8:       ea000020        b       33f8fe50 <malloc+0x3ac>
33f8fdcc:       e5943004        ldr     r3, [r4, #4]
33f8fdd0:       e3c33003        bic     r3, r3, #3      ; 0x3
33f8fdd4:       e06a6003        rsb     r6, sl, r3
33f8fdd8:       e356000f        cmp     r6, #15 ; 0xf
33f8fddc:       da00000e        ble     33f8fe1c <malloc+0x378>
33f8fde0:       e1a05004        mov     r5, r4
33f8fde4:       e594c00c        ldr     ip, [r4, #12]
33f8fde8:       e5b50008        ldr     r0, [r5, #8]!
33f8fdec:       e084300a        add     r3, r4, sl
33f8fdf0:       e38a1001        orr     r1, sl, #1      ; 0x1
33f8fdf4:       e3862001        orr     r2, r6, #1      ; 0x1
33f8fdf8:       e58c0008        str     r0, [ip, #8]
33f8fdfc:       e580c00c        str     ip, [r0, #12]
33f8fe00:       e5841004        str     r1, [r4, #4]
33f8fe04:       e5893008        str     r3, [r9, #8]
33f8fe08:       e589300c        str     r3, [r9, #12]
33f8fe0c:       e7836006        str     r6, [r3, r6]
33f8fe10:       e9830204        stmib   r3, {r2, r9}
33f8fe14:       e583900c        str     r9, [r3, #12]
33f8fe18:       ea0000a3        b       33f900ac <malloc+0x608>
33f8fe1c:       e3560000        cmp     r6, #0  ; 0x0
33f8fe20:       e594c00c        ldr     ip, [r4, #12]
33f8fe24:       ba000008        blt     33f8fe4c <malloc+0x3a8>
33f8fe28:       e0843003        add     r3, r4, r3
33f8fe2c:       e5932004        ldr     r2, [r3, #4]
33f8fe30:       e1a05004        mov     r5, r4
33f8fe34:       e5b51008        ldr     r1, [r5, #8]!
33f8fe38:       e3822001        orr     r2, r2, #1      ; 0x1
33f8fe3c:       e5832004        str     r2, [r3, #4]
33f8fe40:       e58c1008        str     r1, [ip, #8]
33f8fe44:       e581c00c        str     ip, [r1, #12]
33f8fe48:       ea000097        b       33f900ac <malloc+0x608>
33f8fe4c:       e1a0400c        mov     r4, ip
33f8fe50:       e1540002        cmp     r4, r2
33f8fe54:       1affffdc        bne     33f8fdcc <malloc+0x328>
33f8fe58:       e2855001        add     r5, r5, #1      ; 0x1
33f8fe5c:       e3150003        tst     r5, #3  ; 0x3
33f8fe60:       12822008        addne   r2, r2, #8      ; 0x8
33f8fe64:       1affffd6        bne     33f8fdc4 <malloc+0x320>
33f8fe68:       e1a03007        mov     r3, r7
33f8fe6c:       e3130003        tst     r3, #3  ; 0x3
33f8fe70:       e1a02001        mov     r2, r1
33f8fe74:       e2433001        sub     r3, r3, #1      ; 0x1
33f8fe78:       059f2238        ldreq   r2, [pc, #568]  ; 33f900b8 
<malloc+0x614>
33f8fe7c:       05923004        ldreq   r3, [r2, #4]
33f8fe80:       01c33000        biceq   r3, r3, r0
33f8fe84:       05823004        streq   r3, [r2, #4]
33f8fe88:       0a000002        beq     33f8fe98 <malloc+0x3f4>
33f8fe8c:       e4121008        ldr     r1, [r2], #-8
33f8fe90:       e1510002        cmp     r1, r2
33f8fe94:       0afffff4        beq     33f8fe6c <malloc+0x3c8>
33f8fe98:       e59f3218        ldr     r3, [pc, #536]  ; 33f900b8 
<malloc+0x614>
33f8fe9c:       e5933004        ldr     r3, [r3, #4]
33f8fea0:       e1a00080        lsl     r0, r0, #1
33f8fea4:       e1500003        cmp     r0, r3
33f8fea8:       8a000008        bhi     33f8fed0 <malloc+0x42c>
33f8feac:       e3500000        cmp     r0, #0  ; 0x0
33f8feb0:       0a000006        beq     33f8fed0 <malloc+0x42c>
33f8feb4:       e1a07005        mov     r7, r5
33f8feb8:       ea000001        b       33f8fec4 <malloc+0x420>
33f8febc:       e2877004        add     r7, r7, #4      ; 0x4
33f8fec0:       e1a00080        lsl     r0, r0, #1
33f8fec4:       e1100003        tst     r0, r3
33f8fec8:       1affffb9        bne     33f8fdb4 <malloc+0x310>
33f8fecc:       eafffffa        b       33f8febc <malloc+0x418>
33f8fed0:       e59f21e0        ldr     r2, [pc, #480]  ; 33f900b8 
<malloc+0x614>
33f8fed4:       e5926008        ldr     r6, [r2, #8]
33f8fed8:       e5963004        ldr     r3, [r6, #4]
33f8fedc:       e3c37003        bic     r7, r3, #3      ; 0x3
33f8fee0:       e06a0007        rsb     r0, sl, r7
33f8fee4:       e350000f        cmp     r0, #15 ; 0xf
33f8fee8:       ca000064        bgt     33f90080 <malloc+0x5dc>
33f8feec:       e59f31c0        ldr     r3, [pc, #448]  ; 33f900b4 
<malloc+0x610>
33f8fef0:       e5933034        ldr     r3, [r3, #52]
33f8fef4:       e5929408        ldr     r9, [r2, #1032]
33f8fef8:       e2833010        add     r3, r3, #16     ; 0x10
33f8fefc:       e3790001        cmn     r9, #1  ; 0x1
33f8ff00:       e083500a        add     r5, r3, sl
33f8ff04:       12853eff        addne   r3, r5, #4080   ; 0xff0
33f8ff08:       1283300f        addne   r3, r3, #15     ; 0xf
33f8ff0c:       13c35eff        bicne   r5, r3, #4080   ; 0xff0
33f8ff10:       13c5500f        bicne   r5, r5, #15     ; 0xf
33f8ff14:       e1a00005        mov     r0, r5
33f8ff18:       ebfffe11        bl      33f8f764 <sbrk>
33f8ff1c:       e3700001        cmn     r0, #1  ; 0x1
33f8ff20:       e1a04000        mov     r4, r0
33f8ff24:       0a00004e        beq     33f90064 <malloc+0x5c0>
33f8ff28:       e0862007        add     r2, r6, r7
33f8ff2c:       e1500002        cmp     r0, r2
33f8ff30:       2a000002        bcs     33f8ff40 <malloc+0x49c>
33f8ff34:       e59f317c        ldr     r3, [pc, #380]  ; 33f900b8 
<malloc+0x614>
33f8ff38:       e1560003        cmp     r6, r3
33f8ff3c:       1a000048        bne     33f90064 <malloc+0x5c0>
33f8ff40:       e59f116c        ldr     r1, [pc, #364]  ; 33f900b4 
<malloc+0x610>
33f8ff44:       e591300c        ldr     r3, [r1, #12]
33f8ff48:       e1540002        cmp     r4, r2
33f8ff4c:       e0853003        add     r3, r5, r3
33f8ff50:       e581300c        str     r3, [r1, #12]
33f8ff54:       1a000005        bne     33f8ff70 <malloc+0x4cc>
33f8ff58:       e59f2158        ldr     r2, [pc, #344]  ; 33f900b8 
<malloc+0x614>
33f8ff5c:       e0853007        add     r3, r5, r7
33f8ff60:       e5922008        ldr     r2, [r2, #8]
33f8ff64:       e3833001        orr     r3, r3, #1      ; 0x1
33f8ff68:       e5823004        str     r3, [r2, #4]
33f8ff6c:       ea000033        b       33f90040 <malloc+0x59c>
33f8ff70:       e3790001        cmn     r9, #1  ; 0x1
33f8ff74:       10843003        addne   r3, r4, r3
33f8ff78:       059f3138        ldreq   r3, [pc, #312]  ; 33f900b8 
<malloc+0x614>
33f8ff7c:       10623003        rsbne   r3, r2, r3
33f8ff80:       05834408        streq   r4, [r3, #1032]
33f8ff84:       1581300c        strne   r3, [r1, #12]
33f8ff88:       e2143007        ands    r3, r4, #7      ; 0x7
33f8ff8c:       12630008        rsbne   r0, r3, #8      ; 0x8
33f8ff90:       01a00003        moveq   r0, r3
33f8ff94:       e2853eff        add     r3, r5, #4080   ; 0xff0
33f8ff98:       10844000        addne   r4, r4, r0
33f8ff9c:       e283300f        add     r3, r3, #15     ; 0xf
33f8ffa0:       e0843003        add     r3, r4, r3
33f8ffa4:       e3c33eff        bic     r3, r3, #4080   ; 0xff0
33f8ffa8:       e0842005        add     r2, r4, r5
33f8ffac:       e3c3300f        bic     r3, r3, #15     ; 0xf
33f8ffb0:       e0623003        rsb     r3, r2, r3
33f8ffb4:       e0835000        add     r5, r3, r0
33f8ffb8:       e1a00005        mov     r0, r5
33f8ffbc:       ebfffde8        bl      33f8f764 <sbrk>
33f8ffc0:       e3700001        cmn     r0, #1  ; 0x1
33f8ffc4:       e1a03000        mov     r3, r0
33f8ffc8:       0a000025        beq     33f90064 <malloc+0x5c0>
33f8ffcc:       e59f00e0        ldr     r0, [pc, #224]  ; 33f900b4 
<malloc+0x610>
33f8ffd0:       e59f10e0        ldr     r1, [pc, #224]  ; 33f900b8 
<malloc+0x614>
33f8ffd4:       e590200c        ldr     r2, [r0, #12]
33f8ffd8:       e0643003        rsb     r3, r4, r3
33f8ffdc:       e0853003        add     r3, r5, r3
33f8ffe0:       e0852002        add     r2, r5, r2
33f8ffe4:       e3833001        orr     r3, r3, #1      ; 0x1
33f8ffe8:       e1560001        cmp     r6, r1
33f8ffec:       e580200c        str     r2, [r0, #12]
33f8fff0:       e5814008        str     r4, [r1, #8]
33f8fff4:       e5843004        str     r3, [r4, #4]
33f8fff8:       0a000010        beq     33f90040 <malloc+0x59c>
33f8fffc:       e357000f        cmp     r7, #15 ; 0xf
33f90000:       93a03001        movls   r3, #1  ; 0x1
33f90004:       95843004        strls   r3, [r4, #4]
33f90008:       9a000015        bls     33f90064 <malloc+0x5c0>
33f9000c:       e5963004        ldr     r3, [r6, #4]
33f90010:       e247200c        sub     r2, r7, #12     ; 0xc
33f90014:       e3c22007        bic     r2, r2, #7      ; 0x7
33f90018:       e2033001        and     r3, r3, #1      ; 0x1
33f9001c:       e1823003        orr     r3, r2, r3
33f90020:       e3a01005        mov     r1, #5  ; 0x5
33f90024:       e352000f        cmp     r2, #15 ; 0xf
33f90028:       e0862002        add     r2, r6, r2
33f9002c:       e5863004        str     r3, [r6, #4]
33f90030:       e5821008        str     r1, [r2, #8]
33f90034:       e5821004        str     r1, [r2, #4]
33f90038:       82860008        addhi   r0, r6, #8      ; 0x8
33f9003c:       8bfffe08        blhi    33f8f864 <free>
33f90040:       e59f106c        ldr     r1, [pc, #108]  ; 33f900b4 
<malloc+0x610>
33f90044:       e591200c        ldr     r2, [r1, #12]
33f90048:       e5913038        ldr     r3, [r1, #56]
33f9004c:       e1520003        cmp     r2, r3
33f90050:       85812038        strhi   r2, [r1, #56]
33f90054:       e59f1058        ldr     r1, [pc, #88]   ; 33f900b4 
<malloc+0x610>
33f90058:       e591303c        ldr     r3, [r1, #60]
33f9005c:       e1520003        cmp     r2, r3
33f90060:       8581203c        strhi   r2, [r1, #60]
33f90064:       e59f304c        ldr     r3, [pc, #76]   ; 33f900b8 
<malloc+0x614>
33f90068:       e5933008        ldr     r3, [r3, #8]
33f9006c:       e5933004        ldr     r3, [r3, #4]
33f90070:       e3c33003        bic     r3, r3, #3      ; 0x3
33f90074:       e06a0003        rsb     r0, sl, r3
33f90078:       e350000f        cmp     r0, #15 ; 0xf
33f9007c:       da000009        ble     33f900a8 <malloc+0x604>
33f90080:       e59fc030        ldr     ip, [pc, #48]   ; 33f900b8 
<malloc+0x614>
33f90084:       e59c2008        ldr     r2, [ip, #8]
33f90088:       e3800001        orr     r0, r0, #1      ; 0x1
33f9008c:       e082100a        add     r1, r2, sl
33f90090:       e38a3001        orr     r3, sl, #1      ; 0x1
33f90094:       e5823004        str     r3, [r2, #4]
33f90098:       e58c1008        str     r1, [ip, #8]
33f9009c:       e5810004        str     r0, [r1, #4]
33f900a0:       e2825008        add     r5, r2, #8      ; 0x8
33f900a4:       ea000000        b       33f900ac <malloc+0x608>
33f900a8:       e3a05000        mov     r5, #0  ; 0x0
33f900ac:       e1a00005        mov     r0, r5
33f900b0:       e8bd87f0        pop     {r4, r5, r6, r7, r8, r9, sl, pc}
33f900b4:       33fa3e20        .word   0x33fa3e20
33f900b8:       33f9ff54        .word   0x33f9ff54
33f900bc:       00000554        .word   0x00000554
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to