[committed] Fix PA 32-bit cross build failure on 64-bit hosts
John David Anglin
dave@hiauly1.hia.nrc.ca
Fri Nov 24 06:15:00 GMT 2006
The enclosed patch fixes a bootstrap failure on 64-bit hosts. The
constant 0xe0400002 wasn't being split by emit_move_sequence because
it isn't a valid immediate operand on 64-bit hosts.
Tested on hppa-unknown-linux-gnu. Committed to all active branches.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
2006-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa.c (return_addr_rtx): Change 0xe0400002 to -532676606.
Index: config/pa/pa.c
===================================================================
--- config/pa/pa.c (revision 119109)
+++ config/pa/pa.c (working copy)
@@ -4338,8 +4338,10 @@
GEN_INT (0x00011820), NE, NULL_RTX, SImode, 1);
emit_jump_insn (gen_bne (label));
+ /* 0xe0400002 must be specified as -532676606 so that it won't be
+ rejected as an invalid immediate operand on 64-bit hosts. */
emit_cmp_insn (gen_rtx_MEM (SImode, plus_constant (ins, 12)),
- GEN_INT (0xe0400002), NE, NULL_RTX, SImode, 1);
+ GEN_INT (-532676606), NE, NULL_RTX, SImode, 1);
/* If there is no export stub then just use the value saved from
the return pointer register. */
More information about the Gcc-patches
mailing list