[PATCH] patching for sunos

Hi coders,

greetings from the stone age:

This is perl, v5.9.4 built for sun4-sunos-stdio

SunOS Release 4.1.3 (GENERIC) #3: Mon Jul 27 16:44:16 PDT 1992
$ uname -a
SunOS xxx 4.1.3 3 sun4m


If anyone is interested in patches for SunOS yet, I have some.
Some are harmless, some may not be optimal. Help/hints/tips are
always nice and appreciated.

1. SunOS realloc() does not like NULL pointers as parameters.
    (buf?realloc((buf), (size)):malloc((size)))

2. There is no strtoul(), alas. Some older code correctly uses the
Strtoul() macro (capital S). Newer additions don't always (probabaly
nobody noticed). I enclosed the expansion of the Strtoul macro definition
in round parentheses:
#   define Strtoul(s, e, b)    (strchr((s), '-') ? ULONG_MAX : (unsigned 
long)strtol((s), (e), (b)))
and changed all occurences of strtoul() to Strtoul().

3. There is no prototype for drand48() available, although one is needed.
This cures the previously failing sort and shuffle tests.
#ifndef HAS_DRAND48_PROTO
  extern double drand48 (void);
#endif

4. For the generation of miniperl I had to do something about div_t and 
div(),
which are lacking. It is used for version string formatting. Since I 
considered
this usage not the most time critical, I replaced the div() call with 
the good old
/ and % operators.
Perl_sv_catpvf(aTHX_ sv, "%0*d_%d", width, (int)PERL_ABS(digit) / denom, 
(int)PERL_ABS(digit) % denom);

5. snprintf() is missing, so vsprintf() is used to emulate it. But 
vsprintf() like sprintf()
has a non standard return type (the buffer instead of the length of 
characters output).
sprintf() was treated ok by the older code parts, vsprintf was not. I 
think my patch
is not optimal, it was a bit quick-and-dirty.

6. Finally Dynaloading. I saw it does not work in 5.9.4. (and also not 
since 5.8.1 according to
the hints file). So I peeked in version 5.6.3 and changed the return 
types for dl_load_file() and
dl_find_symbol() in dl_open.xs back to the previously working return 
types (void *). Since I
don't know why they were changed (to void), I suspect the best solution 
is to have a seperate dl_sunos.xs.
This is work in progress so no patch yet.

Hope this is useful,
Heiko

diff -r -c perl-5.9.4/iperlsys.h perl-5.9.4-patched/iperlsys.h
*** perl-5.9.4/iperlsys.h    Tue Aug 15 14:37:41 2006
--- perl-5.9.4-patched/iperlsys.h    Mon Apr  2 20:04:53 2007
***************
*** 875,881 ****
 
  /* Interpreter specific memory macros */
  #define PerlMem_malloc(size)        malloc((size))
! #define PerlMem_realloc(buf, size)    realloc((buf), (size))
  #define PerlMem_free(buf)        free((buf))
  #define PerlMem_calloc(num, size)    calloc((num), (size))
  #define PerlMem_get_lock()       
--- 875,881 ----
 
  /* Interpreter specific memory macros */
  #define PerlMem_malloc(size)        malloc((size))
! #define PerlMem_realloc(buf, size)    (buf?realloc((buf), 
(size)):malloc((size)))
  #define PerlMem_free(buf)        free((buf))
  #define PerlMem_calloc(num, size)    calloc((num), (size))
  #define PerlMem_get_lock()       
***************
*** 884,890 ****
 
  /* Shared memory macros */
  #define PerlMemShared_malloc(size)        malloc((size))
! #define PerlMemShared_realloc(buf, size)    realloc((buf), (size))
  #define PerlMemShared_free(buf)            free((buf))
  #define PerlMemShared_calloc(num, size)        calloc((num), (size))
  #define PerlMemShared_get_lock()       
--- 884,890 ----
 
  /* Shared memory macros */
  #define PerlMemShared_malloc(size)        malloc((size))
! #define PerlMemShared_realloc(buf, size)    (buf?realloc((buf), 
(size)):malloc((size)))
  #define PerlMemShared_free(buf)            free((buf))
  #define PerlMemShared_calloc(num, size)        calloc((num), (size))
  #define PerlMemShared_get_lock()       
***************
*** 893,899 ****
 
  /* Parse tree memory macros */
  #define PerlMemParse_malloc(size)    malloc((size))
! #define PerlMemParse_realloc(buf, size)    realloc((buf), (size))
  #define PerlMemParse_free(buf)        free((buf))
  #define PerlMemParse_calloc(num, size)    calloc((num), (size))
  #define PerlMemParse_get_lock()       
--- 893,899 ----
 
  /* Parse tree memory macros */
  #define PerlMemParse_malloc(size)    malloc((size))
! #define PerlMemParse_realloc(buf, size)    (buf?realloc((buf), 
(size)):malloc((size)))
  #define PerlMemParse_free(buf)        free((buf))
  #define PerlMemParse_calloc(num, size)    calloc((num), (size))
  #define PerlMemParse_get_lock()       
