This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: GDB not able to debug files(dwarf2.0) loaded using add-symbol-file
- From: "Sandeep Joshi" <sandeepjoshi dot it at gmail dot com>
- To: "Sandeep Joshi" <sandeepjoshi dot it at gmail dot com>, gdb at sourceware dot org
- Date: Thu, 4 Jan 2007 12:26:51 +0530
- Subject: Re: GDB not able to debug files(dwarf2.0) loaded using add-symbol-file
- References: <ad83c5670612212021r7c247e8cm2df837e8637fcb03@mail.gmail.com> <20061223212620.GC1091@nevyn.them.org> <ad83c5670701030144s59dc6342q3f77e7899ddecc88@mail.gmail.com> <20070104033008.GA2223@nevyn.them.org>
Below is what 'find_pc_sect_psymtab' returned when i tried to set
breakpoint in the file added with 'add-symbol-file' command.
******************************************
Breakpoint 5, find_pc_sect_psymtab (pc=34148, section=0x9cd4324) at symtab.c:796
796 return (best_pst);
(gdb) p *best_pst
$2 = {next = 0x9ad046c, filename = 0x9ad0518
"net/sunrpc/auth_gss/gss_krb5_mech.c", fullname = 0x0,
dirname = 0x99f1e78
"/home/joshis/sdk/usr/src/kernel/linux-2.6.11.12", objfile =
0x994b650,
section_offsets = 0x9951800, textlow = 288, texthigh = 1076066628,
dependencies = 0x0, number_of_dependencies = 0,
globals_offset = 4596, n_global_syms = 0, statics_offset = 149919,
n_static_syms = 259, symtab = 0x9ccdc50,
read_symtab = 0x80fbf84 <dwarf2_psymtab_to_symtab>,
read_symtab_private = 0x9a01b44 "óvø", readin = 1 '\001'}
******************************************
Here the pc to be looked is is '34148' . It starts with first object
file i.e vmlinux and checks all the psymtabs for their code range. Now
for the above psymtab, Code range is 'textlow = 288, texthigh =
1076066628' and our PC lies in this. So this is set as best_pst and
function returns without checking the second objfile, which has the
perfect match for this PC. That is why gdb is not able to show the
sources correct.
On 1/4/07, Daniel Jacobowitz <drow@false.org> wrote:
On Wed, Jan 03, 2007 at 03:14:30PM +0530, Sandeep Joshi wrote:
> Memory layout:
> Entry point: 0x40018000
> 0x40018000 - 0x40060000 is .init
> 0x40060000 - 0x40259644 is .text
> 0x40259650 - 0x40259f78 is __ex_table
> 0x40259f78 - 0x4025a278 is .pci_fixup
> 0x4025a278 - 0x4025d8f0 is __ksymtab
> 0x4025d8f0 - 0x4025ddf0 is __ksymtab_gpl
> 0x4025ddf0 - 0x40266070 is __ksymtab_strings
> 0x40266070 - 0x40266174 is __param
> 0x40268000 - 0x402b8c10 is .data
> 0x402b8c20 - 0x402d995c is .bss
>
> add-symbol-file ~/arm-linux-gdb/bin/test_trap4.out 0x83d8
Then how does that overlap with the symbols for the kernel? It
shouldn't.
--
Daniel Jacobowitz
CodeSourcery