Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not OK: perl v5.7.0 +SUIDMAIL +NOTREALLY570 on os2-64int 2.30 (UNINSTALLED) #2372

Closed
p5pRT opened this issue Aug 15, 2000 · 6 comments

Comments

@p5pRT
Copy link
Collaborator

@p5pRT p5pRT commented Aug 15, 2000

Migrated from rt.perl.org#3706 (status was 'resolved')

Searchable as RT3706$

@p5pRT

This comment has been minimized.

Copy link
Collaborator Author

@p5pRT p5pRT commented Aug 15, 2000

From @ysth

Failed Test Status Wstat Total Fail Failed List of Failed
--------------------------------------------------------------------------------

comp/use.t 27 5 18.52% 17, 19, 21, 23, 27
lib/bigfltpm.t 362 31 8.56% 90-97, 100-102, 112-115, 125-
  128, 138-141, 151-154, 164-167
lib/complex.t 1018 1 0.10% 1010
lib/peek.t 17 1 5.88% 12
op/universal.t 80 1 1.25% 71
pragma/locale.t 116 5 4.31% 105-106, 108-109, 114
22 tests and 122 subtests skipped.
Failed 6/259 test scripts, 97.68% okay. 44/10949 subtests failed, 99.60% okay.

(This is 6620 patched up to 6644).
All of these only happen with -Duselongdouble -Duse64bitint.
I'm checking to see which causes what (though I suspect uselongdouble
is causing at least the bigfltpm, complex, and locale failures).

Perl Info

Flags:
    category=install
    severity=none

Site configuration information for perl v5.7.0:

Configured by sthoenna at Tue Aug 15 16:30:02 PDT 2000.

Summary of my perl5 (revision 5.0 version 7 subversion 0) configuration:
  Platform:
    osname=os2, osvers=2.30, archname=os2-64int
    uname='os2 efn.org 2 2.30 i386  '
    config_args='-de -Dprefix=d:/perl -Dusedevel -Duselongdouble -Duse64bitint -Aoptimize=-DDEBUGGING'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=define 
    use64bitint=define use64bitall=undef uselongdouble=define usesocks=undef
  Compiler:
    cc='gcc', optimize='-O2 -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malign-functions=2 -s -DDEBUGGING', gccversion=2.8.1, gccosandvers=
    cppflags='-Zomf -Zmt -DDOSISH -DOS2=2 -DEMBED -I. -D_EMX_CRT_REV_=63'
    ccflags ='-Zomf -Zmt -DDOSISH -DOS2=2 -DEMBED -I. -D_EMX_CRT_REV_=63'
    stdchar='char', d_stdstdio=define, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long long', ivsize=8, nvtype='long double', nvsize=12, Off_t='off_t', lseeksize=4
    alignbytes=4, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='gcc', ldflags ='-Zexe -Zomf -Zmt -Zcrtdll -Zstack 32000'
    libpth=d:/emx/lib d:/emx/lib/mt
    libs=-lsocket -lm -lbsd
    libc=d:/emx/lib/mt/c_import.lib, so=dll, useshrplib=true, libperl=libperl.lib
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-Zdll', lddlflags='-Zdll -Zomf -Zmt -Zcrtdll -s'

Locally applied patches:
    SUIDMAIL - fixes for suidperl security
    NOTREALLY570


@INC for perl v5.7.0:
    lib
    d:/perl/lib/5.7.0/os2-64int
    d:/perl/lib/5.7.0
    d:/perl/lib/site_perl/5.7.0/os2-64int
    d:/perl/lib/site_perl/5.7.0
    d:/perl/lib/site_perl
    .


Environment for perl v5.7.0:
    HOME=d:\home\sthoenna
    LANG=en_us
    LANGUAGE (unset)
    LD_LIBRARY_PATH=D:/perl-current
    LOGDIR (unset)
    PATH=d:\bin;C:\OS2;d:\perl\bin;C:\OS2\SYSTEM;C:\OS2\INSTALL;C:\;C:\OS2\MDOS;C:\OS2\APPS;C:\MMOS2;d:\os2apps\util;d:\DOSAPPS\UTIL;c:\sio;D:\WINDOWS;d:\pdksh;d:\emx\bin;d:\emacs\19.33\bin;d:\ispell
    PERL_BADLANG (unset)
    PERL_SH_DIR=d:\BIN
    SHELL=d:/bin/sh.exe


@p5pRT

This comment has been minimized.

Copy link
Collaborator Author

@p5pRT p5pRT commented Aug 15, 2000

From @jhi

On Tue, Aug 15, 2000 at 08​:38​:52PM -0700, sthoenna@​efn.org wrote​:

This is a build failure report for perl from sthoenna@​efn.org,
generated with the help of perlbug 1.31 running under perl v5.7.0.

-----------------------------------------------------------------
[Please enter your report here]

Failed Test Status Wstat Total Fail Failed List of Failed
--------------------------------------------------------------------------------