diff -r -c perl-5.9.4/perl.h perl-5.9.4-patched/perl.h
*** perl-5.9.4/perl.h    Tue Aug 15 14:37:41 2006
--- perl-5.9.4-patched/perl.h    Tue Apr  3 20:08:05 2007
***************
*** 5166,5172 ****
  #   define Strtoul    strtoul
  #endif
  #if !defined(Strtoul) && defined(HAS_STRTOL) /* Last resort. */
! #   define Strtoul(s, e, b)    strchr((s), '-') ? ULONG_MAX : 
(unsigned long)strtol((s), (e), (b))
  #endif
  #ifndef Atoul
  #   define Atoul(s)    Strtoul(s, NULL, 10)
--- 5166,5172 ----
  #   define Strtoul    strtoul
  #endif
  #if !defined(Strtoul) && defined(HAS_STRTOL) /* Last resort. */
! #   define Strtoul(s, e, b)    (strchr((s), '-') ? ULONG_MAX : 
(unsigned long)strtol((s), (e), (b)))
  #endif
  #ifndef Atoul
  #   define Atoul(s)    Strtoul(s, NULL, 10)
diff -r -c perl-5.9.4/pp_sort.c perl-5.9.4-patched/pp_sort.c
*** perl-5.9.4/pp_sort.c    Tue Aug 15 14:37:41 2006
--- perl-5.9.4-patched/pp_sort.c    Fri Apr  6 17:28:05 2007
***************
*** 28,33 ****
--- 28,37 ----
  #define PERL_IN_PP_SORT_C
  #include "perl.h"
 
+ #ifndef HAS_DRAND48_PROTO
+ extern double drand48 (void);
+ #endif
+
  #if defined(UNDER_CE)
  /* looks like 'small' is reserved word for WINCE (or somesuch)*/
  #define    small xsmall
diff -r -c perl-5.9.4/util.c perl-5.9.4-patched/util.c
*** perl-5.9.4/util.c    Tue Aug 15 14:37:42 2006
--- perl-5.9.4-patched/util.c    Wed Apr 11 00:18:38 2007
***************
*** 45,50 ****
--- 45,54 ----
  # endif
  #endif
 
+ #ifndef HAS_DRAND48_PROTO
+ extern double drand48 (void);
+ #endif
+
  #define FLUSH
 
  #if defined(HAS_FCNTL) && defined(F_SETFD) && !defined(FD_CLOEXEC)
***************
*** 4425,4432 ****
      digit = SvIV(*av_fetch(av, i, 0));
      if ( width < 3 ) {
          const int denom = (width == 2 ? 10 : 100);
!         const div_t term = div((int)PERL_ABS(digit),denom);
          Perl_sv_catpvf(aTHX_ sv, "%0*d_%d", width, term.quot, term.rem);
      }
      else {
          Perl_sv_catpvf(aTHX_ sv, "%0*d", width, (int)digit);
--- 4429,4439 ----
      digit = SvIV(*av_fetch(av, i, 0));
      if ( width < 3 ) {
          const int denom = (width == 2 ? 10 : 100);
! /*        const div_t term = div((int)PERL_ABS(digit),denom);
          Perl_sv_catpvf(aTHX_ sv, "%0*d_%d", width, term.quot, term.rem);
+ */
+         Perl_sv_catpvf(aTHX_ sv, "%0*d_%d", width, 
(int)PERL_ABS(digit) / denom, (int)PERL_ABS(digit) % denom);
+
      }
      else {
          Perl_sv_catpvf(aTHX_ sv, "%0*d", width, (int)digit);
***************
*** 5391,5396 ****
--- 5398,5406 ----
      retval = vsnprintf(buffer, len, format, ap);
  #else
      retval = vsprintf(buffer, format, ap);
+     if ((char *) retval == buffer) {
+     retval = strlen(buffer);
+     }
  #endif
      va_end(ap);
      /* vsnprintf() shows failure with >= len, vsprintf() with < 0 */
diff -r -c perl-5.9.4/ext/Digest/SHA/src/sha.c 
perl-5.9.4-patched/ext/Digest/SHA/src/sha.c
*** perl-5.9.4/ext/Digest/SHA/src/sha.c    Tue Aug 15 14:37:40 2006
--- perl-5.9.4-patched/ext/Digest/SHA/src/sha.c    Tue Apr  3 20:07:02 2007
***************
*** 579,587 ****
          if ((p = getval(pr, &pr)) == NULL)
              return(1);
          switch (type) {
!         case T_C: *pc++ = (UCHR) strtoul(p, NULL, base); break;
!         case T_I: *pi++ = (UINT) strtoul(p, NULL, base); break;
!         case T_L: *pl++ = (W32 ) strtoul(p, NULL, base); break;
          case T_Q: *pq++ = (W64 ) strto64(p            ); break;
          }
      }
--- 579,587 ----
          if ((p = getval(pr, &pr)) == NULL)
              return(1);
          switch (type) {
!         case T_C: *pc++ = (UCHR) Strtoul(p, NULL, base); break;
!         case T_I: *pi++ = (UINT) Strtoul(p, NULL, base); break;
!         case T_L: *pl++ = (W32 ) Strtoul(p, NULL, base); break;
          case T_Q: *pq++ = (W64 ) strto64(p            ); break;
          }
      }
