Below is the list of changes that have just been committed into a local
5.0 repository of msvensson. When msvensson 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.2139 06/04/12 11:53:43 msvensson@shellback.(none) +7 -0
Bug#18815 libmysql using yassl can't be linked with c program
- Fixes for undefined symbols when linking with libmysql that includes yassl from C on Solaris
extra/yassl/taocrypt/src/integer.cpp
1.18 06/04/12 11:53:38 msvensson@shellback.(none) +6 -6
Fixes for undefined symbols when linking with libmysql that includes yassl from C on Solaris
extra/yassl/taocrypt/src/algebra.cpp
1.7 06/04/12 11:53:37 msvensson@shellback.(none) +3 -1
Fixes for undefined symbols when linking with libmysql that includes yassl from C on Solaris
extra/yassl/taocrypt/include/runtime.hpp
1.10 06/04/12 11:53:37 msvensson@shellback.(none) +16 -2
Fixes for undefined symbols when linking with libmysql that includes yassl from C on Solaris
extra/yassl/taocrypt/include/integer.hpp
1.8 06/04/12 11:53:37 msvensson@shellback.(none) +2 -2
Fixes for undefined symbols when linking with libmysql that includes yassl from C on Solaris
extra/yassl/src/yassl_int.cpp
1.11 06/04/12 11:53:37 msvensson@shellback.(none) +8 -7
Fixes for undefined symbols when linking with libmysql that includes yassl from C on Solaris
extra/yassl/src/handshake.cpp
1.6 06/04/12 11:53:37 msvensson@shellback.(none) +3 -1
Fixes for undefined symbols when linking with libmysql that includes yassl from C on Solaris
extra/yassl/include/yassl_int.hpp
1.7 06/04/12 11:53:37 msvensson@shellback.(none) +4 -4
Fixes for undefined symbols when linking with libmysql that includes yassl from C on Solaris
# 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: msvensson
# Host: shellback.(none)
# Root: /home/msvensson/mysql/my50-bug18815
--- 1.6/extra/yassl/include/yassl_int.hpp 2005-06-14 22:47:56 +02:00
+++ 1.7/extra/yassl/include/yassl_int.hpp 2006-04-12 11:53:37 +02:00
@@ -123,11 +123,11 @@
friend sslFactory& GetSSL_Factory(); // singleton creator
private:
- static sslFactory instance_;
-
+
sslFactory(const sslFactory&); // hide copy
sslFactory& operator=(const sslFactory&); // and assign
};
+static sslFactory* factory_instance_ = NULL; // Singleton
#undef X509_NAME // wincrypt.h clash
@@ -216,11 +216,11 @@
friend Sessions& GetSessions(); // singleton creator
private:
- static Sessions instance_;
-
Sessions(const Sessions&); // hide copy
Sessions& operator=(const Sessions&); // and assign
};
+static Sessions* sessions_instance_ = NULL; // Singleton
+
Sessions& GetSessions(); // forward singletons
--- 1.5/extra/yassl/src/handshake.cpp 2005-12-20 00:47:44 +01:00
+++ 1.6/extra/yassl/src/handshake.cpp 2006-04-12 11:53:37 +02:00
@@ -648,12 +648,14 @@
}
-mySTL::auto_ptr<input_buffer> null_buffer(ysDelete);
// do process input requests
mySTL::auto_ptr<input_buffer>
DoProcessReply(SSL& ssl, mySTL::auto_ptr<input_buffer> buffered)
{
+
+ mySTL::auto_ptr<input_buffer> null_buffer(ysDelete);
+
ssl.getSocket().wait(); // wait for input if blocking
uint ready = ssl.getSocket().get_ready();
if (!ready) {
--- 1.10/extra/yassl/src/yassl_int.cpp 2005-07-01 17:00:54 +02:00
+++ 1.11/extra/yassl/src/yassl_int.cpp 2006-04-12 11:53:37 +02:00
@@ -1361,19 +1361,20 @@
}
-Sessions Sessions::instance_; // simple singleton
-
Sessions& GetSessions()
{
- return Sessions::instance_;
+ if (!sessions_instance_)
+ sessions_instance_= new (ys) Sessions;
+ return *sessions_instance_;
+
}
-sslFactory sslFactory::instance_; // simple singleton
-
sslFactory& GetSSL_Factory()
-{
- return sslFactory::instance_;
+{
+ if (!factory_instance_)
+ factory_instance_= new (ys) sslFactory;
+ return *factory_instance_;
}
--- 1.7/extra/yassl/taocrypt/include/integer.hpp 2005-06-10 17:09:35 +02:00
+++ 1.8/extra/yassl/taocrypt/include/integer.hpp 2006-04-12 11:53:37 +02:00
@@ -275,9 +275,9 @@
AlignedWordBlock reg_;
Sign sign_;
- static const Integer zero_;
- static const Integer one_;
};
+static Integer *one_instance_= NULL;
+static Integer *zero_instance_= NULL;
inline bool operator==(const Integer& a, const Integer& b)
{return a.Compare(b)==0;}
--- 1.9/extra/yassl/taocrypt/include/runtime.hpp 2005-09-08 11:36:07 +02:00
+++ 1.10/extra/yassl/taocrypt/include/runtime.hpp 2006-04-12 11:53:37 +02:00
@@ -23,9 +23,22 @@
* version of yaSSL, user must define YASSL_PURE_C
*/
+#ifndef yaSSL_NEW_HPP
+#ifdef __sun
+#include <assert.h>
+
+// Handler for pure virtual functions
+namespace __Crun {
+static void pure_error(void)
+{
+ assert("Pure virtual method called." == "Aborted");
+}
+} // namespace __Crun
+
+#endif // __sun
-#if !defined(yaSSL_NEW_HPP) && defined(__GNUC__)
+#if defined(__GNUC__)
#if !(defined(__ICC) || defined(__INTEL_COMPILER))
#define yaSSL_NEW_HPP
@@ -48,5 +61,6 @@
#endif // __GNUC__ > 2
#endif // ! _ICC
-#endif // yaSSL_NEW_HPP && __GNUC__
+#endif // __GNUC__
+#endif // !yaSSL_NEW_HPP
--- 1.6/extra/yassl/taocrypt/src/algebra.cpp 2005-07-01 17:00:54 +02:00
+++ 1.7/extra/yassl/taocrypt/src/algebra.cpp 2006-04-12 11:53:37 +02:00
@@ -76,7 +76,9 @@
const Integer& AbstractEuclideanDomain::Gcd(const Element &a,
const Element &b) const
{
- Element g[3]={b, a};
+ mySTL::vector<Element> g(3);
+ g[0]= b;
+ g[1]= a;
unsigned int i0=0, i1=1, i2=2;
while (!Equal(g[i1], this->Identity()))
--- 1.17/extra/yassl/taocrypt/src/integer.cpp 2005-09-14 10:34:32 +02:00
+++ 1.18/extra/yassl/taocrypt/src/integer.cpp 2006-04-12 11:53:38 +02:00
@@ -2709,19 +2709,19 @@
}
-const Integer Integer::zero_;
-
const Integer &Integer::Zero()
{
- return zero_;
+ if (!zero_instance_)
+ zero_instance_= new (tc) Integer;
+ return *zero_instance_;
}
-const Integer Integer::one_(1,2);
-
const Integer &Integer::One()
{
- return one_;
+ if (!one_instance_)
+ one_instance_= new (tc) Integer(1,2);
+ return *one_instance_;
}
| Thread |
|---|
| • bk commit into 5.0 tree (msvensson:1.2139) BUG#18815 | msvensson | 12 Apr |