From: Jarkko Hietaniemi Date: Tue, 22 Feb 2000 05:14:35 +0000 (+0000) Subject: Check the alignment of long doubles if they are to be used; X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=87b718577ff6cdca0223546e3d763cdc43aa9c70;p=p5sagit%2Fp5-mst-13.2.git Check the alignment of long doubles if they are to be used; regen Configure. p4raw-id: //depot/cfgperl@5189 --- diff --git a/Configure b/Configure index f134f87..0bd0aa1 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 Thu Feb 17 01:07:48 EET 2000 [metaconfig 3.0 PL70] +# Generated on Tue Feb 22 06:52:47 EET 2000 [metaconfig 3.0 PL70] # (with additional metaconfig patches by perlbug@perl.com) cat >/tmp/c1$$ <mmap.c <<'END' +#include +void *mmap(); +END + if $cc $ccflags -c mmap.c >/dev/null 2>&1; then + mmaptype='void *' + else + mmaptype='caddr_t' + fi + echo "and it returns ($mmaptype)." >&4 + ;; +esac + + + : see if mprotect exists set mprotect d_mprotect eval $inlibc @@ -11487,11 +11514,20 @@ EOM *) case "$alignbytes" in '') echo "Checking alignment constraints..." >&4 - $cat >try.c <<'EOCP' + if $test "X$uselongdouble" = Xdefine -a "X$d_longdbl" = Xdefine; then + $cat >try.c <<'EOCP' +typedef long double NV; +EOCP + else + $cat >try.c <<'EOCP' +typedef double NV; +EOCP + fi + $cat >>try.c <<'EOCP' #include struct foobar { char foo; - double bar; + NV bar; } try_algn; int main() { @@ -12623,33 +12659,6 @@ case "$make_set_make" in *) echo "Nope, it doesn't.";; esac -: see if this is a sys/mman.h system -set sys/mman.h i_sysmman -eval $inhdr - -: see if mmap exists -set mmap d_mmap -eval $inlibc -: see what shmat returns -: default to something harmless -mmaptype='void *' -case "$i_sysmman$d_mmap" in -"$define$define") - $cat >mmap.c <<'END' -#include -void *mmap(); -END - if $cc $ccflags -c mmap.c >/dev/null 2>&1; then - mmaptype='void *' - else - mmaptype='caddr_t' - fi - echo "and it returns ($mmaptype)." >&4 - ;; -esac - - - : see what type is used for mode_t rp="What is the type used for file modes for system calls (e.g. fchmod())?" set mode_t modetype int stdio.h sys/types.h diff --git a/Porting/Glossary b/Porting/Glossary index 73b0f1e..4a1e9cc 100644 --- a/Porting/Glossary +++ b/Porting/Glossary @@ -26,7 +26,8 @@ afs (afs.U): alignbytes (alignbytes.U): This variable holds the number of bytes required to align a - double. Usual values are 2, 4 and 8. + double-- or a long double when applicable. Usual values are + 2, 4 and 8. The default is eight, for safety. ansi2knr (ansi2knr.U): This variable is set if the user needs to run ansi2knr. @@ -2048,6 +2049,10 @@ i_sysmman (i_sysmman.U): This variable conditionally defines the I_SYS_MMAN symbol, and indicates whether a C program should include . +i_sysmode (i_sysmode.U): + This variable conditionally defines the I_SYSMODE symbol, + and indicates whether a C program should include . + i_sysmount (i_sysmount.U): This variable conditionally defines the I_SYSMOUNT symbol, and indicates whether a C program should include . diff --git a/Porting/config.sh b/Porting/config.sh index 9d3d8c1..b9be075 100644 --- a/Porting/config.sh +++ b/Porting/config.sh @@ -8,7 +8,7 @@ # Package name : perl5 # Source directory : . -# Configuration time: Wed Feb 16 01:08:43 EET 2000 +# Configuration time: Tue Feb 22 07:10:02 EET 2000 # Configured by : jhi # Target system : osf1 alpha.hut.fi v4.0 878 alpha @@ -59,7 +59,7 @@ ccflags='-pthread -std -DLANGUAGE_C' ccsymbols='__alpha=1 __LANGUAGE_C__=1 __osf__=1 __unix__=1 _LONGLONG=1 _SYSTYPE_BSD=1 SYSTYPE_BSD=1 unix=1' cf_by='jhi' cf_email='yourname@yourhost.yourplace.com' -cf_time='Wed Feb 16 01:08:43 EET 2000' +cf_time='Tue Feb 22 07:10:02 EET 2000' charsize='1' chgrp='' chmod='' @@ -466,6 +466,7 @@ i_sysin='undef' i_sysioctl='define' i_syslog='define' i_sysmman='define' +i_sysmode='define' i_sysmount='define' i_sysndir='undef' i_sysparam='define' diff --git a/Porting/config_H b/Porting/config_H index 39ca93c..cc65dcc 100644 --- a/Porting/config_H +++ b/Porting/config_H @@ -17,7 +17,7 @@ /* * Package name : perl5 * Source directory : . - * Configuration time: Wed Feb 16 01:08:43 EET 2000 + * Configuration time: Tue Feb 22 07:10:02 EET 2000 * Configured by : jhi * Target system : osf1 alpha.hut.fi v4.0 878 alpha */ @@ -1076,8 +1076,8 @@ /* MEM_ALIGNBYTES: * This symbol contains the number of bytes required to align a - * double. Usual values are 2, 4 and 8. The default is eight, - * for safety. + * double, or a long double when applicable. Usual values are 2, + * 4 and 8. The default is eight, for safety. */ #if defined(CROSSCOMPILE) || defined(MULTIARCH) # define MEM_ALIGNBYTES 8 @@ -1682,11 +1682,16 @@ */ /*#define HAS_MKSTEMPS / **/ +/* HAS_MMAP: + * This symbol, if defined, indicates that the mmap system call is + * available to map a file into memory. + */ /* Mmap_t: * This symbol holds the return type of the mmap() system call * (and simultaneously the type of the first argument). * Usually set to 'void *' or 'cadd_t'. */ +#define HAS_MMAP /**/ #define Mmap_t void * /**/ /* HAS_MPROTECT: @@ -2961,6 +2966,12 @@ #define PERL_XS_APIVERSION "5.5.660" #define PERL_PM_APIVERSION "5.005" +/* I_SYSMODE: + * This symbol, if defined, indicates that exists and + * should be included. + */ +#define I_SYSMODE /**/ + /* I_SYS_UTSNAME: * This symbol, if defined, indicates that exists and * should be included. diff --git a/config_h.SH b/config_h.SH index 9529129..e440274 100644 --- a/config_h.SH +++ b/config_h.SH @@ -1090,8 +1090,8 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- /* MEM_ALIGNBYTES: * This symbol contains the number of bytes required to align a - * double. Usual values are 2, 4 and 8. The default is eight, - * for safety. + * double, or a long double when applicable. Usual values are 2, + * 4 and 8. The default is eight, for safety. */ #if defined(CROSSCOMPILE) || defined(MULTIARCH) # define MEM_ALIGNBYTES 8 @@ -1696,11 +1696,16 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$d_mkstemps HAS_MKSTEMPS /**/ +/* HAS_MMAP: + * This symbol, if defined, indicates that the mmap system call is + * available to map a file into memory. + */ /* Mmap_t: * This symbol holds the return type of the mmap() system call * (and simultaneously the type of the first argument). * Usually set to 'void *' or 'cadd_t'. */ +#$d_mmap HAS_MMAP /**/ #define Mmap_t $mmaptype /**/ /* HAS_MPROTECT: