perl 3.0 patch #28

Tom Neff tneff at bfmny0.BFM.COM
Tue Aug 14 10:19:10 AEST 1990


A report from the V/386 trenches.  I have Perl PL28 working after some
manual intervention and minor annoyances.

System is AT&T System V/386 Release 3.2.1, with the standard 4.1
development system.

 * We don't HAVE an unexec() call, and the reference to it in eval.c is
not #ifdef'd in any way, nor does Configure check for it.  So the make
proceeds to bomb in 'ld' with an unresolved.  Configure should check its
library tables and set 'd_unexec' accordingly, to be translated into a
conditional '#ifdef UNEXEC' in eval.c.  ... This isn't actually new to
PL28 by the way, but my last temp hack in the Makefile was wiped out by
the patch run so I was reminded of the problem.  The workarounds are to
put a dummy unexec() into usersub.c or else add '-Dunexec=sync' into the
'cflags' variable in config.sh.

 * As someone pointed out, the perl.man files were silently changed to
perl_man, so the patch bombs.  Growl.

 * The make for 'h2ph' uses the same subdefinitions as 'a2p' and 'x2p',
including a reference to 'config.sh'.  But unlink a2p and x2p, it
doesn't have its own subdirectory.  So 'make' bombs trying to find
'../config.sh' from the main perl source directory.  I worked around it
for the moment by touching a dummy ../config.sh rather than slogging
through the makefile to fix the logic.

 * When Configure reuses your previous config.sh it keeps cflags and
cppflags, but not the 'define'/'undef' switches set above.  I have to
keep going in and changing d_castneg='undef' by hand, because the test C
program decides my C compiler casts negative floats to long correctly.
(Somehow, it doesn't.)

But, at least all tests do pass.  The optimizer blows up on eval.c but
it always has.

-- 
"Take off your engineering hat   = "The filter has      | Tom Neff
and put on your management hat." = discreting sources." | tneff at bfmny0.BFM.COM



More information about the Comp.sources.bugs mailing list