From: Duncan Sands <baldrick@free.fr>
To: comp.lang.ada@ada-france.org
Cc: Robert A Duff <bobduff@shell01.theworld.com>
Subject: Re: LLVM--Low Level Virtual Machine--and Ada
Date: Mon, 23 Jul 2007 09:47:51 +0200
Date: 2007-07-23T09:50:03+02:00 [thread overview]
Message-ID: <mailman.6.1185176858.3834.comp.lang.ada@ada-france.org> (raw)
In-Reply-To: <wccvecfb25a.fsf@shell01.TheWorld.com>
Hi Bob, thanks for your informative reply.
> Another problem is that some modern machines use DEP (which I think
> stands for "data execution prevention" or something like that). DEP
> means the operating system prevents writeable data from being executed
> as code. The purpose is to prevent certain kinds of security holes
> that are common in languages that don't do array-bounds checking.
> But DEP prevents trampolines from working, so users have to turn
> it off in order to run some Ada programs (such as the compiler).
> It's a pain because users get some mysterious error message
> when trampolines are used.
I'm not sure that this is a problem anymore: gcc uses a bunch of tricks
(eg: setting a flag on the program that notes it runs code on the stack)
to inform the operating system that the trampoline is kosher IIRC. That
said, I haven't tried to implement any of this in LLVM yet, which is also
why I'm vague on the details.
> Another problem (I've heard) is that there's at least one machine
> supported by gcc where trampolines don't work. I don't remember which
> machine, and I don't even know for sure that this is true.
All architectures currently supported by LLVM support trampolines in gcc.
Ciao,
Duncan.
next prev parent reply other threads:[~2007-07-23 7:47 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-18 3:56 LLVM--Low Level Virtual Machine--and Ada Jerry
2007-07-18 7:24 ` Georg Bauhaus
2007-07-18 7:48 ` Duncan Sands
2007-07-19 14:30 ` Maxim Reznik
2007-07-19 14:56 ` Duncan Sands
[not found] ` <200707191656.27602.baldrick@free.fr>
2007-07-19 15:03 ` Duncan Sands
2007-07-19 21:30 ` Robert A Duff
2007-07-20 7:44 ` Duncan Sands
2007-07-20 14:06 ` Robert A Duff
2007-07-21 13:09 ` Tero Koskinen
2007-07-23 7:47 ` Duncan Sands [this message]
2007-07-24 2:12 ` Randy Brukardt
2007-07-24 8:03 ` Duncan Sands
2007-07-24 9:50 ` Colin Paul Gloster
2007-07-24 10:47 ` Markus E Leypold
2007-07-25 12:12 ` Colin Paul Gloster
2007-07-25 12:59 ` Markus E Leypold
2007-07-24 19:21 ` Randy Brukardt
2007-07-24 19:36 ` Duncan Sands
2007-07-24 19:58 ` Randy Brukardt
2007-07-24 23:28 ` Robert A Duff
2007-07-25 0:39 ` Randy Brukardt
2007-07-25 2:00 ` Robert A Duff
2007-07-25 13:14 ` Duncan Sands
2007-07-21 22:04 ` anon
2007-07-22 13:22 ` Steve
2007-07-23 12:29 ` Colin Paul Gloster
2007-07-23 14:42 ` anon
2007-07-23 16:55 ` Markus E Leypold
2007-07-24 10:19 ` Colin Paul Gloster
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox