* symfile.c (add_psymbol_to_bcache): Make 'psymbol' static again.

Zero the 'value' field.
This commit is contained in:
Tom Tromey 2009-11-05 22:19:09 +00:00
parent bba66b87ef
commit 69a943f005
2 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2009-11-05 Tom Tromey <tromey@redhat.com>
* symfile.c (add_psymbol_to_bcache): Make 'psymbol' static again.
Zero the 'value' field.
2009-11-05 Doug Evans <dje@google.com>
* amd64-tdep.c (amd64_init_frame_cache): Enhance comment describing

View File

@ -3105,9 +3105,15 @@ add_psymbol_to_bcache (char *name, int namelength, domain_enum domain,
enum language language, struct objfile *objfile,
int *added)
{
struct partial_symbol psymbol;
/* psymbol is static so that there will be no uninitialized gaps in the
structure which might contain random data, causing cache misses in
bcache. */
static struct partial_symbol psymbol;
memset (&psymbol, 0, sizeof (struct partial_symbol));
/* However, we must ensure that the entire 'value' field has been
zeroed before assigning to it, because an assignment may not
write the entire field. */
memset (&psymbol.ginfo.value, 0, sizeof (psymbol.ginfo.value));
/* val and coreaddr are mutually exclusive, one of them *will* be zero */
if (val != 0)
{