# New Ticket Created by  "Adam Thomason" 
# Please include the string:  [perl #24240]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=24240 >


I've convinced parrot to build and pass all tests on HP-UX/PA-RISC with the native cc 
in 32-bit mode.  Problems follow.

Errors:

1) dlopen()-style dynloads are only supported in 64-bit mode; the HP-UX-specific 
shl_load is the only option in 32-bit mode.  platform.c assumes that if dlfcn.h is 
available that dlopen will work, but that's not quite the case.  Manually undef'ing 
PARROT_HAS_HEADER_DLFCN after running Configure.pl clears that up, though it obviously 
breaks dynamic loading (but I doubt there's currently anybody needing support for 
shl_load).  The only perl5 I have access to on this arch is 32-bit, so the libs that 
Config suggests are all 32-bit, which won't link against 64-bit libs.  So unless 
somebody really wants it, I'm not going to bother building a 64-bit parrot here.

2) -lpthread is required.

3) Nicholas Clark already mentioned this w.r.t. FreeBSD, but using the 3-arg form of 
open() in config/gen/makesfiles/root.in confuses perl 5.005.  His patch apparently 
wasn't entirely applied, however; I include it again in mine.

Warnings:

4) 'cc: "io.ops", line 466: warning 950: Shift amount should be in the range of zero 
through 31 bits'
It's moaning about 32-bit shifts in the 64-bit tell op in io.ops.  I don't know what 
the desired failure behavior is for that op in a 32 bit environment, but I'm happy 
ignoring it for now.

5) 'cc: "languages/imcc/cfg.c", line 320: warning 562: Redeclaration of "bb_add_edge" 
with a different storage class specifier: "bb_add_edge" will have internal linkage.' 
... etc.
bb_add_edge, analyse_life_block, and make_basic_block are declared static but not 
defined that way.  Cleaning up the warning is just a matter of adding back the static 
tags.

A patch curing 2, 3 and 5 is attached; it's non-destructive to my AIX, Gentoo, and 
OpenBSD builds.

--
Adam Thomason
[EMAIL PROTECTED]


-- attachment  1 ------------------------------------------------------
url: http://rt.perl.org/rt2/attach/66167/49441/efcf08/hpux.patch

Attachment: hpux.patch
Description: hpux.patch

Reply via email to