https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91287

--- Comment #8 from Xiong Hu XS Luo <luoxhu at cn dot ibm.com> ---
(In reply to Thomas Koenig from comment #6)
> (In reply to Xiong Hu XS Luo from comment #4)
> 
> > /tmp/cctrpu2h.ltrans0.ltrans.o: In function `MAIN__':
> > <artificial>:(.text+0x114): undefined reference to `_gfortran_st_write'
> > <artificial>:(.text+0x12c): undefined reference to
> > `_gfortran_transfer_character_write'
> 
> You're not linkging against libgfortran.
> 
> Either use gfortran as command for compiling or linking, or
> add the appropriate libraries (-lgfortran -lquadmath) to
> the linking step.

Thanks Thomas and Richard.  Sorry that I am not familiar with fortran.  The
regression was fixed by Martin's new change.

The c code included math.h actually.

cat atan2bashzowie.c
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

double __attribute__((noinline)) zowie (double x, double y, double z)
{
  return atan2 (x * y, z);
}

double __attribute__((noinline)) rand_finite_double (void)
{
  union {
    double d;
    unsigned char uc[sizeof(double)];
  } u;
  do {
    for (unsigned i = 0; i < sizeof u.uc; i++) {
      u.uc[i] = (unsigned char) rand();
    }
  } while (!isfinite(u.d));
  return u.d;
}

int main ()
{
  double a = rand_finite_double ();
  printf ("%lf\n", zowie (a, 4.5, 2.2));
  return 0;
}
cat build.sh
~/local/gcc_t/bin/gcc -O3 -mcpu=power9 atan2bashzowie.c -mveclibabi=mass
-L/opt/mass/8.1.3/Linux_LE/lib/ -lmass -lmass_simdp8 -lmassv -lmassvp8 -o a.out
nm a.out | grep atan2
~/local/gcc_t/bin/gcc -O3 -mcpu=power9 atan2bashzowie.c -mveclibabi=mass
-L/opt/mass/8.1.3/Linux_LE/lib/ -lmass -flto -lmass_simdp8 -lmassv -lmassvp8 -o
a.out
nm a.out | grep atan2
./build.sh
0000000010000700 T atan2
0000000010000700 T _atan2
00000000100007e0 T atan2
00000000100007e0 T _atan2

Reply via email to