From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10453 invoked by alias); 16 Feb 2015 19:41:09 -0000 Mailing-List: contact libffi-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libffi-discuss-owner@sourceware.org Received: (qmail 10438 invoked by uid 89); 16 Feb 2015 19:41:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=2.4 required=5.0 tests=BAYES_00,FREEMAIL_FROM,KAM_FROM_URIBL_PCCC,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 X-HELO: mail-ig0-f175.google.com Received: from mail-ig0-f175.google.com (HELO mail-ig0-f175.google.com) (209.85.213.175) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Mon, 16 Feb 2015 19:41:07 +0000 Received: by mail-ig0-f175.google.com with SMTP id hn18so25446849igb.2 for ; Mon, 16 Feb 2015 11:41:05 -0800 (PST) X-Received: by 10.107.30.69 with SMTP id e66mr31490524ioe.77.1424115665695; Mon, 16 Feb 2015 11:41:05 -0800 (PST) Received: from [192.168.0.101] (173-19-202-206.client.mchsi.com. [173.19.202.206]) by mx.google.com with ESMTPSA id qd2sm8790077igc.22.2015.02.16.11.41.03 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 16 Feb 2015 11:41:04 -0800 (PST) Message-ID: <54E2481C.1070605@qsl.net> Date: Mon, 16 Feb 2015 19:41:00 -0000 From: "John E. Malmberg" User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Richard Henderson , libffi-discuss@sourceware.org Subject: Re: Trying to port libffi to OpenVMS. References: <54DE0378.8040609@qsl.net> <54DE0D25.8020300@redhat.com> <54DE8D61.803@qsl.net> <54E22522.40909@redhat.com> In-Reply-To: <54E22522.40909@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2015/txt/msg00039.txt.bz2 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