diff options
Diffstat (limited to 'gcc/config/i386/i386.c')
| -rw-r--r-- | gcc/config/i386/i386.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index e314ba5..706ecc4 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -3410,7 +3410,12 @@ pic_symbolic_operand (register rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) op = XEXP (op, 0); if (TARGET_64BIT) { - if (GET_CODE (XEXP (op, 0)) == UNSPEC) + if (GET_CODE (op) == UNSPEC + && XINT (op, 1) == UNSPEC_GOTPCREL) + return 1; + if (GET_CODE (op) == PLUS + && XINT (XEXP (op, 0), 1) == UNSPEC_GOTPCREL + && GET_CODE (XEXP (op, 0)) == UNSPEC) return 1; } else |
