FreeRTOS: properly read on big endian systems.
authorKarl Palsson <karlp@etactica.com>
Thu, 24 Sep 2020 09:09:11 +0000 (09:09 +0000)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 3 Oct 2020 10:22:06 +0000 (11:22 +0100)
commit4dade98c44dffa235ee2ddd15fa063105902691f
treee0e0869c1a3b24810c0167ca3bf4c95c87d7fa3e
parentcbbec2dce57c6ded1ef495388f93fa1d45977daf
FreeRTOS: properly read on big endian systems.

Remember, don't cast your pointers between types of different sizes!

While the FreeRTOS handlers attempt to account for different pointer and
list widths, the types used are always fixed, so this will _remain_
broken if/when someone targets FreeRTOS on 8/16/64 bit targets. (Note
that this patch does not _change_ that, it was fixed to 32bit before as
well)

In the meantime, this properly handles 32bit reads on a mips BE system
(ath79) as well as remaining fully functional on x86_64.

Change-Id: I677bb7130e25dccb7c1bee8fabaee27371494d00
Signed-off-by: Karl Palsson <karlp@etactica.com>
Reviewed-on: http://openocd.zylin.com/5842
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
src/rtos/FreeRTOS.c