Index: gcc/config/i386/i386.c |
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c |
index 43b69e7490502bc1eb35422753c0ee03cbe0046e..f958b16c44d38ee1a5c98afab271b8ee6653693e 100644 |
--- a/gcc/config/i386/i386.c |
+++ b/gcc/config/i386/i386.c |
@@ -7145,6 +7145,13 @@ ix86_check_movabs (rtx insn, int opnum) |
{ |
rtx set, mem; |
+ /* In Native Client we can not use movabs because it assumes that |
+ non-PIC module is loaded using fixed address. In Native client |
+ non-PIC module is loaded using fixed address *relative* *to* R15. |
+ Probably good idea to replace it with %rip-based mov, but for now |
+ just disable movabs to produce working binaries. */ |
+ if (TARGET_NACL) |
+ return false; |
set = PATTERN (insn); |
if (GET_CODE (set) == PARALLEL) |
set = XVECEXP (set, 0, 0); |