From: Jarkko Hietaniemi Date: Tue, 29 Feb 2000 01:17:07 +0000 (+0000) Subject: IRIX 64-bitness fixes. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=a3489f112e627d5729974d69f2b9f825769e52b7;p=p5sagit%2Fp5-mst-13.2.git IRIX 64-bitness fixes. p4raw-id: //depot/cfgperl@5338 --- diff --git a/Configure b/Configure index 1fd5674..ea83fd2 100755 --- a/Configure +++ b/Configure @@ -20,7 +20,7 @@ # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $ # -# Generated on Tue Feb 29 02:56:00 EET 2000 [metaconfig 3.0 PL70] +# Generated on Tue Feb 29 03:12:47 EET 2000 [metaconfig 3.0 PL70] # (with additional metaconfig patches by perlbug@perl.com) cat >/tmp/c1$$ <> Cppsym.try echo '}' >> try.c EOSH cat <> Cppsym.try -cc="$cc" -optimize="$optimize" ccflags="$ccflags" -ldflags="$ldflags" -libs="$libs" -exe_ext="$exe_ext" -$cc $optimize $ccflags $ldflags -o try try.c $libs && ./try$exe_ext +case "$osname-$gccversion" in +irix-) ccflags="\$ccflags -woff 1178" ;; +esac +$cc $optimize \$ccflags $ldflags -o try try.c $libs && ./try$exe_ext EOSH chmod +x Cppsym.try $eunicefix Cppsym.try diff --git a/hints/irix_6.sh b/hints/irix_6.sh index 9aec56b..d14ac93 100644 --- a/hints/irix_6.sh +++ b/hints/irix_6.sh @@ -35,11 +35,40 @@ # Let's assume we want to use 'cc -n32' by default, unless the # necessary libm is missing (which has happened at least twice) case "$cc" in -'') - if test -f /usr/lib32/libm.so - then - cc='cc -n32' - fi ;; +'') case "$use64bitall" in + "$define"|true|[yY]*) test -f /usr/lib64/libm.so && cc='cc -64' ;; + *) test -f /usr/lib32/libm.so && cc='cc -n32' ;; + esac +esac + +case "$use64bitint" in +$define|true|[yY]*) + case "`uname -r`" in + [1-5]*|6.[01]) + cat >&4 <&4 < + # If you get complaints about so_locations then change the following + # line to something like: + # lddlflags="-n32 -shared -check_registry /usr/lib32/so_locations" + lddlflags="-n32 -shared" + libc='/usr/lib32/libc.so' + plibpth='/usr/lib32 /lib32 /usr/ccs/lib' + ;; +*"cc -64") + + loclibpth="$loclibpth /usr/lib64" + libscheck='case "`/usr/bin/file $xxx`" in +*64-bit*) ;; +*) xxx=/no/64-bit$xxx ;; +esac' + # NOTE: -L/usr/lib64 -L/lib64 are automatically selected by the linker + ldflags=' -L/usr/local/lib64 -L/usr/local/lib' + cccdlflags=' ' + # From: David Billinghurst + # If you get complaints about so_locations then change the following + # line to something like: + # lddlflags="-64 -shared -check_registry /usr/lib64/so_locations" + lddlflags="-64 -shared" + libc='/usr/lib64/libc.so' + plibpth='/usr/lib64 /lib64 /usr/ccs/lib' + ;; +*gcc*) + ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -D_POSIX_C_SOURCE" + optimize="-O3" + usenm='undef' + case "`uname -s`" in + # Without the -mabi=64 gcc in 64-bit IRIX has problems passing + # and returning small structures. This affects inet_*() and semctl(). + # See http://reality.sgi.com/ariel/freeware/gcc-2.8.1-notes.html + # for more information. Reported by Lionel Cons . + IRIX64) ccflags="$ccflags -mabi=64" + ldflags="$ldflags -mabi=64 -L/usr/lib64" + lddlflags="$lddlflags -mabi=64" + ;; + *) ccflags="$ccflags -DIRIX32_SEMUN_BROKEN_BY_GCC" + ;; + esac + ;; +*) + # this is needed to force the old-32 paths + # since the system default can be changed. + ccflags="$ccflags -32 -D_BSD_TYPES -D_BSD_TIME -Olimit 3100" + optimize='-O' + ;; +esac + +# Settings common to both native compiler modes. +case "$cc" in +*"cc -n32"|*"cc -64") + ld=$cc + + # perl's malloc can return improperly aligned buffer + # usemymalloc='undef' +malloc_cflags='ccflags="-DSTRICT_ALIGNMENT $ccflags"' + + nm_opt='-p' + nm_so_opt='-p' + # Perl 5.004_57 introduced new qsort code into pp_ctl.c that # makes IRIX cc prior to 7.2.1 to emit bad code. # so some serious hackery follows to set pp_ctl flags correctly. @@ -96,54 +191,15 @@ pp_ctl_cflags='optimize=-O' # absolute paths (again, see the pthread.h change below). # -- krishna@sgi.com, 8/23/98 -if [ "X${TOOLROOT}" != "X" ]; then -# we cant set cppflags because it gets overwritten -# we dont actually need $TOOLROOT/usr/include on the cc line cuz the -# modules functionality already includes it but -# XXX - how do I change cppflags in the hints file? - ccflags="$ccflags -I${TOOLROOT}/usr/include" + if [ "X${TOOLROOT}" != "X" ]; then + # we cant set cppflags because it gets overwritten + # we dont actually need $TOOLROOT/usr/include on the cc line cuz the + # modules functionality already includes it but + # XXX - how do I change cppflags in the hints file? + ccflags="$ccflags -I${TOOLROOT}/usr/include" usrinc="${TOOLROOT}/usr/include" -fi + fi - ld=$cc - # perl's malloc can return improperly aligned buffer - # usemymalloc='undef' -malloc_cflags='ccflags="-DSTRICT_ALIGNMENT $ccflags"' - # NOTE: -L/usr/lib32 -L/lib32 are automatically selected by the linker - ldflags=' -L/usr/local/lib32 -L/usr/local/lib' - cccdlflags=' ' - # From: David Billinghurst - # If you get complaints about so_locations then change the following - # line to something like: - # lddlflags="-n32 -shared -check_registry /usr/lib32/so_locations" - lddlflags="-n32 -shared" - libc='/usr/lib32/libc.so' - plibpth='/usr/lib32 /lib32 /usr/ccs/lib' - nm_opt='-p' - nm_so_opt='-p' - ;; -*gcc*) - ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -D_POSIX_C_SOURCE" - optimize="-O3" - usenm='undef' - case "`uname -s`" in - # Without the -mabi=64 gcc in 64-bit IRIX has problems passing - # and returning small structures. This affects inet_*() and semctl(). - # See http://reality.sgi.com/ariel/freeware/gcc-2.8.1-notes.html - # for more information. Reported by Lionel Cons . - IRIX64) ccflags="$ccflags -mabi=64" - ldflags="$ldflags -mabi=64 -L/usr/lib64" - lddlflags="$lddlflags -mabi=64" - ;; - *) ccflags="$ccflags -DIRIX32_SEMUN_BROKEN_BY_GCC" - ;; - esac - ;; -*) - # this is needed to force the old-32 paths - # since the system default can be changed. - ccflags="$ccflags -32 -D_BSD_TYPES -D_BSD_TIME -Olimit 3100" - optimize='-O' ;; esac @@ -238,40 +294,3 @@ EOCBU # The -n32 makes off_t to be 8 bytes, so we should have largefileness. -cat > UU/use64bitint.cbu <<'EOCBU' -# This script UU/use64bitint.cbu will get 'called-back' by Configure -# after it has prompted the user for whether to use 64 bit integers. -case "$use64bitint" in -$define|true|[yY]*) - case "`uname -r`" in - [1-5]*|6.[01]) - cat >&4 < UU/use64bitall.cbu <<'EOCBU' -# This script UU/use64bitall.cbu will get 'called-back' by Configure -# after it has prompted the user for whether to be maximally 64-bitty. -case "$use64bitall" in -$define|true|[yY]*) - ccflags="`echo $ccflags|sed -e 's%-n32%%'` -64" - ldflags="`echo $ldflags|sed -e 's%-n32%%'` -64" - lddlflags="`echo $lddlflags|sed -e 's%-n32%%'` -64" - loclibpth="$loclibpth /usr/lib64" - libscheck='case "`file $xxx`" in -*64-bit*) ;; -*) xxx=/no/64-bit$xxx ;; -esac' - ;; -esac -EOCBU - -