aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/obj-aout.c8
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;