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/