Trying to port libffi to OpenVMS.
John E. Malmberg
wb8tyw@qsl.net
Mon Feb 16 19:41:00 GMT 2015
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
More information about the Libffi-discuss
mailing list