Red Hat Bugzilla – Bug 504722
g++43 compilation error, rhel5.4-beta, i386 only, using boost API
Last modified: 2010-10-23 06:00:47 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.
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
# 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?
/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
* 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.
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 "?".
targeting gcc43 in rhel5.5.
gcc and gcc44 in 5.4 are not affected.
That doesn't make any sense, because gcc44 replaced gcc43 in RHEL5.4, so we won't ever ship gcc43 again.
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.