arch/risc-v/src/common/riscv_backtrace.c: Fix "error: pointer of type 'void *' used in arithmetic" #15725
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.
Summary
Fix a compilation error when using -Wpointer-arith and CONFIG_SCHED_BACKTRACE
Impact
Makes code to compile when using -Werror.
Testing
Tested on MPFS target, with the following flags added:
Tested compilation of "icicle/nsh" target, after adding the "CONFIG_SCHED_BACKTRACE=y" to boards/risc-v/mpfs/icicle/configs/nsh/defconfig.
The compilation command is:
"make EXTRAFLAGS=-Wpointer-arith -Werror"
With this patch, the compilation passes without warnings/errors. Without this patch the following warnings are produced:
common/riscv_backtrace.c:166:53: error: pointer of type 'void *' used in arithmetic [-Werror=pointer-arith]
166 | rtcb->stack_base_ptr + rtcb->adj_stack_size,
| ^
common/riscv_backtrace.c:186:52: error: pointer of type 'void *' used in arithmetic [-Werror=pointer-arith]
186 | rtcb->stack_base_ptr + rtcb->adj_stack_size,
| ^
common/riscv_backtrace.c:205:47: error: pointer of type 'void *' used in arithmetic [-Werror=pointer-arith]
205 | tcb->stack_base_ptr + tcb->adj_stack_size,
| ^
cc1: all warnings being treated as errors
make[1]: *** [Makefile:144: riscv_backtrace.o] Error 1
make: *** [tools/LibTargets.mk:170: arch/risc-v/src/libarch.a] Error 2