[Bug 1987266] [NEW] test-ibm128-llround fails on ppc64el when built with gcc-12 and -O2 or higher

Frank Heimes 1987266 at bugs.launchpad.net
Mon Aug 22 09:06:11 UTC 2022


Public bug reported:

root at kinetic:~/build# ./elf/ld.so --library-path .:math ./math/test-ibm128-llround
testing long double (without inline functions)
Failure: llround (0x7fffffffffffffff.8p0): Exception "Invalid operation" not set
Failure: llround_downward (0x7fffffffffffffff.8p0): Exception "Invalid operation" not set
Failure: llround_towardzero (0x7fffffffffffffff.8p0): Exception "Invalid operation" not set
Failure: llround_upward (0x7fffffffffffffff.8p0): Exception "Invalid operation" not set

Test suite completed:
  1156 test cases plus 656 tests for exception flags and
    656 tests for errno executed.
  4 errors occurred.

Recompiling math/s_llroundl.os with gcc-11 or with gcc-12 -O1 is enough
to fix this. Looking at the disassembly though I'm completely confused,
feraiseexcept (FE_INVALID); is still getting called in the failing case
and the code that runs after that looks the same (I've spent far too
long trying to debug this). I've uploaded the .o files to
https://people.canonical.com/~mwh/good.o and
https://people.canonical.com/~mwh/bad.o -- good luck to the next person!

A potential fix is here:
https://sourceware.org/pipermail/libc-alpha/2022-August/141547.html

For more details and discussions have a look at the attached upstream
bug.

** Affects: glibc
     Importance: Unknown
         Status: Unknown

** Affects: ubuntu-power-systems
     Importance: Undecided
     Assignee: bugproxy (bugproxy)
         Status: New

** Affects: glibc (Ubuntu)
     Importance: Undecided
         Status: New

** Also affects: glibc (Ubuntu)
   Importance: Undecided
       Status: New

** Bug watch added: Sourceware.org Bugzilla #29488
   https://sourceware.org/bugzilla/show_bug.cgi?id=29488

** Also affects: glibc via
   https://sourceware.org/bugzilla/show_bug.cgi?id=29488
   Importance: Unknown
       Status: Unknown

** Description changed:

  root at kinetic:~/build# ./elf/ld.so --library-path .:math ./math/test-ibm128-llround
  testing long double (without inline functions)
  Failure: llround (0x7fffffffffffffff.8p0): Exception "Invalid operation" not set
  Failure: llround_downward (0x7fffffffffffffff.8p0): Exception "Invalid operation" not set
  Failure: llround_towardzero (0x7fffffffffffffff.8p0): Exception "Invalid operation" not set
  Failure: llround_upward (0x7fffffffffffffff.8p0): Exception "Invalid operation" not set
  
  Test suite completed:
-   1156 test cases plus 656 tests for exception flags and
-     656 tests for errno executed.
-   4 errors occurred.
+   1156 test cases plus 656 tests for exception flags and
+     656 tests for errno executed.
+   4 errors occurred.
  
  Recompiling math/s_llroundl.os with gcc-11 or with gcc-12 -O1 is enough
  to fix this. Looking at the disassembly though I'm completely confused,
  feraiseexcept (FE_INVALID); is still getting called in the failing case
  and the code that runs after that looks the same (I've spent far too
  long trying to debug this). I've uploaded the .o files to
  https://people.canonical.com/~mwh/good.o and
  https://people.canonical.com/~mwh/bad.o -- good luck to the next person!
  
  A potential fix is here:
  https://sourceware.org/pipermail/libc-alpha/2022-August/141547.html
+ 
+ For more details and discussions have a look at the attached upstream
+ bug.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to glibc in Ubuntu.
https://bugs.launchpad.net/bugs/1987266

Title:
  test-ibm128-llround fails on ppc64el when built with gcc-12 and -O2 or
  higher

Status in GLibC:
  Unknown
Status in The Ubuntu-power-systems project:
  New
Status in glibc package in Ubuntu:
  New

Bug description:
  root at kinetic:~/build# ./elf/ld.so --library-path .:math ./math/test-ibm128-llround
  testing long double (without inline functions)
  Failure: llround (0x7fffffffffffffff.8p0): Exception "Invalid operation" not set
  Failure: llround_downward (0x7fffffffffffffff.8p0): Exception "Invalid operation" not set
  Failure: llround_towardzero (0x7fffffffffffffff.8p0): Exception "Invalid operation" not set
  Failure: llround_upward (0x7fffffffffffffff.8p0): Exception "Invalid operation" not set

  Test suite completed:
    1156 test cases plus 656 tests for exception flags and
      656 tests for errno executed.
    4 errors occurred.

  Recompiling math/s_llroundl.os with gcc-11 or with gcc-12 -O1 is
  enough to fix this. Looking at the disassembly though I'm completely
  confused, feraiseexcept (FE_INVALID); is still getting called in the
  failing case and the code that runs after that looks the same (I've
  spent far too long trying to debug this). I've uploaded the .o files
  to https://people.canonical.com/~mwh/good.o and
  https://people.canonical.com/~mwh/bad.o -- good luck to the next
  person!

  A potential fix is here:
  https://sourceware.org/pipermail/libc-alpha/2022-August/141547.html

  For more details and discussions have a look at the attached upstream
  bug.

To manage notifications about this bug go to:
https://bugs.launchpad.net/glibc/+bug/1987266/+subscriptions




More information about the foundations-bugs mailing list