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: 3.3: IA64 bug fixes


Andreas Schwab <schwab@suse.de> writes:

> "Zack Weinberg" <zack@codesourcery.com> writes:
>
>> Gabriel Dos Reis <gdr@integrable-solutions.net> writes:
>>
>>> | OK for 3.3 branch?
>>>
>>> Yes.
>>
>> Thanks.  Checked in now.
>
> Breaks ia64-linux:
>
> libbackend.a(ia64.o)(.text+0x7d02): In function `ia64_expand_call':
> ../../gcc/config/ia64/ia64.c:1434: undefined reference to `convert_memory_address'

Ugh, POINTERS_EXTEND_UNSIGNED.  Please try this patch.

zw

        * config/ia64/ia64.c (ia64_expand_call): Can't use 
        convert_memory_address if POINTERS_EXTEND_UNSIGNED is not defined.

===================================================================
Index: config/ia64/ia64.c
--- config/ia64/ia64.c	16 Dec 2003 23:55:18 -0000	1.198.2.18
+++ config/ia64/ia64.c	17 Dec 2003 17:46:05 -0000
@@ -1431,7 +1431,11 @@ ia64_expand_call (retval, addr, nextarg,
   rtx insn, b0;
 
   addr = XEXP (addr, 0);
+#ifdef POINTERS_EXTEND_UNSIGNED
   addr = convert_memory_address (DImode, addr);
+#else
+  addr = convert_to_mode (DImode, addr, /*unsignedp=*/0);
+#endif
   b0 = gen_rtx_REG (DImode, R_BR (0));
 
   /* ??? Should do this for functions known to bind local too.  */


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