Bug 504722 - g++43 compilation error, rhel5.4-beta, i386 only, using boost API
Summary: g++43 compilation error, rhel5.4-beta, i386 only, using boost API
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: gcc43
Version: 5.4
Hardware: i386
OS: Linux
medium
medium
Target Milestone: rc
: 5.5
Assignee: Jakub Jelinek
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-06-09 01:44 UTC by Mark Goodwin
Modified: 2018-10-20 00:12 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-06-10 07:10:55 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
g++ reproducer source code (608 bytes, application/octet-stream)
2009-06-09 01:44 UTC, Mark Goodwin
no flags Details

Description Mark Goodwin 2009-06-09 01:44:44 UTC
Created attachment 346951 [details]
g++ reproducer source code

Description of problem:
g++43 compilation error with customer application using the BOOST libraries.
Not reproducible on x86_64 and not reproducible with gcc44-preview.
This is *only* reproducible with gcc43 on i386. Please ensure this is
no longer an issue for the gcc44 release candidate in RHEL5.4.

Version-Release number of selected component (if applicable):
# g++43 -v
Using built-in specs.
Target: i386-redhat-linux6E
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,fortran --disable-libgcj --with-cpu=generic --build=i386-redhat-linux6E
Thread model: posix
gcc version 4.3.2 20081007 (Red Hat 4.3.2-7) (GCC) 
# rpm -q gcc43
gcc43-4.3.2-7.el5

How reproducible: always
Steps to Reproduce (using attached x.cpp test code) :

curl -o boost_1_39_0.tar.bz2 \
http://puzzle.dl.sourceforge.net/sourceforge/boost/boost_1_39_0.tar.bz2
tar xvfj boost_1_39_0.tar.bz2
cd boost_1_39_0
# put the attached x.cpp in this directory
g++43 -O3 -fPIC -I. -Ilibs/math/src/tr1 x.cpp

Q. What behaviour is the customer expecting?
The customer expects the code to compile and link.

Q. What behaviour is the customer getting?
Actual results:
/usr/bin/ld: a.out: hidden symbol `void std::__ostream_fill<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, long)' isn't defined
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status

Additional info:
* The problem is not reproducible on x86-64.
* The problem is still reproducible with less aggressive flags:
"g++43 -O1 -I. -Ilibs/math/src/tr1 x.cpp".
* The problem is not reproducible when optimisation is completely disabled:
"g++43 -O0 -fPIC -I. -Ilibs/math/src/tr1 x.cpp".
* The problem is not reproducible with the regular gcc packages:
"g++ -O3 -fPIC -I. -Ilibs/math/src/tr1 x.cpp".
* The problem is not reproducible in a current Debian sid i386 pbuilder chroot using "gcc version 4.3.3 (Debian 4.3.3-10)" (Debian package 4:4.3.3-8)
* Preprocessed source code (as per http://gcc.gnu.org/bugs.html is attached as
 x.ii; matching build messages are in log.txt.

Comment 1 RHEL Program Management 2009-06-09 01:49:28 UTC
This request was evaluated by Red Hat Product Management for
inclusion, but this component is not scheduled to be updated in
the current Red Hat Enterprise Linux release. If you would like
this request to be reviewed for the next minor release, ask your
support representative to set the next rhel-x.y flag to "?".

Comment 3 Mark Goodwin 2009-06-10 01:02:24 UTC
targeting gcc43 in rhel5.5.
gcc and gcc44 in 5.4 are not affected.

Comment 4 Jakub Jelinek 2009-06-10 06:57:15 UTC
That doesn't make any sense, because gcc44 replaced gcc43 in RHEL5.4, so we won't ever ship gcc43 again.

Comment 5 Mark Goodwin 2009-06-10 07:02:12 UTC
ah, I thought gcc43 was going to continue to be shipped (along with gcc44),
but if gcc44 obsoletes 43 then there will be no issue since the problem
only occurs with gcc43.

Thanks
-- Mark


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