summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Harris <ashandore@gmail.com>2020-01-25 22:35:39 +0100
committerDrashna Jaelre <drashna@live.com>2020-01-25 13:35:39 -0800
commite9ffc5347690ad2212d7217e406fb6018ed17079 (patch)
treef7c34e84d0dc3c641332ded9e9a748f13fd55390
parent480a391929de9e66d36c84df900c49297c7dfec0 (diff)
Fix unaligned access with LTO (#7801)
Forces 4 byte alignment for USB input & output buffers to prevent unaligned accesses by chibios with LTO enabled
-rw-r--r--tmk_core/protocol/chibios/usb_main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c
index 9981477a58..2617c73c19 100644
--- a/tmk_core/protocol/chibios/usb_main.c
+++ b/tmk_core/protocol/chibios/usb_main.c
@@ -227,8 +227,8 @@ typedef struct {
.in_size = stream##_EPSIZE, \
.out_size = stream##_EPSIZE, \
.fixed_size = fixedsize, \
- .ib = (uint8_t[BQ_BUFFER_SIZE(stream##_IN_CAPACITY, stream##_EPSIZE)]){}, \
- .ob = (uint8_t[BQ_BUFFER_SIZE(stream##_OUT_CAPACITY, stream##_EPSIZE)]){}, \
+ .ib = (__attribute__((aligned(4))) uint8_t[BQ_BUFFER_SIZE(stream##_IN_CAPACITY, stream##_EPSIZE)]){}, \
+ .ob = (__attribute__((aligned(4))) uint8_t[BQ_BUFFER_SIZE(stream##_OUT_CAPACITY, stream##_EPSIZE)]){}, \
} \
}