List:Internals« Previous MessageNext Message »
From:serg Date:May 5 2005 4:21pm
Subject:bk commit into 5.0 tree (serg:1.1914)
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of serg. When serg does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.1914 05/05/05 16:21:17 serg@stripped +9 -0
  gcc 2.92 compatibility

  extra/yassl/taocrypt/src/rsa.cpp
    1.3 05/05/05 16:19:22 serg@stripped +18 -14
    gcc 2.92 compatibility

  extra/yassl/taocrypt/src/integer.cpp
    1.3 05/05/05 16:19:22 serg@stripped +6 -9
    gcc 2.92 compatibility

  extra/yassl/taocrypt/src/Makefile.am
    1.3 05/05/05 16:19:22 serg@stripped +0 -1
    gcc 2.92 compatibility

  extra/yassl/taocrypt/include/runtime.hpp
    1.3 05/05/05 16:19:22 serg@stripped +5 -2
    better USE_MYSYS_NEW detection

  extra/yassl/src/yassl_int.cpp
    1.3 05/05/05 16:19:22 serg@stripped +3 -1
    gcc 2.92 compatibility

  extra/yassl/src/yassl_imp.cpp
    1.3 05/05/05 16:19:22 serg@stripped +2 -0
    gcc 2.92 compatibility

  extra/yassl/src/Makefile.am
    1.3 05/05/05 16:19:22 serg@stripped +0 -1
    better USE_MYSYS_NEW detection

  configure.in
    1.304 05/05/05 16:19:22 serg@stripped +1 -26
    better USE_MYSYS_NEW detection

  config/ac-macros/misc.m4
    1.7 05/05/05 16:19:22 serg@stripped +17 -0
    better USE_MYSYS_NEW detection

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	serg
# Host:	sergbook.mylan
# Root:	/usr/home/serg/Abk/mysql-5.0

--- 1.303/configure.in	Mon May  2 19:01:30 2005
+++ 1.304/configure.in	Thu May  5 16:19:22 2005
@@ -336,32 +336,6 @@
 AC_SUBST(INSTALL_SCRIPT)
 
 export CC CXX CFLAGS LD LDFLAGS AR
-if test "$GXX" = "yes"
-then
-  # mysqld requires -fno-implicit-templates.
-  # Disable exceptions as they seams to create problems with gcc and threads.
-  # mysqld doesn't use run-time-type-checking, so we disable it.
-  CXXFLAGS="$CXXFLAGS -fno-implicit-templates -fno-exceptions -fno-rtti"
-
-  CXX_VERNO=`echo $CXX_VERSION | sed -e 's/[[^0-9. ]]//g; s/^ *//g; s/ .*//g'`
-  case "$CXX_VERNO" in
-    3.*)
-      USE_MYSYS_NEW="-DUSE_MYSYS_NEW" # yassl needs it
-      if echo $CXX | grep gcc > /dev/null 2>&1
-      then
-        # If you are using 'gcc' 3.0 (not g++) to compile C++ programs on Linux,
-        # we will gets some problems when linking static programs.
-        # The following code is used to fix this problem.
-        CXXFLAGS="$CXXFLAGS $USE_MYSYS_NEW"
-        AC_MSG_WARN([Using MYSYS_NEW for static linking with gcc])
-      fi
-    ;;
-    *)
-      USE_MYSYS_NEW=""
-    ;;
-  esac
-  AC_SUBST(USE_MYSYS_NEW)
-fi
 
 # Avoid bug in fcntl on some versions of linux
 AC_MSG_CHECKING("if we should use 'skip-locking' as default for $target_os")
@@ -1730,6 +1704,7 @@
 AC_STRUCT_ST_RDEV
 AC_HEADER_TIME
 AC_STRUCT_TM
+MYSQL_NEEDS_MYSYS_NEW
 # AC_CHECK_SIZEOF return 0 when it does not find the size of a
 # type. We want a error instead.
 AC_CHECK_SIZEOF(char, 1)

--- 1.6/config/ac-macros/misc.m4	Wed Apr 27 19:01:39 2005
+++ 1.7/config/ac-macros/misc.m4	Thu May  5 16:19:22 2005
@@ -693,3 +693,20 @@
 dnl END OF MYSQL_CHECK_BIG_TABLES SECTION
 dnl ---------------------------------------------------------------------------
 
