[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Driving DejaGNU from Linux for testing arm-none-eabi toolchain executed
From: |
Torbjorn SVENSSON |
Subject: |
Driving DejaGNU from Linux for testing arm-none-eabi toolchain executed on Windows |
Date: |
Fri, 2 Oct 2020 15:29:09 +0000 |
Hello,
I've downloaded the source package of GCC from Arm
(https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads).
This package builds a cross toolchain for arm-none-eabi. If I run the scripts
on a Linux system without any modifications, it builds one toolchain for a
Linux host, and one for a Windows host. So far so good.
To run the DejaGNU test suite for the Linux build, I simply enter the build
structure and run 'make check....' as usual and it works.
To run the DejaGNU test suite for the Windows build, I copied the entire build
tree to a Windows system and then start the same 'make check...' command there.
While this works, it's quite slow and I have to "hack" the build by touching
all files to ensure nothing is built when I try to launch the test suite.
Is it possible to run DejaGNU on a Linux system for the Windows tests too, but
use scp/ssh, or something similar, to connect to the Windows system to run the
toolchain binaries?
I'm thinking something like this:
1. Build the toolchain using the Arm provided scripts
2. Copy the source tree to the Windows system. (Is this needed for includes to
work...?)
3. Copy the "install-mingw" (build output) structure to the Windows system.
4. Launch the DejaGNU suite on the Linux system and configure it to connect to
the Windows system for every invocation of the toolchain.
Is this possible? If so, how do I configure DejaGNU to do this?
To make it a bit easier, assume that SSH is running on the Windows system and
that I'm able to connect from the Linux system to the Windows system without
any password.
I'm also not sure that step 2 is needed above. I see that DejaGNU will try to
upload the source code for the test case, but what about include statements?
How does DejaGNU know what resources that are needed for a particular test case?
To give some performance figures:
Running all the g++ tests for Cortex-M4 with FPU and using QEMU as a simulator
takes about 35min for me.
Running the same set of test with the same target on Windows with the same
hardware takes about 8h!
To reduce the risk of introducing different QEMU results on Linux and Windows,
I have created a simulator script that transfers the built binary to the Linux
system and executes QEMU on the Linux system.
Kind regards,
Torbjörn
- Driving DejaGNU from Linux for testing arm-none-eabi toolchain executed on Windows,
Torbjorn SVENSSON <=