On 16/03/2020 13:09, Hesham Almatary wrote:
On Mon, 16 Mar 2020 at 11:53, Sebastian Huber
<sebastian.hu...@embedded-brains.de> wrote:
On 16/03/2020 12:39, Hesham Almatary wrote:
Hi Sebastian,
I have pushed a few commits to my repo to support building RTEMS with
Clang/LLVM for RISC-V. Here are the changes [1]. Since I'm still
learning about Waf and the build system, I'd appreciate your input.
Most importantly, I want to know what's the right way to set "target"
and "xlen" variables.
[1]
https://github.com/CTSRD-CHERI/rtems/compare/967b62464bf39602f8b0f2baf57617ad74c3643d...aa73f72b929856efdb41f9f8582263b5395a3276
You need a new option, e.g.
spec/build/cpukit/RTEMS-BUILD-CPUKIT-OPTXLEN.yml
It should be enabled by clang and riscv:
enabled-by:
and:
- clang
- riscv
The option must be evaluated before the tool settings:
order: -1000
Yes, I thought of that too. But I need to define XLEN to empty or
something for other architectures too since I use it in
RTEMS-BUILD-CPUKIT-OPTCLANG:
Does it not default to the empty string if it is not defined?
- set-value: --target=${ARCH}${XLEN}-unknown-rtems${__RTEMS_MAJOR__}
- substitute: null
- env-append: ABI_FLAGS
How should each RISC-V BSP assign XLEN? I thought of a few ways:
1) to make each BSP yml file do it, or
2) to script it for RISC-V and extract it from the march value,
3) to assign it in a single file and, similar to how
RISC-V-BUILD-BSP-RISC-V-ABI currently works, assign it per variant.
I would do it similar to:
spec/build/bsps/riscv/riscv/RTEMS-BUILD-BSP-RISCV-RISCV-ABI.yml
You can use regular expressions for the matching variant, e.g.
default: ''
default-by-variant:
- value: '32'
variants:
- riscv/rv32.*
- value: '64'
variants:
- riscv/rv64.*
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel