FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian GCC

 
 
LinkBack Thread Tools
 
Old 05-21-2012, 09:31 AM
"Christophe Prud'homme"
 
Default Bug#673749: g++-4.7: gcc47 generates buggy code with optimisation flags

Please note that**- Debug -g
*- RelWithDebInfo uses -g -O1**- Release uses -O3
there must be an option in -O1 that generates the buggy code.


Best regardsC.

On Mon, May 21, 2012 at 10:34 AM, Christophe Prud'homme <prudhomm@debian.org> wrote:

Package: g++-4.7

Version: 4.7.0-8

Severity: normal

Tags: upstream



Dear Maintainer,



* * What led up to the situation?

I ported feel++ to gcc47 and found out that it generates buggy code(generating

segfault) in optimisation mode.

Here are the steps to reproduce it

*- install feel++-apps

*- execute feel_doc_myfunctionspace (compiled using CMAKE_BUILD_TYPE=Release)

*- it generates a segfault



what happens is that a data structure containing only a double data member seem

to be optimized away and became dangling reference (invalid read using

valgrind).

The code crashes at line 220 of doc/manual/tutorial/myfunctionspace.cpp when

evaluating the _expression_ template data structure g defined on line 215.



*- in gcc47 with CMAKE_BUILD_TYPE=Debug, it works without problems

*- with gcc45, gcc46, clang31 on Linux and OSX there are no problems at all

* in RelWithDebInfo and Release mode (CMAKE_BUILD_TYPE)



Hence I believe that this is a bug in gcc47 code generation/optimisation.







-- System Information:

Debian Release: wheezy/sid

*APT prefers unstable

*APT policy: (500, 'unstable')

Architecture: amd64 (x86_64)



Kernel: Linux 3.2.0-2-amd64 (SMP w/1 CPU core)

Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Shell: /bin/sh linked to /bin/dash



Versions of packages g++-4.7 depends on:

ii *gcc-4.7 * * * * * * 4.7.0-8

ii *gcc-4.7-base * * * *4.7.0-8

ii *libc6 * * * * * * * 2.13-32

ii *libgmp10 * * * * * *2:5.0.5+dfsg-1.1

ii *libmpc2 * * * * * * 0.9-4

ii *libmpfr4 * * * * * *3.1.0-5

ii *libstdc++6-4.7-dev *4.7.0-8

ii *zlib1g * * * * * * *1:1.2.7.dfsg-2



g++-4.7 recommends no packages.



Versions of packages g++-4.7 suggests:

pn *g++-4.7-multilib * *<none>

pn *gcc-4.7-doc * * * * <none>

pn *libstdc++6-4.7-dbg *<none>



-- no debconf information
 
Old 05-21-2012, 05:31 PM
"Christophe Prud'homme"
 
Default Bug#673749: g++-4.7: gcc47 generates buggy code with optimisation flags

FYI I have also submitted a bug report on GCC Bugzilla [1]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53439


On Mon, May 21, 2012 at 11:31 AM, Christophe Prud'homme <prudhomm@debian.org> wrote:

Please note that**- Debug -g
*- RelWithDebInfo uses -g -O1**- Release uses -O3
there must be an option in -O1 that generates the buggy code.



Best regardsC.

On Mon, May 21, 2012 at 10:34 AM, Christophe Prud'homme <prudhomm@debian.org> wrote:


Package: g++-4.7

Version: 4.7.0-8

Severity: normal

Tags: upstream



Dear Maintainer,



* * What led up to the situation?

I ported feel++ to gcc47 and found out that it generates buggy code(generating

segfault) in optimisation mode.

Here are the steps to reproduce it

*- install feel++-apps

*- execute feel_doc_myfunctionspace (compiled using CMAKE_BUILD_TYPE=Release)

*- it generates a segfault



what happens is that a data structure containing only a double data member seem

to be optimized away and became dangling reference (invalid read using

valgrind).

The code crashes at line 220 of doc/manual/tutorial/myfunctionspace.cpp when

evaluating the _expression_ template data structure g defined on line 215.



*- in gcc47 with CMAKE_BUILD_TYPE=Debug, it works without problems

*- with gcc45, gcc46, clang31 on Linux and OSX there are no problems at all

* in RelWithDebInfo and Release mode (CMAKE_BUILD_TYPE)



Hence I believe that this is a bug in gcc47 code generation/optimisation.







-- System Information:

Debian Release: wheezy/sid

*APT prefers unstable

*APT policy: (500, 'unstable')

Architecture: amd64 (x86_64)



Kernel: Linux 3.2.0-2-amd64 (SMP w/1 CPU core)

Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Shell: /bin/sh linked to /bin/dash



Versions of packages g++-4.7 depends on:

ii *gcc-4.7 * * * * * * 4.7.0-8

ii *gcc-4.7-base * * * *4.7.0-8

ii *libc6 * * * * * * * 2.13-32

ii *libgmp10 * * * * * *2:5.0.5+dfsg-1.1

ii *libmpc2 * * * * * * 0.9-4

ii *libmpfr4 * * * * * *3.1.0-5

ii *libstdc++6-4.7-dev *4.7.0-8

ii *zlib1g * * * * * * *1:1.2.7.dfsg-2



g++-4.7 recommends no packages.



Versions of packages g++-4.7 suggests:

pn *g++-4.7-multilib * *<none>

pn *gcc-4.7-doc * * * * <none>

pn *libstdc++6-4.7-dbg *<none>



-- no debconf information
 

Thread Tools




All times are GMT. The time now is 09:48 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org