diff options
author | Alan Modra <amodra@gmail.com> | 2016-04-04 16:19:27 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2016-04-04 16:20:58 +0930 |
commit | 22987cec624a7890637aa9d8760fbeaeb45a0e20 (patch) | |
tree | 28306baf31fc5473bd553c3cf463ad7e15c1a3ca /gas/symbols.c | |
parent | 325801bda4678d100721414300eb1170bfbc2e24 (diff) | |
download | gdb-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.c | 5 |
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: |