This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RE: [Gcl-devel] Re: portable cdecl 'elliptic' function calls
- From: "Mike Thomas" <miketh at brisbane dot paradigmgeo dot com>
- To: "Camm Maguire" <camm at enhanced dot com>, "Fergus Henderson" <fjh at cs dot mu dot OZ dot AU>
- Cc: <gcc at gcc dot gnu dot org>, <axiom-developer at nongnu dot org>, <maxima at mail dot ma dot utexas dot edu>, <acl2 at lists dot cc dot utexas dot edu>, <gcl-devel at gnu dot org>
- Date: Thu, 31 Jul 2003 09:33:44 +1000
- Subject: RE: [Gcl-devel] Re: portable cdecl 'elliptic' function calls
Hi Camm.
It must be statically linked with gcc on Windows rather than being
standalone, assuming it's used there at all as it is absent from my Cygwin
and MinGW32 gcc lib directories.
The gcc source seems to imply it works on Windows but some docs I've read on
the web don't list Windows as a target platform for libffi. (Never built
gcc so can't say which.)
Fergus, did you use it in the Cygwin port of Mercury?
Cheers
Mike Thomas
| -----Original Message-----
| From: gcl-devel-bounces+miketh=brisbane.paradigmgeo.com@gnu.org
| [mailto:gcl-devel-bounces+miketh=brisbane.paradigmgeo.com@gnu.org]On
| Behalf Of Camm Maguire
| Sent: Thursday, July 31, 2003 7:55 AM
| To: Fergus Henderson
| Cc: gcc@gcc.gnu.org; axiom-developer@nongnu.org;
| maxima@mail.ma.utexas.edu; acl2@lists.cc.utexas.edu; gcl-devel@gnu.org
| Subject: [Gcl-devel] Re: portable cdecl 'elliptic' function calls
|
|
| Greetings, and thank you for this tip! I now think I see how to do
| this in GCL, and would like to build in dependency on libffi. Is this
| available on everyone's systems? I'm assuming its packaged at least
| everywhere gcc is available. What about solaris, Mac OS X?
|
| Take care,
|
| Fergus Henderson <fjh@cs.mu.OZ.AU> writes:
|
| > On 28-Jul-2003, Camm Maguire <camm@enhanced.com> wrote:
| > > object
| > > c_apply_n(object (*fn)(), int n, object *x)
| > > {object res=Cnil;
| > > #if 1
| > > object *stack;
| > >
| > > if (!(stack=alloca(n*sizeof(*stack))))
| > > FEerror("Cannot allocate stack for elliptic call", 0);
| > > memcpy(stack,x,n*sizeof(*stack));
| > > res=fn();
| >
| > This code is extremely non-portable.
| >
| > I suggest you try using libffi, which is included in the GCC sources.
| > See libffi/README.
| >
| > --
| > Fergus Henderson <fjh@cs.mu.oz.au> | "I have always known
| that the pursuit
| > The University of Melbourne | of excellence is a lethal habit"
| > WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of
| T. S. Garp.
| >
| >
| >
|
| --
| Camm Maguire camm@enhanced.com
| ==========================================================================
| "The earth is but one country, and mankind its citizens." -- Baha'u'llah
|
|
| _______________________________________________
| Gcl-devel mailing list
| Gcl-devel@gnu.org
| http://mail.gnu.org/mailman/listinfo/gcl-devel
|
|