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 | |
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.
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/symbols.c | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index e1e6ab5..6159218 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2016-04-04 Alan Modra <amodra@gmail.com> + + PR 19498 + * symbols.c (resolve_symbol_value): Clear sy_resolving on exit + from function on all paths that set sy_resolving. + 2016-04-03 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * app.c (app_push): use XNEW macro. 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: |