Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix 32 bit int simple return of riscv64 bridge
Sometimes we need to return a 32 bit integer into a 64 bit integer. For example, in pyuno.cxx:PyUNO_bool(), an int(32bit) is returned in type Py_ssize_t(64bit). We assume that this 32bit int was put in low 32 bit of register a0. The bridge may return with high 32 bit uncleaned and compiler might directly bind this register to 64 bit variable in error. This bug produces when build pyuno with gcc-12 with -O2. https://bugs.documentfoundation.org/show_bug.cgi?id=155937 https://lists.debian.org/debian-riscv/2023/07/msg00011.html So we need to clean the high 32 bit in bridge. Change-Id: I37aafb03ba9523cfb90912871308921fbeaf5f0c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154837 Tested-by: René Engelhard <[email protected]> Reviewed-by: René Engelhard <[email protected]> Reviewed-by: Stephan Bergmann <[email protected]>
- Loading branch information