develooper Front page | perl.perl5.porters | Postings from March 2001

Re: [PATCH 5.7.0] compiling on OS/2: 5.6.1 too

Thread Previous | Thread Next
Ilya Zakharevich
March 3, 2001 11:22
Re: [PATCH 5.7.0] compiling on OS/2: 5.6.1 too
Message ID:
On Sat, Mar 03, 2001 at 11:17:38AM -0600, Jarkko Hietaniemi wrote:
> > A similar patch is needed for 5.6.1 (only the first two chunks omited).
> > 
> > I put it below:
> Thanks, applied.  (Though in the current 5.6.1-to-be copy the get*()
> function were typed as returning struct hostent * etc, not void*, so
> that hunk failed, had to add the #ifndef manually.

Oups, then this part of the patch is not needed, an in fact it hurs a
lot.  Here are the hairy details:


  struct hostent *	gethostent()	{ return tcp0("GETHOSTENT");}

makes a call to gethostent() load the DLL for TCPIP API at runtime.
Here are the benefits:

  a) Perl is not compile-time linked to this DLL, thus the DLL is not
     required to be present as far as the functions are not used;
     Thus perl may be used on TCI/IP-less systems (such as a floppy
     boot, or minimal installs).

  b) At least my version of TCPIP API DLL resets the floating-point
     flags in _DLLInitTerm() function (!!!).  Thus after loading this
     DLL FP "events" will cause a SIGFPE.

     Without this patch

       $a = getnetent(); $x = 3000; print exp $x

     cores.  With this patch applied even 'exp 3000' cores.  Both are bugs,
     but the effects of these bugs are very different.


Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About