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

[ID 20000317.004] [PATCH perl-5.6.0-RC2 CORE] Concurrent PowerMAXport

From:
Tom Horsley
Date:
March 17, 2000 04:54
Subject:
[ID 20000317.004] [PATCH perl-5.6.0-RC2 CORE] Concurrent PowerMAXport
Message ID:
200003171253.MAA00979@amber2.ccur.com
These patches are required to build on Concurrent PowerMAX OS 4.3. This
supplants the previous preliminary patch I send yesterday to p5p.

The first hints/powerux.sh patch just gets rid of <sys/mode.h> which is
apparently something totally different than perl thinks it might be on
PowerMAX.

The second patch to pp_sys.c is somewhat obnoxious and is only required
because the <netdb.h> header file on PowerMAX has the wrong prototype (I
have submitted a bug report on it). It doesn't have the proper "const"
qualifier in the prototype and as a result, the compiler refuses to pass
"addr" which is a const qualified type. I couldn't figure any way to beat
the compiler into submission or fix this from inside the hints file, so I
wound up patching the source (if you reject it, I won't blame you :-).

Finally, it is also unfortunate, but true, that this only builds using the
new compiler which hasn't yet been released. Something in the sv.c file
inside the "(void)SvIOK_only(sv);" macro is apparently so complicated that
the old compiler can't deal with it (although it doesn't look that
compilcated when I look at it :-). I've also submitted a bug report on the
compiler.

*** hints/powerux.sh.orig	Thu Mar 16 12:48:43 2000
--- hints/powerux.sh	Thu Mar 16 12:50:09 2000
***************
*** 63,68 ****
--- 63,74 ----
  #
  i_ndbm='undef'
  
+ # I have no clude what perl thinks it wants <sys/mode.h> for, but if
+ # you include it in a program in PowerMAX without first including
+ # <sys/vnode.h> the code don't compile...
+ #
+ i_sysmode='undef'
+ 
  # There is a bug in memcmp (which I hope will be fixed soon) which sometimes
  # fails to provide the correct compare status (it is data dependant), so just
  # pretend there is no memcmp...
*** pp_sys.c.orig	Thu Mar 16 15:10:53 2000
--- pp_sys.c	Thu Mar 16 15:12:07 2000
***************
*** 4292,4298 ****
  	STRLEN addrlen;
  	Netdb_host_t addr = (Netdb_host_t) SvPV(addrsv, addrlen);
  
! 	hent = PerlSock_gethostbyaddr(addr, (Netdb_hlen_t) addrlen, addrtype);
  #else
  	DIE(aTHX_ PL_no_sock_func, "gethostbyaddr");
  #endif
--- 4292,4298 ----
  	STRLEN addrlen;
  	Netdb_host_t addr = (Netdb_host_t) SvPV(addrsv, addrlen);
  
! 	hent = PerlSock_gethostbyaddr((char *)addr, (Netdb_hlen_t) addrlen, addrtype);
  #else
  	DIE(aTHX_ PL_no_sock_func, "gethostbyaddr");
  #endif

--
Tom.Horsley@mail.ccur.com                \\\\      Will no one rid me of
Concurrent Computers, Ft. Lauderdale, FL    \\\\     this troublesome
Me: http://home.att.net/~Tom.Horsley/          \\\\     autoconf?
Project Vote Smart: http://www.vote-smart.org     \\\\    !!!!!



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About