3.4.3 Bootstrap error - XCOFF64 object files are not allowed in 32-bit mode. AIX 5.2.0.0

David Edelsohn dje@watson.ibm.com
Mon Apr 4 20:20:00 GMT 2005


> It looks to me that when "creating a temporary reloadable object file:
> .libs/libg2c.la-2.o" for the ppc64 directory it should have issued the ld
> command with the -b64 option. 
> 
> Why is configure getting this wrong?
> 
> Testing with ld -b64 works.

	This is due to a flaw in GNU libtool.  If one bootstraps GCC in a
directory with too deep a path, libtool will configure itself with an
unnecessarily short maximum command length.  libtool then confounds the
problem by generating an intermediate file with the wrong commandline
options, in this case missing -b64, causing the failure.

	I get around this problem with a quick and dirty hack that
overrides the command length value immediately after it incorrectly has
been calculated.  In gcc-3.4/ltconfig:


     lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len - $len`
   fi
+  lt_cv_sys_max_cmd_len=20000
   echo "$progname:@lineno@: result: $lt_cv_sys_max_cmd_len" 1>&5
   echo "${ac_t}$lt_cv_sys_max_cmd_len" 1>&6


If you share the sources with non-AIX systems, note that this change will
affect all systems.

David



More information about the Gcc-help mailing list