This is the mail archive of the libffi-discuss@sourceware.org mailing list for the libffi project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Trying to port libffi to OpenVMS.


On 2/16/2015 11:13 AM, Richard Henderson wrote:
On 02/13/2015 03:48 PM, John E. Malmberg wrote:
On 2/13/2015 8:41 AM, Richard Henderson wrote:
On 02/13/2015 06:00 AM, John E. Malmberg wrote:
I was able to apply Philippe Vouters patches for Libffi 3.0.9 to libffi 3.1 and
get the code building.  I was unable to get the tests to run under GNV though.

I've never seen those patches but...

Not sure if I got them via E-mail from someone else, or from his site. His site
is not responding at this time.

The readme says that they include HP-UX/ia64 and VMS/Alpha and VMS/ia64.  What
I have appears to be bunch of concatenated unified diffs.  I can gzip it and
forward it to anyone that is interested, uncompressed it is 126 KB.

Sure.

Forwarded via e-mail.

In any case, on VMS, the "int lib$callg(void **args, int (*func)())" hides all
that though.

I'd be very surprised if this actually passes the testsuite, as you're not
giving lib$callg any information about the types of the arguments.

I am a bit concerned about that, so am setting up some experiments.

I can not run the testsuite at this time. The components for Deja-Gnu do not appear to have been ported to VMS.

This is probably one of those things that worked find on VAX, but only works on
Alpha and IA-64 for integer arguments, and a limited number of them at that.

The puts() example just worked. Using the atof() call is not putting the correct values in the floating point return registers. That is interesting because both are being passed a single string parameter.

I will try to get some more documentation on lib$callg.

The use of the lib$callg() routine means I should not need any assembly
language code at all.  Probably almost the same source for all three current
VMS harware platforms.

I'm sure you're going to have to write assembly, at least for Alpha.

Quite possibly. I think though that the entire assembly module may be better off being VMS specific instead of trying to use the osf modules as in the patch.

Regards,
-John



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]