gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Deprecating ffcall


From: David Ayers
Subject: Deprecating ffcall
Date: Wed, 01 Apr 2009 08:29:34 +0200

Am Mittwoch, den 01.04.2009, 00:48 +0100 schrieb David Chisnall:
> >> I'd suggest modifying the configure script.  The ffcall  
> >> implementation
> >> doesn't work safely with EtoileThread, since it does not provide a
> >> mechanism for preventing the invocation from trampling over a
> random
> >> stack address if it lasts longer than the call frame.  When I  
> >> reported
> >> this, there was talk of deprecating ffcall, since there don't
> appear
> >> to be any platforms where GNUstep and ffcall work but libffi
> doesn't.
> >> I would suggest that for the next release we require libffi and
> see  
> >> if
> >> anyone complains.
> >
> > Where do you get the information that "there don't appear to be any
> > platforms where GNUstep and ffcall work but libffi doesn't"?  IIRC
> > peoples mileage varies.  But indeed we need to start documenting which
> > works with which.
> 
>  From the mailing list when I asked this last, and from comparing the  
> list of supported platforms for the two.  Again, can you name one  
> platform supported by ffcall and GNUstep, but not libffi?  Does anyone  
> want to jump in and say 'My platform doesn't support libffi!  Please  
> don't drop support!' or is this all hypothetical?

This list is the gnustep developer list.  But I'll assume that you meant
the discussion list, yet I haven't verified.  Please take note, that not
all GNUstep users are necessarily on the list.  In fact from the project
I work with, which has production implementations for about 30 SMBs plus
about 5 partners, I am the only one subscribed to this list.  [OTOH, I
admit that these installations are on mainstream platforms where libffi
is supported].

Here is recent post of someone who got better mileage from ffcall that
libffi:
http://lists.gnu.org/archive/html/discuss-gnustep/2009-03/msg00018.html

The real issue is that since ffcall had been the default until recently,
people have just started switching to using libffi:
http://lists.gnu.org/archive/html/discuss-gnustep/2008-05/msg00085.html
http://lists.gnu.org/archive/html/discuss-gnustep/2008-12/msg00021.html
http://lists.gnu.org/archive/html/discuss-gnustep/2008-09/msg00017.html
http://lists.gnu.org/archive/html/discuss-gnustep/2008-07/msg00069.html

I agree that if it is really the case that libffi supersedes ffcall on
all "Supported Platforms" that we should aim to remove it:
http://lists.gnu.org/archive/html/discuss-gnustep/2008-12/msg00019.html

The last stable -base release at the end of last year already defaults
to libffi.  I'm still uneasy to completely remove ffcall, simply due to
the lack of testing on various platforms which is why I start writing
tests like these:
http://svn.gna.org/viewcvs/gnustep/tests/testsuite/trunk/base/NSProxy/test01.m 
yet those do not go far enough as we actually need to test DO in action.

So.... I agree that we could deprecate ffcall (and build_apply) but I
think we should also find out which platforms we know we want to support
and test them with libffi.  [Granted that Linux 2.4 may not be a
feasible target to keep support for.]

Cheers,
David






reply via email to

[Prev in Thread] Current Thread [Next in Thread]