aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2008-08-22 06:07:45 +0000
committerAlan Modra <amodra@gmail.com>2008-08-22 06:07:45 +0000
commit73e24c6845aa23ed023402152501009ed1dcc62f (patch)
tree35a99a835bb2bf12e5fb2b547c71331236c68df0 /gas
parent4e3b43ed44934795eb36ee4bc5f5d6d26da851ec (diff)
downloadgdb-73e24c6845aa23ed023402152501009ed1dcc62f.zip
gdb-73e24c6845aa23ed023402152501009ed1dcc62f.tar.gz
gdb-73e24c6845aa23ed023402152501009ed1dcc62f.tar.bz2
* symbols.c (symbol_clone): Ensure clones are not external.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/symbols.c9
2 files changed, 12 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index ba0fe13..3066c52 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,9 @@
2008-08-22 Alan Modra <amodra@bigpond.net.au>
+ * symbols.c (symbol_clone): Ensure clones are not external.
+
+2008-08-22 Alan Modra <amodra@bigpond.net.au>
+
* config/tc-hppa.c (md_begin): Set BSF_KEEP for "dummy_symbol".
2008-08-21 Richard Henderson <rth@redhat.com>
diff --git a/gas/symbols.c b/gas/symbols.c
index 3020710..84f394c 100644
--- a/gas/symbols.c
+++ b/gas/symbols.c
@@ -596,13 +596,20 @@ symbol_clone (symbolS *orgsymP, int replace)
symbol_lastP = newsymP;
else if (orgsymP->sy_next)
orgsymP->sy_next->sy_previous = newsymP;
+
+ /* Symbols that won't be output can't be external. */
+ S_CLEAR_EXTERNAL (orgsymP);
orgsymP->sy_previous = orgsymP->sy_next = orgsymP;
debug_verify_symchain (symbol_rootP, symbol_lastP);
symbol_table_insert (newsymP);
}
else
- newsymP->sy_previous = newsymP->sy_next = newsymP;
+ {
+ /* Symbols that won't be output can't be external. */
+ S_CLEAR_EXTERNAL (newsymP);
+ newsymP->sy_previous = newsymP->sy_next = newsymP;
+ }
return newsymP;
}