This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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]

Re: fix ia64-hpux deferred_symbol_p failure


On Tue, May 13, 2003 at 09:04:06AM -0700, Steve Ellcey wrote:
> This fixes the case that I sent you but it still doesn't fix everything.
> With the following test case (cut down from gengenrtl.c) and using both
> of your patches I get duplicate labels in 32 and 64 bit modes.

Appears to be fixed like so.  I have no idea why we're
creating duplicates of these constants, but we need to
make sure we're looking at the right one.


r~



--- /home/devel/rth/varasm.c	2003-05-13 13:06:12.000000000 -0400
+++ ../../../src-gcc/gcc/varasm.c	2003-05-13 13:06:19.000000000 -0400
@@ -2535,7 +2535,7 @@
   /* We have a symbol name; construct the SYMBOL_REF and the MEM.  */
   symbol = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (label));
   SYMBOL_REF_FLAGS (symbol) = SYMBOL_FLAG_LOCAL;
-  SYMBOL_REF_DECL (symbol) = exp;
+  SYMBOL_REF_DECL (symbol) = desc->value;
   TREE_CONSTANT_POOL_ADDRESS_P (symbol) = 1;
 
   rtl = gen_rtx_MEM (TYPE_MODE (TREE_TYPE (exp)), symbol);


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