Hi Richard,
On 12/13/24 13:47, Richard Henderson wrote:
Hi,
Several of the recent contrib/plugins/ patches do not build on e.g.
arm32.
All of the issues are related to casting between pointers and
uint64_t; there is a Werror
generated for casting between pointers and integers of different sizes.
I suspect all of the instances will need to use separate structures
to store uint64_t
within the hash tables. The hash values themselves can use
uintptr_t, as "hash" by
definition loses data.
The following is *not* a suggested patch, just touches every place
with an error to
highlight all of the places.
This is something I already tried to fix this way, but alas, casting
values is not enough, we might lose information (in the case where
guest is 64 bits). Some plugins need a refactoring to allocate data
dynamically, instead of hiding it under a pointer.
See this previous series:
https://patchew.org/QEMU/20240814233645.944327-1-
pierrick.bouvier@linaro.org/
Finally, we discussed it was not worth the effort, and Alex simply
deactivated plugins by default for 32 bits platform, so it should not
be built for arm 32 bits. If we really have someone that needs this
usecase, we might make the effort, but for now, it does not seem worth
the hassle.