From: Nicholas Nethercote Date: Sun, 23 Apr 2006 10:51:48 +0000 (+0000) Subject: Update 64-bit cleanness info. X-Git-Tag: svn/VALGRIND_3_2_0~96 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=67ce2183c96582e2682e59c762d7b612cc0e6667;p=thirdparty%2Fvalgrind.git Update 64-bit cleanness info. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5863 --- diff --git a/docs/internals/64-bit-cleanness.txt b/docs/internals/64-bit-cleanness.txt deleted file mode 100644 index f0a3013833..0000000000 --- a/docs/internals/64-bit-cleanness.txt +++ /dev/null @@ -1,39 +0,0 @@ ------------------------------------------------------------------------------ -64-bit cleanness ------------------------------------------------------------------------------ - -[19-Jul-2005: I assume most of these are gone, now that AMD64 is working -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-bit -clean. Please mark them off this list as they are fixed, and add any new 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. Likewise - with Addrcheck? Not sure. Plus there's one in vg_transtab.c which doesn't - look right. - -Addrcheck has similar problems. Helgrind too, especially the 32-bit specific -"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) -- are 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 -- it - touches sig[1], thus assuming 32-bits. Likewise in handle_SCSS_change() -- client_auxv in vg_main.c is UInt** -- should it be UWord** ? - diff --git a/helgrind/hg_main.c b/helgrind/hg_main.c index e5c0241e77..27665f04df 100644 --- a/helgrind/hg_main.c +++ b/helgrind/hg_main.c @@ -29,6 +29,9 @@ The GNU General Public License is contained in the file COPYING. */ +// *** WARNING *** +// Helgrind is not 64-bit clean. + // For anyone wanting to understand race conditions better, this paper might // be instructive: //