develooper Front page | perl.perl5.porters | Postings from November 2000

[ID 20001109.017] Problem going from 5.4 to 5.6

From:
hom00
Date:
November 9, 2000 20:05
Subject:
[ID 20001109.017] Problem going from 5.4 to 5.6
Message ID:
m13u5SE-00003zC@juno.uts.utsglobal.com
This is a bug report for perl from hom00@juno.utsglobal.com,
generated with the help of perlbug 1.20 running under perl 5.00404.

The version of perl described here works on our version of UNIX,
UTS4.4.  It is version 5.6 that is failing.  If fails test #5 of
base/term.t, and isolating the problem exhibited there:

juno> ./perl -e 'print 100|1 ; print "\n"'
101
juno> ./perl -e 'print 100.|1 ; print "\n"'
4294967295
juno>

It also fails numerous tests under op/numconvert.t, and a few others.

The following describes all the mods needed to make Perl work for
the previous version (when I get this working, I'll submit the necessary
patches to go into the regular source base if possible.

I debug our O.S. kernel for a living, so if this suggests an approach
for investigation to you, please tell me and I'll try it.
 
Thanks   Hal Morris

  * @(#)/usr/src/amdahl/psf/perl-5.004/patch.in	16.1 11/18/98 06:22:43 - (c) Copyright 1988, 2000 Amdahl Corporation
  *** Osv.h	Tue Nov  3 14:54:38 1998
  --- perl5.004_04/sv.h	Tue Nov  3 14:54:58 1998
  ***************
  *** 32,38 ****
    
    /* Using C's structural equivalence to help emulate C++ inheritance here... */
    
  ! struct sv {
        void*	sv_any;		/* pointer to something */
        U32		sv_refcnt;	/* how many references to us */
        U32		sv_flags;	/* what we are */
  --- 32,38 ----
    
    /* Using C's structural equivalence to help emulate C++ inheritance here... */
    
  ! struct _sv {
        void*	sv_any;		/* pointer to something */
        U32		sv_refcnt;	/* how many references to us */
        U32		sv_flags;	/* what we are */
  *** Operl.h	Tue Nov  3 14:55:32 1998
  --- perl5.004_04/perl.h	Tue Nov  3 14:55:52 1998
  ***************
  *** 865,871 ****
    #ifndef __BORLANDC__
    typedef struct ff FF;		/* XXX not defined anywhere, should go? */
    #endif
  ! typedef struct sv SV;
    typedef struct av AV;
    typedef struct hv HV;
    typedef struct cv CV;
  --- 865,871 ----
    #ifndef __BORLANDC__
    typedef struct ff FF;		/* XXX not defined anywhere, should go? */
    #endif
  ! typedef struct _sv SV;
    typedef struct av AV;
    typedef struct hv HV;
    typedef struct cv CV;
  *** Opp.c	Wed Nov  4 16:58:36 1998
  --- perl5.004_04/pp.c	Wed Nov  4 17:00:34 1998
  ***************
  *** 3868,3874 ****
    		    do {
    			double next = floor(adouble / 128);
    			*--in = (unsigned char)(adouble - (next * 128)) | 0x80;
  ! 			if (--in < buf)  /* this cannot happen ;-) */
    			    croak ("Cannot compress integer");
    			adouble = next;
    		    } while (adouble > 0);
  --- 3868,3878 ----
    		    do {
    			double next = floor(adouble / 128);
    			*--in = (unsigned char)(adouble - (next * 128)) | 0x80;
  ! 			/* 
  ! 			 * was if (--in < buf).
  ! 			 * Paul Winder
  ! 			 */
  ! 			if (in <= buf)  /* this cannot happen ;-) */
    			    croak ("Cannot compress integer");
    			adouble = next;
    		    } while (adouble > 0);
  *** uts.sh.orig	Tue Oct 18 09:34:21 1994
  --- perl5.004_04/hints/uts.sh	Tue Nov 17 13:35:13 1998
  ***************
  *** 1,2 ****
  ! ccflags="$ccflags -DCRIPPLED_CC"
  ! d_lstat=define
  --- 1,18 ----
  ! archname='s390'
  ! cc='cc -Xa'
  ! cccdlflags='-pic'
  ! d_bincompat3='undef'
  ! d_csh='undef'
  ! d_lstat='define'
  ! d_suidsafe='define'
  ! dlsrc='dl_dlopen.xs'
  ! ld='ld'
  ! lddlflags='-G -z text'
  ! libperl='libperl.so'
  ! libpth='/lib /usr/lib /usr/ccs/lib'
  ! libs='-lsocket -lnsl -ldl -lm'
  ! optimize='undef'
  ! prefix='psf_prefix'
  ! static_ext='none'
  ! dynamic_ext='Fcntl IO Opcode Socket'
  ! useshrplib='define'

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



[Please do not change anything below this line]
-----------------------------------------------------------------

---
Site configuration information for perl 5.00404:

Configured by root at Sat Sep 25 05:28:06 PDT 1999.

Summary of my perl5 (5.0 patchlevel 4 subversion 4) configuration:
  Platform:
    osname=uts, osvers=4, archname=s390
    uname='uts hom00vm 4 4.3.3 2000 370 '
    hint=recommended, useposix=true, d_sigaction=define
    bincompat3=n useperlio=undef d_sfio=undef
  Compiler:
    cc='cc -Xa', optimize=' ', gccversion=
    cppflags='-I/usr/local/include'
    ccflags ='-I/usr/local/include'
    stdchar='unsigned char', d_stdstdio=define, usevfork=false
    voidflags=15, castflags=0, d_casti32=define, d_castneg=define
    intsize=4, alignbytes=8, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='ld', ldflags =''
    libpth=/lib /usr/lib /usr/ccs/lib
    libs=-lsocket -lnsl -ldl -lm
    libc=/lib/libc.so.1, so=so
    useshrplib=true, libperl=libperl.so
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-pic', lddlflags='-G -z text'

Locally applied patches:
	

---
@INC for perl 5.00404:
	/usr/local/lib/perl5/s390/5.00404
	/usr/local/lib/perl5
	/usr/local/lib/perl5/site_perl/s390
	/usr/local/lib/perl5/site_perl
	.

---
Environment for perl 5.00404:
    HOME=/home/supcse/hom00
    LANG (unset)
    LD_LIBRARY_PATH=/home/supcse/hom00/perl-5.6.0
    LOGDIR (unset)
    PATH=/home/supcse/hom00/PSET5/fast:/home/supcse/hom00/PSET5/bin:/home/supcse/hom00/PERL5/BIN:/usr/bin:/usr/amdahl/bin:/usr/local/bin:/usr/ccs/bin:/usr/statetools/bin:/usr/ucb/bin:/usr/ucb:/home/supcse/hom00/bin::/home/supcse/hom00/PSET5/fast
    PERL=/home/supcse/hom00/PERL5
    PERL_BADLANG (unset)
    PERL_BIN=/home/supcse/hom00/PERL5/BIN
    PERL_LIB=/home/supcse/hom00/PERL5/LIB
    PERL_MAN=/home/supcse/hom00/PERL5/MAN
    SHELL=/bin/ksh




nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About