aboutsummaryrefslogtreecommitdiff
path: root/gas/symbols.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2016-04-04 16:19:27 +0930
committerAlan Modra <amodra@gmail.com>2016-04-04 16:20:58 +0930
commit22987cec624a7890637aa9d8760fbeaeb45a0e20 (patch)
tree28306baf31fc5473bd553c3cf463ad7e15c1a3ca /gas/symbols.c
parent325801bda4678d100721414300eb1170bfbc2e24 (diff)
downloadgdb-22987cec624a7890637aa9d8760fbeaeb45a0e20.zip
gdb-22987cec624a7890637aa9d8760fbeaeb45a0e20.tar.gz
gdb-22987cec624a7890637aa9d8760fbeaeb45a0e20.tar.bz2
PR19498, Invalid "symbol definition loop"
PR 19498 * symbols.c (resolve_symbol_value): Clear sy_resolving on exit from function on all paths that set sy_resolving.
Diffstat (limited to 'gas/symbols.c')
-rw-r--r--gas/symbols.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gas/symbols.c b/gas/symbols.c
index 642f6d7..4c3137a 100644
--- a/gas/symbols.c
+++ b/gas/symbols.c
@@ -1262,7 +1262,10 @@ resolve_symbol_value (symbolS *symp)
resolved = symbol_resolved_p (add_symbol);
if (S_IS_WEAKREFR (symp))
- goto exit_dont_set_value;
+ {
+ symp->sy_flags.sy_resolving = 0;
+ goto exit_dont_set_value;
+ }
break;
case O_uminus: