Problem While Running Test Suite

Hello;

I was able to build and install llvm(3.0) under Ubuntu 11.10 (using the ./configure script found under llvm source, and then make and make install). While configuring, I gave --prefix as a directory where I would like llvm to be installed. I did not give --with-llvmgccdir and the --enable-optimized argument to configure. Because 3.0 doesn’t come with llvmgcc source/binaries and I decided upon using the compatible version of dragon egg.

While making dragon egg, I updated the makefile in the line LLVM_CONFIG?=/home/arnie/llvm/llvm-install/bin/llvm-config (llvm was installed inside llvm-install directory). It successfully produced the dragon egg .so file. Using this .so file I was able to compile simple c programs and manipulate them.

The problem came when I am trying to compile test-suite. I downloaded the test-suite into the /projects directory and then reconfigured in the same above said way (without --enable-optimized and --with-llvmgccdir, but I gave --prefix just like before). Then I did a make and make install again (as if I don’t do it, I was getting some error while compiling simple files). This created a test-suite inside the /projects directory. I went inside that directory and ran “make”.

After that I tried to run the following commands.
gmake TEST=nightly report
gmake TEST=libcalls report

But I got unexpected outputs. The outputs are attached with this email.

Part of the report .txt file for nightly

Program | GCCAS Bytecode LLC compile LLC-BETA compile JIT codegen | GCC CBE LLC LLC-BETA JIT | GCC/CBE GCC/LLC GCC/LLC-BETA LLC/LLC-BETA
MultiSource/Applications/Burg/burg | * * * * * | 0.0000 * * * * | n/a n/a n/a n/a
MultiSource/Applications/ClamAV/clamscan | * * * * * | 0.1900 *

And the raw file for nightly contains the following messages -

report.libcalls.txt (37.1 KB)

report.libcalls.raw.out (168 KB)

report.nightly.raw.out (377 KB)

report.nightly.txt (79.9 KB)

Hello;

I was able to build and install llvm(3.0) under Ubuntu 11.10 (using the ./configure script found under llvm source, and then make and make install). While configuring, I gave --prefix as a directory where I would like llvm to be installed. I did not give --with-llvmgccdir and the --enable-optimized argument to configure. Because 3.0 doesn’t come with llvmgcc source/binaries and I decided upon using the compatible version of dragon egg.

While making dragon egg, I updated the makefile in the line LLVM_CONFIG?=/home/arnie/llvm/llvm-install/bin/llvm-config (llvm was installed inside llvm-install directory). It successfully produced the dragon egg .so file. Using this .so file I was able to compile simple c programs and manipulate them.

The problem came when I am trying to compile test-suite. I downloaded the test-suite into the /projects directory and then reconfigured in the same above said way (without --enable-optimized and --with-llvmgccdir, but I gave --prefix just like before). Then I did a make and make install again (as if I don’t do it, I was getting some error while compiling simple files). This created a test-suite inside the /projects directory. I went inside that directory and ran “make”.

After that I tried to run the following commands.
gmake TEST=nightly report
gmake TEST=libcalls report

But I got unexpected outputs. The outputs are attached with this email.

Part of the report .txt file for nightly

Program | GCCAS Bytecode LLC compile LLC-BETA compile JIT codegen | GCC CBE LLC LLC-BETA JIT | GCC/CBE GCC/LLC GCC/LLC-BETA LLC/LLC-BETA
MultiSource/Applications/Burg/burg | * * * * * | 0.0000 * * * * | n/a n/a n/a n/a
MultiSource/Applications/ClamAV/clamscan | * * * * * | 0.1900 *

And the raw file for nightly contains the following messages -

report.libcalls.txt (37.1 KB)

report.libcalls.raw.out (168 KB)

report.nightly.raw.out (377 KB)

report.nightly.txt (79.9 KB)

Hi Arnamoy, it used to be quite easy to set up the testsuite to test dragonegg,
but unfortunately some cleanups to the testsuite configure logic had the sad
side effect of making this more work than it used to be. I suggest you do it
as follows:

(1) create a directory XYZ/bin/ containing the following scripts:
llvm-g++:
   #!/bin/sh
   exec g++-4.6 -fplugin=path_to_plugin/dragonegg.so "$@"

llvm-gcc:
   #!/bin/sh
   exec gcc-4.6 -fplugin=path_to_plugin/dragonegg.so "$@"

Don't forget to make the llvm-gcc and llvm-g++ scripts executable. Of course
you should replace gcc-4.6 with whatever gcc you built the plugin for.

(2) configure LLVM with:
   --with-llvmcc=llvm-gcc --with-llvmgccdir=path/XYZ/

Then the configure script will look in path/XYZ/bin/ for llvm-gcc and also
llvm-g++, and use those for building the testsuite.

I hope this solves your problem.

Ciao, Duncan.