+dnl MYSQL_NEEDS_MYSYS_NEW
+AC_DEFUN([MYSQL_NEEDS_MYSYS_NEW],
+[AC_CACHE_CHECK([needs mysys_new helpers], mysql_use_mysys_new,
+[
+AC_LANG_PUSH(C++)
+AC_TRY_LINK([], [
+class A { public: int b; }; A *a=new A; a->b=10; delete a;
+], mysql_use_mysys_new=no, mysql_use_mysys_new=yes)
+AC_LANG_POP(C++)
+])
+if test "$mysql_use_mysys_new" = "yes"
+then
+  AC_DEFINE([USE_MYSYS_NEW], [1], [Needs to use mysys_new helpers])
+fi
+])
+
+

--- 1.2/extra/yassl/src/Makefile.am	Sat Apr 30 19:48:23 2005
+++ 1.3/extra/yassl/src/Makefile.am	Thu May  5 16:19:22 2005
@@ -5,4 +5,3 @@
 	handshake.cpp lock.cpp log.cpp socket_wrapper.cpp ssl.cpp \
 	timer.cpp yassl_imp.cpp yassl_error.cpp yassl_int.cpp
 EXTRA_DIST = ../include/*.hpp ../include/openssl/*.h
-AM_CXXFLAGS=@USE_MYSYS_NEW@

--- 1.2/extra/yassl/src/yassl_imp.cpp	Sat Apr 30 19:48:23 2005
+++ 1.3/extra/yassl/src/yassl_imp.cpp	Thu May  5 16:19:22 2005
@@ -2092,6 +2092,7 @@
 } // namespace
 
 #ifdef __GNUC__
+namespace mySTL {
 template class mySTL::list<unsigned char*>;
 template yaSSL::del_ptr_zero mySTL::for_each(mySTL::list<unsigned char*>::iterator,
mySTL::list<unsigned char*>::iterator, yaSSL::del_ptr_zero);
 template mySTL::pair<int, yaSSL::Message* (*)()>*
mySTL::uninit_copy<mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int,
yaSSL::Message* (*)()>*>(mySTL::pair<int, yaSSL::Message* (*)()>*,
mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message*
(*)()>*);
@@ -2112,5 +2113,6 @@
 template yaSSL::del_ptr_zero
mySTL::for_each<mySTL::list<yaSSL::input_buffer*>::iterator,
yaSSL::del_ptr_zero>(mySTL::list<yaSSL::input_buffer*>::iterator,
mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::del_ptr_zero);
 template yaSSL::del_ptr_zero
mySTL::for_each<mySTL::list<yaSSL::output_buffer*>::iterator,
yaSSL::del_ptr_zero>(mySTL::list<yaSSL::output_buffer*>::iterator,
mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::del_ptr_zero);
 template yaSSL::del_ptr_zero
mySTL::for_each<mySTL::list<yaSSL::x509*>::iterator,
yaSSL::del_ptr_zero>(mySTL::list<yaSSL::x509*>::iterator,
mySTL::list<yaSSL::x509*>::iterator, yaSSL::del_ptr_zero);
+}
 #endif
 

--- 1.2/extra/yassl/src/yassl_int.cpp	Sat Apr 30 19:48:23 2005
+++ 1.3/extra/yassl/src/yassl_int.cpp	Thu May  5 16:19:22 2005
@@ -1951,7 +1951,7 @@
 X509::X509(const char* i, size_t iSz, const char* s, size_t sSz)
     : issuer_(i, iSz), subject_(s, sSz)
 {}
-   
+
 
 X509_NAME* X509::GetIssuer()
 {
@@ -1967,7 +1967,9 @@
 } // namespace
 
 #ifdef __GNUC__
+namespace mySTL {
 template yaSSL::yassl_int_cpp_local1::SumData
mySTL::for_each<mySTL::list<yaSSL::input_buffer*>::iterator,
yaSSL::yassl_int_cpp_local1::SumData>(mySTL::list<yaSSL::input_buffer*>::iterator,
mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumData);
 template yaSSL::yassl_int_cpp_local1::SumBuffer
mySTL::for_each<mySTL::list<yaSSL::output_buffer*>::iterator,
yaSSL::yassl_int_cpp_local1::SumBuffer>(mySTL::list<yaSSL::output_buffer*>::iterator,
mySTL::list<yaSSL::output_buffer*>::iterator,
yaSSL::yassl_int_cpp_local1::SumBuffer);
 template mySTL::list<yaSSL::SSL_SESSION*>::iterator
mySTL::find_if<mySTL::list<yaSSL::SSL_SESSION*>::iterator,
yaSSL::yassl_int_cpp_local2::sess_match>(mySTL::list<yaSSL::SSL_SESSION*>::iterator,
mySTL::list<yaSSL::SSL_SESSION*>::iterator,
yaSSL::yassl_int_cpp_local2::sess_match);
+}
 #endif

--- 1.2/extra/yassl/taocrypt/include/runtime.hpp	Sat Apr 30 19:48:23 2005
+++ 1.3/extra/yassl/taocrypt/include/runtime.hpp	Thu May  5 16:19:22 2005
@@ -25,10 +25,11 @@
 
 
 
-#if !defined(yaSSL_NEW_HPP) && defined(USE_MYSYS_NEW)
+#if !defined(yaSSL_NEW_HPP) && defined(__GNUC__)
 
 #define yaSSL_NEW_HPP
 
+#if __GNUC__ > 2
 
 #include <cstdlib>
 
@@ -66,4 +67,6 @@
 
 } // extern "C"
 
-#endif // yaSSL_NEW_HPP
+#endif // __GNUC__ > 2
+#endif // yaSSL_NEW_HPP && __GNUC__
+

--- 1.2/extra/yassl/taocrypt/src/Makefile.am	Sat Apr 30 19:48:23 2005
+++ 1.3/extra/yassl/taocrypt/src/Makefile.am	Thu May  5 16:19:22 2005
@@ -5,4 +5,3 @@
 	coding.cpp dh.cpp des.cpp dsa.cpp file.cpp hash.cpp integer.cpp \
 	md2.cpp md5.cpp misc.cpp random.cpp ripemd.cpp rsa.cpp sha.cpp
 EXTRA_DIST = ../include/*.hpp
-AM_CXXFLAGS=@USE_MYSYS_NEW@

--- 1.2/extra/yassl/taocrypt/src/integer.cpp	Sat Apr 30 19:48:24 2005
+++ 1.3/extra/yassl/taocrypt/src/integer.cpp	Thu May  5 16:19:22 2005
@@ -4168,16 +4168,13 @@
     return p * (u * (xq-xp) % q) + xp;
 }
 
-
-
-} // namespace
-
 #ifdef __GNUC__
-template TaoCrypt::Integer TaoCrypt::StringToInteger<char>(char const*);
-template TaoCrypt::Integer TaoCrypt::StringToInteger<wchar_t>(wchar_t const*);
-template class TaoCrypt::EuclideanDomainOf<TaoCrypt::Integer>;
-template class TaoCrypt::AbstractEuclideanDomain<TaoCrypt::Integer>;
-template unsigned int TaoCrypt::DivideThreeWordsByTwo<unsigned int,
TaoCrypt::DWord>(unsigned int*, unsigned int, unsigned int, TaoCrypt::DWord*);
+template Integer StringToInteger<char>(char const*);
+template Integer StringToInteger<wchar_t>(wchar_t const*);
+template class EuclideanDomainOf<Integer>;
+template class AbstractEuclideanDomain<Integer>;
+template unsigned int DivideThreeWordsByTwo<unsigned int, DWord>(unsigned int*,
unsigned int, unsigned int, DWord*);
 #endif
 
+} // namespace
 

--- 1.2/extra/yassl/taocrypt/src/rsa.cpp	Sat Apr 30 19:48:24 2005
+++ 1.3/extra/yassl/taocrypt/src/rsa.cpp	Thu May  5 16:19:22 2005
@@ -211,24 +211,28 @@
                                   lengths.PaddedBlockBitLength(), plain);
 }
 
+#ifdef __GNUC__
+template AllocatorWithCleanup<unsigned char>::pointer StdReallocate<unsigned
char, AllocatorWithCleanup<unsigned char> >(AllocatorWithCleanup<unsigned
char>&, unsigned char*, AllocatorWithCleanup<unsigned char>::size_type,
AllocatorWithCleanup<unsigned char>::size_type, bool);
+template AllocatorWithCleanup<unsigned int>::pointer StdReallocate<unsigned int,
AllocatorWithCleanup<unsigned int> >(AllocatorWithCleanup<unsigned
int>&, unsigned int*, AllocatorWithCleanup<unsigned int>::size_type,
AllocatorWithCleanup<unsigned int>::size_type, bool);
+template class AbstractGroup<Integer>;
+template class AbstractRing<Integer>;
+template class RSA_Decryptor<RSA_BlockType2>;
+template class RSA_Encryptor<RSA_BlockType1>;
+template class RSA_Encryptor<RSA_BlockType2>;
+#endif
 
 } // namespace
 
 #ifdef __GNUC__
-template TaoCrypt::AllocatorWithCleanup<unsigned char>::pointer
TaoCrypt::StdReallocate<unsigned char, TaoCrypt::AllocatorWithCleanup<unsigned
char> >(TaoCrypt::AllocatorWithCleanup<unsigned char>&, unsigned char*,
TaoCrypt::AllocatorWithCleanup<unsigned char>::size_type,
TaoCrypt::AllocatorWithCleanup<unsigned char>::size_type, bool);
-template TaoCrypt::AllocatorWithCleanup<unsigned int>::pointer
TaoCrypt::StdReallocate<unsigned int, TaoCrypt::AllocatorWithCleanup<unsigned
int> >(TaoCrypt::AllocatorWithCleanup<unsigned int>&, unsigned int*,
TaoCrypt::AllocatorWithCleanup<unsigned int>::size_type,
TaoCrypt::AllocatorWithCleanup<unsigned int>::size_type, bool);
-template TaoCrypt::Integer* mySTL::uninit_copy<TaoCrypt::Integer*,
TaoCrypt::Integer*>(TaoCrypt::Integer*, TaoCrypt::Integer*, TaoCrypt::Integer*);
-template TaoCrypt::Integer* mySTL::uninit_fill_n<TaoCrypt::Integer*, unsigned int,
TaoCrypt::Integer>(TaoCrypt::Integer*, unsigned int, TaoCrypt::Integer const&);
-template TaoCrypt::WindowSlider* mySTL::uninit_copy<TaoCrypt::WindowSlider*,
TaoCrypt::WindowSlider*>(TaoCrypt::WindowSlider*, TaoCrypt::WindowSlider*,
TaoCrypt::WindowSlider*);
-template class TaoCrypt::AbstractGroup<TaoCrypt::Integer>;
-template class TaoCrypt::AbstractRing<TaoCrypt::Integer>;
-template class TaoCrypt::RSA_Decryptor<TaoCrypt::RSA_BlockType2>;
-template class TaoCrypt::RSA_Encryptor<TaoCrypt::RSA_BlockType1>;
-template class TaoCrypt::RSA_Encryptor<TaoCrypt::RSA_BlockType2>;
-template mySTL::vector<TaoCrypt::Integer>*
mySTL::uninit_fill_n<mySTL::vector<TaoCrypt::Integer>*, unsigned int,
mySTL::vector<TaoCrypt::Integer> >(mySTL::vector<TaoCrypt::Integer>*,
unsigned int, mySTL::vector<TaoCrypt::Integer> const&);
-template void mySTL::destroy<TaoCrypt::Integer*>(TaoCrypt::Integer*,
TaoCrypt::Integer*);
-template void mySTL::destroy<TaoCrypt::WindowSlider*>(TaoCrypt::WindowSlider*,
TaoCrypt::WindowSlider*);
-template void
mySTL::destroy<mySTL::vector<TaoCrypt::Integer>*>(mySTL::vector<TaoCrypt::Integer>*,
mySTL::vector<TaoCrypt::Integer>*);
+namespace mySTL {
+template TaoCrypt::Integer* uninit_copy<TaoCrypt::Integer*,
TaoCrypt::Integer*>(TaoCrypt::Integer*, TaoCrypt::Integer*, TaoCrypt::Integer*);
+template TaoCrypt::Integer* uninit_fill_n<TaoCrypt::Integer*, unsigned int,
TaoCrypt::Integer>(TaoCrypt::Integer*, unsigned int, TaoCrypt::Integer const&);
+template TaoCrypt::WindowSlider* uninit_copy<TaoCrypt::WindowSlider*,
TaoCrypt::WindowSlider*>(TaoCrypt::WindowSlider*, TaoCrypt::WindowSlider*,
TaoCrypt::WindowSlider*);
+template vector<TaoCrypt::Integer>*
uninit_fill_n<vector<TaoCrypt::Integer>*, unsigned int,
vector<TaoCrypt::Integer> >(vector<TaoCrypt::Integer>*, unsigned int,
vector<TaoCrypt::Integer> const&);
+template void destroy<TaoCrypt::Integer*>(TaoCrypt::Integer*, TaoCrypt::Integer*);
+template void destroy<TaoCrypt::WindowSlider*>(TaoCrypt::WindowSlider*,
TaoCrypt::WindowSlider*);
+template void
destroy<vector<TaoCrypt::Integer>*>(vector<TaoCrypt::Integer>*,
vector<TaoCrypt::Integer>*);
+}
 #endif
 
 
Thread
bk commit into 5.0 tree (serg:1.1914)serg5 May