Skip to content

Commit 2508e21

Browse files
Fix pgm_read_ptr_aligned() per #5735
1 parent 4d17cc8 commit 2508e21

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

tests/host/sys/pgmspace.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@
3131
#define pgm_read_word(addr) (*reinterpret_cast<const uint16_t*>(addr))
3232
#define pgm_read_dword(addr) (*reinterpret_cast<const uint32_t*>(addr))
3333
#define pgm_read_float(addr) (*reinterpret_cast<const float>(addr))
34-
#define pgm_read_ptr(addr) (*reinterpret_cast<const void const *>(addr))
34+
#define pgm_read_ptr(addr) (*reinterpret_cast<const void* const *>(addr))
3535
#else
3636
#define pgm_read_byte(addr) (*(const uint8_t*)(addr))
3737
#define pgm_read_word(addr) (*(const uint16_t*)(addr))
3838
#define pgm_read_dword(addr) (*(const uint32_t*)(addr))
3939
#define pgm_read_float(addr) (*(const float)(addr))
40-
#define pgm_read_ptr(addr) (*(const void const *)(addr))
40+
#define pgm_read_ptr(addr) (*(const void* const *)(addr))
4141
#endif
4242

4343
#define pgm_read_byte_near(addr) pgm_read_byte(addr)

tools/sdk/libc/xtensa-lx106-elf/include/sys/pgmspace.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@ static inline uint16_t pgm_read_word_inlined(const void* addr) {
7575
#ifdef __cplusplus
7676
#define pgm_read_dword_aligned(addr) (*reinterpret_cast<const uint32_t*>(addr))
7777
#define pgm_read_float_aligned(addr) (*reinterpret_cast<const float*>(addr))
78-
#define pgm_read_ptr_aligned(addr) (*reinterpret_cast<const void*>(addr))
78+
#define pgm_read_ptr_aligned(addr) (*reinterpret_cast<const void* const*>(addr))
7979
#else
8080
#define pgm_read_dword_aligned(addr) (*(const uint32_t*)(addr))
8181
#define pgm_read_float_aligned(addr) (*(const float*)(addr))
82-
#define pgm_read_ptr_aligned(addr) (*(const void*)(addr))
82+
#define pgm_read_ptr_aligned(addr) (*(const void* const*)(addr))
8383
#endif
8484

8585
__attribute__((optimize("-O3"), always_inline)) static inline uint32_t pgm_read_dword_unaligned(const void *addr) {

0 commit comments

Comments
 (0)