[U-Boot] arm920t: implement elf relocation

Sebastien Carlier sebastien.carlier at gmail.com
Tue Nov 2 10:02:35 CET 2010


Hello all,

I am trying to get the ELF relocation working with the arm920t, and I
have applied the patch recently posted to the list by Andreas
Bießmann.

I found that adding these two sections to the linker script gets rid
of both assert failures:

        .plt : { *(.plt) }
        .rel.plt : { *(.rel.plt) }

The .plt section of the resulting ELF binary contains a single entry.

I am not sure how to interpret the contents of these sections to find
the source of the problem.

Disassembly of section .plt:
100191c8 <.plt>:
100191c8:       e52de004        push    {lr}            ; (str lr, [sp, #-4]!)
100191cc:       e59fe004        ldr     lr, [pc, #4]    ; 100191d8 <__div0+0x24>
100191d0:       e08fe00e        add     lr, pc, lr
100191d4:       e5bef008        ldr     pc, [lr, #8]!
100191d8:       00008df8        .word   0x00008df8  ; references .got.plt
100191dc:       e28fc600        add     ip, pc, #0
100191e0:       e28cca08        add     ip, ip, #32768  ; 0x8000
100191e4:       e5bcfdf8        ldr     pc, [ip, #3576]!        ; 0xdf8

Contents of section .got.plt:
 10021fd0 00000000 00000000 00000000 c8910110  ................

Contents of section .rel.plt:
 1001c610 dc1f0210 16050000                    ........

Relocation section '.rel.plt' at offset 0x24610 contains 1 entries:
 Offset     Info    Type            Sym.Value  Sym. Name
10021fdc  00000516 R_ARM_JUMP_SLOT   00000000   <string table index:  94>

Does this shed any light on the issue?

I have not yet tested the binary output.

-- 
Sébastien


More information about the U-Boot mailing list