Your message dated Wed, 26 Apr 2023 08:50:50 +0200
with message-id <[email protected]>
and subject line gcc-6 has been removed from Debian
has caused the Debian Bug report #860823,
regarding gcc-6: sqrt x64 intrinsic broken with -O3 and -ffast-math
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
860823: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=860823
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: gcc-6
Version: 6.3.0-12
Severity: normal

After being "hit" by unexplained division by 0 related crashes of an 
application, the
following simple test code shows the issue:

****
#include <cmath>
#include <cstdlib>

void TestSqrt(const float *Src,float *Dest,size_t Size,float &Gain)
{
  while (Size--)
  {
    float G,X;

    G=sqrt(X=*Src++);
    if (G)
    {
        Gain=Gain*0.9f+1/G*0.1f;
        X*=Gain;
    }
    *Dest++=X;
  }
}
****

The compile and listing generating where done using:

****
gcc -O3 -m64 -ffast-math -c -o sqrt.o sqrt.cpp
objdump -M intel -S -r -C sqrt.o > sqrt.lst
****

The "sqrt" coresponding piece of code looks like:

****
  30:   f3 0f 10 0c 87          movss  xmm1,DWORD PTR [rdi+rax*4]
  35:   f3 0f 52 d1             rsqrtss xmm2,xmm1
  39:   0f 28 c2                movaps xmm0,xmm2
  3c:   0f 2f cb                comiss xmm1,xmm3
  3f:   f3 0f 59 c1             mulss  xmm0,xmm1
  43:   f3 0f 59 c2             mulss  xmm0,xmm2
  47:   f3 0f 59 d4             mulss  xmm2,xmm4
  4b:   f3 0f 58 c5             addss  xmm0,xmm5
  4f:   f3 0f 59 c2             mulss  xmm0,xmm2
  53:   74 18                   je     6d <TestSqrt(float const*, float*, 
unsigned long, float&)+0x6d>
  55:   f3 0f 10 11             movss  xmm2,DWORD PTR [rcx]
  59:   f3 0f 59 c6             mulss  xmm0,xmm6
  5d:   f3 0f 59 d7             mulss  xmm2,xmm7
  61:   f3 0f 58 c2             addss  xmm0,xmm2
  65:   f3 0f 59 c8             mulss  xmm1,xmm0
  69:   f3 0f 11 01             movss  DWORD PTR [rcx],xmm0
  6d:   f3 0f 11 0c 86          movss  DWORD PTR [rsi+rax*4],xmm1
  72:   48 83 c0 01             add    rax,0x1
  76:   48 39 c2                cmp    rdx,rax
  79:   75 b5                   jne    30 <TestSqrt(float const*, float*, 
unsigned long, float&)+0x30>
****

The generated code is not handling in any way the case of 0 as input value. As 
per Intel spec,
rsqrtss has an +/-INF result when the input is 0 and the final results of the 
test code is
unpredictable, while 0 is a perfect valid input value for sqrt.

Regards,
Catalin


-- System Information:
Debian Release: 9.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages gcc-6 depends on:
ii  binutils      2.28-3
ii  cpp-6         6.3.0-12
ii  gcc-6-base    6.3.0-12
ii  libc6         2.24-9
ii  libcc1-0      6.3.0-12
ii  libgcc-6-dev  6.3.0-12
ii  libgcc1       1:6.3.0-12
ii  libgmp10      2:6.1.2+dfsg-1
ii  libisl15      0.18-1
ii  libmpc3       1.0.3-1+b2
ii  libmpfr4      3.1.5-1
ii  libstdc++6    6.3.0-12
ii  zlib1g        1:1.2.8.dfsg-5

Versions of packages gcc-6 recommends:
ii  libc6-dev  2.24-9

Versions of packages gcc-6 suggests:
pn  gcc-6-doc         <none>
pn  gcc-6-locales     <none>
pn  gcc-6-multilib    <none>
pn  libasan3-dbg      <none>
pn  libatomic1-dbg    <none>
pn  libcilkrts5-dbg   <none>
pn  libgcc1-dbg       <none>
pn  libgomp1-dbg      <none>
pn  libitm1-dbg       <none>
pn  liblsan0-dbg      <none>
pn  libmpx2-dbg       <none>
pn  libquadmath0-dbg  <none>
pn  libtsan0-dbg      <none>
pn  libubsan0-dbg     <none>

-- no debconf information

--- End Message ---
--- Begin Message ---
Version: 6.5.0-2+rm

src:gcc-6 was last released with Debian 9 (stretch)
in June 2017 and was removed from the Debian archive afterwards.
It has been superseded by newer versions.
See https://bugs.debian.org/920171 for details on the removal.
After regular security support for stretch ended in July 2020 and LTS support ended in July 2022, I'm closing the remaining bug reports now. In case the bug is still present in recent releases, please reopen and reassign it.

Andreas

--- End Message ---

Reply via email to