Re: Crosscompiling NetBSD for Fonera not working with HEAD?

Fredrik Pettai <[email protected]> Wed, 1 Jul 2009 21:51:38 +0200
Newsgroups gmane.os.netbsd.ports.evbmips
Message-ID <[email protected]>
On Jul 1, 2009, at 9:28 PM, Fredrik Pettai wrote:
> On Jul 1, 2009, at 10:50 AM, David Holland wrote:
>> On Wed, Jul 01, 2009 at 12:22:22AM +0200, Fredrik Pettai wrote:
>>
>> Since the broken address is also in t9, it looks like it's gotten a
>> bogus function pointer from the GOT. Which is probably because the
>> kernel doesn't have one. Kernel bits are supposed to be compiled with
>> -mno-abicalls, which is normally handled by Makefile.MIPS.
>
> Should I try it manually in CFLAGS?

Interesting. I built the kernel once and did a grep on the output for - 
mno-abicalls.
It compiled with that option, but in the end I actually catch a error.
SYMTAB_SPACE was too small. I never caught this error because my  
terminal is just 80x24, and the summary from build.sh pushes this  
outside the visible window. I increased it to 300000 and recompiled.

>> Is there something involved that's compiled with custom CFLAGS?
>
> Not that I've set. /etc/mk.conf is empty, and no CFLAGS variable is  
> set.
>
>> (Finding out where ra is pointing like I suggested in the PR will
>> probably identify it.)
>
> I updated the PR with the output of objdump -d netbsd and  
> disassembly of the function which contained 8006a524.
> The kernel is compiled (standard) with makeoptions DEBUG="-g", but  
> I'm not familiar with how to accomplish this, (which you wrote in  
> the PR). "If it's a kernel with debugging symbols you can get it  
> from gdb"


Now this output may be more helpful?

db> show register
at          0xffffffe0
v0          0
v1          0x2000      _KERNEL_OPT_DDB_HISTORY_SIZE+0x1f9c
a0          0xa87f0000
a1          0xb0000000
a2          0xc003020
a3          0x4 _KERNEL_OPT_AIO+0x3
t0          0
t1          0x2 _KERNEL_OPT_AIO+0x1
t2          0x14        _KERNEL_OPT_AIO+0x13
t3          0xffffffff
t4          0
t5          0
t6          0xffffffff
t7          0xffffffff
s0          0x6004      _KERNEL_OPT_DDB_HISTORY_SIZE+0x5fa0
s1          0xc002e000
s2          0x4004      _KERNEL_OPT_DDB_HISTORY_SIZE+0x3fa0
s3          0xc002e000
s4          0x3 _KERNEL_OPT_AIO+0x2
s5          0x80220000  __func__.8555+0x128
s6          0x80308d08  _prop_array_pool+0x33498
s7          0x802a1540  lwp0
t8          0x40800000
t9          0x1bb958f6
k0          0
k1          0
gp          0x802abbd0  idstate+0x5970
sp          0x80308be0  _prop_array_pool+0x33370
fp          0x80fe0fc0
ra          0x8006a524  ar5312MacReset+0x74
sr          0x2 _KERNEL_OPT_AIO+0x1
mdlo        0x41d661c0
mdhi        0x16e84185
bad         0
cs          0
pc          0x1bb958f6
0x1bb958f6:     invalid address.
db>

Regards,
/P