comp/use.t 27 5 18.52% 17, 19, 21, 23, 27
lib/bigfltpm.t 362 31 8.56% 90-97, 100-102, 112-115, 125-
128, 138-141, 151-154, 164-167
lib/complex.t 1018 1 0.10% 1010
lib/peek.t 17 1 5.88% 12
op/universal.t 80 1 1.25% 71
pragma/locale.t 116 5 4.31% 105-106, 108-109, 114
22 tests and 122 subtests skipped.
Failed 6/259 test scripts, 97.68% okay. 44/10949 subtests failed, 99.60% okay.

(This is 6620 patched up to 6644).
All of these only happen with -Duselongdouble -Duse64bitint.
I'm checking to see which causes what (though I suspect uselongdouble
is causing at least the bigfltpm, complex, and locale failures).

uselongdouble is one of the least tested areas of perl. There be
lot of very nasty dragons.

@p5pRT

This comment has been minimized.

Copy link
Collaborator Author

@p5pRT p5pRT commented Aug 20, 2000

From @ysth

In article <20000815235014.A27953@​chaos.wustl.edu>,
Jarkko Hietaniemi <jhi@​iki.fi> wrote​:

On Tue, Aug 15, 2000 at 08​:38​:52PM -0700, sthoenna@​efn.org wrote​:

This is a build failure report for perl from sthoenna@​efn.org,
generated with the help of perlbug 1.31 running under perl v5.7.0.

-----------------------------------------------------------------
[Please enter your report here]

Failed Test Status Wstat Total Fail Failed List of Failed
--------------------------------------------------------------------------------

comp/use.t 27 5 18.52% 17, 19, 21, 23, 27
lib/bigfltpm.t 362 31 8.56% 90-97, 100-102, 112-115, 125-
128, 138-141, 151-154, 164-167
lib/complex.t 1018 1 0.10% 1010
lib/peek.t 17 1 5.88% 12
op/universal.t 80 1 1.25% 71
pragma/locale.t 116 5 4.31% 105-106, 108-109, 114
22 tests and 122 subtests skipped.
Failed 6/259 test scripts, 97.68% okay. 44/10949 subtests failed, 99.60% okay.

(This is 6620 patched up to 6644).
All of these only happen with -Duselongdouble -Duse64bitint.
I'm checking to see which causes what (though I suspect uselongdouble
is causing at least the bigfltpm, complex, and locale failures).

uselongdouble is one of the least tested areas of perl. There be
lot of very nasty dragons.

The complex and peek tests are ok now (@​6722). I think the rest is
due to d_Gconvert getting gcvt which demotes the NVs to doubles but
prints them out with 18 digits precision. This also results in stuff like​:

gcc -c -Zomf -Zmt -DDOSISH -DOS2=2 -DEMBED -I. -D_EMX_CRT_REV_=63 -O2 -fomit-fr
ame-pointer -malign-loops=2 -malign-jumps=2 -malign-functions=2 -s -DDEBUGGING
  -DVERSION=\"2.99999999999999989e-02\" -DXS_VERSION=\"2.99999999999999989e-02\
" -Zdll -I../.. ByteLoader.c

Unless there are platforms where gcvt/gconvert take long doubles,
sprintf should take priority (in the USE_LONG_DOUBLE &&
HAS_LONG_DOUBLE && HAS_PRIgldbl case, anyway).

@p5pRT

This comment has been minimized.

Copy link
Collaborator Author

@p5pRT p5pRT commented Aug 21, 2000

From @ysth

Jarkko Hietaniemi <jhi@​iki.fi> wrote​:

On Sun, Aug 20, 2000 at 06​:24​:30PM -0700, Yitzchak Scott-Thoennes wrote​:

Unless there are platforms where gcvt/gconvert take long doubles,
sprintf should take priority (in the USE_LONG_DOUBLE &&
HAS_LONG_DOUBLE && HAS_PRIgldbl case, anyway).

Please try 6757.

Doesn't seem to work​:

  CCCMD = gcc -DPERL_CORE -c -Zomf -Zmt -DDOSISH -DOS2=2 -DEMBED -I. -D
_EMX_CRT_REV_=63 -O2 -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malig
n-functions=2 -s -DDEBUGGING
sv.c​: In function `Perl_sv_2pv'​:
sv.c​:2098​: parse error before `llg'
sv.c​:2224​: parse error before `llg'
make​: *** [sv.obj] Error 1

config.sh gets​:

sPRIgldbl='"llg"'
d_Gconvert='sprintf((b),"%.*"llg"",(n),(x))'

There are extra quotes around the llg.

A nit​: Configure does​:

case "$d_longdbl$uselongdouble" in
"$define$define")
  xxx_list="`echo $xxx_list|sed s/sprintf//`"
  xxx_list="sprintf $xxx_list"

I'd make that​:

case "$uselongdouble$d_longdbl$d_PRIgldbl" in
"$define$define$define")

