fix multilib support and rework --with-extra-multilib-test #1395
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request allows the following functionality:
generate_target_board.py
and allow additional testing configurations without needing--with-extra-multilib-test
flag--with-multilib-generator
Currently
--with-multilib-generator
with more than one target is not supported withgenerate_target_board.py
. For example,will have an error
This is because
generate_target_board
expectsrv32gcv-ilp32d
to be passed in through--with-extra-multilib-test
.We fix
generate_target_board.py
's problem with multilib by changing the script arguments to accept a list of different configurations while maintaining the internal logicFor example, instead of running configure flags
--with-arch=rv64gc --with-abi=lp64d --with-extra-multilib-test="rv64gcv-lp64d:--param=riscv-autovec-lmul=dynamic:--param=riscv-autovec-preference=fixed-vlmax;rv64gcv_zba-lp64d"
to generate
we can run
--with-multilib-generator="rv64gc-lp64d--;rv64gcv-lp64d--:--param=riscv-autovec-lmul=dynamic:--param=riscv-autovec-preference=fixed-vlmax;rv64gcv_zba-lp64d--
to generate the same boards
Alternatively, if we just want to run one target, the new flag
--with-test-flags
enables single target flexibility so--with-arch=rv64gcv --with-abi=lp64d --with-test-flags="--param=riscv-autovec-lmul=dynamic:--param=riscv-autovec-preference=fixed-vlmax"
will generate target board
--with-multilib-generator="<targets>"
will fail withmake report-linux
because the desired targets will always be overwritten with the defaults (therefore testing incorrect targets). This supports the intended linux multilib builds and tests.