Zephyr Toolchain Working Group Meeting – 05 March 2020

Rasmussen, Torsten
 

Hi,

 

Today’s meeting minutes:

https://docs.google.com/document/d/1IQKBK-GcJNZG0O9QArqYfvb6Huk5xHscN-XIGEZr-z8/

Notes/Minutes

Status updates

  • Status update from Wayne regarding PR#22668
    • Status and work done / challenges / improvements are well described in the PR https://github.com/zephyrproject-rtos/zephyr/pull/22668
    • Main points are
      • Improve documentation in Zephyr on how to pass first compiler check in CMake
      • What compile optimization are mandatory and which are optional
      • Why are certain gcc extensions used

Would be nice to know the reason / get explanation

    • Linker:
      • Linker primitives not supported in MWDT

 

  • Status update from Thomas regarding IAR: Nothing new. regarding PR#22668

 

General discussion regarding toolchain support

  • CI support for commercial / other toolchains
    • For Metaware, CI would need the toolchain install and thus Zephyr community needs a license
      • A practice must be established with regards to commercial toolchain licenses which also satisfies vendor requirements
    • It will not be practical to run CI with all commercial toolchains supported.
    • Vendor of toolchain must be responsible for testing samples with the toolchain
    • Dedicate CI to run PR touching toolchain / manually run
    • Zephyr community should create a dedicated toolchain test that can verify basic toolchain functionality is working
    • Toolchain oriented test cases
  • IAR open to contribute static analysis tools, C-STAT to Zephyr
    • This is part of IAR compiler when having correct license

 

  • Linker Meta-language / templating
    • Find inspiration in how mbed / TF-M / cmsis does linking template.
    • TF-M has support for: IAR, clang, gcc (Requires vendor specific templates)
    • Mbed has support for three compiler: IAR, Arm compiler 6 (LLVM), gcc
    • Work must be expected in Zephyr regarding special gnu linker flags, as example: --whole-archive
    • Offset calculation may be confusing to some compilers, see action point.
    • The way gperf is used inZephyr linking stages is very hard to do in other linkers.

 

  • Short term goals:
    • Dedicated toolchain test cases, 
      • DTS
      • Kconfig
      • Linker
    • Label PR for automatic execution of CI Toolchain test cases
  • Long term goal
    • Meta language for Zephyr linking or templating system

 

Actions

  • Clean-up offset.h to make it easier to support more compilers
  • Exploration work on CI Toolchian test cases: Wayne
  • Everyone: Give feedback on PR#22688, and issue: #5517: Status ?

 

Best regards

 

Torsten Tejlmand Rasmussen

           

 

Join devel@lists.zephyrproject.org to automatically receive all group messages.