On Jan 8, 2012, at 7:03 AM, Wesley J. Landaker wrote: > Hey Tristan & other GHDL folks, > > Has anyone made any progress getting GHDL ported up to a build on and/or > with a newer GCC? > > I'm working on updating the GHDL Debian package. Currently it is built on > gcc-core-4.3.4 as a base, with gnat-4.4 as the compiler. > > This no longer builds in the current Debian environment. I would like to use > gnat-4.6, and a newer gcc-core that doesn't have issues with a multilib > environment (and has other improvements). > > The GHDL Ubuntu packages contain a patch which intrusively modifies gcc- > core-4.3.4 to make it work somewhat, but this isn't a sustainable solution > and doesn't completely fix the problems. > > Usually I can get through a couple obstacles, but my current attempts are > crashing and burning, and I have less time to work on this than I used to. > Has anyone else made any effort to make this work? Any full or partial > successes?
I'm going to try this on for shock value, then show a light at the end of the tunnel. First, no one is currently actively developing GHDL. There has been a dearth of volunteers. Tristan is off working hard for living doing Ada coding for what's probably flight critical applications in aerospace. I should be working for a living, too. Add to that I can't actually upload a release image to ghdl.free.fr from outside the free.fr domain, and only critical fixes are going to get released, making demands on Tristan's time (or rehosting or forking GHDL). Gcc release cycles have been too frequent for one person to keep up with part time (as you can attest). The implication is that GHDL can't keep up without more bodies or code contributions flowing back. Today there is one part time person and people praying for bug fixes. Currently the lifetime of the gcc front end version of GHDL is bound by the ability to compile gcc-4.3.x or otherwise newer version. Now for the good news. I recently came across someone doing a VHDL analyzer and simulator inspired by GHDL, written in C. There is one very interesting characteristic although the code is being organically grown (incrementally implemented, meaning potentially doing things over as you add complexity). It uses the LLVM code generator (back end) which is separable from the front end, uncoupling some of the forced synchronization like you're noting with trying to go beyond gcc-4.3.4 and gnat 4.4. In the LLVM 3.1 release notes there's mention of a gcc-4.6.1 based front end that implements Ada fully. This new tool adopts LLVM's bitcode library format preserving the ability I think to do Link Time Optimization (which an HDL simulator can benefit from) and foreign interfaces. I'd suggest GHDL takes a similar path and uses the LLVM back end in the future, in effect leapfrogging to become up to date. This provides a promise of the ability to do parallel thread execution at some point, too. In lieu of crafting the future there's always an mcode version for Linux and there's also the issue of VHDL standard compliance, where GHDL isn't fully VHDL-93 compliant. As far as your immediate problem other than Thomas Sailer at the Fedora Project with the multilib stuff, no. His patches ought to be evaluate fro inclusion in ghdl. On the surface gnat-4.6 seems separable from multilibs. http://download.fedora.redhat.com/pub/fedora/linux/releases/16/Everything/source/SRPMS/ghdl-0.29-2.143svn.4.fc16.src.rpm (43+ MB) See the ghdl.spec file. _______________________________________________ Ghdl-discuss mailing list Ghdl-discuss@gna.org https://mail.gna.org/listinfo/ghdl-discuss