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

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

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.

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