+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
enum language language, struct objfile *objfile,
int *added)
{
- struct partial_symbol psymbol;
-
- memset (&psymbol, 0, sizeof (struct partial_symbol));
+ /* 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;
+
+ /* 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)
{