Re: Fix tight loop on recursively-defined symbols

sy_resolving ought to not be set for a struct local_symbol, but it is
apparent from local_symbol_make that the field is not initialised.

	* symbols.c (resolve_symbol_value): Invoke LOCAL_SYMBOL_CHECK
	before looking at add_symbol->sy_flags.sy_resolving.

(cherry picked from commit d402189f2faa0aaa9fb8ad4669fdf0059946cd8a)
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 2734505..3c9ab9d 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2020-05-18  Alan Modra  <amodra@gmail.com>
+
+	* symbols.c (resolve_symbol_value): Invoke LOCAL_SYMBOL_CHECK
+	before looking at add_symbol->sy_flags.
+
 2020-05-15  Alan Modra  <amodra@gmail.com>
 	    Alex Coplan  <alex.coplan@arm.com>
 
diff --git a/gas/symbols.c b/gas/symbols.c
index c178266..774afd3 100644
--- a/gas/symbols.c
+++ b/gas/symbols.c
@@ -1387,6 +1387,7 @@
 
 	  /* Don't leave symbol loops.  */
 	  if (finalize_syms
+	      && !LOCAL_SYMBOL_CHECK (add_symbol)
 	      && add_symbol->sy_flags.sy_resolving)
 	    break;