|
From: <sv...@va...> - 2005-08-19 09:07:38
|
Author: sewardj Date: 2005-08-19 10:07:34 +0100 (Fri, 19 Aug 2005) New Revision: 4462 Log: Fix signedness-of-char problem which caused this to segfault on ppc32-lin= ux. Modified: trunk/memcheck/tests/oset_test.c Modified: trunk/memcheck/tests/oset_test.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/memcheck/tests/oset_test.c 2005-08-19 00:23:11 UTC (rev 4461) +++ trunk/memcheck/tests/oset_test.c 2005-08-19 09:07:34 UTC (rev 4462) @@ -10,7 +10,13 @@ #include "pub_core_libcprint.h" =20 // I need this to avoid some signedness warnings, not sure why -#define Char char +// #define Char char +// jrs 19 Aug 2005: m_oset.c relies on Char being a signed char. +// It appears that plain 'char' on ppc32 is unsigned and so the +// above #define screws up the AVL tree balancing logic and +// leads to segfaults. Commenting it out and using the standard +// definition of Char from pub_core_basics.h seems a good solution +// as that has the same signedness on all platforms. =20 // Crudely redirect various VG_(foo)() functions to their libc equivalen= ts. #undef vg_assert |