This is the mail archive of the gcc@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: Dwarf2 question


> It would make sense to make mem_loc_descriptor do:
>
> 	case LO_SUM:
> 	  rtl = XEXP (rtl, 1);
> 	  /* FALLTHRU */
>
> 	case LABEL_REF:
> 	case CONST:
> 	case SYMBOL_REF:
> 	  ...
>
> Alternately, do this in targetm.delegitimize_address.

Thanks. Since the problem shows up on Alpha too, I'm leaning toward your 
first suggestion.

Falk, is the attached patch (against 3.3) sufficient to fix PR target/10084?

-- 
Eric Botcazou
Index: dwarf2out.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/dwarf2out.c,v
retrieving revision 1.390.2.3
diff -u -p -r1.390.2.3 dwarf2out.c
--- dwarf2out.c	15 Mar 2003 17:00:09 -0000	1.390.2.3
+++ dwarf2out.c	27 Mar 2003 07:37:21 -0000
@@ -8177,6 +8177,11 @@ mem_loc_descriptor (rtl, mode)
 	add_loc_descr (&mem_loc_result, new_loc_descr (DW_OP_deref, 0, 0));
       break;
 
+    case LO_SUM:
+	 rtl = XEXP (rtl, 1);
+
+      /* ... fall through ...  */
+
     case LABEL_REF:
       /* Some ports can transform a symbol ref into a label ref, because
  	 the symbol ref is too far away and has to be dumped into a constant

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