(or perhaps uselongdouble should be forced off earlier if we
don't have (d_PRIgldbl or d_qgcvt) and (d_strtold or d_atolf)).

@p5pRT

This comment has been minimized.

Copy link
Collaborator Author

@p5pRT p5pRT commented Aug 21, 2000

From @jhi

On Mon, Aug 21, 2000 at 04​:40​:52PM -0700, Yitzchak Scott-Thoennes wrote​:

Jarkko Hietaniemi <jhi@​iki.fi> wrote​:

On Sun, Aug 20, 2000 at 06​:24​:30PM -0700, Yitzchak Scott-Thoennes wrote​:

Unless there are platforms where gcvt/gconvert take long doubles,
sprintf should take priority (in the USE_LONG_DOUBLE &&
HAS_LONG_DOUBLE && HAS_PRIgldbl case, anyway).

Please try 6757.

Doesn't seem to work​:

      CCCMD =  gcc \-DPERL\_CORE \-c \-Zomf \-Zmt \-DDOSISH \-DOS2=2 \-DEMBED \-I\. \-D

_EMX_CRT_REV_=63 -O2 -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malig
n-functions=2 -s -DDEBUGGING
sv.c​: In function `Perl_sv_2pv'​:
sv.c​:2098​: parse error before `llg'
sv.c​:2224​: parse error before `llg'
make​: *** [sv.obj] Error 1

config.sh gets​:

sPRIgldbl='"llg"'
d_Gconvert='sprintf((b),"%.*"llg"",(n),(x))'

There are extra quotes around the llg.

int main(int argh, char *arrgh[]) { ... }

A nit​: Configure does​:

case "$d_longdbl$uselongdouble" in
"$define$define")
xxx_list="`echo $xxx_list|sed s/sprintf//`"
xxx_list="sprintf $xxx_list"

I'd make that​:

case "$uselongdouble$d_longdbl$d_PRIgldbl" in
"$define$define$define")

(or perhaps uselongdouble should be forced off earlier if we
don't have (d_PRIgldbl or d_qgcvt) and (d_strtold or d_atolf)).

Hmmm. Now that the repository is unreachable for the maintenance
I can think. Hmmm.

@p5pRT

This comment has been minimized.

Copy link
Collaborator Author

@p5pRT p5pRT commented Aug 21, 2000

From @ysth

Jarkko Hietaniemi <jhi@​iki.fi> wrote​:

On Mon, Aug 21, 2000 at 04​:40​:52PM -0700, Yitzchak Scott-Thoennes wrote​:

Jarkko Hietaniemi <jhi@​iki.fi> wrote​:

On Sun, Aug 20, 2000 at 06​:24​:30PM -0700, Yitzchak Scott-Thoennes wrote​:

Unless there are platforms where gcvt/gconvert take long doubles,
sprintf should take priority (in the USE_LONG_DOUBLE &&
HAS_LONG_DOUBLE && HAS_PRIgldbl case, anyway).

Please try 6757.

Doesn't seem to work​:

      CCCMD =  gcc \-DPERL\_CORE \-c \-Zomf \-Zmt \-DDOSISH \-DOS2=2 \-DEMBED \-I\. \-D

_EMX_CRT_REV_=63 -O2 -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malig
n-functions=2 -s -DDEBUGGING
sv.c​: In function `Perl_sv_2pv'​:
sv.c​:2098​: parse error before `llg'
sv.c​:2224​: parse error before `llg'
make​: *** [sv.obj] Error 1

config.sh gets​:

sPRIgldbl='"llg"'
d_Gconvert='sprintf((b),"%.*"llg"",(n),(x))'

If you manually hack away the extra quotes llg -- or, actually, make
it like this​:

d_Gconvert='sprintf((b),"%.*""llg""",(n),(x))'

(because the ='"llg"' is right)

Would that work?

It worked when I forced it to​:
d_Gconvert='sprintf((b),"%.*llg",(n),(x))'

I'm trying it with this patch now​:

Inline Patch
--- Configure.orig	Mon Aug 21 15:26:14 2000
+++ Configure	Mon Aug 21 19:49:54 2000
@@ -7855,7 +7855,7 @@
 qgcvt) d_Gconvert='qgcvt((x),(n),(b))' ;;
 *) case "$uselongdouble$d_longdbl$d_PRIgldbl" in
    "$define$define$define")
-      d_Gconvert="sprintf((b),\"%.*$sPRIgldbl\",(n),(x))" ;;
+      d_Gconvert="sprintf((b),\"%.*\"$sPRIgldbl,(n),(x))" ;;
    *) d_Gconvert='sprintf((b),"%.*g",(n),(x))' ;;
    esac
    ;;  
End of Patch.

...looks ok so far...correctly got​: d_Gconvert='sprintf((b),"%.*""llg",(n),(x))'
and sv.c compiles now.

BTW, do you know if there is any standard that mentions qgcvt?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.