https://bugs.kde.org/show_bug.cgi?id=345763

Aleksandar Rikalo <aleksandar.rik...@rt-rk.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aleksandar.rik...@rt-rk.com

--- Comment #31 from Aleksandar Rikalo <aleksandar.rik...@rt-rk.com> ---
Created attachment 111844
  --> https://bugs.kde.org/attachment.cgi?id=111844&action=edit
Introduce RegWord type

On all other architectures size of long matches register width. On mips n32
size of long is 32 bits and register width is 64 bits.
Valgrind is written with assumption that long size matches register width. This
is reason why both UWord for valgrind and HWord for VEX match size of long.
Long size differs from register size on mips n32 ABI.

This causes problems in several cases:
- For do_syscall arguments is used UWord type. This may cause that 64-bit
values lost 32 higher bits.
- In several places where Valgrind needs to check size of registers, using long
based types, would give incorrect value.

There are two possible solutions for these problems:
- Change size of HWord or UWord for mips n32 abi- Problem with this solution is
that they are already used on great number of places where it is assumed that
they match long size. Changing their size would require changes in great number
of places, and require new type which matches size of long. Change of this
proportion would potentially introduce a great deal of new bugs.
- Introduce a new type which will match size of registers on all platforms and
use it where necessary, which is implemented in provided patch.

This patch has no effect on Valgrind's behavior.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to