Hi, On Mon, Jun 16, 2008 at 6:17 PM, Brooks Davis <brooks at freebsd.org> wrote:> LLVM 2.3 is building with no patches and gcc 4.2.1 on FreeBSDOK, so I have taken the changes to BitWriter.cpp from svn and that builds that section of code OK for llvm-2.3. The next part I will need help with, as I dont really know where to start: llvm[3]: Building ARM.td instruction information with tblgen assertion "getOperator()->isSubClassOf("SDNodeXForm") && "Unknown node type!"" f ailed: file "CodeGenDAGPatterns.cpp", line 932, function "ApplyTypeConstraints" gmake[3]: *** [/usr/ports/devel/llvm/w-llvm-2.3/llvm-2.3/lib/Target/ARM/Release/ ARMGenInstrInfo.inc.tmp] Abort trap (core dumped) gmake[3]: Leaving directory `/usr/ports/devel/llvm/w-llvm-2.3/llvm-2.3/lib/Targe t/ARM' gmake[2]: *** [ARM/.makeall] Error 2 gmake[2]: Leaving directory `/usr/ports/devel/llvm/w-llvm-2.3/llvm-2.3/lib/Targe t' gmake[1]: *** [Target/.makeall] Error 2 gmake[1]: Leaving directory `/usr/ports/devel/llvm/w-llvm-2.3/llvm-2.3/lib' gmake: *** [all] Error 1 *** Error code 2 This is not a gcc bug, but the assertion failing. A quick diff against this file shows a huge amount of changes and I have nowhere near enough knowledge to start comprehending this code. I am only starting to learn about compilers for my dissertation :) Any help is much appreciated -- Best Regards Edd http://students.dec.bournemouth.ac.uk/ebarrett
Hi, On Tue, Jun 17, 2008 at 10:58 AM, Edd Barrett <vext01 at gmail.com> wrote:> This is not a gcc bug, but the assertion failing. A quick diff against > this file shows a huge amount of changes and I have nowhere near > enough knowledge to start comprehending this code. I am only starting > to learn about compilers for my dissertation :) > > Any help is much appreciatedAlso may I add that I am using gcc-4.2 at this stage (i will try 3.3.5 after i figure this out). Also I am using YACC=yacc to try to cut the number of dependencies. Not sure if this makes a difference, but I do notice the build saying it is doing something different because bison is not found. -- Best Regards Edd http://students.dec.bournemouth.ac.uk/ebarrett
On Tue, Jun 17, 2008 at 10:58 AM, Edd Barrett <vext01 at gmail.com> wrote:> This is not a gcc bug, but the assertion failing. A quick diff against > this file shows a huge amount of changes and I have nowhere near > enough knowledge to start comprehending this code. I am only starting > to learn about compilers for my dissertation :)If you use bison instead of yacc this bug is not exposed. Is this correct behavior? -- Best Regards Edd http://students.dec.bournemouth.ac.uk/ebarrett
> If you use bison instead of yacc this bug is not exposed. > > Is this correct behavior?I guess so. bison is quite different to yacc, see "info bison". llvm depends on bison and this is quite well documented. At http://llvm.org/releases/2.3/docs/GettingStarted.html#software it says "bison" and specifically which version of Bison you've to use.
On Tue, Jun 17, 2008 at 12:16 PM, Edd Barrett <vext01 at gmail.com> wrote:> If you use bison instead of yacc this bug is not exposed.Sorry, disregard this comment. Bison seems to never be detected properly even if you set YACC=bison or even YACC=/usr/local/bin/bison. But thats another story. Whilst struggling to work out how i got a working build i noticed that (with gcc 3.3.5) the bus error does not always happen. Onmy last attempt, the build failed on first attempt and succeeded on second attempt (without a make clean in-between). This leads me to believe that something is very wrong. I am trying the same with gcc-4.2 now. -- Best Regards Edd http://students.dec.bournemouth.ac.uk/ebarrett