This is the mail archive of the
mailing list for the GCC project.
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.
--- /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);