diff -r e714a9d6b2cd lang/perl5/distinfo --- a/lang/perl5/distinfo Sat Dec 23 16:16:40 2006 +0000 +++ b/lang/perl5/distinfo Mon Dec 25 15:17:06 2006 +0100 @@ -5,6 +5,7 @@ Size (perl-5.8.8.tar.bz2) = 10123359 byt Size (perl-5.8.8.tar.bz2) = 10123359 bytes SHA1 (patch-aa) = 9b6844635086206dc7740103747a2b54bf987941 SHA1 (patch-ab) = e32427327192f023477b16f29bc55fdf4f057410 +SHA1 (patch-ac) = abdf4a86c23f2132eb63521a0970353374d556da SHA1 (patch-ae) = 044ac094cd475a16483552aa6f1bde03bd11f592 SHA1 (patch-ah) = 39b1a46a0ee5e73b4707a3d947fe17016df9630a SHA1 (patch-am) = cf1687063d0c0542e811545aaaad291bad12d75e diff -r e714a9d6b2cd lang/perl5/patches/patch-ac --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lang/perl5/patches/patch-ac Mon Dec 25 15:17:06 2006 +0100 @@ -0,0 +1,37 @@ +$NetBSD$ + +--- perlio.c.orig 2006-12-25 15:11:04.108986000 +0100 ++++ perlio.c +@@ -2874,31 +2874,7 @@ PerlIOStdio_invalidate_fileno(pTHX_ FILE + f->_fileno = -1; + return 1; + # elif defined(__sun__) +-# if defined(_LP64) +- /* On solaris, if _LP64 is defined, the FILE structure is this: +- * +- * struct FILE { +- * long __pad[16]; +- * }; +- * +- * It turns out that the fd is stored in the top 32 bits of +- * file->__pad[4]. The lower 32 bits contain flags. file->pad[5] appears +- * to contain a pointer or offset into another structure. All the +- * remaining fields are zero. +- * +- * We set the top bits to -1 (0xFFFFFFFF). +- */ +- f->__pad[4] |= 0xffffffff00000000L; +- assert(fileno(f) == 0xffffffff); +-# else /* !defined(_LP64) */ +- /* _file is just a unsigned char :-( +- Not clear why we dup() rather than using -1 +- even if that would be treated as 0xFF - so will +- a dup fail ... +- */ +- f->_file = PerlLIO_dup(fileno(f)); +-# endif /* defined(_LP64) */ +- return 1; ++ return 0; + # elif defined(__hpux) + f->__fileH = 0xff; + f->__fileL = 0xff;