X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fos390.sh;h=8766f0b566a29771af982f0bc822472788fc9550;hb=9200a1b047c4d162aa5464d20038426ad445ad42;hp=4f6f370328c4b28f64e13f5783dc31cc316ec1e5;hpb=eb3f6d219982f981ba1ce81b67a9b95bd33a6196;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/os390.sh b/hints/os390.sh index 4f6f370..8766f0b 100644 --- a/hints/os390.sh +++ b/hints/os390.sh @@ -25,8 +25,6 @@ case "$ld" in esac # -DMAXSIG=38 maximum signal number -# -DPERL_IGNORE_FPUSIG=SIGFPE allows Perl to be cavalier with FP overflow -# (particularly in numeric.c:S_mulexp10()) # -DOEMVS is used in place of #ifdef __MVS__ in certain places. # -D_OE_SOCKETS alters system headers. # -D_XOPEN_SOURCE_EXTENDEDA alters system headers. @@ -35,8 +33,8 @@ esac # -DEBCDIC should come from Configure and need not be mentioned here. # Prepend your favorites with Configure -Dccflags=your_favorites case "$ccflags" in -'') ccflags='-DMAXSIG=38 -DPERL_IGNORE_FPUSIG=SIGFPE -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC' ;; -*) ccflags="$ccflags -DMAXSIG=38 -DPERL_IGNORE_FPUSIG=SIGFPE -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC" ;; +'') ccflags='-DMAXSIG=38 -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC' ;; +*) ccflags="$ccflags -DMAXSIG=38 -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC" ;; esac # Turning on optimization breaks perl. @@ -205,3 +203,17 @@ EOWARN fi fi +# Most of the time gcvt() seems to work fine but +# sometimes values like 0.1, 0.2, come out as "10", "20", +# a trivial Perl demonstration snippet is 'print 0.1'. +# Yes, a flagrant bug, but unfortunately not trivial to +# reproduce in C using gcvt(). +# sprintf() seems to get things right(er). +d_Gconvert='sprintf((b),"%.*g",(n),(x))' + +cat >config.arch<<'__CONFIG_ARCH__' +# The '-W 0,float(ieee)' cannot be used during Configure as ldflags. + +ccflags="$ccflags -W 0,float(ieee)" + +__CONFIG_ARCH__