[U-Boot] Building for ARMv5 - uint64_t alignment issues

Dear all,
Most of my u-boot work is on one of two ARMv5 platforms. When u-boot changed to requiring a later gcc, I switched from my old-faithful arago-2011.09 compiler to a newer Linaro release:
gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi
And for my work on the da850 this seems to be fine. However I've been doing some work creating a nand driver for an older chip (which I really wish I didn't have to care about, and is never going to see the light of upstream). Short form: inexplicable errors, which I eventually chased down to issues around uint64_t. Some googling turned up this bug (and patch):
http://lists.openembedded.org/pipermail/openembedded-core/2017-November/1440...
So I upgraded to the next Linaro release:
gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabi
This fixed the problem in what I'll call "general" uint64_t usage, but still left the same problem in structs. Specifically size in struct mdt_info. Which I fixed by kludging -mstructure-size-boundary=64 into the build (which AFAIK I shouldn't have to do).
I would hope I'm not the only person who can trigger this . . . which means I'm hoping that no-one else has hit this (as far as I can tell from the u-boot list) is that anyone building for ARMv5 is using a different toolchain. So . . . can those of you out there building for any of the v5 boards tell me what toolchain you're currently using? And if you hit/fixed/worked around strd issues?
Thanks
participants (1)
-
Peter Howard