Fix for yaSSL link failures with Forte Developer 7, MIPSpro Compilers, Compaq C++.
These compilers have problem with implicit template instantiation in archives
(libyassl.a, libtaocrypt.a). Instantiate templates explicitly.
Fix for yaSSL link failure on powermacg5 (gcc 3.3). When -O3 is specified gcc inlines
__cxa_pure_virtual. This is wrong behavior, __cxa_pure_virtual must never be inlined.
Merge with latest yaSSL.
extra/yassl/include/lock.hpp:
Merge with latest yaSSL.
extra/yassl/include/socket_wrapper.hpp:
Merge with latest yaSSL.
extra/yassl/mySTL/helpers.hpp:
Merge with latest yaSSL.
extra/yassl/src/lock.cpp:
Merge with latest yaSSL.
extra/yassl/src/log.cpp:
Merge with latest yaSSL.
extra/yassl/src/socket_wrapper.cpp:
Merge with latest yaSSL.
extra/yassl/src/ssl.cpp:
Merge with latest yaSSL.
extra/yassl/src/timer.cpp:
Merge with latest yaSSL.
extra/yassl/taocrypt/include/misc.hpp:
Merge with latest yaSSL.
extra/yassl/taocrypt/include/random.hpp:
Merge with latest yaSSL.
extra/yassl/taocrypt/include/types.hpp:
Merge with latest yaSSL.
extra/yassl/taocrypt/src/asn.cpp:
Merge with latest yaSSL.
extra/yassl/taocrypt/src/integer.cpp:
Merge with latest yaSSL.
extra/yassl/taocrypt/src/misc.cpp:
Merge with latest yaSSL.
extra/yassl/taocrypt/src/random.cpp:
Merge with latest yaSSL.
Fix for link failures on boxes with non-gnu compiler.
Fix for compilation failure on hpux11.
extra/yassl/taocrypt/src/misc.cpp:
Adjust __HP_aCC value to solve compilation problem on hpux11.
tools/Makefile.am:
Add a dummy C++ file to mysqltestmanager to make libtool use a C++ linker:
this lets mysqltestmanager link when using yaSSL and a non-gcc C++ compiler.
comments,
unused flag OPTION_INTERNAL_SUBTRANSACTIONS removed
SELECT_ALL flag moved into this free slot.
bdb/dist/configure.ac:
don't link bdb with -pthread on FreeBSD
extra/yassl/taocrypt/include/modes.hpp:
fix alignment in yassl - proper fix is required
sql/ha_berkeley.cc:
remove unused flag OPTION_INTERNAL_SUBTRANSACTIONS
sql/mysql_priv.h:
comments,
unused flag OPTION_INTERNAL_SUBTRANSACTIONS removed
SELECT_ALL flag moved into this free slot.
Fix for yaSSL compilation failure on ia64 platform.
extra/yassl/taocrypt/include/types.hpp:
Do not use assembler when yaSSL compiled with icc on ia64 platform.
extra/yassl/mySTL/memory.hpp:
Portability fix, mySTL on Sun Forte 5.4: default template arguments that
are based on previous template argument don't work, just remove
the fancy syntax (non-default second argument is not used anywhere
anyway).
extra/yassl/taocrypt/src/misc.cpp:
Futher yaSSL portability fixes: hp3750 (HP aCC + HPUX):
we can remove these 2 ifdefed statements, as new handlers are not used
anymore (yaSSL new doesn't throw exceptions and does not
calls/resets new handlers as prescribed in the standard), but let's
leave it to Todd, now just #ifdef the problematic code.
mysys/my_access.c: remove incorrect fix
comments
extra/yassl/taocrypt/src/integer.cpp:
yassl template instantiation - don't do too much
extra/yassl/taocrypt/src/template_instnt.cpp:
yassl template instantiation - don't do too much
mysys/my_access.c:
remove incorrect fix
sql/item_func.cc:
a couple of comment. assert added.
Compilation errors fixes.
config/ac-macros/yassl.m4:
Switch to -l/-L instead of passing file name directly. (more portable for ".a" archives)
extra/yassl/taocrypt/src/integer.cpp:
Instantiate more templates (needed by some 64bit boxes).
extra/yassl/taocrypt/src/template_instnt.cpp:
Instantiate more templates (needed by some 64bit boxes).
Move tcArrayDelete to TaoCrypt namespace (more portable).
merge with latest yaSSL, move templates instantiation into separate file where it is possible
extra/yassl/include/buffer.hpp:
merge with latest yaSSL
extra/yassl/include/crypto_wrapper.hpp:
merge with latest yaSSL
extra/yassl/include/socket_wrapper.hpp:
merge with latest yaSSL
extra/yassl/include/yassl_imp.hpp:
merge with latest yaSSL
extra/yassl/include/yassl_types.hpp:
merge with latest yaSSL
extra/yassl/mySTL/helpers.hpp:
merge with latest yaSSL
extra/yassl/mySTL/list.hpp:
merge with latest yaSSL
extra/yassl/mySTL/memory.hpp:
merge with latest yaSSL
extra/yassl/mySTL/vector.hpp:
merge with latest yaSSL
extra/yassl/src/Makefile.am:
Include template_instnt.cpp into libyassl_a_SOURCES.
extra/yassl/src/buffer.cpp:
merge with latest yaSSL
extra/yassl/src/cert_wrapper.cpp:
merge with latest yaSSL
extra/yassl/src/crypto_wrapper.cpp:
merge with latest yaSSL
extra/yassl/src/handshake.cpp:
merge with latest yaSSL
extra/yassl/src/lock.cpp:
merge with latest yaSSL
extra/yassl/src/log.cpp:
merge with latest yaSSL
extra/yassl/src/socket_wrapper.cpp:
merge with latest yaSSL
extra/yassl/src/ssl.cpp:
merge with latest yaSSL
extra/yassl/src/timer.cpp:
merge with latest yaSSL
extra/yassl/src/yassl_error.cpp:
merge with latest yaSSL
extra/yassl/src/yassl_imp.cpp:
merge with latest yaSSL
extra/yassl/src/yassl_int.cpp:
merge with latest yaSSL
extra/yassl/taocrypt/include/algebra.hpp:
merge with latest yaSSL
extra/yassl/taocrypt/include/asn.hpp:
merge with latest yaSSL
extra/yassl/taocrypt/include/block.hpp:
merge with latest yaSSL
extra/yassl/taocrypt/include/hash.hpp:
merge with latest yaSSL
extra/yassl/taocrypt/include/integer.hpp:
merge with latest yaSSL
extra/yassl/taocrypt/include/misc.hpp:
merge with latest yaSSL
extra/yassl/taocrypt/include/modes.hpp:
merge with latest yaSSL
extra/yassl/taocrypt/include/runtime.hpp:
merge with latest yaSSL
extra/yassl/taocrypt/src/Makefile.am:
Include template_instnt.cpp into libtaocrypt_a_SOURCES.
extra/yassl/taocrypt/src/aestables.cpp:
merge with latest yaSSL
extra/yassl/taocrypt/src/algebra.cpp:
merge with latest yaSSL
extra/yassl/taocrypt/src/arc4.cpp:
merge with latest yaSSL
extra/yassl/taocrypt/src/asn.cpp:
merge with latest yaSSL
extra/yassl/taocrypt/src/coding.cpp:
merge with latest yaSSL
extra/yassl/taocrypt/src/dh.cpp:
merge with latest yaSSL
extra/yassl/taocrypt/src/dsa.cpp:
merge with latest yaSSL
extra/yassl/taocrypt/src/file.cpp:
merge with latest yaSSL
extra/yassl/taocrypt/src/integer.cpp:
merge with latest yaSSL
extra/yassl/taocrypt/src/misc.cpp:
merge with latest yaSSL
extra/yassl/taocrypt/src/random.cpp:
merge with latest yaSSL
extra/yassl/taocrypt/src/rsa.cpp:
merge with latest yaSSL
Check _LONGLONG_TYPE as well, to define 'word64', to make it
work on Solaris 10 x86_64.
Can't assume all x86_64 share the same assembler syntax.
For now disabled assembler for x86_64 and Solaris.
extra/yassl/taocrypt/include/misc.hpp:
Check _LONGLONG_TYPE as well, to define 'word64', to make it
work on Solaris 10 x86_64.
Can't assume all x86_64 share the same assembler syntax.
For now disabled assembler for x86_64 and Solaris.
Check _LONGLONG_TYPE as well, to define 'word64', to make it
work on Solaris 10 x86_64.
Can't assume all x86_64 share the same assembler syntax.
For now disabled assembler for x86_64 and Solaris.
extra/yassl/include/yassl_types.hpp:
A fix for Sun Forte 7
extra/yassl/mySTL/helpers.hpp:
Better comment for the previous fix.
extra/yassl/mySTL/list.hpp:
A fix for Sun Forte 7
extra/yassl/include/openssl/ssl.h:
Fix -std=c++98 mode compilation failures.
extra/yassl/include/yassl_error.hpp:
Fix -std=c++98 mode compilation failures.
extra/yassl/include/yassl_types.hpp:
Fix -std=c++98 mode compilation failures.
extra/yassl/mySTL/helpers.hpp:
Fix AIX 5.2 compilation problem.
extra/yassl/taocrypt/include/asn.hpp:
Fix -std=c++98 mode compilation failures.
vio/Makefile.am:
Add a dummy C++ file to SSL tests to make libtool use a C++ linker:
this lets ssl tests link when using yaSSL and a non-gcc C++ compiler.
Portability fixes
extra/yassl/include/buffer.hpp:
Use assert.h instead of less portable cassert
extra/yassl/include/log.hpp:
Use stdio.h instead of less portable cstdio
extra/yassl/include/socket_wrapper.hpp:
Use assert.h instead of less portable cassert
extra/yassl/mySTL/helpers.hpp:
Use stdlib.h instead of less portable cstdlib
extra/yassl/mySTL/stdexcept.hpp:
Use string.h instead of less portable cstring
extra/yassl/mySTL/vector.hpp:
Use assert.h instead of less portable cassert
extra/yassl/src/ssl.cpp:
Use stdio.h instead of less portable cstdio
extra/yassl/taocrypt/include/block.hpp:
Use stddef.h instead of less portable cstddef, always use ptrdiff_t instead of less portable std::ptrdiff_t
extra/yassl/taocrypt/include/file.hpp:
Use stdio.h instead of less portable cstdio
extra/yassl/taocrypt/include/integer.hpp:
Use string.h instead of less portable cstring
extra/yassl/taocrypt/include/runtime.hpp:
Use stdlib.h instead of less portable cstdlib
extra/yassl/taocrypt/src/dh.cpp:
Use math.h instead of less portable cmatch
This fix is about WL#2286 - Compile MySQL w/YASSL support
extra/yassl/include/yassl_int.hpp:
Use instance as static class member to fix FC compilation problem.
extra/yassl/src/yassl_int.cpp:
Remove local static variable, use static class member instead.
extra/yassl/taocrypt/include/integer.hpp:
Use instance as static class member to fix FC compilation problem.
extra/yassl/taocrypt/src/integer.cpp:
Remove local static variable, use static class member instead.
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
client/Makefile.am:
mysqlbinlog as a c++ program may need my_new.cc (if CXX=gcc)
no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc
client/mysqladmin.cc:
no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc
client/mysqlbinlog.cc:
no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc
configure.in:
echo should be AC_MSG_WARN or AC_MSG_ERROR
don't set -DUSE_MYSYS_NEW for gcc 2.95 (to restore old behaviour)
set $USE_MYSYS_NEW even if CXX is g++ (for yassl, as it can be linked with C programs)
remove -DDEFINE_CXA_PURE_VIRTUAL - -DUSE_MYSYS_NEW is enough
extra/yassl/mySTL/list.hpp:
bugfixes
extra/yassl/src/Makefile.am:
no need to mess with CXXFLAGS anymore. Instantiate all templates explicitly
extra/yassl/src/crypto_wrapper.cpp:
instantiate templates explicitly
extra/yassl/src/yassl_imp.cpp:
instantiate templates explicitly
extra/yassl/src/yassl_int.cpp:
instantiate templates explicitly
extra/yassl/taocrypt/include/runtime.hpp:
use -DUSE_MYSYS_NEW not -DDEFINE_CXA_PURE_VIRTUAL
assert in __cxa_pure_virtual
remove dummy (and thus dangerous) __cxa_guard_acquire/__cxa_guard_release
extra/yassl/taocrypt/src/Makefile.am:
no need to mess with CXXFLAGS anymore. Instantiate all templates explicitly
extra/yassl/taocrypt/src/integer.cpp:
instantiate templates explicitly
extra/yassl/taocrypt/src/rsa.cpp:
instantiate templates explicitly
include/my_global.h:
no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc
mysys/my_new.cc:
no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc
server-tools/instance-manager/command.cc:
no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc
sql/ha_blackhole.cc:
typo fixed
sql/ha_innodb.cc:
warning fixed
sql/item_func.cc:
use LL()
sql/mysqld.cc:
no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc
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
yaSSL-0.9.7 library bundled.
BUILD/Makefile.am:
compile-pentium-debug-yassl added to distribution.
Makefile.am:
Added yassl_dir to SUBDIRS. It contains path to yassl distribution if --with-yassl
specified. It is empty otherwise.
configure.in:
yaSSL CHECK-function call.
extra/Makefile.am:
yaSSL added to distribution.
include/violite.h:
YASSL_MYSQL_COMPATIBLE macro must be defined to make yassl headers compatible.