Bad patch for gas

H . J . Lu hjl@lucon.org
Wed May 23 15:01:00 GMT 2001


I am having problems with this

http://sources.redhat.com/ml/binutils/2001-05/msg00349.html

Alan, your changes break the logic of finalize_syms:

-  /* Expressions aren't really symbols, so don't finalize their values
-     until relaxation is complete.  */
-  if (final_seg == expr_section && finalize != 2)
-    finalize = 0;

-/* Used to control final evaluation of expressions that are more
-   complex than symbol + constant.  1 means set final value for simple
-   expressions, 2 means set final value for more complex expressions.  */
-int finalize_syms = 1;
+/* Used to control final evaluation of expressions.  */
+int finalize_syms = 0;

   /* Relaxation has completed.  Freeze all syms.  */
-  finalize_syms = 2;
+  finalize_syms = 1;

resolve_symbol_value used to be able to temporarily change finalize.
Now, finalize is almost always 0 in resolve_symbol_value. I will see
if I can fix it without reverting the whole patch.


H.J.



More information about the Binutils mailing list