diff -r -c perl-5.9.4/ext/Digest/SHA/src/sha64bit.c 
perl-5.9.4-patched/ext/Digest/SHA/src/sha64bit.c
*** perl-5.9.4/ext/Digest/SHA/src/sha64bit.c    Tue Aug 15 14:37:40 2006
--- perl-5.9.4-patched/ext/Digest/SHA/src/sha64bit.c    Tue Apr  3 
20:07:19 2007
***************
*** 72,78 ****
      W64 u = C64(0);
 
      while (isxdigit(str[0] = *s++))
!         u = (u << 4) + strtoul(str, NULL, 16);
      return(u);
  }
 
--- 72,78 ----
      W64 u = C64(0);
 
      while (isxdigit(str[0] = *s++))
!         u = (u << 4) + Strtoul(str, NULL, 16);
      return(u);
  }
diff -r -c perl-5.9.4/ext/List/Util/Util.xs 
perl-5.9.4-patched/ext/List/Util/Util.xs
*** perl-5.9.4/ext/List/Util/Util.xs    Tue Aug 15 14:37:41 2006
--- perl-5.9.4-patched/ext/List/Util/Util.xs    Wed Apr 11 00:44:28 2007
***************
*** 59,64 ****
--- 59,68 ----
  #    define Drand01()        ((rand() & 0x7FFF) / (double) ((unsigned 
long)1 << 15))
  #endif
 
+ #ifndef HAS_DRAND48_PROTO
+ extern double drand48 (void);
+ #endif
+
  #if PERL_VERSION < 5
  #  ifndef gv_stashpvn
  #    define gv_stashpvn(n,l,c) gv_stashpv(n,c)

0
heiko
4/11/2007 6:35:50 PM
perl.perl5.porters 48287 articles. 1 followers. Follow

5 Replies
808 Views

Similar Articles

[PageSpeed] 32

On Wed, Apr 11, 2007 at 08:35:50PM +0200, Heiko wrote:
> Hi coders,
> 
> greetings from the stone age:
> 
> This is perl, v5.9.4 built for sun4-sunos-stdio
> 
> SunOS Release 4.1.3 (GENERIC) #3: Mon Jul 27 16:44:16 PDT 1992
> $ uname -a
> SunOS xxx 4.1.3 3 sun4m
> 
> 
> If anyone is interested in patches for SunOS yet, I have some.

Wow. Yes, we are.
If only because it's nice to know that it works. (Although clearly it doesn't
quite work, as you need to tweak it)


> 3. There is no prototype for drand48() available, although one is needed.
> This cures the previously failing sort and shuffle tests.
> #ifndef HAS_DRAND48_PROTO
>  extern double drand48 (void);
> #endif

I see that you did this in two places in C files. I'm not sure whether it
would be better in header files. But we could fix that.

> 4. For the generation of miniperl I had to do something about div_t and 
> div(),
> which are lacking. It is used for version string formatting. Since I 
> considered
> this usage not the most time critical, I replaced the div() call with 
> the good old
> / and % operators.
> Perl_sv_catpvf(aTHX_ sv, "%0*d_%d", width, (int)PERL_ABS(digit) / denom, 
> (int)PERL_ABS(digit) % denom);

Hmm.

STANDARDS
     The div() function conforms to ISO/IEC 9899:1999 (``ISO C99'').


I don't think that we should be using div().
Or at least, if we want to we should probe for it and emulate it.

> 5. snprintf() is missing, so vsprintf() is used to emulate it. But 
> vsprintf() like sprintf()
> has a non standard return type (the buffer instead of the length of 
> characters output).
> sprintf() was treated ok by the older code parts, vsprintf was not. I 
> think my patch
> is not optimal, it was a bit quick-and-dirty.

Gosh. I remember being bitten by sprintf()'s return on SunOS - about a decade
ago. Hence why there's this whole my_sprintf() stuff we added recently instead
of assuming that sprintf() wasn't, well, "wrong". (or at least pre-ANSI C89)

Glad to know that it wasn't a waste of time.

I think your fix is rather quick and dirty. We should add a probe to configure
for vsprintf(), much like the probe for sprintf()

> 6. Finally Dynaloading. I saw it does not work in 5.9.4. (and also not 
> since 5.8.1 according to
> the hints file). So I peeked in version 5.6.3 and changed the return 
> types for dl_load_file() and
> dl_find_symbol() in dl_open.xs back to the previously working return 
> types (void *). Since I
> don't know why they were changed (to void), I suspect the best solution 
> is to have a seperate dl_sunos.xs.
> This is work in progress so no patch yet.

It's not obvious. If I start here:

http://public.activestate.com/cgi-bin/perlbrowse

Annotate dl_open.xs

http://public.activestate.com/cgi-bin/perlbrowse?filename=ext%2FDynaLoader%2Fdl_dlopen.xs&show_blame=Show+Annotated+File

Find the line, and the patch:

Change 10534 by jhi@alpha on 2001/06/12 13:13:27

        Subject: ext/ + -Wall
        From: Doug MacEachern <dougm@covalent.net>
        Date: Mon, 11 Jun 2001 22:19:45 -0700 (PDT)
        Message-ID: <Pine.LNX.4.21.0106112212261.24181-100000@mako.covalent.net>

