* corefile.c (core_init): Call bfd_get_synthetic_symtab.

This commit is contained in:
Alan Modra
2005-04-14 10:33:55 +00:00
parent ffe58f7c73
commit 2f041bf7ed
2 changed files with 25 additions and 1 deletions

View File

@ -1,3 +1,7 @@
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> 2005-04-14 Alan Modra <amodra@bigpond.net.au>
* Makefile.am (NO_WERROR): Define. * Makefile.am (NO_WERROR): Define.

View File

@ -1,6 +1,6 @@
/* corefile.c /* corefile.c
Copyright 1999, 2000, 2001, 2002, 2003, 2004 Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of GNU Binutils. This file is part of GNU Binutils.
@ -142,6 +142,9 @@ void
core_init (const char *aout_name) core_init (const char *aout_name)
{ {
int core_sym_bytes; int core_sym_bytes;
asymbol *synthsyms;
long synth_count;
core_bfd = bfd_openr (aout_name, 0); core_bfd = bfd_openr (aout_name, 0);
if (!core_bfd) if (!core_bfd)
@ -190,6 +193,23 @@ core_init (const char *aout_name)
done (1); 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; min_insn_size = 1;
offset_to_code = 0; offset_to_code = 0;