Problem with rtems5 on mvme2100 - hard-float/soft-float confusion

Chris Johns chrisj at rtems.org
Mon Apr 1 23:11:07 UTC 2019


On 1/4/19 6:45 pm, Joachim Rahn wrote:
> The first thing I recognized was, that unfortunately only the ELF-Files (.exe> from testsuites were build but not the BIN-Files (.ralf). So it
> seems to me, that the bsp-post-link from make/custom/mvme2100.cfg wasn't executed?!?

The `bsp-post-link` step has been removed from the build in RTEMS. A number of
clean ups in this area were performed including removing map generation and
printing the size. Let me explain. This is long but I hope it explains what is
happening.

If you build all bsps and all tests with some of the configuration options the
size of the build is large. This link to a build everything posted by Joel shows
a build using the `rtems-bsp-builder` command:

 https://lists.rtems.org/pipermail/build/2019-March/002087.html

We use this command to make sure a change has not broken a specific bsp in a
certain configuration. The stats from this build are:

 Total Time            : 7:49:14.164638 for 1747 completed job(s)
 Average BSP Build Time: 0:00:16.115721

I think this is a 24 core machine and a job is a single build of RTEMS. We can
parallel configure and build a BSP on average every 16 seconds which is not too
bad considering the time a single configure stage takes. A non-smp build for the
erc32 BSP has 586 tests which means the over 1 million executables are created.
Adding a post link stage to every BSP and the build increases this to 2 million
files and those extra 1 million files never run on hardware and offer no value
in this case. A choice was made between the convenience of users and the cycle
and disk space maintainers waste running this stage.

The user convenience is important and that is acknowledged. There is a need for
us to capture and present the bsp-post-link logic but it is not clear how to do
this. The current way this logic is captured is fragile and limited and needs to
change. There are many build systems these days that do more than `make` and we
need to consider how we support those systems.

The `rtems-test` command has support in it's user configurations:

 https://docs.rtems.org/branches/master/user/testing/configuration.html#bsp-and-user-configuration

However this is specific to that tool and it fragments any consolidation in a
BSP configuration in RTEMS. This will need to change once it can be cleanly
exported from RTEMS.

This all leads to how we export the compiler and compile flags from RTEMS for a
BSP. This is on going issue and the bsp-post-link logic is part of this problem.
This topic is currently being discussed in:

 https://devel.rtems.org/ticket/3729

The ticket is in response to me attempting to document how to build a simple
application as a result of user feedback.

I am sorry there is no quick answer or fix but we are aware of this issue and we
would like to fix it. Build system work is like the servers, these areas are
difficult to attract support money so the work is done unfunded by dedicated
people and our time is limited. If a user reading this would like to help with
funding please consider a support option. If you are unsure how or what this is
please directly email Joel or me.

Chris


More information about the users mailing list