path: root/firmware/target
diff options
authorSolomon Peachy <>2020-07-24 22:46:05 -0400
committerSolomon Peachy <>2020-07-25 02:57:35 +0000
commit469866b6c90c1de8a8581347a357e33a3dfd908c (patch)
tree7a2c90cb606260d171822ac04fbecd0c8cae62ed /firmware/target
parent677848cf80a06a2ffacbc99ef8fed4ff9e4ef6d7 (diff)
mpegplayer: Fix aliasing rules violation on multi-core targets
As the PP series has no sense of cache coherency between its multiple cores, we need to ensure the vo_data structure does not share cachelines with anything else. This was previously done by defining a uint8_t array and trying to access it via typecasting hell, triggering a large pile of aliasing violation warnings on newer toolchains and/or higher optimization levels. Instead of violating the C spec in an undefined-behaviour-sort-of-way, create a union of the right size and alignment, and make one of its members the structure we care about. Voila, everyone is happy. Change-Id: Iad78f8132225437cd4aa10e6e5f6ae58ba996c19
Diffstat (limited to 'firmware/target')
0 files changed, 0 insertions, 0 deletions