mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-05 19:29:21 +00:00
This patch add padding in filter structure of log system. In RISCV && 64BIT environment. Log system is facing alignment bug. struct log_source_dynamic_data { uint32_t filters; }; static inline uint32_t *log_dynamic_filters_get(uint32_t source_id) { return &__log_dynamic_start[source_id].filters; } A sizeof(log_source_dynamic_data) = 4, address offset of &__log_dynamic_start[] are: - &__log_dynamic_start[0]: +0 - &__log_dynamic_start[1]: +4 - &__log_dynamic_start[2]: +8 But RISCV 64bit gcc/ld places each log_dynamic_log, log_dynamic_os and log_dynamic_test per 8bytes alignment. So address offset of log_dynamic_* are: - &log_dynamic_log : +0 - &log_dynamic_os : +8 - &log_dynamic_test: +16 tests/subsys/logging/log_core cannot set correct log filters in RISCV && 64BIT environment, so test is always going to fail. Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net> |
||
---|---|---|
.. | ||
log_backend_std.h | ||
log_backend.h | ||
log_core.h | ||
log_ctrl.h | ||
log_frontend.h | ||
log_instance.h | ||
log_msg.h | ||
log_output.h | ||
log.h |