re PR libstdc++/22109 (/home/dave/opt/gnu/bin/ld: BFD 2.16.91 20050612 internal error)
PR libstdc++/22109 * src/compatibility.cc (_GLIBCXX_SYMVER_COMPATIBILITY): Remove. (istreambuf_iterator, basic_fstream, basic_ifstream, basic_ofstream, _M_copy, _M_move, _M_assign, _M_disjunct, _M_check_length, _M_set_length_and_sharable, ignore, eq): Define to XX suffixed variants. (ignore (streamsize)): Remove _W prefixed aliases. (_GLIBCXX_3_4_SYMVER_SPECIAL, _GLIBCXX_3_4_5_SYMVER_SPECIAL, _GLIBCXX_APPLY_SYMVER_SPECIAL): Remove. (_GLIBCXX_3_4_SYMVER, _GLIBCXX_3_4_5_SYMVER): Add XXname argument. Use #XXname instead of #name as the alias argument. * config/abi/compatibility.h: Replace uses of _GLIBCXX_APPLY_SYMVER_SPECIAL with _GLIBCXX_APPLY_SYMVER. Always pass 2 arguments to the _GLIBCXX_APPLY_SYMVER macro. * include/bits/char_traits.h (char_traits::eq): Revert 2005-06-15 change. * acinclude.m4: Decrease glibcxx_min_gnu_ld_version back to 21400. * configure: Rebuilt. From-SVN: r101273
This commit is contained in:
parent
e57f2b4144
commit
462ec41561
@ -1,3 +1,24 @@
|
||||
2005-06-23 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR libstdc++/22109
|
||||
* src/compatibility.cc (_GLIBCXX_SYMVER_COMPATIBILITY): Remove.
|
||||
(istreambuf_iterator, basic_fstream, basic_ifstream, basic_ofstream,
|
||||
_M_copy, _M_move, _M_assign, _M_disjunct, _M_check_length,
|
||||
_M_set_length_and_sharable, ignore, eq): Define to XX suffixed
|
||||
variants.
|
||||
(ignore (streamsize)): Remove _W prefixed aliases.
|
||||
(_GLIBCXX_3_4_SYMVER_SPECIAL, _GLIBCXX_3_4_5_SYMVER_SPECIAL,
|
||||
_GLIBCXX_APPLY_SYMVER_SPECIAL): Remove.
|
||||
(_GLIBCXX_3_4_SYMVER, _GLIBCXX_3_4_5_SYMVER): Add XXname argument.
|
||||
Use #XXname instead of #name as the alias argument.
|
||||
* config/abi/compatibility.h: Replace uses of
|
||||
_GLIBCXX_APPLY_SYMVER_SPECIAL with _GLIBCXX_APPLY_SYMVER. Always
|
||||
pass 2 arguments to the _GLIBCXX_APPLY_SYMVER macro.
|
||||
* include/bits/char_traits.h (char_traits::eq): Revert 2005-06-15
|
||||
change.
|
||||
* acinclude.m4: Decrease glibcxx_min_gnu_ld_version back to 21400.
|
||||
* configure: Rebuilt.
|
||||
|
||||
2005-06-19 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
PR libstdc++/22111
|
||||
|
@ -1710,8 +1710,7 @@ fi
|
||||
|
||||
# For GNU ld, we need at least this version. The format is described in
|
||||
# GLIBCXX_CHECK_LINKER_FEATURES above.
|
||||
# Need 21590 because of compatibility.cc's asm .symver strings for GLIBCXX_3.4.
|
||||
glibcxx_min_gnu_ld_version=21590
|
||||
glibcxx_min_gnu_ld_version=21400
|
||||
|
||||
# Check to see if unspecified "yes" value can win, given results above.
|
||||
# Change "yes" into either "no" or a style name.
|
||||
|
@ -39,10 +39,12 @@ _ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv
|
||||
*/
|
||||
namespace __gnu_internal
|
||||
{
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSt21istreambuf_iteratorXXIcSt11char_traitsIcEEppEv,
|
||||
_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv)
|
||||
|
||||
#ifdef _GLIBCXX_USE_WCHAR_T
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSt21istreambuf_iteratorXXIwSt11char_traitsIwEEppEv,
|
||||
_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv)
|
||||
#endif
|
||||
} // namespace std
|
||||
|
||||
@ -77,103 +79,136 @@ _ZNSt11char_traitsIwE2eqERKwS2_
|
||||
*/
|
||||
namespace __gnu_internal
|
||||
{
|
||||
_GLIBCXX_APPLY_SYMVER_SPECIAL(_ZNSt11char_traitsIcE2eqERKcS2_)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSt11char_traitsIcE4eqXXERKcS2_,
|
||||
_ZNSt11char_traitsIcE2eqERKcS2_)
|
||||
|
||||
#ifdef _GLIBCXX_SIZE_T_IS_UINT
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs7_M_copyEPcPKcj)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_copyXXEPcPKcj,
|
||||
_ZNSs7_M_copyEPcPKcj)
|
||||
#else
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs7_M_copyEPcPKcm)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_copyXXEPcPKcm,
|
||||
_ZNSs7_M_copyEPcPKcm)
|
||||
#endif
|
||||
|
||||
#ifdef _GLIBCXX_SIZE_T_IS_UINT
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs7_M_moveEPcPKcj)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_moveXXEPcPKcj,
|
||||
_ZNSs7_M_moveEPcPKcj)
|
||||
#else
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs7_M_moveEPcPKcm)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_moveXXEPcPKcm,
|
||||
_ZNSs7_M_moveEPcPKcm)
|
||||
#endif
|
||||
|
||||
#ifdef _GLIBCXX_SIZE_T_IS_UINT
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_assignEPcjc)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs11_M_assignXXEPcjc,
|
||||
_ZNSs9_M_assignEPcjc)
|
||||
#else
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_assignEPcmc)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs11_M_assignXXEPcmc,
|
||||
_ZNSs9_M_assignEPcmc)
|
||||
#endif
|
||||
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSs11_M_disjunctEPKc)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSs13_M_disjunctXXEPKc,
|
||||
_ZNKSs11_M_disjunctEPKc)
|
||||
|
||||
#ifdef _GLIBCXX_SIZE_T_IS_UINT
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSs15_M_check_lengthEjjPKc)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSs17_M_check_lengthXXEjjPKc,
|
||||
_ZNKSs15_M_check_lengthEjjPKc)
|
||||
#else
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSs15_M_check_lengthEmmPKc)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSs17_M_check_lengthXXEmmPKc,
|
||||
_ZNKSs15_M_check_lengthEmmPKc)
|
||||
#endif
|
||||
|
||||
#ifdef _GLIBCXX_SIZE_T_IS_UINT
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs4_Rep26_M_set_length_and_sharableEj)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs4_Rep28_M_set_length_and_sharableXXEj,
|
||||
_ZNSs4_Rep26_M_set_length_and_sharableEj)
|
||||
#else
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs4_Rep26_M_set_length_and_sharableEm)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSs4_Rep28_M_set_length_and_sharableXXEm,
|
||||
_ZNSs4_Rep26_M_set_length_and_sharableEm)
|
||||
#endif
|
||||
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSi6ignoreEv)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSi8ignoreXXEv, _ZNSi6ignoreEv)
|
||||
|
||||
#ifdef _GLIBCXX_PTRDIFF_T_IS_INT
|
||||
_GLIBCXX_APPLY_SYMVER_SPECIAL(_ZNSi6ignoreEi)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSi8ignoreXXEi, _ZNSi6ignoreEi)
|
||||
#else
|
||||
_GLIBCXX_APPLY_SYMVER_SPECIAL(_ZNSi6ignoreEl)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSi8ignoreXXEl, _ZNSi6ignoreEl)
|
||||
#endif
|
||||
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSt15basic_fstreamXXIcSt11char_traitsIcEE7is_openEv,
|
||||
_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv)
|
||||
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ifstreamXXIcSt11char_traitsIcEE7is_openEv,
|
||||
_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv)
|
||||
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ofstreamXXIcSt11char_traitsIcEE7is_openEv,
|
||||
_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv)
|
||||
|
||||
// Support for wchar_t.
|
||||
#ifdef _GLIBCXX_USE_WCHAR_T
|
||||
_GLIBCXX_APPLY_SYMVER_SPECIAL(_ZNSt11char_traitsIwE2eqERKwS2_)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSt11char_traitsIwE4eqXXERKwS2_,
|
||||
_ZNSt11char_traitsIwE2eqERKwS2_)
|
||||
|
||||
#ifdef _GLIBCXX_SIZE_T_IS_UINT
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_copyXXEPwPKwj,
|
||||
_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj)
|
||||
#else
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_copyXXEPwPKwm,
|
||||
_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm)
|
||||
#endif
|
||||
|
||||
#ifdef _GLIBCXX_SIZE_T_IS_UINT
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_moveXXEPwPKwj,
|
||||
_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj)
|
||||
#else
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_moveXXEPwPKwm,
|
||||
_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm)
|
||||
#endif
|
||||
|
||||
#ifdef _GLIBCXX_SIZE_T_IS_UINT
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE11_M_assignXXEPwjw,
|
||||
_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw)
|
||||
#else
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE11_M_assignXXEPwmw,
|
||||
_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw)
|
||||
#endif
|
||||
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE13_M_disjunctXXEPKw,
|
||||
_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw)
|
||||
|
||||
#ifdef _GLIBCXX_SIZE_T_IS_UINT
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE17_M_check_lengthXXEjjPKc,
|
||||
_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc)
|
||||
#else
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE17_M_check_lengthXXEmmPKc,
|
||||
_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc)
|
||||
#endif
|
||||
|
||||
#ifdef _GLIBCXX_SIZE_T_IS_UINT
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE4_Rep28_M_set_length_and_sharableXXEj,
|
||||
_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj)
|
||||
#else
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE4_Rep28_M_set_length_and_sharableXXEm,
|
||||
_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm)
|
||||
#endif
|
||||
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEv,
|
||||
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv)
|
||||
|
||||
#ifdef _GLIBCXX_PTRDIFF_T_IS_INT
|
||||
_GLIBCXX_APPLY_SYMVER_SPECIAL(_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEi,
|
||||
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi)
|
||||
#else
|
||||
_GLIBCXX_APPLY_SYMVER_SPECIAL(_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEl,
|
||||
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl)
|
||||
#endif
|
||||
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSt15basic_fstreamXXIwSt11char_traitsIwEE7is_openEv,
|
||||
_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv)
|
||||
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ifstreamXXIwSt11char_traitsIwEE7is_openEv,
|
||||
_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv)
|
||||
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv)
|
||||
_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ofstreamXXIwSt11char_traitsIwEE7is_openEv,
|
||||
_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv)
|
||||
#endif
|
||||
}
|
||||
|
||||
|
3
libstdc++-v3/configure
vendored
3
libstdc++-v3/configure
vendored
@ -87292,8 +87292,7 @@ fi
|
||||
|
||||
# For GNU ld, we need at least this version. The format is described in
|
||||
# GLIBCXX_CHECK_LINKER_FEATURES above.
|
||||
# Need 21590 because of compatibility.cc's asm .symver strings for GLIBCXX_3.4.
|
||||
glibcxx_min_gnu_ld_version=21590
|
||||
glibcxx_min_gnu_ld_version=21400
|
||||
|
||||
# Check to see if unspecified "yes" value can win, given results above.
|
||||
# Change "yes" into either "no" or a style name.
|
||||
|
@ -242,10 +242,7 @@ namespace std
|
||||
|
||||
static bool
|
||||
eq(const char_type& __c1, const char_type& __c2)
|
||||
#ifdef _GLIBCXX_SYMVER_COMPATIBILITY
|
||||
asm ("_W_ZNSt11char_traitsIcE2eqERKcS2_");
|
||||
#endif
|
||||
;
|
||||
{ return __c1 == __c2; }
|
||||
|
||||
static bool
|
||||
lt(const char_type& __c1, const char_type& __c2)
|
||||
@ -297,9 +294,6 @@ namespace std
|
||||
{ return (__c == eof()) ? 0 : __c; }
|
||||
};
|
||||
|
||||
inline bool
|
||||
char_traits<char>::eq(const char_type& __c1, const char_type& __c2)
|
||||
{ return __c1 == __c2; }
|
||||
|
||||
#ifdef _GLIBCXX_USE_WCHAR_T
|
||||
/// @brief 21.1.3.2 char_traits specializations
|
||||
@ -317,11 +311,8 @@ namespace std
|
||||
{ __c1 = __c2; }
|
||||
|
||||
static bool
|
||||
eq(const char_type& __c1, const char_type& __c2)
|
||||
#ifdef _GLIBCXX_SYMVER_COMPATIBILITY
|
||||
asm ("_W_ZNSt11char_traitsIwE2eqERKwS2_")
|
||||
#endif
|
||||
;
|
||||
eq(const char_type& __c1, const char_type& __c2)
|
||||
{ return __c1 == __c2; }
|
||||
|
||||
static bool
|
||||
lt(const char_type& __c1, const char_type& __c2)
|
||||
@ -368,10 +359,6 @@ namespace std
|
||||
not_eof(const int_type& __c)
|
||||
{ return eq_int_type(__c, eof()) ? 0 : __c; }
|
||||
};
|
||||
|
||||
inline bool
|
||||
char_traits<wchar_t>::eq(const char_type& __c1, const char_type& __c2)
|
||||
{ return __c1 == __c2; }
|
||||
#endif //_GLIBCXX_USE_WCHAR_T
|
||||
|
||||
} // namespace std
|
||||
|
@ -31,7 +31,18 @@
|
||||
#include <bits/c++config.h>
|
||||
|
||||
#if defined(_GLIBCXX_SYMVER) && defined(PIC)
|
||||
# define _GLIBCXX_SYMVER_COMPATIBILITY 1
|
||||
#define istreambuf_iterator istreambuf_iteratorXX
|
||||
#define basic_fstream basic_fstreamXX
|
||||
#define basic_ifstream basic_ifstreamXX
|
||||
#define basic_ofstream basic_ofstreamXX
|
||||
#define _M_copy(a, b, c) _M_copyXX(a, b, c)
|
||||
#define _M_move(a, b, c) _M_moveXX(a, b, c)
|
||||
#define _M_assign(a, b, c) _M_assignXX(a, b, c)
|
||||
#define _M_disjunct(a) _M_disjunctXX(a)
|
||||
#define _M_check_length(a, b, c) _M_check_lengthXX(a, b, c)
|
||||
#define _M_set_length_and_sharable(a) _M_set_length_and_sharableXX(a)
|
||||
#define ignore ignoreXX
|
||||
#define eq eqXX
|
||||
#endif
|
||||
|
||||
#include <string>
|
||||
@ -42,27 +53,6 @@
|
||||
namespace std
|
||||
{
|
||||
// std::istream ignore explicit specializations.
|
||||
#if defined(_GLIBCXX_SYMVER) && defined(PIC)
|
||||
template<>
|
||||
basic_istream<char>&
|
||||
basic_istream<char>::ignore(streamsize __n)
|
||||
#ifdef _GLIBCXX_PTRDIFF_T_IS_INT
|
||||
asm ("_W_ZNSi6ignoreEi");
|
||||
#else
|
||||
asm ("_W_ZNSi6ignoreEl");
|
||||
#endif
|
||||
|
||||
#ifdef _GLIBCXX_USE_WCHAR_T
|
||||
template<>
|
||||
basic_istream<wchar_t>&
|
||||
basic_istream<wchar_t>::ignore(streamsize __n)
|
||||
#ifdef _GLIBCXX_PTRDIFF_T_IS_INT
|
||||
asm ("_W_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi");
|
||||
#else
|
||||
asm ("_W_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl");
|
||||
#endif
|
||||
#endif
|
||||
#endif // _GLIBCXX_SYMVER && PIC
|
||||
|
||||
template<>
|
||||
basic_istream<char>&
|
||||
@ -347,43 +337,27 @@ namespace std
|
||||
// In the future, GLIBCXX_ABI > 6 should remove all uses of
|
||||
// _GLIBCXX_*_SYMVER macros in this file.
|
||||
|
||||
#define _GLIBCXX_3_4_SYMVER(name) \
|
||||
#define _GLIBCXX_3_4_SYMVER(XXname, name) \
|
||||
extern "C" void \
|
||||
_X##name() \
|
||||
__attribute__ ((alias(#name))); \
|
||||
__attribute__ ((alias(#XXname))); \
|
||||
asm (".symver " "_X" #name "," #name "@GLIBCXX_3.4");
|
||||
|
||||
#define _GLIBCXX_3_4_5_SYMVER(name) \
|
||||
#define _GLIBCXX_3_4_5_SYMVER(XXname, name) \
|
||||
extern "C" void \
|
||||
_Y##name() \
|
||||
__attribute__ ((alias(#name))); \
|
||||
asm (".symver " "_Y" #name "," #name "@@GLIBCXX_3.4.5");
|
||||
|
||||
#define _GLIBCXX_3_4_SYMVER_SPECIAL(name) \
|
||||
extern "C" void \
|
||||
_X##name() \
|
||||
__attribute__ ((alias("_W" #name))); \
|
||||
asm (".symver " "_X" #name "," #name "@GLIBCXX_3.4");
|
||||
|
||||
#define _GLIBCXX_3_4_5_SYMVER_SPECIAL(name) \
|
||||
extern "C" void \
|
||||
_Y##name() \
|
||||
__attribute__ ((alias("_W" #name))); \
|
||||
__attribute__ ((alias(#XXname))); \
|
||||
asm (".symver " "_Y" #name "," #name "@@GLIBCXX_3.4.5");
|
||||
|
||||
#define _GLIBCXX_ASM_SYMVER(cur, old, version) \
|
||||
asm (".symver " #cur "," #old "@@" #version);
|
||||
|
||||
#define _GLIBCXX_APPLY_SYMVER _GLIBCXX_3_4_SYMVER
|
||||
#define _GLIBCXX_APPLY_SYMVER_SPECIAL _GLIBCXX_3_4_SYMVER_SPECIAL
|
||||
#include <bits/compatibility.h>
|
||||
#undef _GLIBCXX_APPLY_SYMVER
|
||||
#undef _GLIBCXX_APPLY_SYMVER_SPECIAL
|
||||
|
||||
#define _GLIBCXX_APPLY_SYMVER _GLIBCXX_3_4_5_SYMVER
|
||||
#define _GLIBCXX_APPLY_SYMVER_SPECIAL _GLIBCXX_3_4_5_SYMVER_SPECIAL
|
||||
#include <bits/compatibility.h>
|
||||
#undef _GLIBCXX_APPLY_SYMVER
|
||||
#undef _GLIBCXX_APPLY_SYMVER_SPECIAL
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user