Mailing List Archive

My patch patch.1n to perl5.001 (header only)
[This is just the header so you know what's included.]

# This is my patch patch.1n for perl5.001. See description below.
# Andy Dougherty doughera@lafcol.lafayette.edu
#

# Please execute the following command before applying this patch.
# (You can feed this patch to 'sh' to do so.)

# A new merged hpux.sh hints file covers both hpux 9.xx and 10.xx.
mv hints/hpux_9.sh hints/hpux.sh

# pod/perlapi.pod has been renamed to pod/perlxs.pod.
mv pod/perlapi.pod pod/perlxs.pod

exit 0

This is my patch patch.1n for perl5.001.

To apply, change to your perl directory, run the command above, then
apply with
patch -p1 -N < thispatch.


This is a consolidation patch. It contains many of the most commonly
applied or agreed-to patches that have been circulating since
patch.1m.

It also changes the 'unofficial patchlevel' in perl.c.

There are some problems (see items marked with '***').
I will attempt to address those in a patch.1o in a few days.

This patch contains the following packages:

My Jumbo Configure patch vs. 1m, with subsequent patches 1, 2, and 3.
Mainly, this provides easier use of local libraries, documents
the installation process in a new INSTALL file, moves important
questions towards the beginning, and improves detection of
signal names (mostly for Linux).

xsubpp-1.922.

Patches from Larry:

eval "1" memory leak patch (as modified by GSAR to apply to 5.001m).

NETaa14551 Infinite loop in formats,

NETaa13729 scope.c patch (fixed problems on AIX and others)

NETaa14138 "substr() & s///" (pp_hot.c)

Patches from ftp.perl.com:

ftp://ftp.perl.com/pub/perl/src/patches/closure-bug.patch,
version of 20 Sep 1995
Includes fix for NETaa14347 (32k limit in regex), and other
fixes.

ftp://ftp.perl.com/pub/perl/src/patches/debugger.patch,
version of 27 Aug 1995

ftp://ftp.perl.com/pub/perl/src/patches/glob-undef.patch,
version of 4 Sep 1995
NETaa14421 $_ doesn't undef

ftp://ftp.perl.com/pub/perl/src/patches/op-segfault.patch,
version of 21 Aug 1995

ftp://ftp.perl.com/pub/perl/src/patches/warn-ref-hash-key.patch,
version of 5 Jun 1995

Tim Bunce's Jumbo DynaLoader patch for Perl5.001m, which is
NETaa14636 Jumbo DynaLoader patch for Perl5.001m, and
Additional patch for NETaa14636 Jumbo DynaLoader patch for Perl5.001m
version of 09 Oct 1995.
***This needs some additional parentheses.***

MakeMaker-5.00. Supercedes NETaa13540 (VMS MakeMaker patches).
(Updates minimod.PL as well.)
***This has a couple of minor problems.
pod2man is run even if it isn't available.
LD_RUN_PATH gets set to some mysterious values.***

NETaa14657 Paul Marquess Net::Ping patch. I've included
Net-Ping-1.00.

NETaa14661 Dean Roehrich DProf. Installed as ext/Devel/DProf.
Configure should pick this up automatically. (5 Apr 1995
version.)

NETaa13742 Jack Shirazi Socket in 5.001. I've also included
his socket.t test in t/lib/socket.t.

c2ph-1.7.

Dean's perlapi patches of Oct 12, 1995, which superceded those
of Oct 8, 1995. This is the one that did
mv perlapi.pid perlxs.pod.

NETaa14310 Tim Bunce A trivial patch for configpm (handy for shell scripts)

DB_File-1.0 patch from Paul Marquess (pmarquess@bfsec.bt.co.uk)
last modified 7th October 1995
version 1.0

Added or updated the following hints files:
hints/hpux.sh
hints/ncr_tower.sh
hints/netbsd.sh
hints/ultrix.sh

Patch and enjoy.

Andy Dougherty doughera@lafcol.lafayette.edu
Dept. of Physics
Lafayette College, Easton PA 18042
Re: My patch patch.1n to perl5.001 (header only) [ In reply to ]
On Tue, 31 Oct 1995 17:11:44 EST, Andy Dougherty wrote:
>[This is just the header so you know what's included.]
>
># This is my patch patch.1n for perl5.001. See description below.
># Andy Dougherty doughera@lafcol.lafayette.edu
>#
>

Bravo! Builds and installs clean-as-a-whistle on SunOS 4.1.3.

Many thanks.

- Sarathy.
gsar@engin.umich.edu

P.S: I would suggest the G_KEEPERR patch for 5.001o, since that
eliminates a Sev 1 bug and makes perl more efficient in the bargain.
Re: My patch patch.1n to perl5.001 (header only) [ In reply to ]
Great work Andy.

Solaris 1 fine. Solaris 2 fine.

Minor nits:

diff -c2 ./ext/DB_File/DB_File.pm.1n ./ext/DB_File/DB_File.pm
*** ./ext/DB_File/DB_File.pm.1n Wed Nov 1 01:56:14 1995
--- ./ext/DB_File/DB_File.pm Wed Nov 1 01:56:18 1995
***************
*** 547,551 ****
Added prototype support for multiple btree compare callbacks.

! =head 1.0

B<DB_File> has been in use for over a year. To reflect that, the
--- 547,551 ----
Added prototype support for multiple btree compare callbacks.

! =head1 1.0

B<DB_File> has been in use for over a year. To reflect that, the


and I don't think this will get installed since installperl
doesn't call 'make install' in the extensions yet:

cp dprofpp ./blib/sun4-sunos/dprofpp

The most pragmatic approach is probably to edit installperl to install
this explicitly and defer per-extension 'make install's (and 'make test's)
until after 5.002.

Tim.
Re: My patch patch.1n to perl5.001 (header only) [ In reply to ]
On Tue, 31 Oct 1995, Andy Dougherty wrote:

> MakeMaker-5.00. Supercedes NETaa13540 (VMS MakeMaker patches).
> (Updates minimod.PL as well.)
> ***This has a couple of minor problems.
> pod2man is run even if it isn't available.
> LD_RUN_PATH gets set to some mysterious values.***

What's the complaint here? Should pod2man'ify be turned off if nroff isn't
present, or should the Makefile fail gracefully if pod2man isn't
installed?

A related question: if nroff isn't available, and thus perldoc won't work
(as it relies on pod2man and nroff) should installperl even install it?

--
Kenneth Albanowski (kjahds@kjahds.com, CIS: 70705,126)
Re: My patch patch.1n to perl5.001 (header only) [ In reply to ]
From: Tim Bunce <Tim.Bunce@ig.co.uk>
>
> Great work Andy.

ditto.

> Solaris 1 fine. Solaris 2 fine.
>
> Minor nits:
>
> diff -c2 ./ext/DB_File/DB_File.pm.1n ./ext/DB_File/DB_File.pm
> *** ./ext/DB_File/DB_File.pm.1n Wed Nov 1 01:56:14 1995
> --- ./ext/DB_File/DB_File.pm Wed Nov 1 01:56:18 1995
> ***************
> *** 547,551 ****
> Added prototype support for multiple btree compare callbacks.
>
> ! =head 1.0
>
> B<DB_File> has been in use for over a year. To reflect that, the
> --- 547,551 ----
> Added prototype support for multiple btree compare callbacks.
>
> ! =head1 1.0
>
> B<DB_File> has been in use for over a year. To reflect that, the

Ooops, sorry about that!

Your patch is not quite correct Tim. A head1 is the wrong level, it
should be level2.

Andy, if you are still in patch mode, here is the trivial patch for
it.


Paul


*** ext/DB_File/DB_File.pm.orig Wed Nov 1 12:02:14 1995
--- ext/DB_File/DB_File.pm Wed Nov 1 16:47:54 1995
***************
*** 546,552 ****

Added prototype support for multiple btree compare callbacks.

! =head 1.0

B<DB_File> has been in use for over a year. To reflect that, the
version number has been incremented to 1.0.
--- 546,552 ----

Added prototype support for multiple btree compare callbacks.

! =head2 1.0

B<DB_File> has been in use for over a year. To reflect that, the
version number has been incremented to 1.0.
Re: Tk-b8 and Andy's patch patch.1n to perl5.001 [ In reply to ]
In <Pine.3.89.9510311712.C2940-0100000@lafcol>
On Tue, 31 Oct 1995 17:11:44 -0500 (EST)
Andy Dougherty <doughera@lafcol.lafayette.edu> writes:
>[This is just the header so you know what's included.]
>

At least on MY machine this patch adds -I/usr/local/include early
in the args passed to compiler. (To assist in finding GDBM I think.)
(I know I could override it... but users probably won't so I play dumb.)

This breaks Tk-b8 here as it causes 'installed' Tcl/Tk-3.6 versions of "tk.h"
etc. to be found rather than the perl/Tk-4.* versions in -I../pTk
because that -I comes later on the command line:

gcc -c -DDEBUGGING -I/usr/local/include -O2 -g -DVERSION=\"5.00\" -fPIC \
-I/usr/local/lib/perl5.new/sun4-sunos/CORE -DBASEEXT=\"IO\" \
-DNTK_VERSION=\"b9-tobe\" -DUSE_PROTO -DHAVE_UNISTD_H -DHAVE_SYS_TIME_H \
-DHAVE_LIMITS_H "-DSELECT_MASK=fd_set" -Wall -Wno-comment -Wno-unused -MMD \
-D__USE_FIXED_PROTOTYPES__ -pedantic -Werror -I../pTk -I/usr/openwin/include \
IO.c

As it stands looks like I have to tweak the override to .c.o rule.

Where should MakeMaker add -I relative to $Config{'ccflags'} ?

pluto 77% myconfig

Summary of my perl5 (patchlevel 1) configuration:
Platform:
osname=sunos, osver=4.1.3, archname=sun4-sunos
uname='sunos pluto 4.1.3 1 sun4m '
hint=recommended
Compiler:
cc='gcc', optimize='-O2 -g', ld='ld'
cppflags='-DDEBUGGING -I/usr/local/include'
ccflags ='-DDEBUGGING -I/usr/local/include'
ldflags =' -L/usr/local/lib'
stdchar='unsigned char', d_stdstdio=define, usevfork=false
voidflags=15, castflags=0, d_casti32=define, d_castneg=define
intsize=4, alignbytes=8, usemymalloc=y, randbits=31
Libraries:
so=so
libpth=/usr/local/lib /lib /usr/lib /usr/ucblib
libs=-lgdbm -ldbm -ldb -ldl -lm -lc -lposix
libc=/usr/lib/libc.so.1.8
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef
cccdlflags='-fpic', ccdlflags=' ', lddlflags='-assert nodefinitions -L/usr/local/lib'
Re: My patch patch.1n to perl5.001 (header only) [ In reply to ]
i get one test failing after this on:

SunOS pegasus 5.4 Generic_101945-32 sun4m sparc

io/pipe 7. here's some hints:

pegasus src/perl/perl5-solaris2> ./perl t/io/pipe.t
1..8
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
Broken pipe
pegasus src/perl/perl5-solaris2> perl t/io/pipe.t
1..8
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8

.mrg.
Re: Tk-b8 and Andy's patch patch.1n to perl5.001 [ In reply to ]
>>>>> "nick" == Nick Ing-Simmons <nik@tiuk.ti.com> writes:

nick> This breaks Tk-b8 here as it causes 'installed' Tcl/Tk-3.6 versions of "tk.h"
nick> etc. to be found rather than the perl/Tk-4.* versions in -I../pTk
nick> because that -I comes later on the command line:

nick> gcc -c -DDEBUGGING -I/usr/local/include -O2 -g -DVERSION=\"5.00\" -fPIC \
nick> -I/usr/local/lib/perl5.new/sun4-sunos/CORE -DBASEEXT=\"IO\" \
nick> -DNTK_VERSION=\"b9-tobe\" -DUSE_PROTO -DHAVE_UNISTD_H -DHAVE_SYS_TIME_H \
nick> -DHAVE_LIMITS_H "-DSELECT_MASK=fd_set" -Wall -Wno-comment -Wno-unused -MMD \
nick> -D__USE_FIXED_PROTOTYPES__ -pedantic -Werror -I../pTk -I/usr/openwin/include \
nick> IO.c

nick> As it stands looks like I have to tweak the override to .c.o rule.

nick> Where should MakeMaker add -I relative to $Config{'ccflags'} ?

Fixed in MM 5.01. But I'm concerned about a potential bug in
MakeMaker, when I see VERSION=\"5.00\". Did you manage to confuse
MakeMaker's version number and your own?


andreas
Re: Tk-b8 and Andy's patch patch.1n to perl5.001 [ In reply to ]
>>>>> "nick" == Nick Ing-Simmons <nik@tiuk.ti.com> writes:

nick> Not me - each sub-extension Makefile.PL does :

nick> use ExtUtils::MakeMaker;
nick> $Version = '1.0'; # whatever
nick> WriteMakefile(
nick> 'VERSION' => $Version,
nick> ...
nick> )

Odd. No real bug in MakeMaker. $Version and $VERSION are exported per
default (and readonly!).

Should I not export them per default? I'm always happy to export
nothing, it's just the way we introduced it.

Opinions?

andreas
Re: Tk-b8 and Andy's patch patch.1n to perl5.001 [ In reply to ]
>>>>> "me" == Andreas Koenig <k> writes:

me> Odd. No real bug in MakeMaker. $Version and $VERSION are exported per
me> default (and readonly!).

Silly me. I don't export them per default. Was a bug and is fixed.

andreas
Re: Tk-b8 and Andy's patch patch.1n to perl5.001 [ In reply to ]
In <199511020922.KAA04570@anna.mind.de>
On Thu, 2 Nov 1995 10:22:09 +0100
Andreas Koenig <andreas.koenig@mind.de> writes:
>>>>>> "nick" == Nick Ing-Simmons <nik@tiuk.ti.com> writes:
>
>
> nick> gcc -c -DDEBUGGING -I/usr/local/include -O2 -g -DVERSION=\"5.00\" -fPIC \
> nick> -I/usr/local/lib/perl5.new/sun4-sunos/CORE -DBASEEXT=\"IO\" \
> nick> -DNTK_VERSION=\"b9-tobe\" -DUSE_PROTO -DHAVE_UNISTD_H -DHAVE_SYS_TIME_H \
> nick> -DHAVE_LIMITS_H "-DSELECT_MASK=fd_set" -Wall -Wno-comment -Wno-unused -MMD \
> nick> -D__USE_FIXED_PROTOTYPES__ -pedantic -Werror -I../pTk -I/usr/openwin/include \
> nick> IO.c
>
> nick> As it stands looks like I have to tweak the override to .c.o rule.
>
> nick> Where should MakeMaker add -I relative to $Config{'ccflags'} ?
>
>Fixed in MM 5.01. But I'm concerned about a potential bug in
>MakeMaker, when I see VERSION=\"5.00\". Did you manage to confuse
>MakeMaker's version number and your own?
>
>
May not matter I don't use -DVERSION in C code as far as I know.

But does look like a bug.

Not me - each sub-extension Makefile.PL does :

use ExtUtils::MakeMaker;
$Version = '1.0'; # whatever
WriteMakefile(
'VERSION' => $Version,
...
)

Above is from Tk::IO which was also example compile above.

Top of Makefile

# This Makefile is for the Tk::IO extension to perl.
#
# It was generated automatically by MakeMaker version 5.00 from the contents
# of Makefile.PL. Don't edit this file, edit Makefile.PL instead.
#
# ANY CHANGES MADE HERE WILL BE LOST!
#
# MakeMaker Parameters:

# DEFINE => '-DBASEEXT=\"$(BASEEXT)\" -DNTK_VERSION=\"b9-tobe\" -DUSE_PROTO -DHAVE_UNISTD_H -DHAVE_SYS_TIME_H -DHAVE_LIMITS_H "-DSELECT_MASK=fd_set"'
# INC => '-I../pTk -I/usr/openwin/include'
# NAME => 'Tk::IO'
# OBJECT => '$(O_FILES)'
# SKIP => ['distclean']
# VERSION => '5.00'

Oops - looks like wrong $Version
Re: My patch patch.1n to perl5.001 (header only)rn [ In reply to ]
compiles fine with gnu-win32
although the following makes crosscompiling just a little bit easier

diff -r --unified ../clean/perl5.001m/Configure perl5.001m/Configure
--- ../clean/perl5.001m/Configure Thu Jun 22 17:03:49 1995
+++ perl5.001m/Configure Wed Nov 1 18:52:29 1995
@@ -7513,7 +7513,8 @@
EOM
echo " "
if $cc $ccflags $ldflags -o ssize ssize.c $libs > /dev/null 2>&1 ; then
- ssizetype=`./ssize`
+ tmp=`./ssize`
+ if test -n "$tmp" ; then ssizetype="$tmp" ; fi
echo "I'll be using $ssizetype for functions returning a byte count." >&4
else
echo "(I can't compile the test program--please enlighten me!)"





it seems that my dec_osf hints patch didn't make it; since it's do small,
i'll repost it


*** dec_osf.sh.old Mon Oct 23 17:00:44 1995
--- dec_osf.sh Mon Oct 23 16:58:15 1995
***************
*** 8,11 ****
;;
esac
ccflags="$ccflags -DSTANDARD_C"
! lddlflags='-shared -expect_unresolved "*" -s'
--- 8,11 ----
;;
esac
ccflags="$ccflags -DSTANDARD_C"
! lddlflags='-shared -expect_unresolved "*" -s -hidden'