From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12561 invoked by alias); 29 Sep 2007 02:27:19 -0000 Received: (qmail 12552 invoked by uid 22791); 29 Sep 2007 02:27:18 -0000 X-Spam-Check-By: sourceware.org Received: from sccrmhc11.comcast.net (HELO sccrmhc11.comcast.net) (63.240.77.81) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 29 Sep 2007 02:27:16 +0000 Received: from [192.168.74.20] (c-71-62-243-179.hsd1.va.comcast.net[71.62.243.179]) by comcast.net (sccrmhc11) with ESMTP id <2007092902271301100kf399e>; Sat, 29 Sep 2007 02:27:14 +0000 Message-ID: <46FDB801.5010401@ringle.org> Date: Sat, 29 Sep 2007 07:38:00 -0000 From: Jon Ringle User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) MIME-Version: 1.0 To: Jim Blandy , Jon Ringle , gdb@sourceware.org Subject: Re: No line number info debugging kernel modules with gdb 6.6.90.20070926-cvs (gdb 6.7 branch) References: <4DD3AF7ECBBC43409BA36508938D01851B00AE@CVAEX1.VERTICAL.COM> <46FC7961.2080706@ringle.org> <46FD72CE.9080603@ringle.org> <20070929002707.GA6310@caradoc.them.org> <46FDAA42.6060105@ringle.org> <20070929020649.GA10700@caradoc.them.org> In-Reply-To: <20070929020649.GA10700@caradoc.them.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2007-09/txt/msg00264.txt.bz2 Daniel Jacobowitz wrote: > On Fri, Sep 28, 2007 at 09:28:34PM -0400, Jon Ringle wrote: > >> So, do I need to put all the sections that I find in >> /sys/module/dstdrv/sections/.[a-z]* on the target >> > > Probably. > > I created the following helper script on the target: [root@isc1 ~]# cat /usr/local/bin/add-symbol-file #! /bin/bash MODULE=$1 for f in $(ls -1 /sys/module/${MODULE}/sections/.[a-z]*|grep -E -v '/.text$'); do echo -n "-s $(basename $f) $(cat $f) "; done echo [root@isc1 ~]# add-symbol-file dstdrv -s .bss 0xbf137180 -s .data 0xbf136f30 -s .exit.text 0xbf134638 -s .gnu.linkonce.this_module 0xbf137040 -s .init.text 0xbf13b000 -s .rodata 0xbf1346c0 -s .rodata.str1.8 0xbf1348f0 -s .strtab 0xbf136800 -s .symtab 0xbf135940 Then I defined the following gdb command: ringlej@crossdev:~/WAVE/Build7/Platform/Volcano/os/kernel/linux$ cat .gdbinit define load_kernel_module shell echo -n "add-symbol-file $arg1 " > .load_kernel_module.tmp shell echo -n "$(ssh $arg0 cat /sys/module/$(basename $arg1 .ko)/sections/.text) " >> .load_kernel_module.tmp shell echo "$(ssh $arg0 /usr/local/bin/add-symbol-file $(basename $arg1 .ko))" >> .load_kernel_module.tmp shell echo "directory $(dirname $arg1)" >> .load_kernel_module.tmp source .load_kernel_module.tmp shell rm .load_kernel_module.tmp end ringlej@crossdev:~/WAVE/Build7/Platform/Volcano/os/kernel/linux$ ~/build/armeb-linux-gdb-6.7/gdb/gdb vmlinux GNU gdb 6.6.90.20070926-cvs Copyright (C) 2007 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "--host=i686-pc-linux-gnu --target=armeb-linux"... (gdb) target remote bdilab:2001 Remote debugging using bdilab:2001 default_idle () at include/asm/thread_info.h:92 92 register unsigned long sp asm ("sp"); (gdb) load_kernel_module root@ixp.ringle.lan ../../kernel-modules/dst/dstdrv.ko add symbol table from file "../../kernel-modules/dst/dstdrv.ko" at .text_addr = 0xbf131000 .bss_addr = 0xbf137180 .data_addr = 0xbf136f30 .exit.text_addr = 0xbf134638 .gnu.linkonce.this_module_addr = 0xbf137040 .init.text_addr = 0xbf13b000 .rodata_addr = 0xbf1346c0 .rodata.str1.8_addr = 0xbf1348f0 .strtab_addr = 0xbf136800 .symtab_addr = 0xbf135940 warning: section .strtab not found in /home/ringlej/WAVE/Build7/Platform/Volcano/os/kernel-modules/dst/dstdrv.ko warning: section .symtab not found in /home/ringlej/WAVE/Build7/Platform/Volcano/os/kernel-modules/dst/dstdrv.ko (gdb) show directories Source directories searched: /home/ringlej/WAVE/Build7/Platform/Volcano/os/kernel/linux-2.6.16.29/../../kernel-modules/dst:$cdir:$cwd (gdb) b vert_dst_nopage_mmap Breakpoint 1 at 0xbf13427c (gdb) list vert_dst_nopage_mmap No line number known for vert_dst_nopage_mmap.