Commit a7817e1d by Benjamin Kosnik Committed by Benjamin Kosnik

linker-map.gnu (GLIBCPP_3.2.1): Add.


2002-10-10  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu (GLIBCPP_3.2.1): Add.
	(GLIBCPP_3.2): Don't export locale::_S_*.
	* src/ios.cc: Move globals into __gnu_cxx. Make old exported
	symbols match.
	* src/locale.cc: Same.
	* src/localename.cc: Same.
	* src/globals.cc: Same.

From-SVN: r58042
parent 349e9f4b
2002-10-10 Benjamin Kosnik <bkoz@redhat.com>
* config/linker-map.gnu (GLIBCPP_3.2.1): Add.
(GLIBCPP_3.2): Don't export locale::_S_*.
* src/ios.cc: Move globals into __gnu_cxx. Make old exported
symbols match.
* src/locale.cc: Same.
* src/localename.cc: Same.
* src/globals.cc: Same.
2002-10-10 Phil Edwards <pme@gcc.gnu.org>
* docs/html/21_strings/howto.html: Write #5, char_traits.
......
......@@ -20,7 +20,6 @@
## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
## USA.
GLIBCPP_3.2 {
global:
......@@ -29,7 +28,18 @@ GLIBCPP_3.2 {
# All but the last are terminated with a semicolon.
extern "C++"
{
std::[A-Za-z]*;
std::[A-Za-k]*;
std::length_error*;
std::logic_error*;
std::locale::[A-Za-z]*;
std::locale::_Impl*;
std::locale::_S_classic;
std::locale::_S_global;
std::locale::_S_num_categories;
std::locale::facet*;
std::locale::id*;
std::locale::locale*;
std::[A-Zm-z]*;
std::__throw_*;
std::__basic_file*;
std::__num_base*;
......@@ -43,6 +53,11 @@ GLIBCPP_3.2 {
# Names not in an 'extern' block are mangled names.
_ZNSt6localeC1E*;
_ZNSt6locale11_M_coalesceERKS_S1_j;
_ZNSt6locale21_S_normalize_categoryEj;
_ZNSt6localeD*;
# std::has_facet*
_ZSt9has_facet*;
......@@ -97,6 +112,15 @@ GLIBCPP_3.2 {
*;
};
# Symbols added after GLIBCPP_3.2
GLIBCPP_3.2.1 {
_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj;
_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj;
_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj;
_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj;
} GLIBCPP_3.2;
# Symbols in the support library (libsupc++) have their own tag.
CXXABI_1.2 {
......
......@@ -39,28 +39,34 @@
#include <bits/atomicity.h>
#include <ext/stdio_filebuf.h>
namespace std
namespace __gnu_cxx
{
// Extern declarations for global objects in src/globals.cc.
extern stdio_filebuf<char> buf_cout;
extern stdio_filebuf<char> buf_cin;
extern stdio_filebuf<char> buf_cerr;
#ifdef _GLIBCPP_USE_WCHAR_T
extern stdio_filebuf<wchar_t> buf_wcout;
extern stdio_filebuf<wchar_t> buf_wcin;
extern stdio_filebuf<wchar_t> buf_wcerr;
#endif
} // namespace __gnu_cxx
namespace std
{
using namespace __gnu_cxx;
extern istream cin;
extern ostream cout;
extern ostream cerr;
extern ostream clog;
using __gnu_cxx::stdio_filebuf;
extern stdio_filebuf<char> buf_cout;
extern stdio_filebuf<char> buf_cin;
extern stdio_filebuf<char> buf_cerr;
#ifdef _GLIBCPP_USE_WCHAR_T
extern wistream wcin;
extern wostream wcout;
extern wostream wcerr;
extern wostream wclog;
extern stdio_filebuf<wchar_t> buf_wcout;
extern stdio_filebuf<wchar_t> buf_wcin;
extern stdio_filebuf<wchar_t> buf_wcerr;
#endif
// Definitions for static const data members of __ios_flags.
......
......@@ -34,11 +34,16 @@
#include <locale>
#include <bits/atomicity.h>
namespace std
namespace __gnu_cxx
{
// Defined in globals.cc.
extern locale c_locale;
extern locale::_Impl c_locale_impl;
extern std::locale c_locale;
extern std::locale::_Impl c_locale_impl;
} // namespace __gnu_cxx
namespace std
{
using namespace __gnu_cxx;
// Definitions for static const data members of locale.
const locale::category locale::none;
......@@ -50,9 +55,15 @@ namespace std
const locale::category locale::messages;
const locale::category locale::all;
// In the future, GLIBCXX_ABI > 5 should remove all asm directives
// in this file, and remove exports of any static data members of locale.
locale::_Impl* locale::_S_classic;
locale::_Impl* locale::_S_global;
const size_t locale::_S_categories_size;
asm (".symver _ZNSt6locale18_S_categories_sizeE,_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2");
const size_t locale::_S_extra_categories_size;
// Definitions for static const data members of locale::id
......
......@@ -30,8 +30,10 @@
#include <cstring>
#include <locale>
namespace std
namespace __gnu_cxx
{
using namespace std;
// Defined in globals.cc.
extern locale::facet** facet_vec;
extern char* facet_name[6 + _GLIBCPP_NUM_CATEGORIES];
......@@ -66,6 +68,11 @@ namespace std
extern time_put<wchar_t> time_put_w;
extern std::messages<wchar_t> messages_w;
#endif
} // namespace __gnu_cxx
namespace std
{
using namespace __gnu_cxx;
locale::_Impl::
~_Impl() throw()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment