diff --git a/components/espcoredump/src/port/xtensa/core_dump_port.c b/components/espcoredump/src/port/xtensa/core_dump_port.c index 646840c1fd..d57faf84e5 100644 --- a/components/espcoredump/src/port/xtensa/core_dump_port.c +++ b/components/espcoredump/src/port/xtensa/core_dump_port.c @@ -156,7 +156,12 @@ static void *esp_core_dump_get_fake_stack(uint32_t *stk_len) static core_dump_reg_pair_t *esp_core_dump_get_epc_regs(core_dump_reg_pair_t* src) { +#pragma GCC diagnostic push +#if __GNUC__ >= 9 +#pragma GCC diagnostic ignored "-Waddress-of-packed-member" +#endif uint32_t* reg_ptr = (uint32_t*)src; +#pragma GCC diagnostic pop // get InterruptException program counter registers COREDUMP_GET_EPC(EPC_1, reg_ptr); COREDUMP_GET_EPC(EPC_2, reg_ptr); @@ -170,7 +175,12 @@ static core_dump_reg_pair_t *esp_core_dump_get_epc_regs(core_dump_reg_pair_t* sr static core_dump_reg_pair_t *esp_core_dump_get_eps_regs(core_dump_reg_pair_t* src) { +#pragma GCC diagnostic push +#if __GNUC__ >= 9 +#pragma GCC diagnostic ignored "-Waddress-of-packed-member" +#endif uint32_t* reg_ptr = (uint32_t*)src; +#pragma GCC diagnostic pop // get InterruptException processor state registers COREDUMP_GET_EPS(EPS_2, reg_ptr); COREDUMP_GET_EPS(EPS_3, reg_ptr);