diff options
author | Alan Modra <amodra@gmail.com> | 2005-04-14 10:33:55 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2005-04-14 10:33:55 +0000 |
commit | 2f041bf7ed0432c9588ee5088f00e73ddbf90b28 (patch) | |
tree | 22b1bf3cec68fdf59ad1ce6938d5e8b54cd3f45e /gprof | |
parent | ffe58f7c734db2c39a2c251caf01e4d4a4ab2b2d (diff) | |
download | gdb-2f041bf7ed0432c9588ee5088f00e73ddbf90b28.zip gdb-2f041bf7ed0432c9588ee5088f00e73ddbf90b28.tar.gz gdb-2f041bf7ed0432c9588ee5088f00e73ddbf90b28.tar.bz2 |
* corefile.c (core_init): Call bfd_get_synthetic_symtab.
Diffstat (limited to 'gprof')
-rw-r--r-- | gprof/ChangeLog | 4 | ||||
-rw-r--r-- | gprof/corefile.c | 22 |
2 files changed, 25 insertions, 1 deletions
diff --git a/gprof/ChangeLog b/gprof/ChangeLog index 532f915..a3c5dbc 100644 --- a/gprof/ChangeLog +++ b/gprof/ChangeLog @@ -1,5 +1,9 @@ 2005-04-14 Alan Modra <amodra@bigpond.net.au> + * corefile.c (core_init): Call bfd_get_synthetic_symtab. + +2005-04-14 Alan Modra <amodra@bigpond.net.au> + * Makefile.am (NO_WERROR): Define. * acinclude.m4: Include ../bfd/warning.m4. * configure.in: Invoke AM_BINUTILS_WARNINGS. diff --git a/gprof/corefile.c b/gprof/corefile.c index bd594f5..c06f7d4 100644 --- a/gprof/corefile.c +++ b/gprof/corefile.c @@ -1,6 +1,6 @@ /* corefile.c - Copyright 1999, 2000, 2001, 2002, 2003, 2004 + Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Binutils. @@ -142,6 +142,9 @@ void core_init (const char *aout_name) { int core_sym_bytes; + asymbol *synthsyms; + long synth_count; + core_bfd = bfd_openr (aout_name, 0); if (!core_bfd) @@ -190,6 +193,23 @@ core_init (const char *aout_name) done (1); } + synth_count = bfd_get_synthetic_symtab (core_bfd, core_num_syms, core_syms, + 0, NULL, &synthsyms); + if (synth_count > 0) + { + asymbol **symp; + long new_size; + long i; + + new_size = (core_num_syms + synth_count + 1) * sizeof (*core_syms); + core_syms = xrealloc (core_syms, new_size); + symp = core_syms + core_num_syms; + core_num_syms += synth_count; + for (i = 0; i < synth_count; i++) + *symp++ = synthsyms + i; + *symp = 0; + } + min_insn_size = 1; offset_to_code = 0; |