diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/obj-aout.c | 8 |
2 files changed, 11 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 710a435..4f52e87 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2003-12-15 Nick Clifton <nickc@redhat.com> + + * config/obj-aout.c (obj_crawl_symbol_chain): Skip defined + symbols which resolve to symbolic values. + 2003-12-13 Alan Modra <amodra@bigpond.net.au> * config/obj-elf.c: Convert to C90, remove unneeded prototypes and diff --git a/gas/config/obj-aout.c b/gas/config/obj-aout.c index 3a73d75..6e5fd29 100644 --- a/gas/config/obj-aout.c +++ b/gas/config/obj-aout.c @@ -469,9 +469,13 @@ obj_crawl_symbol_chain (headers) resolve_symbol_value (symbolP); /* Skip symbols which were equated to undefined or common - symbols. */ + symbols. Also skip defined uncommon symbols which can + be resolved since in this case they should have been + resolved to a non-symbolic constant. */ if (symbolP->sy_value.X_op == O_symbol - && (! S_IS_DEFINED (symbolP) || S_IS_COMMON (symbolP))) + && (! S_IS_DEFINED (symbolP) + || S_IS_COMMON (symbolP) + || symbol_resolved_p (symbolP))) { *symbolPP = symbol_next (symbolP); continue; |