*** MOVED ***

NOTE: I have merged the contents of this blog with my web-site. I will not be updating this blog any more.


New GCC C Parser

Lesser mortals take significantly longer than the mere week that Joseph Myers took to write a new recursive-descent C parser for GCC that accepts the same C language plus GNU extensions (a.k.a. "GNU C") as the existing one that uses Bison. :-/

(Originally posted on Advogato.)


Jacks Migrated

Jacks has migrated to its new home within Mauve! Thank you Tom and Mark.

(Originally posted on Advogato.)

QEMU Rocks!

At work, we needed to test out our project on as many machines as possible, but we could not get access to enough machines that we could maul as and when we pleased. VMWare would have helped, but we didn't have enough licenses. Bochs was good but was too slow for practical purposes. Fortunately for us, we found QEMU and it fit the bill quite well. It has been written primarily by Fabrice Bellard and is quite fast and works surprisingly well - we could get an entire installation of Red Hat Enterprise Linux 3 Advanced Server running under QEMU without any problems!

For the adventurous, quite a few QEMU-ready images can be found at FreeOSZoo. QEMU also comes with a utility to convert VMWare disc images to the raw disc images used by both QEMU and Bochs. Very cool stuff and highly recommended! Thanks Fabrice!

(Originally posted on Advogato.)



Tom thinks that Jacks should be forked since development on it has stalled and no one seems to respond to any mails. Anyone checking out the Jacks CVS repository regularly or taking a look at the Jacks mailing list archives would also come to the same conclusion. Jacks is a fantastic testsuite but sadly has not kept up with the language constructs introduced in JDK 1.5 (or "Java 2 Version 5" or "Java 5" or whatever) and patches to fix this have been mostly ignored for some reason.

In fact, there seems to be a proposal to merge Jacks with Mauve. That would be really neat. I hope it is kept as a separate module within the Mauve CVS repository though, as compiler and runtime testsuites ought to be kept separate, in my opinion.

As an aside, I found that GCJX gives different results (as is to be expected) when run against Jacks and different values for the --source option. For example, the construct Object foo = 1; now seems to be valid due to automatic boxing. Perhaps Jacks should be modified to tailor the status of testcase executions based on the language level targetted by the compiler being tested. Or perhaps it can just target the latest language specification.

Talking of GCJX, a simple clarification I asked for on the GCC mailing list resulted in a big thread - thankfully, the patch I suggested to work around the issue was approved, so that the part of GCC used by GCJX can now be compiled by a C++ compiler once again.

(Originally posted on Advogato.)


Corrupt RAM Modules

Once again, I have been bitten by bad RAM modules, this time in the Dell Optiplex GX270 machine I use at work. Memtest-86 was able to diagnose the problem after I spent almost a month wondering why programs randomly crashed on me and trying out all sorts of software updates.

(Originally posted on Advogato.)


Tom has been having great sucesses with GCJX lately. He announced his intentions to start a branch on gcc.gnu.org to continue with its development. He also wanted to take suggestions for an alternative name for this project. The straightforward one in the grand hacker tradition of recursive acronyms would perhaps be "GING" for "GING Is Not GCJ" or maybe "GRAG" for "GCJ Rewritten As GRAG". Or perhaps "JAC4J" for "Just Another Compiler For Java", though that one almost looks like it has come from a marketroid.

(Originally posted on Advogato.)