|
From: <sv...@va...> - 2006-04-23 10:51:58
|
Author: njn
Date: 2006-04-23 11:51:48 +0100 (Sun, 23 Apr 2006)
New Revision: 5863
Log:
Update 64-bit cleanness info.
Removed:
trunk/docs/internals/64-bit-cleanness.txt
Modified:
trunk/helgrind/hg_main.c
Deleted: trunk/docs/internals/64-bit-cleanness.txt
=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/docs/internals/64-bit-cleanness.txt 2006-04-21 01:02:13 UTC (re=
v 5862)
+++ trunk/docs/internals/64-bit-cleanness.txt 2006-04-23 10:51:48 UTC (re=
v 5863)
@@ -1,39 +0,0 @@
-------------------------------------------------------------------------=
-----
-64-bit cleanness
-------------------------------------------------------------------------=
-----
-
-[19-Jul-2005: I assume most of these are gone, now that AMD64 is workin=
g
-pretty well. The Addrcheck and Helgrind ones are probably still true,
-though. --njn]
-
-
-The following are places I know or suspect contain code that is not 64-b=
it
-clean. Please mark them off this list as they are fixed, and add any ne=
w ones
-you know of.
-
-Memcheck is full of 32-bit assumptions:
-- shadow memory in general -- two-level lookup table, etc -- is totally =
32-bit
- specific.
-- new_mem_stack_4 etc are all very 32-bit specific... should make it
- new_mem_stack_1wd, etc. Also then need to change
- make_aligned_word_noaccess() et al (heaps of places)
-- also rotateRight16 and all its dependents...
-- all the calls to VG_IS_ALIGNED4_ADDR are 32-bit specific code. Likewi=
se
- with Addrcheck? Not sure. Plus there's one in vg_transtab.c which do=
esn't
- look right.
-
-Addrcheck has similar problems. Helgrind too, especially the 32-bit spe=
cific
-"OTHER_BITS".
-
-Symbol table stuff:
-- symtab -- 32-bit specific stuff in here? eg. search for
- "(UInt)sym->st_value"
-- stabtype_parser -- all those literal 4's as args to VG_(st_mkint) -- a=
re they
- 64-bit clean? Who knows...
-
-Others:
-- search for the following casts: (UInt*), (Int*), (UInt *), (Int *)
-- vki_sigset_t.sig use: the debug printing in do_setmask() is wrong -- i=
t
- touches sig[1], thus assuming 32-bits. Likewise in handle_SCSS_change=
()
-- client_auxv in vg_main.c is UInt** -- should it be UWord** ?
-
Modified: trunk/helgrind/hg_main.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/helgrind/hg_main.c 2006-04-21 01:02:13 UTC (rev 5862)
+++ trunk/helgrind/hg_main.c 2006-04-23 10:51:48 UTC (rev 5863)
@@ -29,6 +29,9 @@
The GNU General Public License is contained in the file COPYING.
*/
=20
+// *** WARNING ***=20
+// Helgrind is not 64-bit clean.
+
// For anyone wanting to understand race conditions better, this paper m=
ight
// be instructive:
//
|