unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Michael Welsh Duggan <mwd@md5i.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Tom Tromey <tromey@redhat.com>,
	jerry.james@xemacs.org, emacs-devel@gnu.org
Subject: Re: DSO-style FFI
Date: Sat, 12 Oct 2013 11:34:26 -0400	[thread overview]
Message-ID: <87wqlitse5.fsf@maru2.md5i.com> (raw)
In-Reply-To: <jwv8uy3jhvy.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Tue, 08 Oct 2013 22:40:59 -0400")

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> This approach seems very weird to me.
>
> Yup.
>
>> I don't understand why it is preferable to a libffi-based FFI.
>
> I don't claim it's a better solution, really.  I just don't see anny
> movement towards providing libffi support (other than people saying we
> should do it).
>
> I think the reason is that I don't know anyone who's willing/able to add
> libffi support to Emacs and write the corresponding code to link to
> (say) libgnutls.

It seems to me that writing libffi support to Emacs isn't that difficult
in and of itself.  I have no doubt that I could hack in something
low-level without too much difficulty.  The problems I see are A) that
it would be trivial to use such an interface to crash or subvert emacs
from elisp, and B) that such a binding will allow people to write
non-free extensions to Emacs in just the way that RMS has specifically
stated that he would like to avoid.

As an example, it would be possible to use a raw libffi binding to call
memset with appropriate arguments to tromp right over any memory that
emacs has access to.

This isn't to say that something that is not libffi itself could use
libffi to create something safer.  Though I don't know what that would
be.

-- 
Michael Welsh Duggan
(md5i@md5i.com)



  reply	other threads:[~2013-10-12 15:34 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-06  9:15 GNU Emacs-libnettle-libhogweed integration patch v1 Ted Zlatanov
2013-10-06  9:58 ` bignum support in Emacs with libgmp (was: GNU Emacs-libnettle-libhogweed integration patch v1) Ted Zlatanov
2013-10-06 16:09 ` GNU Emacs-libnettle-libhogweed integration patch v1 Eli Zaretskii
2013-10-06 21:07   ` Ted Zlatanov
2013-10-06 16:51 ` Stefan Monnier
2013-10-06 16:58   ` Eli Zaretskii
2013-10-06 21:19   ` Ted Zlatanov
2013-10-07  4:02     ` Stefan Monnier
2013-10-07 11:41       ` Ted Zlatanov
2013-10-07 22:03         ` Ted Zlatanov
2013-10-07 22:58           ` Stefan Monnier
2013-10-07 23:43             ` Emacs crypto use cases (was: GNU Emacs-libnettle-libhogweed integration patch v1) Ted Zlatanov
2013-10-08  3:02               ` Emacs crypto use cases Stefan Monnier
2013-10-08 10:33                 ` Ted Zlatanov
2013-10-08 13:17                   ` Stephen J. Turnbull
2013-10-08 16:35                   ` DSO-style FFI (was: Emacs crypto use cases) Stefan Monnier
2013-10-08 17:32                     ` DSO-style FFI Tom Tromey
2013-10-08 19:42                       ` Ted Zlatanov
2013-10-08 20:43                         ` Tom Tromey
2013-10-09 23:21                           ` Ted Zlatanov
2013-10-10  8:09                             ` Andreas Schwab
2013-10-08 20:47                         ` Davis Herring
2013-10-09 22:26                           ` Ted Zlatanov
2013-10-09 23:52                             ` Davis Herring
2013-10-10  1:25                               ` Ted Zlatanov
2013-10-10  4:36                                 ` DSO-style DSOs (this is NOT an FFI!) Stephen J. Turnbull
2013-10-09  1:48                       ` DSO-style FFI Stephen J. Turnbull
2013-10-09  2:40                       ` Stefan Monnier
2013-10-12 15:34                         ` Michael Welsh Duggan [this message]
2013-10-12 18:55                           ` Stefan Monnier
2013-10-18 13:31                             ` Ted Zlatanov
2013-10-19 14:41                               ` Stefan Monnier
2013-10-19 15:08                               ` Stefan Monnier
2013-10-19 17:33                               ` Andy Moreton
2013-10-19 19:44                                 ` Ted Zlatanov
2013-10-12 23:36                           ` Stephen J. Turnbull
2013-10-08 19:50                     ` Ted Zlatanov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wqlitse5.fsf@maru2.md5i.com \
    --to=mwd@md5i.com \
    --cc=emacs-devel@gnu.org \
    --cc=jerry.james@xemacs.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=tromey@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).