Bug 504722 - g++43 compilation error, rhel5.4-beta, i386 only, using boost API
g++43 compilation error, rhel5.4-beta, i386 only, using boost API
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: gcc43 (Show other bugs)
i386 Linux
medium Severity medium
: rc
: 5.5
Assigned To: Jakub Jelinek
Depends On:
  Show dependency treegraph
Reported: 2009-06-08 21:44 EDT by Mark Goodwin
Modified: 2010-10-23 06:00 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-06-10 03:10:55 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

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

  None (edit)
Description Mark Goodwin 2009-06-08 21:44:44 EDT
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

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

curl -o 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 Product and Program Management 2009-06-08 21:49:28 EDT
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-09 21:02:24 EDT
targeting gcc43 in rhel5.5.
gcc and gcc44 in 5.4 are not affected.
Comment 4 Jakub Jelinek 2009-06-10 02:57:15 EDT
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 03:02:12 EDT
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.

-- Mark

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