The trail goes cold with that message ID :-(

http://groups.google.com/groups?selm=Pine.LNX.4.21.0106112212261.24181-100000%40mako.covalent.net

Fortunately it does appear to be indexed on xray:

http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2001-06/thrd7.html

It seems to be intended to get rid of warnings under -Wall

Would it be better to change the return types with #ifdefs in dl_open.xs ?

Should Configure probe for the return types? I'm not sure how to do that.

> Hope this is useful,

Yes, very.

I don't think that anyone here has anything this old to verify that perl still
compiles portably.

In a similar vein, we knew that we compiled on old Crays until a year or two
ago, when Boeing decomissioned their last machine.

Nicholas Clark
0
nick
4/12/2007 10:14:23 AM
On Thu, 12 Apr 2007, Nicholas Clark wrote:

> On Wed, Apr 11, 2007 at 08:35:50PM +0200, Heiko wrote:
> > Hi coders,
> > 
> > greetings from the stone age:
> > 
> > This is perl, v5.9.4 built for sun4-sunos-stdio
> > 
> > SunOS Release 4.1.3 (GENERIC) #3: Mon Jul 27 16:44:16 PDT 1992
> > $ uname -a
> > SunOS xxx 4.1.3 3 sun4m
> > 
> > 
> > If anyone is interested in patches for SunOS yet, I have some.
> 
> Wow. Yes, we are.
> If only because it's nice to know that it works. (Although clearly it doesn't
> quite work, as you need to tweak it)

Yes, thank you!  SunOS 4.1.3 was Perl5's original platform.  It'd be nice 
to recapture it.

Thanks for the good work.  Looks like more Configure probes are in order.

> I don't think that anyone here has anything this old to verify that perl 
> still compiles portably.

I don't think so either.  I know my last SunOS 4.1.3 box failed about 7 or 
8 years ago.

-- 
    Andy Dougherty		doughera@lafayette.edu
0
doughera
4/12/2007 12:48:47 PM
Hi,

thanks for your kind replies.

I agree with your comments Nicholas, someone
more knowlegable than me would do better
integrated patches. Being lazy, I rely on
you for this:-) I am willing then to testdrive
newer versions of Configure with SunOs.

Dynaloading:
Thanks for pointers how to investigate.

>It seems to be intended to get rid of warnings under -Wall
From the email subject, yes. I need to understand this myself.

