Subject: Re: Need advice how to debug VM problem on port-hp700.
To: Matt Thomas <matt@3am-software.com>
From: Jochen Kunz <jkunz@unixag-kl.fh-kl.de>
List: port-hp700
Date: 10/29/2003 18:04:52
On 2003.10.29 10:13 Jochen Kunz wrote:
> $ nm netbsd | egrep 'nfs_boot_bootparam|nfs_boot_rfc951|my_debug'
> 0060b48c D my_debug_nfs_boot
> 0060b490 D my_debug_nfs_bootdhcp
> 0000016c ? nfs_boot_bootparam
> 00000168 ? nfs_boot_rfc951
Meanwhile I had the idea to run objdump -t on the kernel and on
nfs_boot.o. It looks like a compiler bug. The compiler (GCC 3.3.2-nb1,
updated monday) placed some global variables into a .ident section
instead of .data. Similar to find_port from sys/netinet/ip_h323_pxy.c,
but this is a function not an int.
objdump -t ip_proxy.o | grep ident
00000000 l d .ident 00000000
00000000 l F .ident 00000168 find_port
nfs_boot.o: file format elf32-big
SYMBOL TABLE:
00000000 l d .text 00000000
00000000 l d .data 00000000
00000000 l d .bss 00000000
00000000 l d .ident 00000000
00000000 l d .rodata 00000000
00000ff8 l F .text 000001a0 nfs_boot_defrt
000012b0 l F .text 000002a0 nfs_boot_getfh
0000188c l F .text 00000048 __curproc
00001198 l F .text 000000bc nfs_boot_delroute
00001550 l F .text 0000033c md_mount
00000068 l .rodata 00000000 .LC7
[...]
00000318 l .rodata 00000000 .LC82
00000000 l d .PARISC.unwind 00000000
00000000 l d .comment 00000000
00000000 g O .data 00000004 my_debug_test_1
00000000 g O .ident 00000004 my_debug_test_2
00000004 g O .ident 00000004 nfs_boot_rfc951
00000008 g O .ident 00000004 nfs_boot_bootparam
00000000 *UND* 00000000 ifunit
00000000 *UND* 00000000 printf
00000000 *UND* 00000000 nfs_bootdhcp
00000000 *UND* 00000000 nfs_bootparam
0000021c g F .text 0000009c nfs_boot_cleanup
00000000 g F .text 0000021c nfs_boot_init
--
tschüß,
Jochen
Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/