Subject: Re: NetBSD/vax 1.6 pkgsrc perl build?
To: John Klos <john@sixgirls.org>
From: Brian Chase <vaxzilla@jarai.org>
List: port-vax
Date: 11/02/2002 22:25:59
On Sat, 2 Nov 2002, Brian Chase wrote:

> > >   op/cmp...............FAILED at test 0
> > >   op/numconvert........FAILED at test 0
> > >   lib/bigfltpm.........FAILED at test 351
> > >   lib/complex..........FAILED at test 0
> > >   lib/trig.............FAILED at test 0

If I run the individual perl tests under gdb, the nature of the failure
becomes a bit more clear.

op/cmp.t:

  (gdb) file ./perl
  Reading symbols from ./perl...(no debugging symbols found)...done.
  (gdb) set args op/cmp.t
  (gdb) run
  Starting program: /u0/usr/pkgsrc/lang/perl5/work/perl-5.6.1/t/./perl
  op/cmp.t
  (no debugging symbols found)...(no debugging symbols found)...
  (no debugging symbols found)...(no debugging symbols found)...
  1..72
  ok 1
  ok 2
  ok 3
  ok 4
  ok 5
  ok 6
  (no debugging symbols found)...
  Program received signal SIGILL, Illegal instruction.
  0x41848f2 in strtod (186544, 0) from /usr/lib/libc.so.12
  (gdb) x/s 186544
  0x2d8b0:         "NaN"
  (gdb)

Hmmm... that's not good.

op/numconvert.t:

  (gdb) file ./perl
  Reading symbols from ./perl...(no debugging symbols found)...done.
  (gdb) set args op/numconvert.t
  (gdb) run
  Starting program: /u0/usr/pkgsrc/lang/perl5/work/perl-5.6.1/t/./perl
  op/numconvert.t
  (no debugging symbols found)...(no debugging symbols found)...
  (no debugging symbols found)...(no debugging symbols found)...
  (no debugging symbols found)...
  Program received signal SIGILL, Illegal instruction.
  0x40f73b8 in infnan (34) from /usr/lib/libm.so.0
  (gdb)

All the others, with the exception of the pragma/locale.t test,
experience the same type of errors:

lib/bigfltpm.t:

  (gdb) file ./perl
  Reading symbols from ./perl...(no debugging symbols found)...done.
  (gdb) set args lib/bigfltpm.t
  (gdb) run
  Starting program: /u0/usr/pkgsrc/lang/perl5/work/perl-5.6.1/t/./perl
  lib/bigfltpm.t
  (no debugging symbols found)...(no debugging symbols found)...
  (no debugging symbols found)...(no debugging symbols found)...
  1..370
  ok 1
  ok 2
  ok 3
  ...
  ok 348
  ok 349
  ok 350
  (no debugging symbols found)...
  Program received signal SIGILL, Illegal instruction.
  0x41848f2 in strtod (186272, 0) from /usr/lib/libc.so.12
  (gdb) x/s 186272
  0x2d7a0:         "NaN"
  (gdb)


lib/complex.t:

  (gdb)  file ./perl
  Reading symbols from ./perl...(no debugging symbols found)...done.
  (gdb) set args lib/complex.t
  (gdb) run
  Starting program: /u0/usr/pkgsrc/lang/perl5/work/perl-5.6.1/t/./perl
  lib/complex.t
  (no debugging symbols found)...(no debugging symbols found)...
  (no debugging symbols found)...(no debugging symbols found)...
  (no debugging symbols found)...
  Program received signal SIGILL, Illegal instruction.
  0x40f73b8 in infnan (34) from /usr/lib/libm.so.0
  (gdb)


lib/trig.t:

  (gdb) file ./perl
  Reading symbols from ./perl...(no debugging symbols found)...done.
  (gdb) set args lib/trig.t
  (gdb) run
  Starting program: /u0/usr/pkgsrc/lang/perl5/work/perl-5.6.1/t/./perl
  lib/trig.t
  (no debugging symbols found)...(no debugging symbols found)...
  (no debugging symbols found)...(no debugging symbols found)...
  (no debugging symbols found)...
  Program received signal SIGILL, Illegal instruction.
  0x40f73b8 in infnan (34) from /usr/lib/libm.so.0
  (gdb)

I did notice the the `Configure' script did make allowances for the
absence of the "machine/ieeefp.h" include, and I'd have thought it would
be able to likewise work around the absence of IEEE fp, but maybe not.
There must be a way to reimplement infnan() and strtod() to work within
the framework of VAX fp.  How does Perl deal with this on Ultrix, or
even on VAX/VMS?

-brian.