The variants of dl_open.xs (dl_*.xs) should agree on the
function signature for dl_load_file and dl_find_symbol, I think,
(which they don't).

>Would it be better to change the return types with #ifdefs in =
dl_open.xs ?
>Should Configure probe for the return types? I'm not sure how to do =
that.

Good questions. I thought there is an interface definition for dl_*.xs
which says use return type void *, and this is what needs to be =
implemented
for all variants. Maybe I am wrong.

----

There are also some issues during make test,
the most irritating is that some of the failed tests
succeed when being run isolated with ./perl -Ilib .../*.t.

There are also tests that block.
More details when I am home at my sun..

Heiko Ei=DFfeldt=20
 =20
-----Urspr=FCngliche Nachricht-----
Von: Nicholas Clark [mailto:nick@flirble.org] Im Auftrag von Nicholas =
Clark
Gesendet: Donnerstag, 12. April 2007 12:14
An: Heiko
Cc: perl5-porters@perl.org
Betreff: Re: [PATCH] patching for sunos

On Wed, Apr 11, 2007 at 08:35:50PM +0200, Heiko wrote:
> 6. Finally Dynaloading. I saw it does not work in 5.9.4. (and also not =

> since 5.8.1 according to
> the hints file). So I peeked in version 5.6.3 and changed the return=20
> types for dl_load_file() and
> dl_find_symbol() in dl_open.xs back to the previously working return=20
> types (void *). Since I
> don't know why they were changed (to void), I suspect the best =
solution=20
> is to have a seperate dl_sunos.xs.
> This is work in progress so no patch yet.
It seems to be intended to get rid of warnings under -Wall

Would it be better to change the return types with #ifdefs in dl_open.xs =
?

Should Configure probe for the return types? I'm not sure how to do =
that.

0
heiko
4/12/2007 2:43:42 PM
On Thu, Apr 12, 2007 at 04:43:42PM +0200, Eissfeldt, Heiko wrote:

> There are also some issues during make test,
> the most irritating is that some of the failed tests
> succeed when being run isolated with ./perl -Ilib .../*.t.

If you are running the tests as

  make test

then it sets the environment variable PERL_DESTRUCT_LEVEL=2
That likely isn't set when you run them isolated, and might explain this.

Nicholas Clark
0
nick
4/12/2007 4:49:07 PM
Hi again,

I tried to add most missing prototypes to my header files, and recompiled.
Probably I am doing something wrong yet.
These are failing tests from make test (*NR* for not reproducible when 
being run isolated with
PERL_DESTRUCT_LEVEL=2 ./perl -T -It -Ilib -MTestInit .../*.t):
Failed 11 tests out of 1167, 99.06% okay.
        ../ext/Devel/DProf/t/DProf.t    *NR*
        ../ext/DynaLoader/t/DynaLoader.t (dies at test 16, if this is 
skipped fails on test 20 dl_findfile(c))
        ../ext/IPC/SysV/t/ipcsysv.t   *NR*
        ../ext/POSIX/t/sigaction.t   fails on test 6: returns 2 instead of 0
        ../ext/POSIX/t/time.t fails on test1 and 2, both return empty 
strings, on test 8 a warning is given Use of uninitialized value 
$Config{"d_difftime"} in string ne at ext/POSIX/t/time.t line 50
        ../ext/Sys/Syslog/t/syslog.t test 158 fails with return of 1 
instead of false
        ../ext/Time/HiRes/t/HiRes.t *NR* gives warning: 
Time::HiRes::clock(): unimplemented in this platform at 
ext/Time/HiRes/t/HiRes.t line 571.
        ../lib/Tie/File/t/09_gen_rs.t blocks forever in test 51 during 
splice
        ../lib/warnings.t    stderr output is garbled by libm library 
message 'pow(0,0): DOMAIN error', otherwise ok.
        op/getppid.t    *NR*
        run/switchF1.t   *NR*

Details from make test are appended below.

Regarding DynaLoading and return types, I read the comment at the beginning
of the file dl_dlopen.xs, and found the stated rule violated in the 
original from 5.9.4:
   Remember when you are making any changes that the return value from
   dl_load_file is used as a parameter in the dl_find_symbol
   function. Also the return value from find_symbol is used as a parameter
   to install_xsub.

So according to this, void * is needed. I also compiled with -Wall and 
got no
warnings grom gcc.

Hints for resolving any deviations are welcome, of course.
Thanks,
Heiko

Summary of my perl5 (revision 5 version 9 subversion 4) configuration:
  Platform:
    osname=sunos, osvers=4.1.3, archname=sun4-sunos-stdio
    uname='sunos lunaco 4.1.3 3 sun4m '
    config_args='-de -Dlibpth=/usr/lib -Dusedevel -Dusedl'
    hint=previous, useposix=true, d_sigaction=define
    useithreads=undef, usemultiplicity=undef
    useperlio=undef, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=undef, use64bitall=undef, uselongdouble=undef
    usemymalloc=y, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-g',
    optimize='-O -g',
    cppflags='-g -g'
    ccversion='', gccversion='2.6.3', gccosandvers='sunos4.1'
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=4
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='/usr/bin/ld', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib /usr/ucblib
    libs=-lnsl -ldbm -lm -lc -lposix
    perllibs=-lnsl -ldbm -lm -lc -lposix
    libc=/lib/libc.so.1.8, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-fpic', lddlflags='-assert nodefinitions -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Compile-time options: MYMALLOC PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP
                        USE_LARGE_FILES
  Built under sunos
  Compiled at Apr 13 2007 01:13:51
  @INC:
    lib
    /usr/local/lib/perl5/5.9.4/sun4-sunos-stdio
    /usr/local/lib/perl5/5.9.4
    /usr/local/lib/perl5/site_perl/5.9.4/sun4-sunos-stdio
    /usr/local/lib/perl5/site_perl/5.9.4
    /usr/local/lib/perl5/site_perl
    .


=====================================================
t/run/switchF1.......................................FAILED--expected 5 
tests, saw 4

t/op/getppid.........................................FAILED--seen 
duplicate leader

ext/Devel/DProf/t/DProf..............................sh: 12854 Memory 
fault - core dumped
sh: 12856 Memory fault - core dumped
sh: 12858 Memory fault - core dumped
sh: 12860 Memory fault - core dumped
FAILED at test 1

ext/DynaLoader/t/DynaLoader..........................ld.so:  is not for 
this machine type
FAILED--expected 37 tests, saw 15

ext/IPC/SysV/t/ipcsysv...............................# cannot proceed: 
semget() error:
# Looks like you planned 17 tests but ran 16.
FAILED--expected 17 tests, saw 16

ext/POSIX/t/sigaction................................#   Failed test in 
.../ext/POSIX/t/sigaction.t at line 61.
#          got: '2'
#     expected: '0'
FAILED at test 6

ext/POSIX/t/time.....................................#   Failed test 
'tzset() to GMT/UTC'
#   in ../ext/POSIX/t/time.t at line 24.
#                   ''
#     doesn't match '(?i-xsm:(GMT|UTC))'
FAILED at test 1

ext/Sys/Syslog/t/syslog..............................#   Failed test 
'setlogsock() should return false: '1''
#   in ../ext/Sys/Syslog/t/syslog.t at line 189.
FAILED at test 158

ext/Time/HiRes/t/HiRes...............................Time::HiRes::clock(): 
unimplemented in this platform at ../ext/Time/HiRes/t/HiRes.t line 571.
FAILED--expected 33 tests, saw 32

lib/Tie/File/t/09_gen_rs.............................FAILED--no leader found

lib/warnings.........................................PROG:
use warnings 'uninitialized';
my ($m1, $m2, $v);
our ($g1);

eval { $v = $m1 / $g1 };
$v = $m2 / 2;
eval { $v = $m1 % $g1 };
$v = $m2 % 2;
$v = $m1 == $g1;
$v = $m1 >= $g1;
$v = $m1 >  $g1;
$v = $m1 <= $g1;
$v = $m1 <  $g1;
$v = $m1 *  $g1;
$v = $m1 <=>$g1;
$v = $m1 != $g1;
$v = $m1   -$g1;
$v = $m1 ** $g1;
$v = $m1 +  $g1;
$v = $m1 -  $g1;
EXPECTED:
Use of uninitialized value $g1 in division (/) at - line 5.
Use of uninitialized value $m1 in division (/) at - line 5.
Use of uninitialized value $m2 in division (/) at - line 6.
Use of uninitialized value $g1 in modulus (%) at - line 7.
Use of uninitialized value $m1 in modulus (%) at - line 7.
Use of uninitialized value $m2 in modulus (%) at - line 8.
Use of uninitialized value $g1 in numeric eq (==) at - line 9.
Use of uninitialized value $m1 in numeric eq (==) at - line 9.
Use of uninitialized value $g1 in numeric ge (>=) at - line 10.
Use of uninitialized value $m1 in numeric ge (>=) at - line 10.
Use of uninitialized value $g1 in numeric gt (>) at - line 11.
Use of uninitialized value $m1 in numeric gt (>) at - line 11.
Use of uninitialized value $g1 in numeric le (<=) at - line 12.
Use of uninitialized value $m1 in numeric le (<=) at - line 12.
Use of uninitialized value $g1 in numeric lt (<) at - line 13.
Use of uninitialized value $m1 in numeric lt (<) at - line 13.
Use of uninitialized value $g1 in multiplication (*) at - line 14.
Use of uninitialized value $m1 in multiplication (*) at - line 14.
Use of uninitialized value $g1 in numeric comparison (<=>) at - line 15.
Use of uninitialized value $m1 in numeric comparison (<=>) at - line 15.
Use of uninitialized value $g1 in numeric ne (!=) at - line 16.
Use of uninitialized value $m1 in numeric ne (!=) at - line 16.
Use of uninitialized value $g1 in subtraction (-) at - line 17.
Use of uninitialized value $m1 in subtraction (-) at - line 17.
Use of uninitialized value $g1 in exponentiation (**) at - line 18.
Use of uninitialized value $m1 in exponentiation (**) at - line 18.
Use of uninitialized value $g1 in addition (+) at - line 19.
Use of uninitialized value $m1 in addition (+) at - line 19.
Use of uninitialized value $g1 in subtraction (-) at - line 20.
Use of uninitialized value $m1 in subtraction (-) at - line 20.
GOT:
Use of uninitialized value $g1 in division (/) at - line 5.
Use of uninitialized value $m1 in division (/) at - line 5.
Use of uninitialized value $m2 in division (/) at - line 6.
Use of uninitialized value $g1 in modulus (%) at - line 7.
Use of uninitialized value $m1 in modulus (%) at - line 7.
Use of uninitialized value $m2 in modulus (%) at - line 8.
Use of uninitialized value $g1 in numeric eq (==) at - line 9.
Use of uninitialized value $m1 in numeric eq (==) at - line 9.
Use of uninitialized value $g1 in numeric ge (>=) at - line 10.
Use of uninitialized value $m1 in numeric ge (>=) at - line 10.
Use of uninitialized value $g1 in numeric gt (>) at - line 11.
Use of uninitialized value $m1 in numeric gt (>) at - line 11.
Use of uninitialized value $g1 in numeric le (<=) at - line 12.
Use of uninitialized value $m1 in numeric le (<=) at - line 12.
Use of uninitialized value $g1 in numeric lt (<) at - line 13.
Use of uninitialized value $m1 in numeric lt (<) at - line 13.
Use of uninitialized value $g1 in multiplication (*) at - line 14.
Use of uninitialized value $m1 in multiplication (*) at - line 14.
Use of uninitialized value $g1 in numeric comparison (<=>) at - line 15.
Use of uninitialized value $m1 in numeric comparison (<=>) at - line 15.
Use of uninitialized value $g1 in numeric ne (!=) at - line 16.
Use of uninitialized value $m1 in numeric ne (!=) at - line 16.
Use of uninitialized value $g1 in subtraction (-) at - line 17.
Use of uninitialized value $m1 in subtraction (-) at - line 17.
Use of uninitialized value $g1 in exponentiation (**) at - line 18.
Use of uninitialized value $m1 in exponentiation (**) at - line 18.
pow(0,0): DOMAIN error
Use of uninitialized value $g1 in addition (+) at - line 19.
Use of uninitialized value $m1 in addition (+) at - line 19.
Use of uninitialized value $g1 in subtraction (-) at - line 20.
Use of uninitialized value $m1 in subtraction (-) at - line 20.
# Failed at ../t/lib/common.pl line 186
FAILED at test 239


Failed 11 tests out of 1167, 99.06% okay.
        ../ext/Devel/DProf/t/DProf.t
        ../ext/DynaLoader/t/DynaLoader.t
        ../ext/IPC/SysV/t/ipcsysv.t
        ../ext/POSIX/t/sigaction.t
        ../ext/POSIX/t/time.t
        ../ext/Sys/Syslog/t/syslog.t
        ../ext/Time/HiRes/t/HiRes.t
        ../lib/Tie/File/t/09_gen_rs.t
        ../lib/warnings.t
        op/getppid.t
        run/switchF1.t

0
heiko
4/13/2007 11:07:33 PM
Reply:

Similar Artilces:

Patches, patches, patches...
To forestall potential incidents of Warnock's Dillemma... I'm about to apply a whole heap 'o patches to Parrot. (With appropriate [APPLIED] responses, I hope) If, at the end of the day, I have *not* applied or commented on a patch you've sent, it means I've Officially Missed It, so give another try. Sorry 'bout this. Too much mail in the mailbox, and going back in time is tricky, as it can miss subsequent discussions on patches 'n stuff. -- Dan --------------------------------------"it's like th...

Patches, patches, patches... #2
OK, this is advance warning that I'm about to be reposting a bunch of patches of mine which appear to have succumbed to Warnock's Dilemma. The first three should be uncontroversial: there's a documentation fix-up for core.ops, and new tests for strings and stacks. The last one is rather larger, and consists of a greatly expanded set of tests for PerlString's, plus a bunch of bug-fixes. I'd be grateful if Jeff or Dan could take a look at this, as I have the feeling that a lot of the scalar PMCs are going to need similar fixes. Simon ...

[PATCH] Patch to patch for callbacks in core
I should have tested this better before submitting it. This patch is to Perl 11722 after applying my previous patch. Now callbacks will actually work. :-) - D <dmlloyd@tds.net> --- mg.c-old Tue Aug 21 13:26:52 2001 +++ perl-devel/mg.c Tue Aug 21 15:09:16 2001 @@ -1068,7 +1068,18 @@ void Perl_despatch_signals(pTHX) { - PL_event_pending = 0; + if (PL_callback_head != NULL) { + CALLBACK *cur, *next; + + for (cur = PL_callback_head; cur != NULL; cur = next) { + next = cur->next; + (*cur->callback)(cur->data); + ...

[PATCH] installperl patch
------=_Part_72778_11907270.1186149310146 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline The attached patch modifies installperl as follows: 1. Don't install lib/CGI/eg/*. (These files aren't installed by the CPAN version of CGI either.) 2. Don't install lib/ExtUtils/NOTES, and lib/ExtUtils/PATCHING. (These files aren't installed by the CPAN version of ExtUtils::MakeMaker either.) ------=_Part_72778_11907270.1186149310146 Content-Type: application/octet-stream; name=installperl.patch Content-Transf...

[PATCH] more pod patches
Yet more pod linting, this time on .pm files. I've touched things without fear or favour mostly - I think probably a few of these changes affect things that are also maintained outside the core. diff -urN perl-current.orig/configpm perl-current/configpm --- perl-current.orig/configpm Thu Mar 15 20:33:42 2001 +++ perl-current/configpm Thu Mar 15 21:10:59 2001 @@ -418,7 +418,7 @@ print CONFIG <<EOF; =head2 $c -=over +=over 4 EOF $text = 1; diff -urN perl-current.orig/ext/B/B/Bytecode.pm perl-current/ext/B/B/Bytecode.pm --- perl-current.orig/ext/B/B/B...

BlackIce Patched or Not Patched?
ISS recently released a patch for the much published denial of server venerability in BlackIce Defender. Yet, eEye referred to the venerability as a buffer overflow. My question is ... does the newly released patch cover both? The ISS site does not refer to a buffer overflow. Does that mean that even after installing the patch BlackIce Defender is open to a buffer overflow? (not good if so) I've taken BlackIce offline until I am certain that it is fully patched. Thanks in advance. Tom Correction: Denial of service venerability as opposed to denial of server. (grin) ...

[PATCH] cygwin070patches_4.patch
--------------030804070801060907040802 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit My latest patch against the cygwin070patches branch r30596. * Finished implementation of the makefile expansion - "perl-style" * Changed all relevant makefile templates. make fulltest and make codetest has the same few mt-thread and resume errors as always. A new idea: =========== #IF(darwin): #ALSO:# MACOSX_DEPLOYMENT_TARGET must be defined for OS X #ALSO:export MACOSX_DEPLOYMENT_TARGET := @osx_version@ The POD for this change: ...

[PATCH] Debian patches
--qDbXVdCdHGoSgWSk Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Attached are the patches to Debian's 5.8.4 package not currently covered by my latest rsync of perl-5.8.x. The patches have been re-worked to apply cleanly to that branch, but all should be applicable to perl-current as well. 10_fix_file_path Rewrite of File::Path::rmtree. This is the most important patch, it replaces rmtree with a recursive function to remove a race condition which potentially allows an attacker to make files suid or to remove arbitrary files (CAN-2...

PATCH: clarify where to patch against
--envbJBWh7q8WU6mo Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Talking about Perl 5 git repo tonight, some questions came up about where development really happens. This patch is a bit of clarification about where/why patches go to blead/maint. -- rjbs --envbJBWh7q8WU6mo Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0001-very-minor-tweaks-to-description-of-maint-blead.patch" From 1b7ad6bc0c93abd2d9fad847e8449824e529ba24 Mon Sep 17 00:00:00 2001 From: Ricardo SIGNES <rjbs@cpan.org> Date:...

[PATCH] todo patch
--- perltodo.pod.old Wed May 16 17:51:45 2001 +++ perltodo.pod Mon May 28 16:56:29 2001 @@ -68,6 +68,10 @@ Artur Bergman's C<iThreads> module is a start on this, but needs to be more mature. +=head2 make perl_clone optionally clone ops + +So at pseduforking, mod_perl , iThreads and nvi will work properly (not as efficient) until regex engine is fixed + =head2 Work out exit/die semantics for threads =head2 Typed lexicals for compiler On Mon 28 May 2001 17:03, Artur Bergman <artur@contiller.se> wrote: > --- perltodo.pod.old Wed May 16 17:5...

Microsoft patching its patches
While we're on the topic of zombies, security and patches..... George. ------------------------------------------------------------------------ "Exchange security patch needs patching" The patch needs a patch. The security update Microsoft rolled out last week to caulk a hole in Exchange 2000 server actually needs a patch itself. MS is also broadening its original Exchange 2000 security bulletin to include Exchange 5.5 Server deployments for the first time. Microsoft says if you've deployed Outlook Web Access, you need to patch ASAP. SOURCE: ENT Magazine http...

[PATCH] More Build patches
Two patches inline... A small change to Makefile.in so that 'make test' doesn't try to run without an interpreter or missing assembler libraries. Index: Makefile.in =================================================================== RCS file: /home/perlcvs/parrot/Makefile.in,v retrieving revision 1.24 diff -u -r1.24 Makefile.in --- Makefile.in 2001/10/14 10:58:19 1.24 +++ Makefile.in 2001/10/15 14:42:12 @@ -106,7 +106,7 @@ cd t; make clean cd docs; make clean -test: .test_dummy +test: $(TEST_PROG) assemble.pl .test_dummy .test_dummy: ...

[PATCH] perlhack on what to patch
--- pod/perlhack.pod.orig 2006-07-12 22:52:14.000000000 +0300 +++ pod/perlhack.pod 2006-07-12 23:05:40.000000000 +0300 @@ -598,14 +598,22 @@ =head2 Submitting patches but context diffs are accepted. Do not send RCS-style diffs or diffs without context lines. More information is given in the I<Porting/patching.pod> file in the Perl source distribution. Please -patch against the latest B<development> version (e.g., if you're -fixing a bug in the 5.005 track, patch against the latest 5.005_5x -version). Only patches that survive the heat of the development ...

[PATCH] Last patch needed to get Perl5.7 to build natively on VOS
This is the final patch necessary to get Perl 5.7 (@14042) to build on the Stratus VOS operating system using the native (Configure-based) build procedure. Horay, Horay, Horay! I discovered, moments after mailing the previous patch, that I had broken the historical method of building just miniperl on VOS (the method used by the ./vos subdir). This patch restores that function. Patched files & reasons changed: perl.h VOS-only change. Obey idiosyncracies of GCC vs. VOS cc compiler. vos/vosish.h VOS-only change. Ditto. ext/Errno/Errno_pm.PL VOS-only change. More id...

Web resources about - [PATCH] patching for sunos - perl.perl5.porters

Cost Savings Through Virtual Patching
Computerworld Australia is the leading source of technology news, analysis and tools for IT decision makers, managers and professionals.

Patching hole in the net
MANAGEMENT procedures relating to high-profile parolees have been changed after convicted killer Peter Kamm absconded this week while on parole. ...

Microsoft removes developer charges for 360 patching
Now free to update any title on the system Microsoft has removed all charges related to updating and patching 360 games for developers, a report ...

Apple patching critical SMS vulnerability in iPhone OS
Safari Charlie says that Apple is working on a patch for a serious flaw he …

New cloud platform streamlines device management and patching
... that cut the time needed to assess in half compared with the previous version. With agentless technology, Protect streamlines the patching process ...

Samsung starts patching major security vulnerability in the Galaxy S III, Galaxy Note II
Back in December a forum member on XDA Developers discovered a major vulnerability for devices equipped with Samsung’s ( 005930 ) Exynos processors. ...

Patching the Voting Rights Act by @BloggersRUs
Patching the Voting Rights Act by Tom Sullivan The hole the Supreme Court's 2013 Shelby County v. Holder ruling blew in the Voting Rights Act ...

Senate tires of patching highway programs
SFGate Senate tires of patching highway programs Businessweek WASHINGTON (AP) — The Senate delivered an unexpectedly strong vote Tuesday in ...

Patching Cracks Between Different Materials Is Touchy
Q-The steps leading to our basement from the outside are steel and at the bottom meet a single concrete step. The crack between steel and concrete ...

Microsoft: Patching Windows 2000 'Infeasible'
Microsoft took the unusual step today and skipped patching one of the vulnerabilities addressed in its monthly security update, an omission that ...

Resources last updated: 12/17/2015 10:53:00 AM