Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2006-08

FPC 2.0.4 arm-linux testing

13 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Daniël Mantione
to Alexander Todorov

Op Wed, 9 Aug 2006, schreef Alexander Todorov:

Show quoted text 11 lines
I downloaded the 2.0.4_rc3 source from svn and successfully build the cros compiler. According to wiki (http://www.freepascal.org/wiki/index.php/How_to_start#Building_the_compiler) this command have to build all tests and create a digest output, but it fails. make clean all digest Makefile:1314: *** "*** ERROR: TEST_FPC is missing ***". Stop. How do I tell make what compiler I am using??? I have to use the build arl-linux crosscompiler right?

Sure, this is right. You can do this by appending FPC=/path/to/ppcarm to the make command.

Daniël

Reply by email

Florian Klaempfl
to Daniël Mantione
Daniël Mantione wrote 17 lines
Op Wed, 9 Aug 2006, schreef Alexander Todorov: > I downloaded the 2.0.4_rc3 source from svn and successfully build the > cros compiler. > According to wiki > (http://www.freepascal.org/wiki/index.php/How_to_start#Building_the_compiler) > this command have to build all tests and create a digest output, but it fails. > > make clean all digest > Makefile:1314: *** "*** ERROR: TEST_FPC is missing ***". Stop. > > How do I tell make what compiler I am using??? I have to use the build > arl-linux crosscompiler right? Sure, this is right. You can do this by appending FPC=/path/to/ppcarm to the make command.

No, TEST_FPC=/.../ must be appended because the test suite distinguishes between the compiler used to build the test tools like digest and the compiler actually being tested.

Reply by email

Alexander Todorov
to Florian Klaempfl
Florian Klaempfl wrote
No, TEST_FPC=/.../ must be appended because the test suite distinguishes between the compiler used to build the test tools like digest and the compiler actually being tested.

Thanks, I should have tried this.
Another question: How do I pass command line options to the compiler being tested?
I need option -XP to prefix binutils names.
TEST_FPC="/path/to/ppcarm -XParm-linux-" does not work. make thinks -XP is optin for it.

Reply by email

Jonas Maebe
to Alexander Todorov
Alexander Todorov wrote 12 lines
> No, TEST_FPC=/.../ must be appended because the test suite > distinguishes between > the compiler used to build the test tools like digest and the > compiler actually > being tested. Thanks, I should have tried this. Another question: How do I pass command line options to the compiler being tested? I need option -XP to prefix binutils names. TEST_FPC="/path/to/ppcarm -XParm-linux-" does not work. make thinks -XP is optin for it.

TEST_OPT="..."

Jonas

Reply by email

Alexander Todorov
to Jonas Maebe
Jonas Maebe wrote
TEST_OPT="..."

Thanks again. I saw the options in the readme file.

After running:
make TEST_FPC=/usr/local/lib/fpc/2.0.4/ppcarm TEST_OPT=-XParm-linux- clean all digest

in the fpc/tests directory it starts compiling for a while and then error occures:

/usr/local/lib/fpc/2.0.4/ppcarm -n -FEarm-linux -Tlinux -XParm-linux- erroru.pp /usr/local/lib/fpc/2.0.4/ppcarm -n -FEarm-linux -Tlinux -XParm-linux- ../test/cg/ptest.pp
/usr/local/lib/fpc/2.0.4/ppcarm -n -FEarm-linux -Tlinux -XParm-linux- popuperr.pp
make[1]: Leaving directory `/home/alexx/repos/fpc_2.0.4_rc3/tests/units' /bin/cp -fp test/cg/obj/linux/arm/ctest.o test/cg
/bin/cp -fp test/cg/obj/linux/arm/tcext3.o test/cg /bin/cp: cannot stat `test/cg/obj/linux/arm/tcext3.o': No such file or directory make: *** [copyfiles] Error 1

The file tcext3.c seems to not compile. There are some .c files to test linking between FPC and C object files. The test should compile them as well, right?

According to readme file there is this option:
TEST_CCOMPILER - defaults to installed gcc compiler, but only if driver and test full-targets are the same.

Does this mean that I need to have gcc-arm installed? Are there other .c / .cpp files that need gcc? How to check why this file was not compiled?

Reply by email

Peter Vreman
to Alexander Todorov
Show quoted text 27 lines
On 8/9/06, Jonas Maebe wrote: > TEST_OPT="..." Thanks again. I saw the options in the readme file. After running: make TEST_FPC=/usr/local/lib/fpc/2.0.4/ppcarm TEST_OPT=-XParm-linux- clean all digest in the fpc/tests directory it starts compiling for a while and then error occures: /usr/local/lib/fpc/2.0.4/ppcarm -n -FEarm-linux -Tlinux -XParm-linux- erroru.pp /usr/local/lib/fpc/2.0.4/ppcarm -n -FEarm-linux -Tlinux -XParm-linux- ../test/cg/ptest.pp /usr/local/lib/fpc/2.0.4/ppcarm -n -FEarm-linux -Tlinux -XParm-linux- popuperr.pp make[1]: Leaving directory `/home/alexx/repos/fpc_2.0.4_rc3/tests/units' /bin/cp -fp test/cg/obj/linux/arm/ctest.o test/cg /bin/cp -fp test/cg/obj/linux/arm/tcext3.o test/cg /bin/cp: cannot stat `test/cg/obj/linux/arm/tcext3.o': No such file or directory make: *** [copyfiles] Error 1 The file tcext3.c seems to not compile. There are some .c files to test linking between FPC and C object files. The test should compile them as well, right?

No. the are precompiled with a gcc compiler. But you can fake it by creating a empty .o file. Ofcourse it'll let some tests fail, but the other tests can be run.

Reply by email

Alexander Todorov
to Peter Vreman

Here is the digest from the test:
The FPC being tested is ppcarm 2.0.4 rc2 from the ftp site. The test suite is the 2.0.4 rc3 from svn.

Using qemu-arm emulator
`make TEST_FPC=/usr/local/lib/fpc/2.0.4/ppcarm TEST_OPT=-XParm-linux- EMULATOR=qemu-arm clean all digest`
--------------------------------------------------------------------------------------------------------------- Total = 3065 (59:3006)
Total number of compilations = 1774 (44:1730)
Successfully compiled = 1375
Successfully failed = 355
Compilation failures = 42
Compilation that did not fail while they should = 2 Total number of runs = 1291 (15:1276)
Successful runs = 1276
Failed runs = 15
Number units compiled = 72
Number program that should not be run = 8
Number of skipped tests = 170
Number of skipped graph tests = 10
Number of skipped interactive tests = 15
Number of skipped known bug tests = 5
Number of skipped tests for other versions = 9
Number of skipped tests for other cpus = 110
Number of skipped tests for other targets = 21
---------------------------------------------------------------------------------------------------------------

With no emulator. Tested on i386 machine.
`make TEST_FPC=/usr/local/lib/fpc/2.0.4/ppcarm TEST_OPT=-XParm-linux- clean all digest`
--------------------------------------------------------------------------------------------------------------- Total = 3069 (1337:1732)
Total number of compilations = 1776 (44:1732)
Successfully compiled = 1377
Successfully failed = 355
Compilation failures = 42
Compilation that did not fail while they should = 2 Total number of runs = 1293 (1293:0)
Successful runs = 0
Failed runs = 1293
Number units compiled = 72
Number program that should not be run = 8
Number of skipped tests = 168
Number of skipped graph tests = 10
Number of skipped interactive tests = 15
Number of skipped known bug tests = 5
Number of skipped tests for other versions = 9
Number of skipped tests for other cpus = 108
Number of skipped tests for other targets = 21
---------------------------------------------------------------------------------------------------------------

Please let me know what other log files do you need (e.g. longlog, ...).

I tested only the 'pi' program on real hardware. Is there a way to automatically execute all compiled programs on real device? How to know if they worked correctly?

I am going to play with my Zaurus PDA and see if it can take 'on board' compilation.

Reply by email

Peter Vreman
to Alexander Todorov
Show quoted text 11 lines
Here is the digest from the test: The FPC being tested is ppcarm 2.0.4 rc2 from the ftp site. The test suite is the 2.0.4 rc3 from svn. Using qemu-arm emulator `make TEST_FPC=/usr/local/lib/fpc/2.0.4/ppcarm TEST_OPT=-XParm-linux- EMULATOR=qemu-arm clean all digest` I tested only the 'pi' program on real hardware. Is there a way to automatically execute all compiled programs on real device? How to know if they worked correctly?

Make sure you can login from the i386-linux host using rsh or ssh to the real devices without entering passwords.

add TEST_SSH=<ip/name of device> for ssh or TEST_RSH=<ip/name> for rsh.

if disk space is limited add TEST_DELTEMP=1 to remove the tests after execution.

add TEST_REMOTEPATH=<dir on the device> if you want to put the executables in a different dir on the remote device than the home dir. Note: Make sure the dir exists on the real device.

Example:

make TEST_FPC=/usr/local/lib/fpc/2.0.4/ppcarm
TEST_BINUTILSPREFIX=arm-linux-
TEST_DELTEMP=1 TEST_REMOTEPATH=/home/peter/tmp

For "documentation" see tests/Makefile.fpc for possible options like the above.

Reply by email

Florian Klaempfl
to Peter Vreman
Peter Vreman wrote 32 lines
> Here is the digest from the test: > The FPC being tested is ppcarm 2.0.4 rc2 from the ftp site. The test > suite is the 2.0.4 rc3 from svn. > > Using qemu-arm emulator > `make TEST_FPC=/usr/local/lib/fpc/2.0.4/ppcarm TEST_OPT=-XParm-linux- > EMULATOR=qemu-arm clean all digest` > > I tested only the 'pi' program on real hardware. Is there a way to > automatically execute all compiled programs on real device? How to > know if they worked correctly? Make sure you can login from the i386-linux host using rsh or ssh to the real devices without entering passwords. add TEST_SSH=<ip/name of device> for ssh or TEST_RSH=<ip/name> for rsh. if disk space is limited add TEST_DELTEMP=1 to remove the tests after execution. add TEST_REMOTEPATH=<dir on the device> if you want to put the executables in a different dir on the remote device than the home dir. Note: Make sure the dir exists on the real device. Example: make TEST_FPC=/usr/local/lib/fpc/2.0.4/ppcarm TEST_BINUTILSPREFIX=arm-linux- TEST_DELTEMP=1 TEST_REMOTEPATH=/home/peter/tmp For "documentation" see tests/Makefile.fpc for possible options like the above.

Also the readme in the tests dir contains some examples.

Reply by email

Alexander Todorov
to Florian Klaempfl

Hello,
thanks to all that helped me execute the tests.
These are the 3 digest files produced from testing FPC 2.0.4 rc2 for arm-linux, using 2.0.4 rc3 tests. Tested on x86(compile OK, all runs fail of course), qemu-arm, real arm device. Will provide the full logs from the test if necessary.

Reply by email