From: Michael Meissner Date: Fri, 3 Feb 1995 19:45:16 +0000 (+0000) Subject: Fix indirect function pointers on eABI. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=29bd4eb3e04e52c20e4f50e2fc7c8fd3b9762196;p=gcc.git Fix indirect function pointers on eABI. From-SVN: r8857 --- diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 558a5764d79..e5ee37c2602 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -4587,10 +4587,13 @@ operands[0] = XEXP (operands[0], 0); if (GET_CODE (operands[0]) != SYMBOL_REF) { +#ifndef USING_SVR4_H + /* AIX function pointers are really pointers to a three word area */ rtx temp = gen_reg_rtx (SImode); emit_insn (gen_call_via_ptr (temp, force_reg (SImode, operands[0]))); operands[0] = temp; +#endif /* !USING_SVR4_H */ } }") @@ -4608,10 +4611,13 @@ operands[1] = XEXP (operands[1], 0); if (GET_CODE (operands[1]) != SYMBOL_REF) { +#ifndef USING_SVR4_H + /* AIX function pointers are really pointers to a three word area */ rtx temp = gen_reg_rtx (SImode); emit_insn (gen_call_via_ptr (temp, force_reg (SImode, operands[1]))); operands[1] = temp; +#endif /* !USING_SVR4_H */ } }")