diff options
author | lloyd <[email protected]> | 2011-04-15 15:09:31 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2011-04-15 15:09:31 +0000 |
commit | b375273d339022b96596e83c63dfae627d6663a8 (patch) | |
tree | 7c278277a688be3c108743764f6cd6f824698e1d | |
parent | 44ccb9945dcce1f4d5aafe73fac4150dbccc4bbc (diff) |
Some more cleanups and reorgs. Drop old InSiTo arch doc; was not at
all relevant to current state of botan.
-rw-r--r-- | doc/build_log.txt | 422 | ||||
-rw-r--r-- | doc/faq.txt | 2 | ||||
-rw-r--r-- | doc/firststep.txt | 104 | ||||
-rw-r--r-- | doc/index.txt | 1 | ||||
-rw-r--r-- | doc/intro.txt | 184 | ||||
-rw-r--r-- | doc/log.txt | 2 | ||||
-rw-r--r-- | doc/old/architecture.pdf | bin | 463402 -> 0 bytes |
7 files changed, 367 insertions, 348 deletions
diff --git a/doc/build_log.txt b/doc/build_log.txt index 1d14d595c..6a3f13d16 100644 --- a/doc/build_log.txt +++ b/doc/build_log.txt @@ -1,4 +1,6 @@ +.. _build_log: + Build Log ======================================== @@ -10,213 +12,213 @@ and other hardware information, configuration settings). Debian reports the build results for 1.8 on `a number of platforms <http://buildd.debian.org/pkg.cgi?pkg=botan1.8>`_. -=========== ======= ====================== ============================== ============================ ======================================== -Date Version OS CPU Compiler Results -=========== ======= ====================== ============================== ============================ ======================================== -2011-04-15 1.9.16 Windows 7 x86-64 Visual C++ 16.00.30319.01 OK -2011-04-15 1.9.16 QNX 6.4.1 i386 GCC 4.3.3 OK -2011-03-29 1.9.15 Gentoo 10.0 Intel Core i5-520M GCC 4.5.2 OK -2011-03-21 1.9.15 Ark Linux x86-64 GCC 4.6.0-pre OK -2011-03-21 1.9.15 Ark Linux x86-32 GCC 4.6.0-pre OK -2011-03-21 1.9.15 Ark Linux ARM GCC 4.6.0-pre OK -2011-03-18 1.9.14 Debian 6.0 Intel Atom D510 GCC 4.4.5 OK -2011-03-01 1.9.14 OpenBSD 4.6 UltraSPARC IIIi GCC 4.2.4 OK -2011-03-01 1.9.14 OpenBSD 4.7 i386 GCC 4.2.4 OK -2011-03-01 1.9.14 Debian 6.0 Intel Madison IA-64 GCC 4.4.5 OK -2011-03-01 1.9.14 Ubuntu 9.10 ARM Cortex-A8 GCC 4.4.1 OK -2011-03-01 1.9.14 Debian 5.0 PowerPC G5/970 GCC 4.3.2 OK -2011-03-01 1.9.14 Windows 7 x64 Intel Core i5-520M Visual C++ 15.00.30729.01 OK (32 and 64 bit) -2011-03-01 1.9.14 Gentoo 10.0 Intel Core i7-860 Open64 4.2.1 OK -2011-03-01 1.9.14 Gentoo 10.0 Intel Core i7-860 Sun C++ 5.10 OK -2011-03-01 1.9.14 Gentoo 10.0 Intel Core i7-860 Intel C++ 11.1 OK -2011-03-01 1.9.14 Gentoo 10.0 Intel Core i7-860 GCC 4.5.2 OK -2011-02-14 1.9.13 NetBSD 5.1 Intel Xeon P4 GNU GCC 4.1.3 OK -2011-01-14 1.9.12 FreeBSD 8.1 x86-64 Clang 2.9 OK -2010-11-29 1.9.11 Windows 7 x64 Intel Core i5-520M Visual C++ 15.00.30729.01 OK (32 and 64 bit) -2010-11-29 1.9.11 Gentoo 10.0 Intel Core i7-860 GNU GCC 4.1.2, 4.4.5, 4.5.1 OK -2010-11-29 1.9.11 Debian 5.0 PowerPC G5/970 GCC 4.3.2 OK -2010-11-29 1.9.11 Gentoo 10.0 Intel Core i7-860 Intel C++ 11.1 OK -2010-11-29 1.9.11 Gentoo 10.0 Intel Core i7-860 Clang 2.8 Miscompiles SSE2 IDEA, otherwise OK -2010-11-29 1.9.11 Debian 5.0 UltraSPARC T1 Niagra (32-bit) GCC 4.3.2 OK -2010-09-07 1.9.11 Gentoo 10.0 Intel Core i7-860 Sun C++ 5.10 OK -2010-08-12 1.9.10 Debian 5.0 Xeon X5450 Harpertown GCC 4.3.2 OK -2010-08-12 1.9.10 Ubuntu 9.04 Intel Atom N270 GCC 4.3.3 OK -2010-08-12 1.9.10 Debian 5.0 Intel Prescott GCC 4.3.2 OK -2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 GCC 3.4.6 OK -2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 GCC 4.1.2 OK -2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 GCC 4.3.5 OK -2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 GCC 4.4.4 OK -2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 GCC 4.5.1 OK -2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 Clang SVN Miscompiles Turing, otherwise OK -2010-07-27 1.9.9 Debian 5.0 AMD Magny-Cours GCC 4.3.2, 4.5.0 OK -2010-06-16 1.9.8 Gentoo 10.0 Intel Core2 Q6600 Intel C++ 11.1 OK -2010-06-16 1.9.8 Debian 5.0 UltraSPARC T1 Niagra (32-bit) GCC 4.3.2 OK -2010-06-16 1.9.8 Debian 5.0 Intel Madison IA-64 GCC 4.3.2 OK -2010-06-16 1.9.8 Gentoo 10.0 IBM POWER5+ GCC 4.1.2, 4.2.4, 4.3.2 OK -2010-06-16 1.9.8 OpenBSD 4.6 UltraSPARC IIIi GCC 3.3.5, 4.2.4 OK -2010-06-16 1.9.8 FreeBSD 8.0 AMD Opteron 252 GCC 4.2.1 OK -2010-06-16 1.9.8 gNewSense MIPS Loongson-2 (64-bit) GCC 4.3.2 OK -2010-06-16 1.9.8 Ubuntu 9.10 ARM Cortex-A8 GCC 4.4.1 OK -2010-06-11 1.9.8 Gentoo 10.0 Intel Core2 Q6600 GCC 3.4.6, 4.1.2 OK -2010-06-11 1.9.8 Windows 7 x64 Intel Core i5-520M Visual C++ 15.00.30729.01 OK (32 and 64 bit) -2010-06-11 1.9.8 Gentoo 10.0 Intel Core i5-520M GCC 4.5.0 OK -2010-06-01 1.9.8 OpenBSD 4.7 i386 GCC 3.3.5 OK, but compilation problems [1] -2010-05-03 1.9.7 Windows 7 x64 Intel Core i5-520M Visual C++ 15.00.30729.01 OK -2010-04-27 1.9.7 Gentoo 10.0 PPC 970FX (G5) GCC 4.3.4 OK -2010-04-27 1.9.7 Gentoo 10.0 Intel Core2 Q6600 GCC 4.4.3, 4.5.0 OK -2010-03-18 1.9.4 Gentoo 10.0 Intel Core2 Q6600 GCC 4.4.3 OK -2010-03-18 1.9.4 Debian 5.0 UltraSPARC II (64-bit) GCC 4.3.2 OK -2010-03-18 1.9.4 Gentoo 10.0 PowerPC G5 GCC 4.3.4 OK -2010-03-18 1.9.4 Gentoo 10.0 IBM POWER5+ GCC 4.3.2 OK -2010-03-15 1.9.4 Windows XP x86 Visual C++ 15.00.30729.01 OK -2010-03-10 1.9.4 FreeBSD 8.0 AMD Opteron 252 GCC 4.2.1 OK, but missing includes -2009-12-29 1.9.4 Debian 4.0 PowerPC G4 7455 GCC 4.1.2 OK -2009-12-23 1.9.4 Debian 5.0 Xeon X5450 Harpertown GCC 4.3.2 OK -2009-11-13 1.9.3 Debian 5.0 UltraSPARC II GCC 4.3.2 OK -2009-11-10 1.9.2 Debian 4.0 PowerPC G4 GCC 4.1.2 OK -2009-11-03 1.9.2 Debian Linux 4.0 AMD Opteron 8354 Barcelona GCC 4.4.1 OK -2009-10-27 1.9.2 Debian Linux 5.0 Xeon X5450 Harpertown GCC 4.3.2 OK -2009-10-23 1.9.1 Gentoo Linux Intel Core2 Q6600 GCC 4.4.1, Intel C++ 11.1 OK -2009-10-23 1.9.1 Gentoo Linux AMD Opteron 2212 GCC 4.3.4 OK -2009-09-24 1.9.0 Debian 4.0 AMD Opteron 8354 GCC 4.1.2, 4.4.1 OK -2010-07-01 1.8.9 OpenSUSE 10.3 Intel Core2 GCC 4.2.1 OK -2010-06-22 1.8.9 Slackware 13.1 Intel E5400 (64-bit) GCC 4.4.4 OK -2010-06-22 1.8.9 Slackware 13.1 Pentium-M (32-bit) GCC 4.4.4 OK -2010-06-16 1.8.9 Debian 5.0 UltraSPARC T1 Niagra (32-bit) GCC 4.3.2 (GCC TR1) Crashes in GF(p) tests -2010-03-18 1.8.8 Debian 5.0 UltraSPARC II (64-bit) GCC 4.3.2 OK -2008-10-23 1.8.7 Gentoo 2008.0 PPC 970FX (G5) GCC 4.3.4 OK -2009-10-07 1.8.7 Debian GNU/Hurd 0.3 i686 GCC 4.3.4 OK -2009-09-08 1.8.7 Gentoo 2008.0 Intel Core2 Q6600 GCC 4.4.1 OK -2009-09-04 1.8.6 Gentoo 2008.0 PPC 970FX (G5) GCC 4.3.4 OK -2009-08-13 1.8.6 Gentoo 2008.0 Intel Core2 Q6600 GCC 4.3.3 OK -2009-08-13 1.8.6 Windows XP x86 Visual C++ 15.00.30729.01 OK (TR1 disabled) -2009-08-03 1.8.5 openSuSE 10.3 x86 GCC 4.2.1 OK -2009-08-03 1.8.5 Gentoo 2008.0 Intel Core2 Q6600 Open64 4.2.1 BAD: Miscompiles several ciphers -2009-07-31 1.8.5 Solaris 11 x86 Sun C++ 5.9 OK, but minor build problems -2009-07-30 1.8.5 Gentoo 2006.1 UltraSPARC IIe (32-bit) GCC 3.4.6 OK (TR1 disabled) -2009-07-25 1.8.5 Debian 4.0 AMD Opteron 2212 GCC 4.1.2 OK -2009-07-23 1.8.5 Gentoo 2008.0 Marvel Feroceon 88FR131 GCC 4.1.2 OK -2009-07-23 1.8.5 Debian 5.0 Intel Xscale 80219 GCC 4.3.2 OK -2009-07-23 1.8.5 Debian 5.0 UltraSPARC II (64-bit) GCC 4.3.2 OK -2009-07-23 1.8.5 Debian 5.0 UltraSPARC II (32-bit) GCC 4.3.2 BAD: bus error in GF(p) -2009-07-23 1.8.5 Debian 5.0 UltraSPARC II (32-bit) GCC 4.1.3 BAD: miscompiles BigInt code -2009-07-23 1.8.5 Debian 4.0 PowerPC G4 GCC 4.1.2 OK -2009-07-23 1.8.5 Debian 4.0 PowerPC G5 GCC 4.1.2 OK -2009-07-23 1.8.5 Debian 5.0 Intel Madison IA-64 GCC 4.1.3, 4.3.2 OK -2009-07-23 1.8.5 Debian 5.0 HP-PA PA8600 GCC 4.3.2 OK -2009-07-23 1.8.5 Mandriva 2008.1 MIPS Loongson-2 (32-bit) GCC 4.2.3 OK -2009-07-23 1.8.5 gNewSense MIPS Loongson-2 (64-bit) GCC 4.3.2 OK -2009-07-21 1.8.5 Windows XP x86 Visual C++ 15.00.30729.01 OK (TR1 disabled) -2009-07-21 1.8.5 Gentoo 2008.0 Intel Core2 Q6600 GCC 4.1.2, 4.3.3 OK -2009-07-21 1.8.5 Gentoo 2008.0 Intel Core2 Q6600 Intel C++ 10.1 20080801 OK -2009-07-21 1.8.5 Gentoo 2008.0 AMD Opteron 2212 GCC 4.3.3 OK -2009-07-21 1.8.5 Ubuntu 8.04 Intel Xeon X5492 GCC 4.2.4 OK -2009-07-21 1.8.5 MacOS X 10.5.6 Intel Core 2 Duo T5600 GCC 4.0.1 OK -2009-07-21 1.8.5 Solaris 10 AMD Opteron GCC 3.4.3 OK (TR1 disabled) -2008-07-11 1.8.3 Fedora 11 Intel Pentium E5200 GCC 4.4.0 OK -2008-07-10 1.8.3 Gentoo 2008.0 PPC 970FX (G5) GCC 4.3.1 OK -2008-07-10 1.8.3 Gentoo 2008.0 IBM POWER5+ GCC 4.2.2 OK -2009-07-10 1.8.3 Gentoo 2008.0 AMD Opteron 2212 GCC 4.3.3 OK -2009-07-10 1.8.3 Ubuntu 8.04 Intel Xeon X5492 GCC 4.2.4 OK -2009-07-10 1.8.3 MacOS X 10.5.6 Intel Core 2 Duo T5600 GCC 4.0.1 OK -2009-07-10 1.8.3 Debian 5.0.1 Intel Core 2 Duo T5600 GCC 4.3.2 OK -2009-07-10 1.8.3 Fedora 10 Intel Core 2 Duo T5600 GCC 4.3.2 OK -2009-07-10 1.8.3 Solaris 10 AMD Opteron GCC 3.4.3 OK (TR1 disabled, configure.pl) -2009-07-09 1.8.3 Gentoo 2008.0 Intel Core2 Q6600 Intel C++ 10.1 20080801 OK -2009-07-02 1.8.3 Gentoo 2008.0 Intel Core2 Q6600 GCC 4.3.3 OK -2009-07-02 1.8.3 FreeBSD 7.0 x86-64 GCC 4.2.1 OK -2009-07-02 1.8.3 Windows XP x86 Visual C++ 15.00.30729.01 OK (TR1 disabled) -2008-12-27 1.8.0 Ubuntu 8.04 Pentium 4-M GCC 4.2.3 OK -2008-12-14 1.8.0 FreeBSD 7.0 x86-64 GCC 4.2.1 OK -2008-12-10 1.8.0 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.1.2, 4.2.4, 4.3.2 OK -2008-12-05 1.7.24 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.1.2, 4.2.4, 4.3.2 OK -2008-12-04 1.7.24 Gentoo 2007.0 Intel Core2 Q6600 Intel 10.1-20080801 OK -2008-12-03 1.7.24 Solaris 10 x86 GCC 3.4.3 OK (small patch needed, fixed in 1.8.0) -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.1.2 OK -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.2.4 OK -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.3.2 OK -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.4-20081017 OK -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 (32-bit) GCC 4.1.2, 4.2.4 OK -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 (32-bit) GCC 4.3.2 OK (with Boost 1.35 TR1) -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 (32-bit) GCC 4.3.2 BAD: crashes (with libstdc++ TR1) -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 9.1-20061101 OK -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1-20080801 OK -2008-11-24 1.7.23 Fedora 8 STI Cell PPU GCC 4.1.2 OK -2008-11-24 1.7.23 Fedora 8 STI Cell PPU IBM XLC for Cell 0.9 BAD: 45 minute link. Miscompiles DES -2008-11-24 1.7.23 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2, 4.2.2, 4.3.1 OK -2008-11-24 1.7.23 Gentoo 2007.0 AMD Opteron 2212 GCC 3.3.6, 4.1.2, 4.3.2 OK (TR1 disabled with 3.3.6) -2008-11-24 1.7.23 Windows XP x86 Visual C++ 15.00.30729.01 OK (TR1 disabled) -2008-11-09 1.7.20 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK -2008-11-09 1.7.20 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.3.2 OK -2008-11-09 1.7.20 Windows XP x86 Visual C++ 15.00.30729.01 OK -2008-11-06 1.7.19 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK -2008-11-06 1.7.19 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.1.2, 4.3.1 OK -2008-11-06 1.7.19 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 9.1-20061101 OK -2008-11-06 1.7.19 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1-20080801 OK -2008-11-06 1.7.19 Windows XP x86 Visual C++ 15.00.30729.01 OK -2008-11-03 1.7.19 FreeBSD 7.0 x86-64 GCC 4.2.1 OK -2008-10-24 1.7.18 Gentoo 2007.0 IBM POWER5+ GCC 4.2.2, 4.3.1 OK -2008-10-24 1.7.18 Fedora 8 STI Cell PPU GCC 4.1.2 OK -2008-10-22 1.7.18 Windows XP Pentium 4-M GCC 3.4.5 (MinGW) OK -2008-10-22 1.7.18 Windows XP Pentium 4-M Visual C++ 15.00.30729.01 OK -2008-10-22 1.7.18 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK -2008-10-22 1.7.18 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.1.2, 4.2.4, 4.3.2 OK -2008-10-22 1.7.18 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 9.1-20061101 OK -2008-10-22 1.7.18 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1-20080801 OK -2008-10-07 1.7.15 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK -2008-10-07 1.7.15 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.3.1 OK -2008-09-30 1.7.14 Gentoo 2007.0 PPC 970FX (G5) GCC 4.3.1 OK -2008-09-30 1.7.14 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK -2008-09-30 1.7.14 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.3.1 OK -2008-09-30 1.7.14 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1.018 OK -2008-09-30 1.7.14 Windows XP Pentium 4-M Visual C++ 15.00.30729.01 OK -2008-09-30 1.7.14 Windows XP Pentium 4-M GCC 3.4.5 (MinGW) OK -2008-09-18 1.7.12 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2, 4.2.2 OK -2008-09-18 1.7.12 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.2.4, 4.3.1 OK -2008-09-18 1.7.12 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1.018 OK -2008-09-18 1.7.12 Windows XP Pentium 4-M Visual C++ 15.00.30729.01 OK -2008-09-18 1.7.12 Windows XP Pentium 4-M GCC 3.4.5 (MinGW) OK -2008-09-16 1.7.12 Fedora 7 STI Cell PPU GCC 4.1.2 OK -2008-09-16 1.7.11 MacOS X 10.4 (32-bit) Intel Core2 GCC 4.0.1 OK -2008-09-11 1.7.11 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.3.1 OK -2008-09-11 1.7.11 Windows XP Pentium 4-M Visual C++ 15.00.30729.01 OK -2008-09-08 1.7.9 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1.018 OK -2008-08-28 1.7.9 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK -2008-08-28 1.7.9 Gentoo 2007.0 IBM POWER5+ GCC 4.2.2 OK -2008-08-28 1.7.9 Gentoo 2007.0 IBM POWER5+ GCC 4.3.1 OK -2008-08-28 1.7.9 Gentoo STI Cell PPU GCC 4.1.2 OK -2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 GCC 4.1.2 OK -2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 GCC 4.2.4 OK -2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 GCC 4.3.1 OK -2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 GCC 4.4-20080822 OK -2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 Intel C++ 9.1-20061101 OK -2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 Intel C++ 10.1-20080602 OK -2008-08-27 1.7.9 Windows XP Pentium 4-M Visual C++ 2008 OK -2008-08-27 1.7.9 Windows XP Pentium 4-M GCC 3.4.5 (MinGW) OK -2008-08-18 1.7.8 Ubuntu 8.04 Pentium 4-M GCC 4.2.3 OK -2008-08-18 1.7.8 Windows XP Pentium 4-M Visual C++ 2008 OK -2008-08-18 1.7.8 Windows XP Pentium 4-M GCC 3.4.5 (MinGW) OK -2008-07-18 1.7.8 Gentoo IBM POWER5+ GCC 4.1.2 OK -2008-07-15 1.7.8 Gentoo Intel Core2 Q6600 GCC 4.3.1 OK -2008-07-06 1.7.7 Gentoo Intel Core2 Q6600 PGI 7.2 BAD: miscompiles TEA, Turing, BigInt -2008-06-28 1.7.7 Gentoo Pentium 4-M GCC 4.1.2 OK -2008-06-28 1.7.7 Gentoo Intel Core2 Q6600 GCC 4.1.2, 4.2.4, 4.3.1 OK -2008-06-28 1.7.7 Gentoo Intel Core2 Q6600 Intel C++ 10.1 OK -2008-06-28 1.7.7 Gentoo IBM POWER5+ GCC 4.1.2, 4.2.2 OK -2008-06-25 1.7.6 Gentoo IBM POWER5+ GCC 4.1.2, 4.2.2 OK -2008-06-09 1.7.6 Gentoo PPC 970FX (G5) GCC 4.1.2 OK -2008-05-14 1.7.6 Gentoo Intel Core2 Q6600 Intel C++ 9.1 Builds, but link problems -2008-05-14 1.7.6 Gentoo Intel Core2 Q6600 GCC 4.2.3 OK -2008-04-21 1.7.5 Gentoo STI Cell PPU GCC 4.1.2 OK -2008-04-14 1.7.5 Debian Pentium 4 GCC 4.1.2 OK -2008-04-13 1.7.5 Gentoo 2006.1 UltraSPARC II (32-bit) GCC 3.4.6 OK -2008-04-12 1.7.5 RHEL3 Pentium 4 Xeon GCC 3.2.3 OK -2008-04-12 1.7.5 Gentoo Intel Core2 Q6600 Intel C++ 10.1 OK -2008-04-12 1.7.5 Gentoo AMD Opteron 2212 GCC 4.1.2 OK -2008-04-12 1.7.5 Gentoo Intel Core2 Q6600 GCC 4.2.3 OK -2008-09-16 1.6.5 MacOS X 10.4 Intel Core2 (32-bit) GCC 4.0.1 OK -2008-08-28 1.6.5 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2, 4.2.2, 4.3.1 OK -2008-08-27 1.6.5 Gentoo Intel Core2 Q6600 GCC 4.3.1, 4.4-20080822 OK -2008-08-18 1.6.4 Windows XP Pentium 4-M Visual C++ 2008 OK -2008-07-02 1.6.4 Solaris 10 x86-64 Sun Forte 12 OK -=========== ======= ====================== ============================== ============================ ======================================== +=========== ======= ====================== ============================ ============================ ======== +Date Version OS CPU Compiler Results +=========== ======= ====================== ============================ ============================ ======== +2011-04-15 1.9.16 Windows 7 x86-64 Visual C++ 16.00.30319.01 OK +2011-04-15 1.9.16 QNX 6.4.1 i386 GCC 4.3.3 OK +2011-03-29 1.9.15 Gentoo 10.0 Intel Core i5-520M GCC 4.5.2 OK +2011-03-21 1.9.15 Ark Linux x86-64 GCC 4.6.0-pre OK +2011-03-21 1.9.15 Ark Linux x86-32 GCC 4.6.0-pre OK +2011-03-21 1.9.15 Ark Linux ARM GCC 4.6.0-pre OK +2011-03-18 1.9.14 Debian 6.0 Intel Atom D510 GCC 4.4.5 OK +2011-03-01 1.9.14 OpenBSD 4.6 UltraSPARC IIIi GCC 4.2.4 OK +2011-03-01 1.9.14 OpenBSD 4.7 i386 GCC 4.2.4 OK +2011-03-01 1.9.14 Debian 6.0 Intel Madison IA-64 GCC 4.4.5 OK +2011-03-01 1.9.14 Ubuntu 9.10 ARM Cortex-A8 GCC 4.4.1 OK +2011-03-01 1.9.14 Debian 5.0 PowerPC G5/970 GCC 4.3.2 OK +2011-03-01 1.9.14 Windows 7 x64 Intel Core i5-520M Visual C++ 15.00.30729.01 OK (32 and 64 bit) +2011-03-01 1.9.14 Gentoo 10.0 Intel Core i7-860 Open64 4.2.1 OK +2011-03-01 1.9.14 Gentoo 10.0 Intel Core i7-860 Sun C++ 5.10 OK +2011-03-01 1.9.14 Gentoo 10.0 Intel Core i7-860 Intel C++ 11.1 OK +2011-03-01 1.9.14 Gentoo 10.0 Intel Core i7-860 GCC 4.5.2 OK +2011-02-14 1.9.13 NetBSD 5.1 Intel Xeon P4 GNU GCC 4.1.3 OK +2011-01-14 1.9.12 FreeBSD 8.1 x86-64 Clang 2.9 OK +2010-11-29 1.9.11 Windows 7 x64 Intel Core i5-520M Visual C++ 15.00.30729.01 OK (32 and 64 bit) +2010-11-29 1.9.11 Gentoo 10.0 Intel Core i7-860 GNU GCC 4.1.2, 4.4.5, 4.5.1 OK +2010-11-29 1.9.11 Debian 5.0 PowerPC G5/970 GCC 4.3.2 OK +2010-11-29 1.9.11 Gentoo 10.0 Intel Core i7-860 Intel C++ 11.1 OK +2010-11-29 1.9.11 Gentoo 10.0 Intel Core i7-860 Clang 2.8 Miscompiles SSE2 IDEA, otherwise OK +2010-11-29 1.9.11 Debian 5.0 UltraSPARC T1 Niagra (32) GCC 4.3.2 OK +2010-09-07 1.9.11 Gentoo 10.0 Intel Core i7-860 Sun C++ 5.10 OK +2010-08-12 1.9.10 Debian 5.0 Xeon X5450 Harpertown GCC 4.3.2 OK +2010-08-12 1.9.10 Ubuntu 9.04 Intel Atom N270 GCC 4.3.3 OK +2010-08-12 1.9.10 Debian 5.0 Intel Prescott GCC 4.3.2 OK +2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 GCC 3.4.6 OK +2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 GCC 4.1.2 OK +2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 GCC 4.3.5 OK +2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 GCC 4.4.4 OK +2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 GCC 4.5.1 OK +2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 Clang SVN Miscompiles Turing, otherwise OK +2010-07-27 1.9.9 Debian 5.0 AMD Magny-Cours GCC 4.3.2, 4.5.0 OK +2010-06-16 1.9.8 Gentoo 10.0 Intel Core2 Q6600 Intel C++ 11.1 OK +2010-06-16 1.9.8 Debian 5.0 UltraSPARC T1 Niagra (32) GCC 4.3.2 OK +2010-06-16 1.9.8 Debian 5.0 Intel Madison IA-64 GCC 4.3.2 OK +2010-06-16 1.9.8 Gentoo 10.0 IBM POWER5+ GCC 4.1.2, 4.2.4, 4.3.2 OK +2010-06-16 1.9.8 OpenBSD 4.6 UltraSPARC IIIi GCC 3.3.5, 4.2.4 OK +2010-06-16 1.9.8 FreeBSD 8.0 AMD Opteron 252 GCC 4.2.1 OK +2010-06-16 1.9.8 gNewSense MIPS Loongson-2 (64) GCC 4.3.2 OK +2010-06-16 1.9.8 Ubuntu 9.10 ARM Cortex-A8 GCC 4.4.1 OK +2010-06-11 1.9.8 Gentoo 10.0 Intel Core2 Q6600 GCC 3.4.6, 4.1.2 OK +2010-06-11 1.9.8 Windows 7 x64 Intel Core i5-520M Visual C++ 15.00.30729.01 OK (32 and 64 bit) +2010-06-11 1.9.8 Gentoo 10.0 Intel Core i5-520M GCC 4.5.0 OK +2010-06-01 1.9.8 OpenBSD 4.7 i386 GCC 3.3.5 OK, but compilation problems [1] +2010-05-03 1.9.7 Windows 7 x64 Intel Core i5-520M Visual C++ 15.00.30729.01 OK +2010-04-27 1.9.7 Gentoo 10.0 PPC 970FX (G5) GCC 4.3.4 OK +2010-04-27 1.9.7 Gentoo 10.0 Intel Core2 Q6600 GCC 4.4.3, 4.5.0 OK +2010-03-18 1.9.4 Gentoo 10.0 Intel Core2 Q6600 GCC 4.4.3 OK +2010-03-18 1.9.4 Debian 5.0 UltraSPARC II (64) GCC 4.3.2 OK +2010-03-18 1.9.4 Gentoo 10.0 PowerPC G5 GCC 4.3.4 OK +2010-03-18 1.9.4 Gentoo 10.0 IBM POWER5+ GCC 4.3.2 OK +2010-03-15 1.9.4 Windows XP x86 Visual C++ 15.00.30729.01 OK +2010-03-10 1.9.4 FreeBSD 8.0 AMD Opteron 252 GCC 4.2.1 OK, but missing includes +2009-12-29 1.9.4 Debian 4.0 PowerPC G4 7455 GCC 4.1.2 OK +2009-12-23 1.9.4 Debian 5.0 Xeon X5450 Harpertown GCC 4.3.2 OK +2009-11-13 1.9.3 Debian 5.0 UltraSPARC II GCC 4.3.2 OK +2009-11-10 1.9.2 Debian 4.0 PowerPC G4 GCC 4.1.2 OK +2009-11-03 1.9.2 Debian Linux 4.0 AMD Opteron 8354 Barcelona GCC 4.4.1 OK +2009-10-27 1.9.2 Debian Linux 5.0 Xeon X5450 Harpertown GCC 4.3.2 OK +2009-10-23 1.9.1 Gentoo Linux Intel Core2 Q6600 GCC 4.4.1, Intel C++ 11.1 OK +2009-10-23 1.9.1 Gentoo Linux AMD Opteron 2212 GCC 4.3.4 OK +2009-09-24 1.9.0 Debian 4.0 AMD Opteron 8354 GCC 4.1.2, 4.4.1 OK +2010-07-01 1.8.9 OpenSUSE 10.3 Intel Core2 GCC 4.2.1 OK +2010-06-22 1.8.9 Slackware 13.1 Intel E5400 (64) GCC 4.4.4 OK +2010-06-22 1.8.9 Slackware 13.1 Pentium-M (32) GCC 4.4.4 OK +2010-06-16 1.8.9 Debian 5.0 UltraSPARC T1 Niagra (32) GCC 4.3.2 (GCC TR1) Crashes in GF(p) tests +2010-03-18 1.8.8 Debian 5.0 UltraSPARC II (64) GCC 4.3.2 OK +2008-10-23 1.8.7 Gentoo 2008.0 PPC 970FX (G5) GCC 4.3.4 OK +2009-10-07 1.8.7 Debian GNU/Hurd 0.3 i686 GCC 4.3.4 OK +2009-09-08 1.8.7 Gentoo 2008.0 Intel Core2 Q6600 GCC 4.4.1 OK +2009-09-04 1.8.6 Gentoo 2008.0 PPC 970FX (G5) GCC 4.3.4 OK +2009-08-13 1.8.6 Gentoo 2008.0 Intel Core2 Q6600 GCC 4.3.3 OK +2009-08-13 1.8.6 Windows XP x86 Visual C++ 15.00.30729.01 OK (TR1 disabled) +2009-08-03 1.8.5 openSuSE 10.3 x86 GCC 4.2.1 OK +2009-08-03 1.8.5 Gentoo 2008.0 Intel Core2 Q6600 Open64 4.2.1 BAD: Miscompiles several ciphers +2009-07-31 1.8.5 Solaris 11 x86 Sun C++ 5.9 OK, but minor build problems +2009-07-30 1.8.5 Gentoo 2006.1 UltraSPARC IIe (32) GCC 3.4.6 OK (TR1 disabled) +2009-07-25 1.8.5 Debian 4.0 AMD Opteron 2212 GCC 4.1.2 OK +2009-07-23 1.8.5 Gentoo 2008.0 Marvel Feroceon 88FR131 GCC 4.1.2 OK +2009-07-23 1.8.5 Debian 5.0 Intel Xscale 80219 GCC 4.3.2 OK +2009-07-23 1.8.5 Debian 5.0 UltraSPARC II (64) GCC 4.3.2 OK +2009-07-23 1.8.5 Debian 5.0 UltraSPARC II (32) GCC 4.3.2 BAD: bus error in GF(p) +2009-07-23 1.8.5 Debian 5.0 UltraSPARC II (32) GCC 4.1.3 BAD: miscompiles BigInt code +2009-07-23 1.8.5 Debian 4.0 PowerPC G4 GCC 4.1.2 OK +2009-07-23 1.8.5 Debian 4.0 PowerPC G5 GCC 4.1.2 OK +2009-07-23 1.8.5 Debian 5.0 Intel Madison IA-64 GCC 4.1.3, 4.3.2 OK +2009-07-23 1.8.5 Debian 5.0 HP-PA PA8600 GCC 4.3.2 OK +2009-07-23 1.8.5 Mandriva 2008.1 MIPS Loongson-2 (32) GCC 4.2.3 OK +2009-07-23 1.8.5 gNewSense MIPS Loongson-2 (64) GCC 4.3.2 OK +2009-07-21 1.8.5 Windows XP x86 Visual C++ 15.00.30729.01 OK (TR1 disabled) +2009-07-21 1.8.5 Gentoo 2008.0 Intel Core2 Q6600 GCC 4.1.2, 4.3.3 OK +2009-07-21 1.8.5 Gentoo 2008.0 Intel Core2 Q6600 Intel C++ 10.1 20080801 OK +2009-07-21 1.8.5 Gentoo 2008.0 AMD Opteron 2212 GCC 4.3.3 OK +2009-07-21 1.8.5 Ubuntu 8.04 Intel Xeon X5492 GCC 4.2.4 OK +2009-07-21 1.8.5 MacOS X 10.5.6 Intel Core 2 Duo T5600 GCC 4.0.1 OK +2009-07-21 1.8.5 Solaris 10 AMD Opteron GCC 3.4.3 OK (TR1 disabled) +2008-07-11 1.8.3 Fedora 11 Intel Pentium E5200 GCC 4.4.0 OK +2008-07-10 1.8.3 Gentoo 2008.0 PPC 970FX (G5) GCC 4.3.1 OK +2008-07-10 1.8.3 Gentoo 2008.0 IBM POWER5+ GCC 4.2.2 OK +2009-07-10 1.8.3 Gentoo 2008.0 AMD Opteron 2212 GCC 4.3.3 OK +2009-07-10 1.8.3 Ubuntu 8.04 Intel Xeon X5492 GCC 4.2.4 OK +2009-07-10 1.8.3 MacOS X 10.5.6 Intel Core 2 Duo T5600 GCC 4.0.1 OK +2009-07-10 1.8.3 Debian 5.0.1 Intel Core 2 Duo T5600 GCC 4.3.2 OK +2009-07-10 1.8.3 Fedora 10 Intel Core 2 Duo T5600 GCC 4.3.2 OK +2009-07-10 1.8.3 Solaris 10 AMD Opteron GCC 3.4.3 OK (TR1 disabled, configure.pl) +2009-07-09 1.8.3 Gentoo 2008.0 Intel Core2 Q6600 Intel C++ 10.1 20080801 OK +2009-07-02 1.8.3 Gentoo 2008.0 Intel Core2 Q6600 GCC 4.3.3 OK +2009-07-02 1.8.3 FreeBSD 7.0 x86-64 GCC 4.2.1 OK +2009-07-02 1.8.3 Windows XP x86 Visual C++ 15.00.30729.01 OK (TR1 disabled) +2008-12-27 1.8.0 Ubuntu 8.04 Pentium 4-M GCC 4.2.3 OK +2008-12-14 1.8.0 FreeBSD 7.0 x86-64 GCC 4.2.1 OK +2008-12-10 1.8.0 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.1.2, 4.2.4, 4.3.2 OK +2008-12-05 1.7.24 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.1.2, 4.2.4, 4.3.2 OK +2008-12-04 1.7.24 Gentoo 2007.0 Intel Core2 Q6600 Intel 10.1-20080801 OK +2008-12-03 1.7.24 Solaris 10 x86 GCC 3.4.3 OK (small patch needed, fixed in 1.8.0) +2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.1.2 OK +2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.2.4 OK +2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.3.2 OK +2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.4-20081017 OK +2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 (32) GCC 4.1.2, 4.2.4 OK +2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 (32) GCC 4.3.2 OK (with Boost 1.35 TR1) +2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 (32) GCC 4.3.2 BAD: crashes (with libstdc++ TR1) +2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 9.1-20061101 OK +2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1-20080801 OK +2008-11-24 1.7.23 Fedora 8 STI Cell PPU GCC 4.1.2 OK +2008-11-24 1.7.23 Fedora 8 STI Cell PPU IBM XLC for Cell 0.9 BAD: 45 minute link. Miscompiles DES +2008-11-24 1.7.23 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2, 4.2.2, 4.3.1 OK +2008-11-24 1.7.23 Gentoo 2007.0 AMD Opteron 2212 GCC 3.3.6, 4.1.2, 4.3.2 OK (TR1 disabled with 3.3.6) +2008-11-24 1.7.23 Windows XP x86 Visual C++ 15.00.30729.01 OK (TR1 disabled) +2008-11-09 1.7.20 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK +2008-11-09 1.7.20 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.3.2 OK +2008-11-09 1.7.20 Windows XP x86 Visual C++ 15.00.30729.01 OK +2008-11-06 1.7.19 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK +2008-11-06 1.7.19 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.1.2, 4.3.1 OK +2008-11-06 1.7.19 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 9.1-20061101 OK +2008-11-06 1.7.19 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1-20080801 OK +2008-11-06 1.7.19 Windows XP x86 Visual C++ 15.00.30729.01 OK +2008-11-03 1.7.19 FreeBSD 7.0 x86-64 GCC 4.2.1 OK +2008-10-24 1.7.18 Gentoo 2007.0 IBM POWER5+ GCC 4.2.2, 4.3.1 OK +2008-10-24 1.7.18 Fedora 8 STI Cell PPU GCC 4.1.2 OK +2008-10-22 1.7.18 Windows XP Pentium 4-M GCC 3.4.5 (MinGW) OK +2008-10-22 1.7.18 Windows XP Pentium 4-M Visual C++ 15.00.30729.01 OK +2008-10-22 1.7.18 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK +2008-10-22 1.7.18 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.1.2, 4.2.4, 4.3.2 OK +2008-10-22 1.7.18 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 9.1-20061101 OK +2008-10-22 1.7.18 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1-20080801 OK +2008-10-07 1.7.15 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK +2008-10-07 1.7.15 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.3.1 OK +2008-09-30 1.7.14 Gentoo 2007.0 PPC 970FX (G5) GCC 4.3.1 OK +2008-09-30 1.7.14 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK +2008-09-30 1.7.14 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.3.1 OK +2008-09-30 1.7.14 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1.018 OK +2008-09-30 1.7.14 Windows XP Pentium 4-M Visual C++ 15.00.30729.01 OK +2008-09-30 1.7.14 Windows XP Pentium 4-M GCC 3.4.5 (MinGW) OK +2008-09-18 1.7.12 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2, 4.2.2 OK +2008-09-18 1.7.12 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.2.4, 4.3.1 OK +2008-09-18 1.7.12 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1.018 OK +2008-09-18 1.7.12 Windows XP Pentium 4-M Visual C++ 15.00.30729.01 OK +2008-09-18 1.7.12 Windows XP Pentium 4-M GCC 3.4.5 (MinGW) OK +2008-09-16 1.7.12 Fedora 7 STI Cell PPU GCC 4.1.2 OK +2008-09-16 1.7.11 MacOS X 10.4 (32) Intel Core2 GCC 4.0.1 OK +2008-09-11 1.7.11 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.3.1 OK +2008-09-11 1.7.11 Windows XP Pentium 4-M Visual C++ 15.00.30729.01 OK +2008-09-08 1.7.9 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1.018 OK +2008-08-28 1.7.9 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK +2008-08-28 1.7.9 Gentoo 2007.0 IBM POWER5+ GCC 4.2.2 OK +2008-08-28 1.7.9 Gentoo 2007.0 IBM POWER5+ GCC 4.3.1 OK +2008-08-28 1.7.9 Gentoo STI Cell PPU GCC 4.1.2 OK +2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 GCC 4.1.2 OK +2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 GCC 4.2.4 OK +2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 GCC 4.3.1 OK +2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 GCC 4.4-20080822 OK +2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 Intel C++ 9.1-20061101 OK +2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 Intel C++ 10.1-20080602 OK +2008-08-27 1.7.9 Windows XP Pentium 4-M Visual C++ 2008 OK +2008-08-27 1.7.9 Windows XP Pentium 4-M GCC 3.4.5 (MinGW) OK +2008-08-18 1.7.8 Ubuntu 8.04 Pentium 4-M GCC 4.2.3 OK +2008-08-18 1.7.8 Windows XP Pentium 4-M Visual C++ 2008 OK +2008-08-18 1.7.8 Windows XP Pentium 4-M GCC 3.4.5 (MinGW) OK +2008-07-18 1.7.8 Gentoo IBM POWER5+ GCC 4.1.2 OK +2008-07-15 1.7.8 Gentoo Intel Core2 Q6600 GCC 4.3.1 OK +2008-07-06 1.7.7 Gentoo Intel Core2 Q6600 PGI 7.2 BAD: miscompiles TEA, Turing, BigInt +2008-06-28 1.7.7 Gentoo Pentium 4-M GCC 4.1.2 OK +2008-06-28 1.7.7 Gentoo Intel Core2 Q6600 GCC 4.1.2, 4.2.4, 4.3.1 OK +2008-06-28 1.7.7 Gentoo Intel Core2 Q6600 Intel C++ 10.1 OK +2008-06-28 1.7.7 Gentoo IBM POWER5+ GCC 4.1.2, 4.2.2 OK +2008-06-25 1.7.6 Gentoo IBM POWER5+ GCC 4.1.2, 4.2.2 OK +2008-06-09 1.7.6 Gentoo PPC 970FX (G5) GCC 4.1.2 OK +2008-05-14 1.7.6 Gentoo Intel Core2 Q6600 Intel C++ 9.1 Builds, but link problems +2008-05-14 1.7.6 Gentoo Intel Core2 Q6600 GCC 4.2.3 OK +2008-04-21 1.7.5 Gentoo STI Cell PPU GCC 4.1.2 OK +2008-04-14 1.7.5 Debian Pentium 4 GCC 4.1.2 OK +2008-04-13 1.7.5 Gentoo 2006.1 UltraSPARC II (32) GCC 3.4.6 OK +2008-04-12 1.7.5 RHEL3 Pentium 4 Xeon GCC 3.2.3 OK +2008-04-12 1.7.5 Gentoo Intel Core2 Q6600 Intel C++ 10.1 OK +2008-04-12 1.7.5 Gentoo AMD Opteron 2212 GCC 4.1.2 OK +2008-04-12 1.7.5 Gentoo Intel Core2 Q6600 GCC 4.2.3 OK +2008-09-16 1.6.5 MacOS X 10.4 Intel Core2 (32) GCC 4.0.1 OK +2008-08-28 1.6.5 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2, 4.2.2, 4.3.1 OK +2008-08-27 1.6.5 Gentoo Intel Core2 Q6600 GCC 4.3.1, 4.4-20080822 OK +2008-08-18 1.6.4 Windows XP Pentium 4-M Visual C++ 2008 OK +2008-07-02 1.6.4 Solaris 10 x86-64 Sun Forte 12 OK +=========== ======= ====================== ============================ ============================ ======== diff --git a/doc/faq.txt b/doc/faq.txt index bfc8d0045..822deaa5d 100644 --- a/doc/faq.txt +++ b/doc/faq.txt @@ -1,4 +1,6 @@ +.. _faq: + Frequently Asked Questions ======================================== diff --git a/doc/firststep.txt b/doc/firststep.txt new file mode 100644 index 000000000..0576e9c06 --- /dev/null +++ b/doc/firststep.txt @@ -0,0 +1,104 @@ + +Getting Started +======================================== + +All declarations in the library are contained within the namespace +``Botan``, so you need to either prefix types with ``Botan::`` or add +a ``using`` declaration in your code. All examples will assume a +``using`` declaration. + +All library headers are included like so:: + + #include <botan/botan.h> + +Initializing the Library +---------------------------------------- + +There is a set of core services that the library needs access to while +it is performing requests. To ensure these are set up, you must create +a ``LibraryInitializer`` object (usually called 'init' in Botan +example code; 'botan\_library' or 'botan\_init' may make more sense in +real applications) prior to making any calls to Botan. This object's +lifetime must exceed that of all other Botan objects your application +creates; for this reason the best place to create the +``LibraryInitializer`` is at the start of your ``main`` +function, since this guarantees that it will be created first and +destroyed last (via standard C++ RAII rules). The initializer does +things like setting up the memory allocation system and algorithm +lookup tables, finding out if there is a high resolution timer +available to use, and similar such matters. With no arguments, the +library is initialized with various default settings. So (unless you +are writing threaded code; see below), all you need is:: + + Botan::LibraryInitializer init; + +at the start of your ``main``. + +The constructor takes an optional string that specifies arguments. +Currently the only possible argument is "thread_safe", which must have +an boolean argument (for instance "thread_safe=false" or +"thread_safe=true"). If "thread_safe" is specified as true the library +will attempt to register a mutex type to properly guard access to +shared resources. However these locks do not protect individual Botan +objects: explicit locking must be used if you wish to share a single +object between threads. + +If you do not create a ``LibraryInitializer`` object, all library +operations will fail, because it will be unable to do basic things +like allocate memory or get random bits. You should never create more +than one ``LibraryInitializer``. + +Pitfalls +---------------------------------------- + +There are a few things to watch out for to prevent problems when using +the library. + +Never allocate any kind of Botan object globally. The problem with +doing this is that the constructor for such an object will be called +before the library is initialized. Many Botan objects will, in their +constructor, make one or more calls into the library global state +object. Access to this object is checked, so an exception should be +thrown (rather than a memory access violation or undetected +uninitialized object access). A rough equivalent that will work is to +keep a global pointer to the object, initializing it after creating +your ``LibraryInitializer``. Merely making the +``LibraryInitializer`` also global will probably not help, because +C++ does not make very strong guarantees about the order that such +objects will be created. + +The same rule applies for making sure the destructors of all your +Botan objects are called before the ``LibraryInitializer`` is +destroyed. This implies you can't have static variables that are Botan +objects inside functions or classes; in many C++ runtimes, these +objects will be destroyed after main has returned. + +The memory object classes (``MemoryRegion``, ``MemoryVector``, +``SecureVector``) are extremely primitive, and meant only for +secure storage of potentially sensitive data like keys. They do not +meet the requirements for an STL container object and you should not +try to use them with STL algorithms. For a general-purpose container, +use ``std::vector``. + +Use a ``try``/``catch`` block inside your ``main`` function, and catch +any ``std::exception`` throws (remember to catch by reference, as +``std::exception::what`` is polymorphic):: + + int main() + { + try + { + LibraryInitializer init; + + // ... + } + catch(std::exception& e) + { + std::cerr << e.what() << "\n"; + } + } + +This is not strictly required, but if you don't, and Botan throws an +exception, the runtime will call ``std::terminate``, which usually +calls ``abort`` or something like it, leaving you (or worse, a user of +your application) wondering what went wrong. diff --git a/doc/index.txt b/doc/index.txt index 7aee73388..081f065ba 100644 --- a/doc/index.txt +++ b/doc/index.txt @@ -9,6 +9,7 @@ Contents: intro building + firststep filters pubkey x509 diff --git a/doc/intro.txt b/doc/intro.txt index e048a0a67..01e65da86 100644 --- a/doc/intro.txt +++ b/doc/intro.txt @@ -2,32 +2,59 @@ Introduction ================================= -Botan is a C++ library that attempts to provide the most common -cryptographic algorithms and operations in an easy to use, efficient, -and portable way. It runs on a wide variety of systems, and can be -used with most modern C++ compilers. - -It is released under the 2 clause BSD license and can be used by -commercial and open source software; see :ref:`license` for the -specifics. - -The base library is written in ISO C++, so it can be ported with -minimal fuss, but a modules system is also used. This system exposes -system dependent code to the library through portable interfaces, -extending the set of services available to users. +Botan is a BSD-licensed crypto library for C++. It provides +applications with the ability to use a number of cryptographic +algorithms, as well as SSL/TLS, X.509 certificates and CRLs, PKCS #10 +certificate requests, a filter/pipe message processing system, and a +wide variety of other features. A third party open source +implementation of `SSHv2 <http://www.netsieben.com/products/ssh/>`_ +that uses botan is also available. + +The core of botan is written in C++98 with no dependencies besides the +STL and the rest of the ISO standard library, but the library also +includes optional modules which make further assumptions about their +environment, providing features such as compression (using zlib or +bzip2), entropy gathering, and secure memory allocation. Assembly +implementations of key algorithms like SHA-1 and multiple precision +integer routines for x86 and x86-64 processors are also included. + +It runs on most common operating systems and can be used with a number +of different commercial and open source compilers. It is already +included in most major Linux and BSD distros, as well as in Cygwin and +MacPorts. The :ref:`build log <build_log>` contains information about +recently tested targets. The primary system targets are 32 and 64 bit CPUs, with a flat memory address space of at least 32 bits. Given the choice between optimizing for 32 bit systems and 64 bit systems, 64 bit is preferred, on the general theory that where performance is a real concern, modern 64 bit processors are the obvious choice. Smaller devices like handhelds, -settop boxes, and smart phones are also capable of using Botan. +settop boxes, and smart phones may also be capable. + +It was started as a personal project by `Jack Lloyd +<http:://www.randombit.net>`_, who continues to be the maintainer and +release manager. Since the first release in 2001, many individuals and +organizations have contributed bug fixes and new features. There have +been over 140 releases in the decade since the first publicly released +version; the :ref:`release notes <relnotes>` and news archive have +more information about the release history. + +In addition to C++ you can use botan from Python or Perl, though the +current bindings only wrap portions of the library. + +See the :ref:`faq` for a list of common questions and answers. + +If you need help or have questions, send a mail to the `development +mailing list +<http://lists.randombit.net/mailman/listinfo/botan-devel/>`_. +"Philosophical" bug reports, announcements of programs using the +library, and related topics are also welcome. + +If you find what you believe to be a bug, please file a ticket in +`Bugzilla <http://bugs.randombit.net/>`_. -The design makes it quite easy to remove unused algorithms in such a -way that applications do not need to be recompiled to work, even -applications that use the algorithm in question. They can ask the -library if the algorithm exists, and if so, retrieve an object -implementing that algorithm. +A useful reference while reading this manual is the `Doxygen +documentation <http://botan.randombit.net/doxygen>`_. Recommended Reading --------------------------------- @@ -51,122 +78,3 @@ Especially recommended are: - *Handbook of Applied Cryptography* Alfred J. Menezes, Paul C. Van Oorschot, and Scott A. Vanstone (available online at http://www.cacr.math.uwaterloo.ca/hac/) - -Getting Help ----------------------------------------- - -Questions or problems you have with Botan can be directed to the -`development mailing list -<http://lists.randombit.net/mailman/listinfo/botan-devel/>`_. -"Philosophical" bug reports, announcements of programs using Botan, -and anything else having to do with Botan are also welcome. - -If you find what you believe to be a bug, please file a ticket in -`Bugzilla <http://bugs.randombit.net/>`_. - -A useful reference while reading this manual is the `Doxygen -documentation <http://botan.randombit.net/doxygen>`_. - -Getting Started ---------------------------------- - -All declarations in the library are contained within the namespace -``Botan``, so you need to either prefix types with ``Botan::`` or add -a ``using`` declaration in your code. All examples will assume a -``using`` declaration. - -All library headers are included like so:: - - #include <botan/botan.h> - -Initializing the Library -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -There is a set of core services that the library needs access to while -it is performing requests. To ensure these are set up, you must create -a ``LibraryInitializer`` object (usually called 'init' in Botan -example code; 'botan\_library' or 'botan\_init' may make more sense in -real applications) prior to making any calls to Botan. This object's -lifetime must exceed that of all other Botan objects your application -creates; for this reason the best place to create the -``LibraryInitializer`` is at the start of your ``main`` -function, since this guarantees that it will be created first and -destroyed last (via standard C++ RAII rules). The initializer does -things like setting up the memory allocation system and algorithm -lookup tables, finding out if there is a high resolution timer -available to use, and similar such matters. With no arguments, the -library is initialized with various default settings. So (unless you -are writing threaded code; see below), all you need is:: - - Botan::LibraryInitializer init; - -at the start of your ``main``. - -The constructor takes an optional string that specifies arguments. -Currently the only possible argument is "thread_safe", which must have -an boolean argument (for instance "thread_safe=false" or -"thread_safe=true"). If "thread_safe" is specified as true the library -will attempt to register a mutex type to properly guard access to -shared resources. However these locks do not protect individual Botan -objects: explicit locking must be used if you wish to share a single -object between threads. - -If you do not create a ``LibraryInitializer`` object, all library -operations will fail, because it will be unable to do basic things -like allocate memory or get random bits. You should never create more -than one ``LibraryInitializer``. - -Pitfalls -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -There are a few things to watch out for to prevent problems when using -the library. - -Never allocate any kind of Botan object globally. The problem with -doing this is that the constructor for such an object will be called -before the library is initialized. Many Botan objects will, in their -constructor, make one or more calls into the library global state -object. Access to this object is checked, so an exception should be -thrown (rather than a memory access violation or undetected -uninitialized object access). A rough equivalent that will work is to -keep a global pointer to the object, initializing it after creating -your ``LibraryInitializer``. Merely making the -``LibraryInitializer`` also global will probably not help, because -C++ does not make very strong guarantees about the order that such -objects will be created. - -The same rule applies for making sure the destructors of all your -Botan objects are called before the ``LibraryInitializer`` is -destroyed. This implies you can't have static variables that are Botan -objects inside functions or classes; in many C++ runtimes, these -objects will be destroyed after main has returned. - -The memory object classes (``MemoryRegion``, ``MemoryVector``, -``SecureVector``) are extremely primitive, and meant only for -secure storage of potentially sensitive data like keys. They do not -meet the requirements for an STL container object and you should not -try to use them with STL algorithms. For a general-purpose container, -use ``std::vector``. - -Use a ``try``/``catch`` block inside your ``main`` function, and catch -any ``std::exception`` throws (remember to catch by reference, as -``std::exception::what`` is polymorphic):: - - int main() - { - try - { - LibraryInitializer init; - - // ... - } - catch(std::exception& e) - { - std::cerr << e.what() << "\n"; - } - } - -This is not strictly required, but if you don't, and Botan throws an -exception, the runtime will call ``std::terminate``, which usually -calls ``abort`` or something like it, leaving you (or worse, a user of -your application) wondering what went wrong. diff --git a/doc/log.txt b/doc/log.txt index ee0526f36..1d863c88b 100644 --- a/doc/log.txt +++ b/doc/log.txt @@ -1,4 +1,6 @@ +.. _relnotes: + Release Notes ======================================== diff --git a/doc/old/architecture.pdf b/doc/old/architecture.pdf Binary files differdeleted file mode 100644 index f0edc3fc1..000000000 --- a/doc/old/architecture.pdf +++ /dev/null |