mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 10:14:19 +01:00
yassl changeset 2:
remove FIX_GCC_LINKING_PROBLEM and -DDEFINE_CXA_PURE_VIRTUAL replace echo in configure.in with AC_MSG_WARN/AC_MSG_ERROR don't set -DUSE_MYSYS_NEW for gcc 2.95 set $USE_MYSYS_NEW even if CXX is g++ yassl bugfixes instantiate all yassl templates explicitly
This commit is contained in:
parent
328f2e434a
commit
9c332d8d2a
20 changed files with 136 additions and 101 deletions
|
@ -30,10 +30,10 @@ noinst_HEADERS = sql_string.h completion_hash.h my_readline.h \
|
|||
mysql_SOURCES = mysql.cc readline.cc sql_string.cc completion_hash.cc
|
||||
mysqladmin_SOURCES = mysqladmin.cc
|
||||
mysql_LDADD = @readline_link@ @TERMCAP_LIB@ $(LDADD) $(CXXLDFLAGS)
|
||||
mysqlbinlog_LDADD = $(LDADD) $(CXXLDFLAGS)
|
||||
mysqltest_SOURCES= mysqltest.c $(top_srcdir)/mysys/my_getsystime.c
|
||||
mysqltest_LDADD = $(top_builddir)/regex/libregex.a $(LDADD)
|
||||
mysqlbinlog_SOURCES = mysqlbinlog.cc $(top_srcdir)/mysys/mf_tempdir.c
|
||||
mysqlbinlog_SOURCES = mysqlbinlog.cc $(top_srcdir)/mysys/mf_tempdir.c $(top_srcdir)/mysys/my_new.cc
|
||||
mysqlbinlog_LDADD = $(LDADD) $(CXXLDFLAGS)
|
||||
mysqltestmanagerc_SOURCES = mysqlmanagerc.c
|
||||
mysqltestmanager_pwgen_SOURCES = mysqlmanager-pwgen.c
|
||||
sql_src=log_event.h mysql_priv.h log_event.cc my_decimal.h my_decimal.cc
|
||||
|
|
|
@ -1346,6 +1346,3 @@ static my_bool wait_pidfile(char *pidfile, time_t last_modified,
|
|||
}
|
||||
DBUG_RETURN(error);
|
||||
}
|
||||
#ifdef __GNUC__
|
||||
FIX_GCC_LINKING_PROBLEM
|
||||
#endif
|
||||
|
|
|
@ -1458,4 +1458,3 @@ int main(int argc, char** argv)
|
|||
#include "log_event.cc"
|
||||
#endif
|
||||
|
||||
FIX_GCC_LINKING_PROBLEM
|
||||
|
|
74
configure.in
74
configure.in
|
@ -294,7 +294,7 @@ case "$target_os" in
|
|||
AC_SYS_COMPILER_FLAG(-belf,sco_belf_option,CFLAGS,[],[
|
||||
case "$LDFLAGS" in
|
||||
*-belf*) ;;
|
||||
*) echo "Adding -belf option to ldflags."
|
||||
*) AC_MSG_WARN([Adding -belf option to ldflags.])
|
||||
LDFLAGS="$LDFLAGS -belf"
|
||||
;;
|
||||
esac
|
||||
|
@ -305,7 +305,7 @@ case "$target_os" in
|
|||
case "$LDFLAGS" in
|
||||
*-belf*) ;;
|
||||
*)
|
||||
echo "Adding -belf option to ldflags."
|
||||
AC_MSG_WARN([Adding -belf option to ldflags.])
|
||||
LDFLAGS="$LDFLAGS -belf"
|
||||
;;
|
||||
esac
|
||||
|
@ -336,7 +336,6 @@ AC_SUBST(LD)
|
|||
AC_SUBST(INSTALL_SCRIPT)
|
||||
|
||||
export CC CXX CFLAGS LD LDFLAGS AR
|
||||
echo "GXX: $GXX"
|
||||
if test "$GXX" = "yes"
|
||||
then
|
||||
# mysqld requires -fno-implicit-templates.
|
||||
|
@ -344,22 +343,29 @@ then
|
|||
# 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'`
|
||||
echo "CXX: $CXX"
|
||||
if echo $CXX | grep gcc > /dev/null 2>&1
|
||||
then
|
||||
echo "Setting CXXFLAGS"
|
||||
# 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 -DUSE_MYSYS_NEW -DDEFINE_CXA_PURE_VIRTUAL"
|
||||
echo "Using MYSYS_NEW for static linking with gcc"
|
||||
fi
|
||||
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")
|
||||
# Any wariation of Linux
|
||||
# Any variation of Linux
|
||||
if expr "$target_os" : "[[Ll]]inux.*" > /dev/null
|
||||
then
|
||||
MYSQLD_DEFAULT_SWITCHES="--skip-locking"
|
||||
|
@ -937,7 +943,7 @@ case $SYSTEM_TYPE in
|
|||
*solaris2.7*)
|
||||
# Solaris 2.7 has a broken /usr/include/widec.h
|
||||
# Make a fixed copy in ./include
|
||||
echo "Fixing broken include files for $SYSTEM_TYPE"
|
||||
AC_MSG_WARN([Fixing broken include files for $SYSTEM_TYPE])
|
||||
echo " - Creating local copy of widec.h"
|
||||
if test ! -d include
|
||||
then
|
||||
|
@ -951,7 +957,7 @@ case $SYSTEM_TYPE in
|
|||
*solaris2.8*)
|
||||
# Solaris 2.8 has a broken /usr/include/widec.h
|
||||
# Make a fixed copy in ./include
|
||||
echo "Fixing broken include files for $SYSTEM_TYPE"
|
||||
AC_MSG_WARN([Fixing broken include files for $SYSTEM_TYPE])
|
||||
echo " - Creating local copy of widec.h"
|
||||
if test ! -d include
|
||||
then
|
||||
|
@ -963,7 +969,7 @@ case $SYSTEM_TYPE in
|
|||
CXXFLAGS="$CXXFLAGS -DHAVE_CURSES_H -I$builddir/include -DHAVE_RWLOCK_T"
|
||||
;;
|
||||
*solaris2.5.1*)
|
||||
echo "Enabling getpass() workaround for Solaris 2.5.1"
|
||||
AC_MSG_WARN([Enabling getpass() workaround for Solaris 2.5.1])
|
||||
CFLAGS="$CFLAGS -DHAVE_BROKEN_GETPASS -DSOLARIS -DHAVE_RWLOCK_T";
|
||||
CXXFLAGS="$CXXFLAGS -DHAVE_RWLOCK_T -DSOLARIS"
|
||||
;;
|
||||
|
@ -972,26 +978,26 @@ case $SYSTEM_TYPE in
|
|||
CXXFLAGS="$CXXFLAGS -DHAVE_RWLOCK_T"
|
||||
;;
|
||||
*SunOS*)
|
||||
echo "Enabling getpass() workaround for SunOS"
|
||||
AC_MSG_WARN([Enabling getpass() workaround for SunOS])
|
||||
CFLAGS="$CFLAGS -DHAVE_BROKEN_GETPASS -DSOLARIS";
|
||||
;;
|
||||
*hpux10.20*)
|
||||
echo "Enabling workarounds for hpux 10.20"
|
||||
AC_MSG_WARN([Enabling workarounds for hpux 10.20])
|
||||
CFLAGS="$CFLAGS -DHAVE_BROKEN_SNPRINTF -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX10 -DSIGNAL_WITH_VIO_CLOSE -DHAVE_BROKEN_PTHREAD_COND_TIMEDWAIT -DHAVE_POSIX1003_4a_MUTEX"
|
||||
CXXFLAGS="$CXXFLAGS -DHAVE_BROKEN_SNPRINTF -D_INCLUDE_LONGLONG -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX10 -DSIGNAL_WITH_VIO_CLOSE -DHAVE_BROKEN_PTHREAD_COND_TIMEDWAIT -DHAVE_POSIX1003_4a_MUTEX"
|
||||
if test "$with_named_thread" = "no"
|
||||
then
|
||||
echo "Using --with-named-thread=-lpthread"
|
||||
AC_MSG_WARN([Using --with-named-thread=-lpthread])
|
||||
with_named_thread="-lcma"
|
||||
fi
|
||||
;;
|
||||
*hpux11.*)
|
||||
echo "Enabling workarounds for hpux 11"
|
||||
AC_MSG_WARN([Enabling workarounds for hpux 11])
|
||||
CFLAGS="$CFLAGS -DHPUX11 -DSNPRINTF_RETURN_TRUNC -DHAVE_BROKEN_PREAD -DDONT_USE_FINITE -DHAVE_BROKEN_GETPASS -DNO_FCNTL_NONBLOCK -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHAVE_BROKEN_PTHREAD_COND_TIMEDWAIT"
|
||||
CXXFLAGS="$CXXFLAGS -DHPUX11 -DSNPRINTF_RETURN_TRUNC -DHAVE_BROKEN_PREAD -DDONT_USE_FINITE -D_INCLUDE_LONGLONG -DNO_FCNTL_NONBLOCK -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHAVE_BROKEN_PTHREAD_COND_TIMEDWAIT"
|
||||
if test "$with_named_thread" = "no"
|
||||
then
|
||||
echo "Using --with-named-thread=-lpthread"
|
||||
AC_MSG_WARN([Using --with-named-thread=-lpthread])
|
||||
with_named_thread="-lpthread"
|
||||
fi
|
||||
# Fixes for HPUX 11.0 compiler
|
||||
|
@ -1047,7 +1053,7 @@ case $SYSTEM_TYPE in
|
|||
fi
|
||||
;;
|
||||
*freebsd*)
|
||||
echo "Adding fix for interrupted reads"
|
||||
AC_MSG_WARN([Adding fix for interrupted reads])
|
||||
OSVERSION=`sysctl -a | grep osreldate | awk '{ print $2 }'`
|
||||
if test "$OSVERSION" -gt "480100" && \
|
||||
test "$OSVERSION" -lt "500000" || \
|
||||
|
@ -1060,13 +1066,13 @@ case $SYSTEM_TYPE in
|
|||
fi
|
||||
;;
|
||||
*netbsd*)
|
||||
echo "Adding flag -Dunix"
|
||||
AC_MSG_WARN([Adding flag -Dunix])
|
||||
CFLAGS="$CFLAGS -Dunix"
|
||||
CXXFLAGS="$CXXFLAGS -Dunix"
|
||||
OVERRIDE_MT_LD_ADD="\$(top_srcdir)/mit-pthreads/obj/libpthread.a"
|
||||
;;
|
||||
*bsdi*)
|
||||
echo "Adding fix for BSDI"
|
||||
AC_MSG_WARN([Adding fix for BSDI])
|
||||
CFLAGS="$CFLAGS -D__BSD__ -DHAVE_BROKEN_REALPATH"
|
||||
AC_DEFINE_UNQUOTED([SOCKOPT_OPTLEN_TYPE], [size_t],
|
||||
[Last argument to get/setsockopt])
|
||||
|
@ -1074,13 +1080,13 @@ case $SYSTEM_TYPE in
|
|||
*sgi-irix6*)
|
||||
if test "$with_named_thread" = "no"
|
||||
then
|
||||
echo "Using --with-named-thread=-lpthread"
|
||||
AC_MSG_WARN([Using --with-named-thread=-lpthread])
|
||||
with_named_thread="-lpthread"
|
||||
fi
|
||||
CXXFLAGS="$CXXFLAGS -D_BOOL"
|
||||
;;
|
||||
*aix4.3*)
|
||||
echo "Adding defines for AIX"
|
||||
AC_MSG_WARN([Adding defines for AIX])
|
||||
CFLAGS="$CFLAGS -Wa,-many -DUNDEF_HAVE_INITGROUPS -DSIGNALS_DONT_BREAK_READ"
|
||||
CXXFLAGS="$CXXFLAGS -Wa,-many -DUNDEF_HAVE_INITGROUPS -DSIGNALS_DONT_BREAK_READ"
|
||||
;;
|
||||
|
@ -1088,11 +1094,11 @@ dnl Is this the right match for DEC OSF on alpha?
|
|||
*dec-osf*)
|
||||
if test "$ac_cv_prog_gcc" = "yes" && test "$host_cpu" = "alpha"
|
||||
then
|
||||
echo "Adding defines for DEC OSF on alpha"
|
||||
AC_MSG_WARN([Adding defines for DEC OSF on alpha])
|
||||
CFLAGS="$CFLAGS -mieee"
|
||||
CXXFLAGS="$CXXFLAGS -mieee"
|
||||
fi
|
||||
echo "Adding defines for OSF1"
|
||||
AC_MSG_WARN([Adding defines for OSF1])
|
||||
# gethostbyname_r is deprecated and doesn't work ok on OSF1
|
||||
CFLAGS="$CFLAGS -DUNDEF_HAVE_GETHOSTBYNAME_R -DSNPRINTF_RETURN_TRUNC"
|
||||
CXXFLAGS="$CXXFLAGS -DUNDEF_HAVE_GETHOSTBYNAME_R -DSNPRINTF_RETURN_TRUNC"
|
||||
|
@ -1379,7 +1385,7 @@ then
|
|||
CXX="$CXX -Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK";
|
||||
fi
|
||||
else
|
||||
{ echo "configure: error: Can't find thread libs on SCO UnixWare7. See the Installation chapter in the Reference Manual." 1>&2; exit 1; };
|
||||
{ AC_MSG_ERROR([configure: error: Can't find thread libs on SCO UnixWare7. See the Installation chapter in the Reference Manual.]) };
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT("no")
|
||||
|
@ -1425,7 +1431,7 @@ then
|
|||
fi
|
||||
AC_MSG_RESULT("yes")
|
||||
else
|
||||
{ echo "configure: error: Can't find thread libs on SCO UnixWare7. See the Installation chapter in the Reference Manual." 1>&2; exit 1; };
|
||||
{ AC_MSG_ERROR([configure: error: Can't find thread libs on SCO UnixWare7. See the Installation chapter in the Reference Manual.]) };
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT("no")
|
||||
|
@ -1468,7 +1474,7 @@ then
|
|||
fi
|
||||
AC_MSG_RESULT("yes")
|
||||
else
|
||||
{ echo "configure: error: Can't find thread libs on Caldera OpenUNIX 8. See the Installation chapter in the Reference Manual." 1>&2; exit 1; };
|
||||
{ AC_MSG_ERROR([configure: error: Can't find thread libs on Caldera OpenUNIX 8. See the Installation chapter in the Reference Manual.]) };
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT("no")
|
||||
|
@ -2239,7 +2245,7 @@ if test "$with_tools" = "yes"
|
|||
then
|
||||
if test "$THREAD_SAFE_CLIENT" = "no"
|
||||
then
|
||||
echo "Warning: extra-tools disabled because --enable-thread-safe-client wasn't used"
|
||||
AC_MSG_WARN([extra-tools disabled because --enable-thread-safe-client wasn't used])
|
||||
else
|
||||
tools_dirs="tools"
|
||||
fi
|
||||
|
|
|
@ -91,18 +91,18 @@ public:
|
|||
{
|
||||
iterator tmp = *this;
|
||||
current_ = current_->next_;
|
||||
return tmp;
|
||||
return *this;
|
||||
}
|
||||
|
||||
iterator& operator--(int)
|
||||
{
|
||||
iterator tmp = *this;
|
||||
current_ = current_->prev_;
|
||||
return tmp;
|
||||
return *this;
|
||||
}
|
||||
|
||||
bool operator==(const iterator& other) const
|
||||
{
|
||||
{
|
||||
return current_ == other.current_;
|
||||
}
|
||||
|
||||
|
@ -237,8 +237,8 @@ void list<T>::pop_back()
|
|||
template<typename T>
|
||||
T list<T>::back() const
|
||||
{
|
||||
if (back == 0) return 0;
|
||||
return back->value_;
|
||||
if (tail_ == 0) return 0;
|
||||
return tail_->value_;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -5,4 +5,4 @@ libyassl_a_SOURCES = buffer.cpp cert_wrapper.cpp crypto_wrapper.cpp \
|
|||
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
|
||||
CXXFLAGS=`echo "@CXXFLAGS@" | sed 's/-fno-implicit-templates//'`
|
||||
AM_CXXFLAGS=@USE_MYSYS_NEW@
|
||||
|
|
|
@ -967,4 +967,12 @@ x509* PemToDer(const char* fname, CertType type)
|
|||
|
||||
} // namespace
|
||||
|
||||
#ifdef __GNUC__
|
||||
template class TaoCrypt::HMAC<TaoCrypt::MD5>;
|
||||
template class TaoCrypt::HMAC<TaoCrypt::SHA>;
|
||||
template class TaoCrypt::HMAC<TaoCrypt::RIPEMD160>;
|
||||
template class TaoCrypt::Mode_BASE<16>;
|
||||
template class TaoCrypt::Mode_BASE<8>;
|
||||
#endif
|
||||
|
||||
#endif // !USE_CRYPTOPP_LIB
|
||||
|
|
|
@ -2089,5 +2089,28 @@ void InitClientKeyFactory(ClientKeyFactory& ckf)
|
|||
ckf.Register(fortezza_kea, CreateFortezzaClient);
|
||||
}
|
||||
|
||||
|
||||
} // namespace
|
||||
|
||||
#ifdef __GNUC__
|
||||
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* (*)()>*);
|
||||
template mySTL::pair<int, yaSSL::HandShakeBase* (*)()>* mySTL::uninit_copy<mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*>(mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*);
|
||||
template void mySTL::destroy<mySTL::pair<int, yaSSL::Message* (*)()>*>(mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*);
|
||||
template void mySTL::destroy<mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*>(mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*);
|
||||
template mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>* mySTL::uninit_copy<mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*);
|
||||
template void mySTL::destroy<mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*);
|
||||
template mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>* mySTL::uninit_copy<mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*);
|
||||
template class mySTL::list<TaoCrypt::Signer*>;
|
||||
template class mySTL::list<yaSSL::SSL_SESSION*>;
|
||||
template class mySTL::list<yaSSL::input_buffer*>;
|
||||
template class mySTL::list<yaSSL::output_buffer*>;
|
||||
template class mySTL::list<yaSSL::x509*>;
|
||||
template void mySTL::destroy<mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*);
|
||||
template yaSSL::del_ptr_zero mySTL::for_each<mySTL::list<TaoCrypt::Signer*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<TaoCrypt::Signer*>::iterator, mySTL::list<TaoCrypt::Signer*>::iterator, yaSSL::del_ptr_zero);
|
||||
template yaSSL::del_ptr_zero mySTL::for_each<mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::SSL_SESSION*>::iterator, mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::del_ptr_zero);
|
||||
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
|
||||
|
||||
|
|
|
@ -918,7 +918,7 @@ void SSL::setKeys()
|
|||
|
||||
|
||||
// local functors
|
||||
namespace {
|
||||
namespace yassl_int_cpp_local1 {
|
||||
|
||||
struct SumData {
|
||||
uint total_;
|
||||
|
@ -934,7 +934,7 @@ struct SumBuffer {
|
|||
};
|
||||
|
||||
} // namespace for locals
|
||||
|
||||
using namespace yassl_int_cpp_local1;
|
||||
|
||||
uint SSL::bufferedData()
|
||||
{
|
||||
|
@ -942,7 +942,6 @@ uint SSL::bufferedData()
|
|||
SumData()).total_;
|
||||
}
|
||||
|
||||
|
||||
// use input buffer to fill data
|
||||
void SSL::fillData(Data& data)
|
||||
{
|
||||
|
@ -1377,7 +1376,7 @@ Sessions::~Sessions()
|
|||
}
|
||||
|
||||
|
||||
namespace { // locals
|
||||
namespace yassl_int_cpp_local2 { // locals
|
||||
|
||||
typedef mySTL::list<SSL_SESSION*>::iterator iterator;
|
||||
|
||||
|
@ -1395,7 +1394,7 @@ struct sess_match {
|
|||
|
||||
|
||||
} // local namespace
|
||||
|
||||
using namespace yassl_int_cpp_local2;
|
||||
|
||||
// lookup session by id, return a copy if space provided
|
||||
SSL_SESSION* Sessions::lookup(const opaque* id, SSL_SESSION* copy)
|
||||
|
@ -1965,7 +1964,10 @@ X509_NAME* X509::GetSubject()
|
|||
return &subject_;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
} // namespace
|
||||
|
||||
#ifdef __GNUC__
|
||||
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
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
|
||||
|
||||
#if !defined(yaSSL_NEW_HPP) && defined(DEFINE_CXA_PURE_VIRTUAL)
|
||||
#if !defined(yaSSL_NEW_HPP) && defined(USE_MYSYS_NEW)
|
||||
|
||||
#define yaSSL_NEW_HPP
|
||||
|
||||
|
@ -54,38 +54,16 @@ static void operator delete[] (void* ptr)
|
|||
}
|
||||
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
||||
extern "C" {
|
||||
#include <assert.h>
|
||||
|
||||
static int __cxa_pure_virtual()
|
||||
{
|
||||
// oops, pure virtual called!
|
||||
assert("Pure virtual method called." == "Aborted");
|
||||
return 0;
|
||||
}
|
||||
|
||||
// simple guards for now that aren't perfect
|
||||
// does yaSSL need full locking for two Integer statics,
|
||||
// the Factory, and Session list?
|
||||
// could leak ~ 8 bytes if two threads try to initialize at same time
|
||||
// gcc didn't implement until 3.4
|
||||
|
||||
|
||||
typedef long long __guard;
|
||||
|
||||
|
||||
static int __cxa_guard_acquire(__guard* g)
|
||||
{
|
||||
return !*(char*)g;
|
||||
}
|
||||
|
||||
static void __cxa_guard_release(__guard* g)
|
||||
{
|
||||
*(char*)g = 1;
|
||||
}
|
||||
|
||||
|
||||
} // extern "C"
|
||||
#endif // __GNUC__
|
||||
|
||||
#endif // yaSSL_NEW_HPP
|
||||
|
|
|
@ -5,4 +5,4 @@ libtaocrypt_a_SOURCES = aes.cpp aestables.cpp algebra.cpp arc4.cpp asn.cpp \
|
|||
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
|
||||
CXXFLAGS=`echo "@CXXFLAGS@" | sed 's/-fno-implicit-templates//'`
|
||||
AM_CXXFLAGS=@USE_MYSYS_NEW@
|
||||
|
|
|
@ -4172,3 +4172,12 @@ Integer CRT(const Integer &xp, const Integer &p, const Integer &xq,
|
|||
|
||||
} // 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*);
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -213,3 +213,22 @@ word32 SSL_Decrypt(const RSA_PublicKey& key, const byte* sig, byte* plain)
|
|||
|
||||
|
||||
} // 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>*);
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -230,17 +230,6 @@ C_MODE_END
|
|||
#define __LONG_MAX__ 2147483647
|
||||
#endif
|
||||
|
||||
/* Fix problem when linking c++ programs with gcc 3.x */
|
||||
#ifdef DEFINE_CXA_PURE_VIRTUAL
|
||||
#define FIX_GCC_LINKING_PROBLEM \
|
||||
C_MODE_START int __cxa_pure_virtual() {\
|
||||
DBUG_ASSERT("Pure virtual method called." == "Aborted");\
|
||||
return 0;\
|
||||
} C_MODE_END
|
||||
#else
|
||||
#define FIX_GCC_LINKING_PROBLEM
|
||||
#endif
|
||||
|
||||
/* egcs 1.1.2 has a problem with memcpy on Alpha */
|
||||
#if defined(__GNUC__) && defined(__alpha__) && ! (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95))
|
||||
#define BAD_MEMCPY
|
||||
|
|
|
@ -45,5 +45,14 @@ void operator delete[] (void *ptr) throw ()
|
|||
free(ptr);
|
||||
}
|
||||
|
||||
C_MODE_START
|
||||
|
||||
int __cxa_pure_virtual() {
|
||||
assert("Pure virtual method called." == "Aborted");
|
||||
return 0;
|
||||
}
|
||||
|
||||
C_MODE_END
|
||||
|
||||
#endif /* USE_MYSYS_NEW */
|
||||
|
||||
|
|
|
@ -28,6 +28,3 @@ Command::Command(Instance_map *instance_map_arg)
|
|||
Command::~Command()
|
||||
{}
|
||||
|
||||
#ifdef __GNUC__
|
||||
FIX_GCC_LINKING_PROBLEM
|
||||
#endif
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#include "ha_blackhole.h"
|
||||
|
||||
|
||||
static const char *ha_black_hole_exts[] = {
|
||||
static const char *ha_blackhole_exts[] = {
|
||||
NullS
|
||||
};
|
||||
|
||||
|
|
|
@ -1805,7 +1805,7 @@ try_again:
|
|||
|
||||
goto try_again;
|
||||
}
|
||||
#endif HAVE_REPLICATION
|
||||
#endif // HAVE_REPLICATION
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
|
|
@ -2349,12 +2349,12 @@ longlong Item_func_find_in_set::val_int()
|
|||
}
|
||||
str_end= substr_end;
|
||||
}
|
||||
else if (str_end - str_begin == 0 &&
|
||||
find_str_len == 0 &&
|
||||
else if (str_end - str_begin == 0 &&
|
||||
find_str_len == 0 &&
|
||||
wc == (my_wc_t) separator)
|
||||
return (longlong) ++position;
|
||||
else
|
||||
return (longlong) 0;
|
||||
return LL(0);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
|
|
@ -6989,5 +6989,4 @@ template class I_List_iterator<THD>;
|
|||
template class I_List<i_string>;
|
||||
template class I_List<i_string_pair>;
|
||||
template class I_List<NAMED_LIST>;
|
||||
FIX_GCC_LINKING_PROBLEM
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue