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