This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/38923] New: symbol versioning disabled due to non-portable sed script
- From: "jwakely dot gcc at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 20 Jan 2009 15:54:56 -0000
- Subject: [Bug libstdc++/38923] New: symbol versioning disabled due to non-portable sed script
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
libstdc++-v3/configure contains this:
ldver=`$LD --version 2>/dev/null | head -1 | \
sed -e 's/GNU \(go\)\{0,1\}ld \(version \)\{0,1\}\(([^)]*)
\)\{0,1\}\([0-9.][0-9.]*\).*/\4/'`
that sed script fails with /usr/bin/sed on Solaris, disabling symbol
versioning.
Here's an example of what I get:
++ /sbcimp/run/pd/binutils/32-bit/2.18/bin/ld --version
++ head -1
++ sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*)
\)\{0,1\}\([0-9.][0-9.]*\).*/\3/'
+ ldver='GNU ld (GNU Binutils) 2.18'
++ echo GNU ld '(GNU' 'Binutils)' 2.18
++ nawk -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'
+ glibcxx_gnu_ld_version=1800
This leads to:
configure: WARNING: === Linker version 1800 is too old for
configure: WARNING: === full symbol versioning support in this release of GCC.
configure: WARNING: === You would need to upgrade your binutils to version
configure: WARNING: === 21400 or later and rebuild GCC.
configure: WARNING: === Symbol versioning will be disabled.
configure: versioning on shared library symbols is no
Could be fixed by requiring a POSIX sed, or by using awk to select the version
(we already require POSIX awk)
--
Summary: symbol versioning disabled due to non-portable sed
script
Product: gcc
Version: 4.3.3
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jwakely dot gcc at gmail dot com
GCC build triplet: ultrasparc3-sun-solaris2.10
GCC host triplet: ultrasparc3-sun-solaris2.10
GCC target triplet: ultrasparc3-sun-solaris2.10
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38923