develooper Front page | perl.perl5.porters | Postings from October 1999

Re: [ID 19991007.005] DynaLoader/dl_aix.xs problem using load andunload on AIX

Jarkko Hietaniemi
October 7, 1999 12:46
Re: [ID 19991007.005] DynaLoader/dl_aix.xs problem using load andunload on AIX
Message ID:

Could you please download the latest developer snapshot from

and retry with that.

I have no misconceptions that the snapshot will work any better for
the particular problem you describe, but any patches you supply should
very preferably be against the above version.  The dl_aix.xs (and
other things relevant to AIX, such as building perl.exp) have changed
somewhat since the 5.005_03.

But, I have a slew of questions...

You say "To get them to initialize properly the load and unload
function calls in DynaLoader/dl_aix.xs need to be replaced with
libC_r.a function calls loadAndInit and terminateAndUnload."
Ummm.  Will non-C++-non-statics extensions load okay, too, with the
loadAndInit and terminateAndUnload, really?  Just doublechecking.

How are the loadAndInit() and terminateAndUnload() used?  I do not
have the IBM C++ compiler installed in the AIX boxes I have access to
so I don't know.

> #include </usr/ibmcxx/include/load.h>

Ummm, not any less strange path available?  Absolute paths inside
the <> construct look kinda funny.

> Linking with libC_r.a should not be a problem since it is
> shipped with base AIX.

Since AIX version 3?  (Yeah, I guess it's no more supported...but
still.)  Since AIX version 4.something?  If the loadAndInit() and
terminateAndUnload() are not available in *all* versions of AIX
then we have problem: we need to be able to detect whether we have
them (we can do this in hints/, if need be).

And which one does need to be linked with -lC_r?  Perl itself?
Or just the Dynaloader extension?

Don't get me wrong: while I'm rather wary above, I appreciate your
detective work.  But we need (a) backward compatibility and
(b) clean fixes, and to get these, I need answers to my above doubts...

While the above snapshot is from the development strain leading into
Perl 5.6 (the next major release) and as such probably not 100%
applicable to the 5.005 branch, the goal is to backport most of the
enhancements from 5.6 back to the 5.005.  Fixing dynaloading is
definitely something that should be backported.

$jhi++; #
        # There is this special biologist word we use for 'stable'.
        # It is 'dead'. -- Jack Cohen Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About