mvista gdb 5.0 core dumping

Wright, David dwright at infiniswitch.com
Thu Nov 1 06:50:40 EST 2001


What a timely question -- I just debugged this one last night.
This is a bug in the code in the partial-stab.h file.  Here's the
diff output of what I change in it to make this abort stop
happening:

602c602
< 	if (textlow_not_set
---
> 	if (pst && (textlow_not_set
605c605
< 		!= ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT)))
---
> 		!= ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT))))
649c649
< 	if (textlow_not_set
---
> 	if (pst && (textlow_not_set
652c652
< 		!= ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT)))
---
> 		!= ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT))))



I don't claim that this is a great solution, in that I have no
real sense of what the code is doing, but this change does get
rid of the null pointer dereference that's blowing you up.

  -- David Wright, Consulting Engineer
     InfiniSwitch Corp., Westborough, MA


> -----Original Message-----
> From: Mark Pilon [mailto:mpilon at midrivers.com]
> Sent: Wednesday, October 31, 2001 2:44 PM
> To: linuxppc-embedded at lists.linuxppc.org
> Subject: mvista gdb 5.0 core dumping
>
>
>
> I'm trying to debug the a kernel build from the 2_4_devel tree,
> built w/ a toolset I built, debugging w/ mvista's 5.0 gdb:
>
> ppc_405-gdb vmlinux
> GNU gdb 5.0
> Copyright 2000 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public
> License, and you are
> welcome to change it and/or distribute copies of it under
> certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show
> warranty" for details.
> This GDB was configured as "--host=i686-pc-linux-gnu
> --target=powerpc-hardhat-linux"...Segmentation fault (core dumped)
>
> attempting to debug gdb:
>
> [mpilon at wolf linuxppc_2_4_devel]$ gdb `which ppc_405-gdb` core
> GNU gdb 19991004
> Copyright 1998 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public
> License, and you are
> welcome to change it and/or distribute copies of it under
> certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show
> warranty" for details.
> This GDB was configured as "i386-redhat-linux"...
> Core was generated by `ppc_405-gdb vmlinux'.
> Program terminated with signal 11, Segmentation fault.
> Reading symbols from /usr/lib/libncurses.so.4...done.
> Reading symbols from /lib/libm.so.6...done.
> Reading symbols from /lib/libdl.so.2...done.
> Reading symbols from /lib/libc.so.6...done.
> Reading symbols from /lib/ld-linux.so.2...done.
> #0  0x80d9efe in read_dbx_symtab (objfile=0x81dec00)
>     at ../../gdb/partial-stab.h:654
> 654     ../../gdb/partial-stab.h: No such file or directory.
> (gdb) where
> #0  0x80d9efe in read_dbx_symtab (objfile=0x81dec00)
>     at ../../gdb/partial-stab.h:654
> #1  0x80d8a41 in dbx_symfile_read (objfile=0x81dec00, mainline=0)
>     at ../../gdb/dbxread.c:631
> #2  0x80db4c9 in elfstab_build_psymtabs (objfile=0x81dec00,
> mainline=0,
>     staboffset=1527808, stabsize=1260, stabstroffset=1529068,
> stabstrsize=1597)
>     at ../../gdb/dbxread.c:2652
> #3  0x80de1f4 in elf_symfile_read (objfile=0x81dec00, mainline=0)
>     at ../../gdb/elfread.c:663
> #4  0x8084d3e in syms_from_objfile (objfile=0x81dec00,
> addrs=0xbffff280,
>     mainline=1, verbo=0) at ../../gdb/symfile.c:807
> #5  0x8084ee2 in symbol_file_add (name=0x81d3718 "vmlinux",
> from_tty=0,
>     addrs=0x0, mainline=1, flags=32) at ../../gdb/symfile.c:943
> #6  0x8085157 in symbol_file_command (args=0xbffffb40
> "vmlinux", from_tty=0)
>     at ../../gdb/symfile.c:1087
> #7  0x80b377c in do_captured_command (data=0xbffff7a4) at
> ../../gdb/top.c:679
> #8  0x80b36f3 in catch_errors (func=0x80b376c <do_captured_command>,
>     args=0xbffff7a4, errstring=0x8169840 "", mask=6) at
> ../../gdb/top.c:615
> #9  0x80b37ba in catch_command_errors (
>     command=0x8084f9c <symbol_file_command>, arg=0xbffffb40 "vmlinux",
>     from_tty=0, mask=6) at ../../gdb/top.c:699
> #10 0x806b2ab in captured_main (data=0xbffff9d0) at
> ../../gdb/main.c:603
> #11 0x80b36f3 in catch_errors (func=0x806ab24 <captured_main>,
>     args=0xbffff9d0, errstring=0x8149451 "", mask=6) at
> ../../gdb/top.c:615
> #12 0x806b4ff in main (argc=2, argv=0xbffffa24) at
> ../../gdb/main.c:761
> (gdb)
>
> any ideas what could be causing this?  I've debugged kernels before
> w/ toolsets I've built.
>
> thanks,
>
> Mark
>
> --
> Mark Pilon
>
> Minolta-QMS
> P.O. Box 37
> Fallon, MT.  59326-0037
>
> 1-406-853-0433
>
>
>

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list