aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2003-12-15 12:02:38 +0000
committerNick Clifton <nickc@redhat.com>2003-12-15 12:02:38 +0000
commit8d8199c3110e24159be80561d243efe948f23a04 (patch)
treea00e2abe816fcd2ed874abe1ce3630b2808cd75b
parent25c80428af3311e761c87d8f706596b9701602ec (diff)
downloadgdb-8d8199c3110e24159be80561d243efe948f23a04.zip
gdb-8d8199c3110e24159be80561d243efe948f23a04.tar.gz
gdb-8d8199c3110e24159be80561d243efe948f23a04.tar.bz2
(obj_crawl_symbol_chain): Skip defined symbols which resolve to symbolic values.
-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;