Subject: cross-arm-netbsd linker oddity?
To: 'port-arm32@netbsd.org' <port-arm32@netbsd.org>
From: Scott Telford <Scott.Telford@fifteenseven.com>
List: port-arm
Date: 09/06/2001 11:18:12
I'm trying to build an a.out NetBSD/arm32 1.5 kernel on a NetBSD/i386 1.5
host using the cross-arm-netbsd package. Everything seems to go smoothly
(using a build script based on the one at
http://www.netbsd.org/Documentation/cross), except that when I examine the
resulting netbsd.gdb file with objdump, the code at the start of the text
segment seems to have been offset by -4064
(-0xfe0) bytes, i.e. linking with "-Ttext F0000000" gives:

$ /usr/local/cross/arm-netbsd/bin/objdump -d netbsd.gdb|head

netbsd.gdb:     file format a.out-arm-netbsd

Disassembly of section .text:

00000000effff020 <_kernel_text-0xffffffff00000fe0>:
    effff020:   e28f1078        add     r1, pc, #120
    effff024:   e8912006        ldmia   r1, {r1, r2, sp}
    effff028:   e0422001        sub     r2, r2, r1
    effff02c:   e3a03000        mov     r3, #0
$

Am I missing something, or is the cross-arm-netbsd ld doing something
strange here?

-- 
Scott Telford, FifteenSeven Ltd.
e: scott.telford@fifteenseven.com  t: +44 131 451 1115  f: +44 131 451 1112