DragonLace.Net
Home of the GNAT AUX and future DRACO Ada compilers.

What a great way to close out the old year! With the assistance of a FreeBSD thread expert, Kostik Belousov, we determined that the only problem the 64-bit version of GNAT AUX had was that it was trying to execute tasks off the stack. This isn't allowed by default on FreeBSD. In fact, the only BSD that does allow this by default is DragonFly. OpenBSD, NetBSD, Darwin, and Solaris all specifically change the permissions on the stack by the page before using it as a trampoline. Apparently nobody ever bothered to create the same functionality for FreeBSD.

Luckily for us, the trail blazed by the *nixes allowed similar functionality to be developed for FreeBSD 64 quickly. The results were instantly gratifying as the FreeBSD64 GNAT AUX passed all tests immediately, and uses the Zero-Cost exception handling again as well.

The downloadable binary has already been updated to the patched Dec 21 snapshot, and the FreeBSD packages will be developed soon, and submitted to the ports once everything is verified working. The i386 packages have already been built (for DragonFly BSD as well) but haven't been made available just yet. But soon!

Last edited Fri May 24 16:28:01 2013
© 2010 John Marino | design elements by styleshout | artwork by Arturo Aguirre