The below patch, to be applied using patch -p0 while in the main directory, which I inserted (not copied and pasted) into this mail message - so it should be OK in terms of spacing - makes "usemallocwrap='false'" the default (overridable via command-line or manual Configure entries) for cc -n32 compiles on IRIX 6.2+. It applies on, and so far works on, both 5.8.x (23430) and 5.9.x (23438):
Checking status for configuration 'testpatch.5.8.x_config' (5.8.x) Change number 23430 started on Sun Oct 31 00:21:38 2004. 4 out of 36 configurations finished in 3 hours 24 minutes. 2 configurations showed failures (F). 0 failures in the running configuration. 32 configurations to finish, estimated completion in 1 day 2 hours 13 minutes Average smoke duration: 51 minutes 9 seconds. Matrix, using cc -n32 version MIPSpro Compilers: Version 7.3.1.3m: 23430 Configuration (common) -Accflags='-mips4' ----------- --------------------------------------------------------- O O O O -Duseperlio M - M - -Duseperlio -Dusemallocwrap ? - - - -Duseperlio -Uusemallocwrap | | | +----- PERLIO = perlio -DDEBUGGING | | +------- PERLIO = stdio -DDEBUGGING | +--------- PERLIO = perlio +----------- PERLIO = stdio Checking status for configuration 'testpatch.5.9.x_config' (5.9.x) Change number 23438 started on Sun Oct 31 01:04:43 2004. 4 out of 18 configurations finished in 2 hours 22 minutes. 2 configurations showed failures (F). 0 failures in the running configuration. 14 configurations to finish, estimated completion in 7 hours 54 minutes Average smoke duration: 35 minutes 32 seconds. Matrix, using cc -n32 version MIPSpro Compilers: Version 7.3.1.3m: 23438 Configuration (common) -Accflags='-mips4' ----------- --------------------------------------------------------- O O O O M - M - -Dusemallocwrap - - - - -Uusemallocwrap | | | +----- PERLIO = perlio -DDEBUGGING | | +------- PERLIO = stdio -DDEBUGGING | +--------- PERLIO = perlio +----------- PERLIO = stdio Still running are the checks for -Uusemallocwrap, -32/-o32 mode, and -64 mode, but I do not anticipate any differences from the expected results in regard to usemallocwrap (I am interested to see what happens with Math::Trig in -32/-o32 mode on a 64-bit machine and on machines with other processors than IP22 and IP32, and will report on any differences). I describe this as a temporary fix because: A. While this may be suitable for stable to _keep_ it stable, it would be nice to make this option functional for IRIX for 5.9.x (and thence 5.10.x), if possible. B. I don't know if this option should be turned off when using gcc without -mabi=64. -Allen P.S. BTW, would it be preferable if I put this in as a bug report? I wasn't sure, since there was already discussion on it on the smokers/daily-build list which got transferred to perl5-porters. --- hints/irix_6.sh.old Sat Oct 30 23:01:24 2004 +++ hints/irix_6.sh Sat Oct 30 23:58:08 2004 @@ -41,6 +41,9 @@ # The compiler bug has been reported to SGI. # -- Allen Smith <[EMAIL PROTECTED]> +# Modified (10/30/04) to turn off usemallocwrap (PERL_MALLOC_WRAP) in -n32 +# mode - Allen. + case "$use64bitall" in $define|true|[yY]*) case "`uname -s`" in @@ -140,7 +143,15 @@ test -z "$lddlflags" && lddlflags="-n32 -shared" test -z "$libc" && libc='/usr/lib32/libc.so' test -z "$plibpth" && plibpth='/usr/lib32 /lib32 /usr/ccs/lib' - ;; + + # PERL_MALLOC_WRAP gives false alarms ("panic: memory wrap") in IRIX + # -n32 mode, resulting in perl compiles never getting further than + # miniperl. I am not sure whether it actually does any good in -32 or + # -64 mode, especially the latter, but it does not give false + # alarms (in testing). -Allen + + usemallocwrap=${usemallocwrap:-false} + ;; *"cc -64"*) case "`uname -s`" in IRIX) @@ -188,6 +199,8 @@ lddlflags="$lddlflags -mabi=64" ;; *) ccflags="$ccflags -DIRIX32_SEMUN_BROKEN_BY_GCC" + # XXX Note: It is possible that turning off usemallocwrap is + # needed here; insufficient data! - Allen ;; esac ;; -- Allen Smith http://cesario.rutgers.edu/easmith/ September 11, 2001 A Day That Shall Live In Infamy II "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." - Benjamin Franklin