Bug 13811 - Update request: gcc-4.8.2-3.2.mga4 and gcc-4.7.2-8.2.mga3
Summary: Update request: gcc-4.8.2-3.2.mga4 and gcc-4.7.2-8.2.mga3
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: Security (show other bugs)
Version: 4
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact: Sec team
URL: http://lwn.net/Vulnerabilities/607578/
Whiteboard: MGA3TOO has_procedure MGA3-64-OK MGA4...
Keywords: validated_update
Depends on:
Blocks: 13543
  Show dependency treegraph
 
Reported: 2014-07-27 19:08 CEST by Thomas Backlund
Modified: 2014-08-04 19:12 CEST (History)
5 users (show)

See Also:
Source RPM: gcc
CVE:
Status comment:


Attachments

Description Thomas Backlund 2014-07-27 19:08:47 CEST
Advisory:
Updated gcc packages fixes miscompilation and clang++ compatibility

Updated gcc packages fixes the follwoing bugs:
The gcc rtl-optimization sched2 miscompiles syscall sequence wich can 
cause random panic in glibc and kernel (gcc/PR61801)

clang++ fails to find cxxabi.h and cxxabi_tweaks.h during build (mga#13543)




Testscase for miscompilation bug:

testfile:
$ cat exit.i
---
int a, b, c;
void fn1 ()
{
  int d;
  if (fn2 () && !0)
    {
      b = (
          {
            int e;
            fn3 ();
            switch (0)
            default:
            asm volatile("" : "=a"(e) : "0"(a), ""(0));
            e;
          });
      d = b;
    }
  c = d;
}
---

before:
$ gcc -fcompare-debug -O2 -c exit.i
gcc: error: exit.i: -fcompare-debug failure (length)

after:
$ gcc -fcompare-debug -O2 -c exit.i
(no output, exits without errors)


Testcase for clang++

Testfile:
$ cat clang_test.cpp 
---
#include <cxxabi.h>

int main (void)
{
}
---

before:
$ clang++ clang_test.cpp 

clang_test.cpp:1:10: fatal error: 'cxxabi.h' file not found
#include <cxxabi.h>
          ^
1 error generated.


after:
$ clang++ clang_test.cpp 
(no output, exits without errors)


SRPM:
gcc-4.8.2-3.1.mga4.src.rpm

i586:
gcc-4.8.2-3.1.mga4.i586.rpm
gcc-c++-4.8.2-3.1.mga4.i586.rpm
gcc-cpp-4.8.2-3.1.mga4.i586.rpm
gcc-doc-4.8.2-3.1.mga4.noarch.rpm
gcc-doc-pdf-4.8.2-3.1.mga4.noarch.rpm
gcc-gfortran-4.8.2-3.1.mga4.i586.rpm
gcc-gnat-4.8.2-3.1.mga4.i586.rpm
gcc-java-4.8.2-3.1.mga4.i586.rpm
gcc-objc-4.8.2-3.1.mga4.i586.rpm
gcc-objc++-4.8.2-3.1.mga4.i586.rpm
gcc-plugins-4.8.2-3.1.mga4.i586.rpm
gcj-tools-4.8.2-3.1.mga4.i586.rpm
libasan0-4.8.2-3.1.mga4.i586.rpm
libasan-devel-4.8.2-3.1.mga4.i586.rpm
libatomic1-4.8.2-3.1.mga4.i586.rpm
libatomic-devel-4.8.2-3.1.mga4.i586.rpm
libgcc1-4.8.2-3.1.mga4.i586.rpm
libgcj14-4.8.2-3.1.mga4.i586.rpm
libgcj14-base-4.8.2-3.1.mga4.i586.rpm
libgcj14-src-4.8.2-3.1.mga4.i586.rpm
libgcj_bc1-4.8.2-3.1.mga4.i586.rpm
libgcj-devel-4.8.2-3.1.mga4.i586.rpm
libgcj-static-devel-4.8.2-3.1.mga4.i586.rpm
libgfortran3-4.8.2-3.1.mga4.i586.rpm
libgnat1-4.8.2-3.1.mga4.i586.rpm
libgomp1-4.8.2-3.1.mga4.i586.rpm
libgomp-devel-4.8.2-3.1.mga4.i586.rpm
libitm1-4.8.2-3.1.mga4.i586.rpm
libitm-devel-4.8.2-3.1.mga4.i586.rpm
libmudflap0-4.8.2-3.1.mga4.i586.rpm
libmudflap-devel-4.8.2-3.1.mga4.i586.rpm
libobjc4-4.8.2-3.1.mga4.i586.rpm
libquadmath0-4.8.2-3.1.mga4.i586.rpm
libquadmath-devel-4.8.2-3.1.mga4.i586.rpm
libstdc++6-4.8.2-3.1.mga4.i586.rpm
libstdc++-devel-4.8.2-3.1.mga4.i586.rpm
libstdc++-docs-4.8.2-3.1.mga4.noarch.rpm
libstdc++-static-devel-4.8.2-3.1.mga4.i586.rpm

x86_64:
gcc-4.8.2-3.1.mga4.x86_64.rpm
gcc-c++-4.8.2-3.1.mga4.x86_64.rpm
gcc-cpp-4.8.2-3.1.mga4.x86_64.rpm
gcc-doc-4.8.2-3.1.mga4.noarch.rpm
gcc-doc-pdf-4.8.2-3.1.mga4.noarch.rpm
gcc-gfortran-4.8.2-3.1.mga4.x86_64.rpm
gcc-gnat-4.8.2-3.1.mga4.x86_64.rpm
gcc-java-4.8.2-3.1.mga4.x86_64.rpm
gcc-objc-4.8.2-3.1.mga4.x86_64.rpm
gcc-objc++-4.8.2-3.1.mga4.x86_64.rpm
gcc-plugins-4.8.2-3.1.mga4.x86_64.rpm
gcj-tools-4.8.2-3.1.mga4.x86_64.rpm
lib64gcj14-4.8.2-3.1.mga4.x86_64.rpm
lib64gcj_bc1-4.8.2-3.1.mga4.x86_64.rpm
lib64gcj-devel-4.8.2-3.1.mga4.x86_64.rpm
lib64gcj-static-devel-4.8.2-3.1.mga4.x86_64.rpm
libasan0-4.8.2-3.1.mga4.x86_64.rpm
libasan-devel-4.8.2-3.1.mga4.x86_64.rpm
libatomic1-4.8.2-3.1.mga4.x86_64.rpm
libatomic-devel-4.8.2-3.1.mga4.x86_64.rpm
libgcc1-4.8.2-3.1.mga4.x86_64.rpm
libgcj14-base-4.8.2-3.1.mga4.x86_64.rpm
libgcj14-src-4.8.2-3.1.mga4.x86_64.rpm
libgfortran3-4.8.2-3.1.mga4.x86_64.rpm
libgnat1-4.8.2-3.1.mga4.x86_64.rpm
libgomp1-4.8.2-3.1.mga4.x86_64.rpm
libgomp-devel-4.8.2-3.1.mga4.x86_64.rpm
libitm1-4.8.2-3.1.mga4.x86_64.rpm
libitm-devel-4.8.2-3.1.mga4.x86_64.rpm
libmudflap0-4.8.2-3.1.mga4.x86_64.rpm
libmudflap-devel-4.8.2-3.1.mga4.x86_64.rpm
libobjc4-4.8.2-3.1.mga4.x86_64.rpm
libquadmath0-4.8.2-3.1.mga4.x86_64.rpm
libquadmath-devel-4.8.2-3.1.mga4.x86_64.rpm
libstdc++6-4.8.2-3.1.mga4.x86_64.rpm
libstdc++-devel-4.8.2-3.1.mga4.x86_64.rpm
libstdc++-docs-4.8.2-3.1.mga4.noarch.rpm
libstdc++-static-devel-4.8.2-3.1.mga4.x86_64.rpm
libtsan0-4.8.2-3.1.mga4.x86_64.rpm
libtsan-devel-4.8.2-3.1.mga4.x86_64.rpm


Reproducible: 

Steps to Reproduce:
Comment 1 Marja Van Waes 2014-07-27 19:59:27 CEST
Mga4 64bits

Before updating:
***************************************************************************
[u@localhost QAtesting]$ gcc -fcompare-debug -O2 -c exit.i
gcc: fout: exit.i: -fcompare-debug failure (length)
[u@localhost QAtesting]$

(installed 
lib64clang3.3-3.3-2.mga4.x86_64.rpm 
clang-3.3-2.mga4.x86_64.rpm 
llvm-3.3-2.mga4.x86_64.rpm 
before next test)

[u@localhost QAtesting]$ clang++ clang_test.cpp
clang_test.cpp:1:10: fatal error: 'cxxabi.h' file not found
#include <cxxabi.h>
         ^
1 error generated.
[u@localhost QAtesting]$

***************************************************************************

After updating to

gcc-4.8.2-3.1.mga4.x86_64.rpm
libstdc++-devel-4.8.2-3.1.mga4.x86_64.rpm
libgcc1-4.8.2-3.1.mga4.x86_64.rpm
gcc-cpp-4.8.2-3.1.mga4.x86_64.rpm
libstdc++6-4.8.2-3.1.mga4.x86_64.rpm
libgfortran3-4.8.2-3.1.mga4.x86_64.rpm
libquadmath0-4.8.2-3.1.mga4.x86_64.rpm
libgomp1-4.8.2-3.1.mga4.x86_64.rpm

there are no more errors:
***************************************************************************
[u@localhost QAtesting]$ gcc -fcompare-debug -O2 -c exit.i
[u@localhost QAtesting]$ clang++ clang_test.cpp
[u@localhost QAtesting]$

CC: (none) => marja11

Comment 2 Marja Van Waes 2014-07-27 21:56:50 CEST
32bits

Does not seem to be fully fixed.

Maybe I shouldn't test when being interupted by many telephone calls (but how could I have known all those calls would come?)

Anyway:
I couldn't do the PoCs before updating, because gcc wasn't installed and libgcc1 had a higher version than the available gcc, though lower than the current one in testing. (didn't dare to downgrade)

Anyway, after installing / updating to
libquadmath0-4.8.2-3.1.mga4.i586.rpm
libgfortran3-4.8.2-3.1.mga4.i586.rpm
libgcc1-4.8.2-3.1.mga4.i586.rpm
libstdc++6-4.8.2-3.1.mga4.i586.rpm
libstdc++-devel-4.8.2-3.1.mga4.i586.rpm
libgomp1-4.8.2-3.1.mga4.i586.rpm
gcc-cpp-4.8.2-3.1.mga4.i586.rpm
gcc-4.8.2-3.1.mga4.i586.rpm

and installing 
clang-3.3-2.mga4.i586.rpm
llvm-3.3-2.mga4.i586.rpm
libclang3.3-3.3-2.mga4.i586.rpm 

I get:
*******************************************************

[u@localhost QAtesting]$ gcc -fcompare-debug -O2 -c exit.i
[u@localhost QAtesting]$ clang++ clang_test.cpp
clang_test.cpp:1:10: fatal error: 'cxxabi.h' file not found
#include <cxxabi.h>
         ^
1 error generated.
[u@localhost QAtesting]$ 

*******************************************************

If I caused that, then I'm blind to what I did wrong :-/
Comment 3 Thomas Backlund 2014-07-28 00:28:28 CEST
Actually you are hitting: 
https://bugs.mageia.org/show_bug.cgi?id=11805

So I've added a update request for clang/llvm:
https://bugs.mageia.org/show_bug.cgi?id=13813
Thomas Backlund 2014-07-28 11:34:09 CEST

Blocks: (none) => 13543

Comment 4 Marja Van Waes 2014-07-28 12:29:54 CEST
(In reply to Thomas Backlund from comment #3)
> Actually you are hitting: 
> https://bugs.mageia.org/show_bug.cgi?id=11805


That's a relief, tbh :-)
> 
> So I've added a update request for clang/llvm:
> https://bugs.mageia.org/show_bug.cgi?id=13813

Thanks!

after installing
llvm-3.3-2.1.mga4.i586.rpm
clang-3.3-2.1.mga4.i586.rpm
libclang3.3-3.3-2.1.mga4.i586.rpm
libllvm3.3-3.3-2.1.mga4.i586.rpm

both tests are error-free :-) :
[u@localhost QAtesting]$ gcc -fcompare-debug -O2 -c exit.i
[u@localhost QAtesting]$ clang++ clang_test.cpp
[u@localhost QAtesting]$
Comment 5 Thomas Backlund 2014-07-28 12:44:21 CEST
(In reply to Marja van Waes from comment #4)
> (In reply to Thomas Backlund from comment #3)
> > Actually you are hitting: 
> > https://bugs.mageia.org/show_bug.cgi?id=11805
> 
> 
> That's a relief, tbh :-)

:)


> > 
> > So I've added a update request for clang/llvm:
> > https://bugs.mageia.org/show_bug.cgi?id=13813
> 
> Thanks!
> 
> after installing
> llvm-3.3-2.1.mga4.i586.rpm
> clang-3.3-2.1.mga4.i586.rpm
> libclang3.3-3.3-2.1.mga4.i586.rpm
> libllvm3.3-3.3-2.1.mga4.i586.rpm
> 
> both tests are error-free :-) :
> [u@localhost QAtesting]$ gcc -fcompare-debug -O2 -c exit.i
> [u@localhost QAtesting]$ clang++ clang_test.cpp
> [u@localhost QAtesting]$

so this test also validates that the bug 11805 part of bug 13813 is fixed
Comment 6 Thomas Backlund 2014-07-31 14:15:30 CEST
This one is being update to squash a security issue
Comment 7 Thomas Backlund 2014-07-31 20:39:41 CEST
Updated advisory, and now the same fixes are pushed to mga3 too:

Updated gcc packages fixes security issue and other bugs

Updated gcc packages fixes the following security issue:
Multiple integer overflow issues were found in libgfortran, the run-time
support library for the Fortran compiler. These could possibly be used to
crash a Fortran application or cause it to execute arbitrary code.
(CVE-2014-5044)

They also fixes the following bugs:
The gcc rtl-optimization sched2 miscompiles syscall sequence wich can 
cause random panic in glibc and kernel (gcc/PR61801)

clang++ fails to find cxxabi.h and cxxabi_tweaks.h during build (mga#13543)



Mga4 rpms list:
SRPM
gcc-4.8.2-3.2.mga4.src.rpm


i586:
gcc-4.8.2-3.2.mga4.i586.rpm
gcc-c++-4.8.2-3.2.mga4.i586.rpm
gcc-cpp-4.8.2-3.2.mga4.i586.rpm
gcc-doc-4.8.2-3.2.mga4.noarch.rpm
gcc-doc-pdf-4.8.2-3.2.mga4.noarch.rpm
gcc-gfortran-4.8.2-3.2.mga4.i586.rpm
gcc-gnat-4.8.2-3.2.mga4.i586.rpm
gcc-java-4.8.2-3.2.mga4.i586.rpm
gcc-objc-4.8.2-3.2.mga4.i586.rpm
gcc-objc++-4.8.2-3.2.mga4.i586.rpm
gcc-plugins-4.8.2-3.2.mga4.i586.rpm
gcj-tools-4.8.2-3.2.mga4.i586.rpm
libasan0-4.8.2-3.2.mga4.i586.rpm
libasan-devel-4.8.2-3.2.mga4.i586.rpm
libatomic1-4.8.2-3.2.mga4.i586.rpm
libatomic-devel-4.8.2-3.2.mga4.i586.rpm
libgcc1-4.8.2-3.2.mga4.i586.rpm
libgcj14-4.8.2-3.2.mga4.i586.rpm
libgcj14-base-4.8.2-3.2.mga4.i586.rpm
libgcj14-src-4.8.2-3.2.mga4.i586.rpm
libgcj_bc1-4.8.2-3.2.mga4.i586.rpm
libgcj-devel-4.8.2-3.2.mga4.i586.rpm
libgcj-static-devel-4.8.2-3.2.mga4.i586.rpm
libgfortran3-4.8.2-3.2.mga4.i586.rpm
libgnat1-4.8.2-3.2.mga4.i586.rpm
libgomp1-4.8.2-3.2.mga4.i586.rpm
libgomp-devel-4.8.2-3.2.mga4.i586.rpm
libitm1-4.8.2-3.2.mga4.i586.rpm
libitm-devel-4.8.2-3.2.mga4.i586.rpm
libmudflap0-4.8.2-3.2.mga4.i586.rpm
libmudflap-devel-4.8.2-3.2.mga4.i586.rpm
libobjc4-4.8.2-3.2.mga4.i586.rpm
libquadmath0-4.8.2-3.2.mga4.i586.rpm
libquadmath-devel-4.8.2-3.2.mga4.i586.rpm
libstdc++6-4.8.2-3.2.mga4.i586.rpm
libstdc++-devel-4.8.2-3.2.mga4.i586.rpm
libstdc++-docs-4.8.2-3.2.mga4.noarch.rpm
libstdc++-static-devel-4.8.2-3.2.mga4.i586.rpm


x86_64:
gcc-4.8.2-3.2.mga4.x86_64.rpm
gcc-c++-4.8.2-3.2.mga4.x86_64.rpm
gcc-cpp-4.8.2-3.2.mga4.x86_64.rpm
gcc-doc-4.8.2-3.2.mga4.noarch.rpm
gcc-doc-pdf-4.8.2-3.2.mga4.noarch.rpm
gcc-gfortran-4.8.2-3.2.mga4.x86_64.rpm
gcc-gnat-4.8.2-3.2.mga4.x86_64.rpm
gcc-java-4.8.2-3.2.mga4.x86_64.rpm
gcc-objc-4.8.2-3.2.mga4.x86_64.rpm
gcc-objc++-4.8.2-3.2.mga4.x86_64.rpm
gcc-plugins-4.8.2-3.2.mga4.x86_64.rpm
gcj-tools-4.8.2-3.2.mga4.x86_64.rpm
lib64gcj14-4.8.2-3.2.mga4.x86_64.rpm
lib64gcj_bc1-4.8.2-3.2.mga4.x86_64.rpm
lib64gcj-devel-4.8.2-3.2.mga4.x86_64.rpm
lib64gcj-static-devel-4.8.2-3.2.mga4.x86_64.rpm
libasan0-4.8.2-3.2.mga4.x86_64.rpm
libasan-devel-4.8.2-3.2.mga4.x86_64.rpm
libatomic1-4.8.2-3.2.mga4.x86_64.rpm
libatomic-devel-4.8.2-3.2.mga4.x86_64.rpm
libgcc1-4.8.2-3.2.mga4.x86_64.rpm
libgcj14-base-4.8.2-3.2.mga4.x86_64.rpm
libgcj14-src-4.8.2-3.2.mga4.x86_64.rpm
libgfortran3-4.8.2-3.2.mga4.x86_64.rpm
libgnat1-4.8.2-3.2.mga4.x86_64.rpm
libgomp1-4.8.2-3.2.mga4.x86_64.rpm
libgomp-devel-4.8.2-3.2.mga4.x86_64.rpm
libitm1-4.8.2-3.2.mga4.x86_64.rpm
libitm-devel-4.8.2-3.2.mga4.x86_64.rpm
libmudflap0-4.8.2-3.2.mga4.x86_64.rpm
libmudflap-devel-4.8.2-3.2.mga4.x86_64.rpm
libobjc4-4.8.2-3.2.mga4.x86_64.rpm
libquadmath0-4.8.2-3.2.mga4.x86_64.rpm
libquadmath-devel-4.8.2-3.2.mga4.x86_64.rpm
libstdc++6-4.8.2-3.2.mga4.x86_64.rpm
libstdc++-devel-4.8.2-3.2.mga4.x86_64.rpm
libstdc++-docs-4.8.2-3.2.mga4.noarch.rpm
libstdc++-static-devel-4.8.2-3.2.mga4.x86_64.rpm
libtsan0-4.8.2-3.2.mga4.x86_64.rpm
libtsan-devel-4.8.2-3.2.mga4.x86_64.rpm




Mga3 rpms list:

SRPM:
gcc-4.7.2-8.2.mga3.src.rpm


i586:
gcc-4.7.2-8.2.mga3.i586.rpm
gcc-c++-4.7.2-8.2.mga3.i586.rpm
gcc-cpp-4.7.2-8.2.mga3.i586.rpm
gcc-doc-4.7.2-8.2.mga3.noarch.rpm
gcc-doc-pdf-4.7.2-8.2.mga3.noarch.rpm
gcc-gfortran-4.7.2-8.2.mga3.i586.rpm
gcc-gnat-4.7.2-8.2.mga3.i586.rpm
gcc-java-4.7.2-8.2.mga3.i586.rpm
gcc-objc-4.7.2-8.2.mga3.i586.rpm
gcc-objc++-4.7.2-8.2.mga3.i586.rpm
gcc-plugins-4.7.2-8.2.mga3.i586.rpm
gcj-tools-4.7.2-8.2.mga3.i586.rpm
libgcc1-4.7.2-8.2.mga3.i586.rpm
libgcj13-4.7.2-8.2.mga3.i586.rpm
libgcj13-base-4.7.2-8.2.mga3.i586.rpm
libgcj13-src-4.7.2-8.2.mga3.i586.rpm
libgcj_bc1-4.7.2-8.2.mga3.i586.rpm
libgcj-devel-4.7.2-8.2.mga3.i586.rpm
libgcj-static-devel-4.7.2-8.2.mga3.i586.rpm
libgfortran3-4.7.2-8.2.mga3.i586.rpm
libgnat1-4.7.2-8.2.mga3.i586.rpm
libgomp1-4.7.2-8.2.mga3.i586.rpm
libgomp-devel-4.7.2-8.2.mga3.i586.rpm
libitm1-4.7.2-8.2.mga3.i586.rpm
libitm-devel-4.7.2-8.2.mga3.i586.rpm
libmudflap0-4.7.2-8.2.mga3.i586.rpm
libmudflap-devel-4.7.2-8.2.mga3.i586.rpm
libobjc4-4.7.2-8.2.mga3.i586.rpm
libquadmath0-4.7.2-8.2.mga3.i586.rpm
libquadmath-devel-4.7.2-8.2.mga3.i586.rpm
libstdc++6-4.7.2-8.2.mga3.i586.rpm
libstdc++-devel-4.7.2-8.2.mga3.i586.rpm
libstdc++-docs-4.7.2-8.2.mga3.noarch.rpm
libstdc++-static-devel-4.7.2-8.2.mga3.i586.rpm


x86_64:
gcc-4.7.2-8.2.mga3.x86_64.rpm
gcc-c++-4.7.2-8.2.mga3.x86_64.rpm
gcc-cpp-4.7.2-8.2.mga3.x86_64.rpm
gcc-doc-4.7.2-8.2.mga3.noarch.rpm
gcc-doc-pdf-4.7.2-8.2.mga3.noarch.rpm
gcc-gfortran-4.7.2-8.2.mga3.x86_64.rpm
gcc-gnat-4.7.2-8.2.mga3.x86_64.rpm
gcc-java-4.7.2-8.2.mga3.x86_64.rpm
gcc-objc-4.7.2-8.2.mga3.x86_64.rpm
gcc-objc++-4.7.2-8.2.mga3.x86_64.rpm
gcc-plugins-4.7.2-8.2.mga3.x86_64.rpm
gcj-tools-4.7.2-8.2.mga3.x86_64.rpm
lib64gcj13-4.7.2-8.2.mga3.x86_64.rpm
lib64gcj_bc1-4.7.2-8.2.mga3.x86_64.rpm
lib64gcj-devel-4.7.2-8.2.mga3.x86_64.rpm
lib64gcj-static-devel-4.7.2-8.2.mga3.x86_64.rpm
libgcc1-4.7.2-8.2.mga3.x86_64.rpm
libgcj13-base-4.7.2-8.2.mga3.x86_64.rpm
libgcj13-src-4.7.2-8.2.mga3.x86_64.rpm
libgfortran3-4.7.2-8.2.mga3.x86_64.rpm
libgnat1-4.7.2-8.2.mga3.x86_64.rpm
libgomp1-4.7.2-8.2.mga3.x86_64.rpm
libgomp-devel-4.7.2-8.2.mga3.x86_64.rpm
libitm1-4.7.2-8.2.mga3.x86_64.rpm
libitm-devel-4.7.2-8.2.mga3.x86_64.rpm
libmudflap0-4.7.2-8.2.mga3.x86_64.rpm
libmudflap-devel-4.7.2-8.2.mga3.x86_64.rpm
libobjc4-4.7.2-8.2.mga3.x86_64.rpm
libquadmath0-4.7.2-8.2.mga3.x86_64.rpm
libquadmath-devel-4.7.2-8.2.mga3.x86_64.rpm
libstdc++6-4.7.2-8.2.mga3.x86_64.rpm
libstdc++-devel-4.7.2-8.2.mga3.x86_64.rpm
libstdc++-docs-4.7.2-8.2.mga3.noarch.rpm
libstdc++-static-devel-4.7.2-8.2.mga3.x86_64.rpm

Summary: Update request: gcc-4.8.2-3.1.mga4 => Update request: gcc-4.8.2-3.1.mga4 and gcc-4.7.2-8.2.mga3
QA Contact: (none) => security
Whiteboard: (none) => MGA3TOO
Component: RPM Packages => Security

Comment 8 Marja Van Waes 2014-08-01 13:09:00 CEST
On Mga3, 64bits, one of the tests fails before updating (I suppose the other problem wasn't present in our Mga 3 version of gcc)

[user@Mga3_64bits QAtesting]$ gcc -fcompare-debug -O2 -c exit.i
[user@Mga3_64bits QAtesting]$ clang++ clang_test.cpp
clang_test.cpp:1:10: fatal error: 'cxxabi.h' file not found
#include <cxxabi.h>
         ^
1 error generated.
[user@Mga3_64bits QAtesting]$

Updated to:

gcj-tools-4.7.2-8.2.mga3.x86_64.rpm
lib64gcj_bc1-4.7.2-8.2.mga3.x86_64.rpm
gcc-4.7.2-8.2.mga3.x86_64.rpm
libstdc++-devel-4.7.2-8.2.mga3.x86_64.rpm
libgcj13-base-4.7.2-8.2.mga3.x86_64.rpm
libgcc1-4.7.2-8.2.mga3.x86_64.rpm
lib64gcj13-4.7.2-8.2.mga3.x86_64.rpm
libstdc++6-4.7.2-8.2.mga3.x86_64.rpm
gcc-c++-4.7.2-8.2.mga3.x86_64.rpm
gcc-cpp-4.7.2-8.2.mga3.x86_64.rpm
libquadmath0-4.7.2-8.2.mga3.x86_64.rpm
libgomp1-4.7.2-8.2.mga3.x86_64.rpm
libgfortran3-4.7.2-8.2.mga3.x86_64.rpm

There were no errors while updating.

Afterwards both tests are OK:
[user@Mga3_64bits QAtesting]$ clang++ clang_test.cpp
[user@Mga3_64bits QAtesting]$ gcc -fcompare-debug -O2 -c exit.i
[user@Mga3_64bits QAtesting]$

Whiteboard: MGA3TOO => MGA3TOO MGA3-64-OK

Comment 9 Marja Van Waes 2014-08-01 14:35:30 CEST
Mga4, 64bits:

As shown in comment 1, both tests failed before updating with the packages from updates_testing.

Now, after updating to the very last version:

gcc-4.8.2-3.2.mga4.x86_64.rpm
libgomp1-4.8.2-3.2.mga4.x86_64.rpm
libstdc++-devel-4.8.2-3.2.mga4.x86_64.rpm
libquadmath0-4.8.2-3.2.mga4.x86_64.rpm
libgcc1-4.8.2-3.2.mga4.x86_64.rpm
libstdc++6-4.8.2-3.2.mga4.x86_64.rpm
libgfortran3-4.8.2-3.2.mga4.x86_64.rpm
gcc-cpp-4.8.2-3.2.mga4.x86_64.rpm

there are no errors while updating.

The tests succeed without problems:
[u@localhost QAtesting]$ gcc -fcompare-debug -O2 -c exit.i
[u@localhost QAtesting]$ clang++ clang_test.cpp
[u@localhost QAtesting]$

Whiteboard: MGA3TOO MGA3-64-OK => MGA3TOO MGA3-64-OK MGA4-64-OK

Comment 10 Marja Van Waes 2014-08-01 15:44:55 CEST
Mga4 32bits:

After updating again, now to the very last testing version:

libquadmath0-4.8.2-3.2.mga4.i586.rpm
libgcc1-4.8.2-3.2.mga4.i586.rpm
libstdc++-devel-4.8.2-3.2.mga4.i586.rpm
gcc-4.8.2-3.2.mga4.i586.rpm
libgomp1-4.8.2-3.2.mga4.i586.rpm
libgfortran3-4.8.2-3.2.mga4.i586.rpm
gcc-cpp-4.8.2-3.2.mga4.i586.rpm
libstdc++6-4.8.2-3.2.mga4.i586.rpm

(there were no errors while updating)

both tests pass without errors:
[u@localhost QAtesting]$ clang++ clang_test.cpp
[u@localhost QAtesting]$ gcc -fcompare-debug -O2 -c exit.i
[u@localhost QAtesting]$

I don't (yet) have a 32 bits Mga3 to test with, can someone else please do that?

Whiteboard: MGA3TOO MGA3-64-OK MGA4-64-OK => MGA3TOO MGA3-64-OK MGA4-64-OK MGA4-32-OK

Marja Van Waes 2014-08-01 15:45:28 CEST

Summary: Update request: gcc-4.8.2-3.1.mga4 and gcc-4.7.2-8.2.mga3 => Update request: gcc-4.8.2-3.2.mga4 and gcc-4.7.2-8.2.mga3

Rémi Verschelde 2014-08-01 15:48:41 CEST

CC: (none) => remi
Whiteboard: MGA3TOO MGA3-64-OK MGA4-64-OK MGA4-32-OK => MGA3TOO has_procedure MGA3-64-OK MGA4-64-OK MGA4-32-OK

Comment 11 David Walser 2014-08-01 16:17:00 CEST
Testing Mageia 3 i586.

As Marja found on x86_64, the exit.i test was fine before (and after) the update.

However, after the update the clang_test.cpp test still fails.

Tested:
libgfortran3-4.7.2-8.2.mga3
gcc-cpp-4.7.2-8.2.mga3
libstdc++6-4.7.2-8.2.mga3
gcc-c++-4.7.2-8.2.mga3
libquadmath0-4.7.2-8.2.mga3
libgcc1-4.7.2-8.2.mga3
libgomp1-4.7.2-8.2.mga3
gcc-4.7.2-8.2.mga3
libstdc++-devel-4.7.2-8.2.mga3

CC: (none) => luigiwalser

Comment 12 Marja Van Waes 2014-08-01 16:46:01 CEST
(In reply to David Walser from comment #11)
> Testing Mageia 3 i586.
> 
> As Marja found on x86_64, the exit.i test was fine before (and after) the
> update.
> 
> However, after the update the clang_test.cpp test still fails.
> 

That could be for the same reason as why it failed for Mga4 32bits at first:

(In reply to Thomas Backlund from comment #3)
> Actually you are hitting: 
> https://bugs.mageia.org/show_bug.cgi?id=11805
> 
> So I've added a update request for clang/llvm:
> https://bugs.mageia.org/show_bug.cgi?id=13813

If so, the same update is needed for Mga3
Comment 13 Thomas Backlund 2014-08-01 18:05:38 CEST
So right you are Marja :)

llvm-3.2-5.1.mga3 is now heading to updates_testing with the same fixes as done for mga4


as for triggering the gcc miscompilation, it's way harder to do on mga3
wich is why the "gcc -fcompare-debug -O2 -c exit.i" test works before and
after the fix.

The reason for adding the fix on mga3 gcc is that upstream says it's a regression
since gcc-4.5 so I added the fix since gcc is being pushed anyway.

So dont worry if the issue dont trigger, the test still confirms that the affected code for the optimizer is not regressing either :)
Comment 14 David Walser 2014-08-01 19:48:15 CEST
With the updated clang/llvm, the clang test passes.  Marking OK and validating.

The advisory still needs to be uploaded.

Please push this to core/updates for Mageia 3 and Mageia 4.

Keywords: (none) => validated_update
Whiteboard: MGA3TOO has_procedure MGA3-64-OK MGA4-64-OK MGA4-32-OK => MGA3TOO has_procedure MGA3-64-OK MGA4-64-OK MGA4-32-OK MGA3-32-OK
CC: (none) => sysadmin-bugs

Comment 15 Rémi Verschelde 2014-08-01 23:26:19 CEST
Advisory uploaded.

Whiteboard: MGA3TOO has_procedure MGA3-64-OK MGA4-64-OK MGA4-32-OK MGA3-32-OK => MGA3TOO has_procedure MGA3-64-OK MGA4-64-OK MGA4-32-OK MGA3-32-OK advisory

Comment 16 Colin Guthrie 2014-08-04 13:23:22 CEST
Update pushed.

http://advisories.mageia.org/MGASA-2014-0306.html

Status: NEW => RESOLVED
CC: (none) => mageia
Resolution: (none) => FIXED

David Walser 2014-08-04 19:12:42 CEST

URL: (none) => http://lwn.net/Vulnerabilities/607578/


Note You need to log in before you can comment on or make changes to this bug.