diff --git a/core/c/README b/core/c/README
index eb98c9f9cffd9d60ac1d345416324862c236e276..c7584ac3a63af68c4484bf887cedcee938a96b10 100644
--- a/core/c/README
+++ b/core/c/README
@@ -1,27 +1,41 @@
+
+Dynamic library build
+=====================
+
 If you have a libgmp.so installed on your system already
 (check in /usr/lib), you can build a dynamically linked libjbigi.so as follows:
 	cd jbigi
 	build.sh dynamic
-The built library is jbigi/lib/libjbigi.so .
+You do, of course, need the gmp headers installed.
+On ubuntu, check for libgmp3 and libgmp3-dev packages.
+This is much easier and faster than building GMP from source.
 	
-Otherwise, prior to building the jbigi library, you will need to fetch the GMP source
-from http://www.swox.com/gmp/, saving it to jbigi/gmp-4.2.2.tar.bz2 (it will
-be unpacked and built as necessary).
 
-Version 4.2.2 has not been extensively tested with I2P. If you would like
-to use a well-tested version, get gmp-4.1.4.tar.bz2, and edit jbigi/build.sh
-to change the version number.
+Static library build
+=====================
+
+Otherwise, the build script build.sh will download the the GMP source,
+unpack and build it. The GMP version and download location are configured
+in jbigi/build.sh, please review it to ensure you download
+and build the desired version.
 
 To build the native jbigi and jcpuid libraries for the current host CPU,
 simply run sh build.sh and the results will be packaged up into jbigi.jar
-and the libjbigi.so library. To test, copy jbigi/lib/libjbigi.so
-and jcpuid/lib/freenet/support/CPUInformation/libjcpuid-*.so
-to your i2p/ directory. You can also copy jbigi.jar to the i2p/lib/ directory;
-it will be used only if the router fails to load the native library.
+and the libjbigi.so library.
 
 To build the native jbigi libraries for all supported CPUs (on the current OS),
 go into jbigi/ and run build-all.sh (the results will be under jbigi/lib/)
 
+
+Installation and testing
+========================
+
+To test, copy jbigi/lib/libjbigi.so
+and jcpuid/lib/freenet/support/CPUInformation/libjcpuid-*.so
+to your i2p installation directory ($I2P). You may also copy jbigi.jar to the $I2P/lib/ directory;
+it will be used only if the router fails to load the native library
+from the I2P installation directory.
+
 The build.sh script runs two speed tests, one with your existing
 I2P installation and one with the new libjbigi.
 
diff --git a/core/c/jbigi/README b/core/c/jbigi/README
index b95ee78fed26b1857144f7836b2c3541c653b6ea..98cba74c02e874c7815b7321c7128fdee2828233 100644
--- a/core/c/jbigi/README
+++ b/core/c/jbigi/README
@@ -6,7 +6,7 @@ Execute the build.sh script to produce jbigi library files optimized for a numbe
 
 TODO: What is jbigi
 TODO: Document generated folder structure
-TODO: Instructions for adding the libraries to a jar
+
 
 Linux-specific information:
 ===========================
@@ -18,7 +18,7 @@ Then do 'build.sh dynamic'. This will do a quick build using your installed libg
 and then test it and the jbigi in your I2P installation to see which is faster.
 
 If the new jbigi is slower, then run 'build.sh' (without the 'dynamic'), which will download
-the 4.3.1 libgmp library, build, and test that.
+the libgmp library, build, and test that.
 
 
 Windows-specific information:
