* stabsread.c (resolve_symbol_reference): Return 1 on success, 0 on
failure. * (define_symbol): Check return value from resolve_symbol_reference, and drop symbol if it fails.
This commit is contained in:
parent
9c68226165
commit
082a0803b1
|
@ -1,3 +1,26 @@
|
||||||
|
Wed Sep 16 14:57:14 1998 Stu Grossman <grossman@babylon-5.cygnus.com>
|
||||||
|
|
||||||
|
* stabsread.c (resolve_symbol_reference): Return 1 on success, 0 on
|
||||||
|
failure.
|
||||||
|
* (define_symbol): Check return value from resolve_symbol_reference,
|
||||||
|
and drop symbol if it fails.
|
||||||
|
|
||||||
|
Tue Sep 15 15:24:16 1998 Stu Grossman <grossman@fencer.cygnus.com>
|
||||||
|
|
||||||
|
* stabsread.c: Make all complaints static.
|
||||||
|
* Fix formatting of live range splitting code.
|
||||||
|
* (resolve_symbol_reference define_symbol resolve_live_range): Change
|
||||||
|
errors to complaints so that bad live range symbols won't abort the
|
||||||
|
entire symbol table. Handle errors by aborting just the current
|
||||||
|
symbol.
|
||||||
|
* (ref_init): Goes away. Folded into ref_add().
|
||||||
|
* (REF_MAP_SIZE): Put parens around parameter so that args like
|
||||||
|
`1 + 2' get handled correctly (yes, this was a real bug).
|
||||||
|
* (ref_add): Remove check for allocation failures. Not necessary
|
||||||
|
when using xrealloc(). Fix pointer arithmetic problem when clearing
|
||||||
|
memory. This and the previous patch prevent random SEGV's when there
|
||||||
|
are lots of live range symbols.
|
||||||
|
|
||||||
Tue Sep 15 14:02:01 1998 Nick Clifton <nickc@cygnus.com>
|
Tue Sep 15 14:02:01 1998 Nick Clifton <nickc@cygnus.com>
|
||||||
|
|
||||||
* remote-rdi.c: Prevent multiple attempts to close the remote
|
* remote-rdi.c: Prevent multiple attempts to close the remote
|
||||||
|
|
|
@ -1044,7 +1044,7 @@ resolve_cfront_continuation (objfile, sym, p)
|
||||||
|
|
||||||
|
|
||||||
/* This routine fixes up symbol references/aliases to point to the original
|
/* This routine fixes up symbol references/aliases to point to the original
|
||||||
symbol definition. */
|
symbol definition. Returns 0 on failure, non-zero on success. */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
resolve_symbol_reference (objfile, sym, p)
|
resolve_symbol_reference (objfile, sym, p)
|
||||||
|
@ -1133,8 +1133,8 @@ resolve_symbol_reference (objfile, sym, p)
|
||||||
|
|
||||||
/* Get to the end of the list. */
|
/* Get to the end of the list. */
|
||||||
for (temp = SYMBOL_ALIASES (ref_sym);
|
for (temp = SYMBOL_ALIASES (ref_sym);
|
||||||
temp->next;
|
temp->next;
|
||||||
temp = temp->next);
|
temp = temp->next)
|
||||||
;
|
;
|
||||||
temp->next = alias;
|
temp->next = alias;
|
||||||
}
|
}
|
||||||
|
@ -1146,7 +1146,7 @@ resolve_symbol_reference (objfile, sym, p)
|
||||||
SYMBOL_NAME (sym) = SYMBOL_NAME (ref_sym);
|
SYMBOL_NAME (sym) = SYMBOL_NAME (ref_sym);
|
||||||
|
|
||||||
/* Done! */
|
/* Done! */
|
||||||
return 0;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Structure for storing pointers to reference definitions for fast lookup
|
/* Structure for storing pointers to reference definitions for fast lookup
|
||||||
|
@ -1392,7 +1392,8 @@ define_symbol (valu, string, desc, type, objfile)
|
||||||
if (refnum >= 0)
|
if (refnum >= 0)
|
||||||
ref_add (refnum, sym, string, SYMBOL_VALUE (sym));
|
ref_add (refnum, sym, string, SYMBOL_VALUE (sym));
|
||||||
else
|
else
|
||||||
resolve_symbol_reference (objfile, sym, string);
|
if (!resolve_symbol_reference (objfile, sym, string))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
/* S..P contains the name of the symbol. We need to store
|
/* S..P contains the name of the symbol. We need to store
|
||||||
the correct name into SYMBOL_NAME. */
|
the correct name into SYMBOL_NAME. */
|
||||||
|
|
Loading…
Reference in New Issue