~ chicken-core (chicken-5) e04f68d3ad003ff15dc59857ab3b92ea29dd99b2
commit e04f68d3ad003ff15dc59857ab3b92ea29dd99b2
Author: Peter Bex <peter.bex@xs4all.nl>
AuthorDate: Mon Oct 28 19:56:36 2013 +0100
Commit: Peter Bex <peter.bex@xs4all.nl>
CommitDate: Mon Oct 28 19:58:10 2013 +0100
Complete AIX instructions in README and manual (contributed by Erik Falor)
diff --git a/NEWS b/NEWS
index 7fd5e04a..59116c00 100644
--- a/NEWS
+++ b/NEWS
@@ -12,7 +12,7 @@
implicitly depends on extras. This may break programs which don't
use modules and forgot to require ports but use procedures from it.
-- Build system
+- Platform support
- CHICKEN can now be built on AIX (contributed by Erik Falor)
4.8.2
diff --git a/README b/README
index a7289e17..665f68a6 100644
--- a/README
+++ b/README
@@ -416,10 +416,6 @@
% showrev -p | grep 106950 # solaris 7
% showrev -p | grep 109147 # solaris 8
- AIX:
-
- - Currently, deployment mode is unsupported on AIX.
-
Mac OS X:
- On 10.6 and 10.7, Chicken may incorrectly select a 32-bit build
@@ -509,6 +505,44 @@
when compiling the system or compiled Scheme files. These
warnings are bogus and can be ignored.
+ AIX:
+
+ - CHICKEN is built with the GNU C compiler (`gcc'). IBM's XL
+ C compiler is not supported at this time.
+
+ - AIX users *must* use GNU make ("gmake") - the makefiles can not be
+ processed with IBM's version of make.
+
+ - Deployment doesn't work. See manual/Deployment for more details.
+
+ - The AIX linker may occasionally show warnings of the form:
+
+ ld: 0711-783 WARNING: TOC overflow. TOC size: 66656
+ Maximum size: 65536
+ Extra instructions are being generated for each reference to a TOC
+ symbol if the symbol is in the TOC overflow area.
+
+ Such messages indicate that lookups for some symbols in the
+ effected library/executable may be somewhat slower at runtime as an
+ auxiliary symbol table is needed to accommodate all of the symbols.
+
+ - The AIX assembler may show warnings of the form:
+
+ /tmp//ccycPGzK.s: line 527244: 1252-171 The displacement must be
+ greater than or equal to -32768 and less than or equal to 32767.
+
+ This is a known issue between the GNU toolchain and IBM's assembler:
+
+ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4587
+
+ The problem arises because the PPC architecture cannot perform jumps
+ to addresses that differ more than what a 16-bit integer can
+ represent. Adding support for IBM's XL C compiler may resolve this
+ issue.
+
+ Instructing gcc to optimize the size of generated code (-Os)
+ mitigates this to some degree, but very large C files may still be
+ uncompilable. This is known to affect the html-tags egg.
6. Bootstrapping
diff --git a/manual/Deployment b/manual/Deployment
index dd1f8661..70d7223d 100644
--- a/manual/Deployment
+++ b/manual/Deployment
@@ -168,7 +168,8 @@ the same directory is supported on FreeBSD, OpenBSD and Solaris.
NetBSD supports this from version 5.0 onwards - this is currently
disabled in {{csc}} for this particular platform.
-On AIX, deployment is currently unsupported.
+On AIX, deployment is currently not fully supported as the runtime
+linker will only load libraries from paths hardcoded at link time.
=== Deploying source code
Trap