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
-
[ID 20001109.017] Problem going from 5.4 to 5.6
by hom00