* corefile.c (core_sym_class): Do not discard nested subprograms.

This commit is contained in:
Nick Clifton
2007-07-05 09:07:30 +00:00
parent 29422971f1
commit 3289fe0ce0
4 changed files with 21 additions and 9 deletions

View File

@ -1,3 +1,7 @@
2007-07-05 Tristan Gingold <gingold@adacore.com>
* corefile.c (core_sym_class): Do not discard nested subprograms.
2007-07-02 Alan Modra <amodra@bigpond.net.au> 2007-07-02 Alan Modra <amodra@bigpond.net.au>
* Makefile.am: Run "make dep-am". * Makefile.am: Run "make dep-am".

View File

@ -226,7 +226,7 @@ corefile.o: corefile.c $(INCDIR)/libiberty.h $(INCDIR)/ansidecl.h \
gprof.h $(BFDDIR)/sysdep.h ../bfd/config.h $(INCDIR)/ansidecl.h \ gprof.h $(BFDDIR)/sysdep.h ../bfd/config.h $(INCDIR)/ansidecl.h \
$(INCDIR)/fopen-same.h $(INCDIR)/filenames.h ../bfd/bfd.h \ $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h ../bfd/bfd.h \
$(INCDIR)/ansidecl.h $(INCDIR)/symcat.h gconfig.h search_list.h \ $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h gconfig.h search_list.h \
source.h symtab.h hist.h corefile.h source.h symtab.h hist.h corefile.h $(INCDIR)/safe-ctype.h
gmon_io.o: gmon_io.c gprof.h $(BFDDIR)/sysdep.h ../bfd/config.h \ gmon_io.o: gmon_io.c gprof.h $(BFDDIR)/sysdep.h ../bfd/config.h \
$(INCDIR)/ansidecl.h $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h \ $(INCDIR)/ansidecl.h $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h \
../bfd/bfd.h $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \ ../bfd/bfd.h $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \

View File

@ -293,15 +293,15 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \ @for dep in $?; do \
case '$(am__configure_deps)' in \ case '$(am__configure_deps)' in \
*$$dep*) \ *$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --cygnus '; \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
cd $(srcdir) && $(AUTOMAKE) --cygnus \ cd $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \ && exit 0; \
exit 1;; \ exit 1;; \
esac; \ esac; \
done; \ done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --cygnus Makefile $(AUTOMAKE) --foreign Makefile
.PRECIOUS: Makefile .PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \
@ -971,7 +971,7 @@ corefile.o: corefile.c $(INCDIR)/libiberty.h $(INCDIR)/ansidecl.h \
gprof.h $(BFDDIR)/sysdep.h ../bfd/config.h $(INCDIR)/ansidecl.h \ gprof.h $(BFDDIR)/sysdep.h ../bfd/config.h $(INCDIR)/ansidecl.h \
$(INCDIR)/fopen-same.h $(INCDIR)/filenames.h ../bfd/bfd.h \ $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h ../bfd/bfd.h \
$(INCDIR)/ansidecl.h $(INCDIR)/symcat.h gconfig.h search_list.h \ $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h gconfig.h search_list.h \
source.h symtab.h hist.h corefile.h source.h symtab.h hist.h corefile.h $(INCDIR)/safe-ctype.h
gmon_io.o: gmon_io.c gprof.h $(BFDDIR)/sysdep.h ../bfd/config.h \ gmon_io.o: gmon_io.c gprof.h $(BFDDIR)/sysdep.h ../bfd/config.h \
$(INCDIR)/ansidecl.h $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h \ $(INCDIR)/ansidecl.h $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h \
../bfd/bfd.h $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \ ../bfd/bfd.h $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \

View File

@ -1,6 +1,6 @@
/* corefile.c /* corefile.c
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005 Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of GNU Binutils. This file is part of GNU Binutils.
@ -27,6 +27,7 @@
#include "symtab.h" #include "symtab.h"
#include "hist.h" #include "hist.h"
#include "corefile.h" #include "corefile.h"
#include "safe-ctype.h"
bfd *core_bfd; bfd *core_bfd;
static int core_num_syms; static int core_num_syms;
@ -365,8 +366,15 @@ core_sym_class (asymbol *sym)
for (name = sym->name; *name; ++name) for (name = sym->name; *name; ++name)
{ {
if (*name == '.' || *name == '$') if (*name == '$')
return 0; return 0;
/* Do not discard nested subprograms (those
which end with .NNN, where N are digits). */
if (*name == '.')
for (name++; *name; name++)
if (! ISDIGIT (*name))
return 0;
} }
/* On systems where the C compiler adds an underscore to all /* On systems where the C compiler adds an underscore to all