diff --git a/installer/lib/jbigi/README.txt b/installer/lib/jbigi/README.txt
index 0f8649815ed5fa5380ebf92d3f351fbfe5ec0081..3f997e9c1596b7982babcf076d2e101a02aa2a5a 100644
--- a/installer/lib/jbigi/README.txt
+++ b/installer/lib/jbigi/README.txt
@@ -1,3 +1,11 @@
+NOTE: This file may not be maintained.
+See history.txt, checkin comments, javadoc, and code in
+NativeBigInteger.java and CPUID.java for additional information.
+See NativeBigInteger.java for naming rules and algorithms for
+generating an ordered list of names to load.
+
+================================
+
 jbigi.jar was built by jrandom on Aug 21, 2004 with the jbigi and jcpuid 
 native libraries compiled on linux, winXP (w/ MinGW), and freebsd (4.8).  
 The GMP code in jbigi is from GMP-4.1.3 (http://www.swox.com/gmp/), and 
@@ -23,3 +31,29 @@ being compiled by jrandom on linux/p4 (cross compiled to --host=viac3)
 On Feb 27, 2006, jbigi-win-athlon.dll was copied to jbigi-win-athlon64.dll,
 as it should offer amd64 users better performance than jbigi-win-none.dll
 until we get a full amd64 build.
+
+================================
+
+Updates May/June 2011:
+  jcpuid:
+   - jcpuid.c updated to be compatible with -fPIC
+   - 32 bit libjcpuid-linux-x86.so updated, compiled with -fPIC.
+   - 64 bit libjcpuid-linux-x86_64.so added, compiled with -fPIC.
+   - See also javadoc and code in CPUID.java
+  jbigi:
+   - k62 and k63 are identical for all except windows; exception added to
+     NativeBigInteger to use k62 for k63. k63 files deleted.
+   - All 32 bit linux files updated with GMP 4.3.2, compiled with -fPIC,
+     except for athlon64 and pentium4, which use GMP 5.0.2.
+   - All 64 bit linux files updated with GMP 5.0.2.
+   - libjbigi-windows-athlon64.dll deleted, it was a duplicate of
+     libjbigi-windows-athlon.dll. NativeBigInteger now uses athlon as
+     a fallback for all 64-bit processors.
+   - Note that all new 64 bit files will use the _64 suffix. For example,
+     the old libjbigi-linux-athlon64.so file was 64 bit; now it is 32 bit
+     and the 64 bit file is libjbigi-linux-athlon64_64.so.
+   - The 4.3.2 files are half the size of the 5.0.2 files, and there was
+     little or no performance difference for 32 bit, so we are using
+     4.3.2 for 32 bit. For 64-bit processors, both performance testing and
+     the GMP changelog led us to use 5.0.2 for both the 32- and 64-bit versions.
+   - See also checkin comments, javadoc and code in NativeBigInteger.java
diff --git a/installer/lib/jbigi/libjbigi-linux-athlon64.so b/installer/lib/jbigi/libjbigi-linux-athlon64.so
index 920b3dd6168a12268d2120030bf41791e9bb9568..1237d061082082a1049cfadf784d99c20100a36d 100644
Binary files a/installer/lib/jbigi/libjbigi-linux-athlon64.so and b/installer/lib/jbigi/libjbigi-linux-athlon64.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-athlon64_64.so b/installer/lib/jbigi/libjbigi-linux-athlon64_64.so
new file mode 100644
index 0000000000000000000000000000000000000000..f3539659eb1975795fe1fd5296989969ad0e561f
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-linux-athlon64_64.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-none_64.so b/installer/lib/jbigi/libjbigi-linux-none_64.so
new file mode 100644
index 0000000000000000000000000000000000000000..d27f8189e4ae2a8cd822e6ba73462a520d3be143
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-linux-none_64.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-pentium4.so b/installer/lib/jbigi/libjbigi-linux-pentium4.so
index 74e2df2285626009980ceaa36e12730f7a5b356d..b2779371db2a5b56bb91b0e62994b5c0f9598c06 100644
Binary files a/installer/lib/jbigi/libjbigi-linux-pentium4.so and b/installer/lib/jbigi/libjbigi-linux-pentium4.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-pentium4_64.so b/installer/lib/jbigi/libjbigi-linux-pentium4_64.so
new file mode 100644
index 0000000000000000000000000000000000000000..6ea60dd9d9e32a13c14eb8170482e3ecf2c4d240
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-linux-pentium4_64.so differ