Similar to Alpha, g++.dg/pr49718.C would fail for MIPS PIC because
each called function is mentioned twice, once in the GOT reference
and once in the R_MIPS_JALR reloc used for relaxing jumps to branches.

Tested on mips64-linux-gnu and applied.

Thanks,
Richard


gcc/testsuite/
        * g++.dg/pr49718.C: Use -mno-relax-pic-calls for MIPS.

Index: gcc/testsuite/g++.dg/pr49718.C
===================================================================
--- gcc/testsuite/g++.dg/pr49718.C      2014-01-20 21:21:09.695678105 +0000
+++ gcc/testsuite/g++.dg/pr49718.C      2014-02-01 10:37:28.604846208 +0000
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -finstrument-functions" } */
 /* { dg-additional-options "-mno-explicit-relocs" { target alpha*-*-* } } */
+/* { dg-additional-options "-mno-relax-pic-calls" { target mips*-*-* } } */
 /* { dg-final { scan-assembler-times "__cyg_profile_func_enter" 1} } */
 
 #define NOINSTR __attribute__((no_instrument_function))

Reply via email to