This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug math/19839] New: hypot() crashing w/SIGILL at xxlxor on power7 systems


https://sourceware.org/bugzilla/show_bug.cgi?id=19839

            Bug ID: 19839
           Summary: hypot() crashing w/SIGILL at xxlxor on power7 systems
           Product: glibc
           Version: 2.23
               URL: https://bugs.gentoo.org/546986
            Status: NEW
          Severity: normal
          Priority: P2
         Component: math
          Assignee: unassigned at sourceware dot org
          Reporter: vapier at gentoo dot org
                CC: adhemerval.zanella at linaro dot org,
                    raji at linux dot vnet.ibm.com, toolchain at gentoo dot org
  Target Milestone: ---
              Host: powerpc64-linux-gnu

we've got a bugreport of code using hypot() crashing w/SIGILL on power7
systems.  i'm not that familiar with the ISA, but a search suggests the VSX
extensions (and the xxlxor insn in particular) are in all power7 ?

here's our setup:
  IBM,8231-E2B POWER7 32 x 3.5GHz
  glibc-2.21 / 2.22 / 2.23
  gcc-4.9.3
  binutils-2.25.1
  linux-3.12.20

$ cat test.c
#include <math.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
    double x = atoi(argv[1]), y = atoi(argv[2]);
    return hypot(x, y);
}

$ gcc test.c -g -O2 -lm

$ ./a.out 4 0
Illegal instruction (core dumped)

$ gdb ./a.out core
Reading symbols from ./a.out...done.
Core was generated by `./a.out 4 0 '.
Program terminated with signal SIGILL, Illegal instruction.
#0  __ieee754_hypot_power7 (x=4, y=0) at ../sysdeps/powerpc/fpu/e_hypot.c:92
92        if (y == 0.0)
(gdb) bt
#0  __ieee754_hypot_power7 (x=4, y=0) at ../sysdeps/powerpc/fpu/e_hypot.c:92
#1  0x00003fff9ef0c754 in __hypot (x=<optimized out>, y=<optimized out>) at
../math/w_hypot.c:24
#2  0x0000000010000554 in main (argc=<optimized out>, argv=0x3ffff974ac18) at
test.c:6
(gdb) disassemble
...
=> 0x00003fff9ef55404 <+132>:   xxlxor  vs0,vs0,vs0
...

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]