This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PR19498, Invalid "symbol definition loop"


Applied.  Fixes a bug that's been around since 2005-10-24.

	PR 19498
	* symbols.c (resolve_symbol_value): Clear sy_resolving on exit
	from function on all paths that set sy_resolving.

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:

-- 
Alan Modra
Australia Development Lab, IBM


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]