This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [build, doc, v3] Support Sun symbol versioning in libstdc++-v3, rev. 2
Paolo Carlini <paolo.carlini@oracle.com> writes:
>> Rainer, are you *sure* that HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT
>> is actually defined somewhere on, eg, linux, for use in gnu.ver etc?
>> Because I did a quick build on x86_64-linux and inside the libstdc++-v3
>> build dir I only see
>> _GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT defined, in
>> config.h + _GLIBCXX__GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT
>> in c++config.h. Something seems fishy...
>>
> And abi_check fails. Something is badly wrong on linux. Of course always
> test on linux too when testing this kind of change!!!! Please fix
> quickly or revert, thanks.
I think I see now what's going on. The following patch should fix it:
* There was a syntax error in acinclude.m4: a missing ;; in the default
case.
* I AC_DEFINE'd the _GLIBCXX_-prefixed symbol in acinclude.m4, while the
files under src include c++config.h which adds another level of
prefixing.
Could you please test this for me? I don't have ready access to
GNU/Linux.
Sorry for the mess.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
2010-07-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* acinclude.m4 (symvers_renaming): Define
HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT instead of
_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
Fix syntax error.
* config.h.in: Regenerate.
* configure: Regenerate.
diff -r 08cc828c8afb libstdc++-v3/acinclude.m4
--- a/libstdc++-v3/acinclude.m4 Mon Jun 28 16:33:40 2010 +0200
+++ b/libstdc++-v3/acinclude.m4 Fri Jul 02 13:43:56 2010 +0200
@@ -2998,9 +2998,9 @@
symvers_renaming=no ;;
# Other platforms with GNU symbol versioning (GNU/Linux, more?) do.
*)
- AC_DEFINE(_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT, 1,
+ AC_DEFINE(HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT, 1,
[Define to 1 if the target runtime linker supports binding the same symbol to different versions.])
- symvers_renaming=yes
+ symvers_renaming=yes ;;
esac
fi
GLIBCXX_CONDITIONAL(ENABLE_SYMVERS_SOL2, test $symvers_renaming = no)
- References:
- Re: [build, doc, v3] Support Sun symbol versioning in libstdc++-v3, rev. 2
- Re: [build, doc, v3] Support Sun symbol versioning in libstdc++-v3, rev. 2
- Re: [build, doc, v3] Support Sun symbol versioning in libstdc++-v3, rev. 2
- Re: [build, doc, v3] Support Sun symbol versioning in libstdc++-v3, rev. 2