You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
1
(31) |
2
(27) |
|
3
(25) |
4
(21) |
5
(21) |
6
(21) |
7
(32) |
8
(23) |
9
(15) |
|
10
(12) |
11
(9) |
12
(10) |
13
(10) |
14
(9) |
15
(7) |
16
(20) |
|
17
(14) |
18
(71) |
19
(67) |
20
(50) |
21
(25) |
22
(15) |
23
(37) |
|
24
(25) |
25
(41) |
26
(34) |
27
(57) |
28
(20) |
29
(30) |
30
(13) |
|
31
(18) |
|
|
|
|
|
|
|
From: <sv...@va...> - 2005-07-03 20:22:44
|
Author: njn
Date: 2005-07-03 21:22:39 +0100 (Sun, 03 Jul 2005)
New Revision: 4103
Log:
Tweak debug output.
Modified:
trunk/coregrind/m_main.c
Modified: trunk/coregrind/m_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/coregrind/m_main.c 2005-07-03 20:22:07 UTC (rev 4102)
+++ trunk/coregrind/m_main.c 2005-07-03 20:22:39 UTC (rev 4103)
@@ -139,6 +139,7 @@
VG_(message)(Vg_DebugMsg,=20
"------ Valgrind's internal memory use stats follow ------" );
VG_(sanity_check_malloc_all)();
+ VG_(message)(Vg_DebugMsg, "------" );
VG_(print_all_arena_stats)();
VG_(message)(Vg_DebugMsg, "");
}
|
|
From: <sv...@va...> - 2005-07-03 20:22:24
|
Author: njn
Date: 2005-07-03 21:22:07 +0100 (Sun, 03 Jul 2005)
New Revision: 4102
Log:
Comment changes only.
Modified:
trunk/include/pub_tool_skiplist.h
Modified: trunk/include/pub_tool_skiplist.h
=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/include/pub_tool_skiplist.h 2005-07-03 18:45:37 UTC (rev 4101)
+++ trunk/include/pub_tool_skiplist.h 2005-07-03 20:22:07 UTC (rev 4102)
@@ -53,11 +53,13 @@
SkipNode *head; // list head
};
=20
-/* Use this macro to initialize your skiplist head. The arguments are p=
retty self explanitory:
+/* Use this macro to initialize your skiplist head:
_type is the type of your element structure
_key is the field within that type which you want to use as the key
- _cmp is the comparison function for keys - it gets two typeof(_key) p=
ointers as args
- _strkey is a function which can return a string of your key - it's on=
ly used for debugging
+ _cmp is the comparison function for keys - it gets two typeof(_key)=20
+ pointers as args
+ _strkey is a function which can return a string of your key - it's on=
ly
+ used for debugging
_arena is the arena to use for allocation - -1 is the default
*/
#define VG_SKIPLIST_INIT(_type, _key, _cmp, _strkey, _arena) \
@@ -76,7 +78,7 @@
Exact: returns a node which is =3D=3D key, or NULL if none
After: returns a node which is >=3D key, or NULL if none
SkipList_Insert inserts a new element into the list. Duplicates are
- forbidden. The element must have been created with SkipList_Alloc=
!
+ forbidden. The element must have been created with SkipNode_Alloc=
!
SkipList_Remove removes an element from the list and returns it. It
doesn't free the memory.
*/
@@ -103,9 +105,9 @@
=20
You can iterate through a SkipList like this:
=20
- for(x =3D VG_(SkipNode_First)(&list); // or SkipList_Find
- x !=3D NULL;
- x =3D VG_(SkipNode_Next)(&list, x)) { ... }
+ for (x =3D VG_(SkipNode_First)(&list);
+ x !=3D NULL;
+ x =3D VG_(SkipNode_Next)(&list, x)) { ... }
*/
extern void *VG_(SkipNode_Alloc) (const SkipList *l);
extern void VG_(SkipNode_Free) (const SkipList *l, void *p);
|
|
From: <sv...@va...> - 2005-07-03 18:45:42
|
Author: njn
Date: 2005-07-03 19:45:37 +0100 (Sun, 03 Jul 2005)
New Revision: 4101
Log:
Remove dead function.
Modified:
trunk/cachegrind/cg_main.c
Modified: trunk/cachegrind/cg_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/cachegrind/cg_main.c 2005-07-03 17:53:11 UTC (rev 4100)
+++ trunk/cachegrind/cg_main.c 2005-07-03 18:45:37 UTC (rev 4101)
@@ -228,16 +228,6 @@
return cc;
}
=20
-static __inline__=20
-instr_info* new_instr_info(Addr instr_addr, lineCC* parent, instr_info* =
next)
-{
- // Using calloc() zeroes instr_len and data_size
- instr_info* ii =3D VG_(calloc)(1, sizeof(instr_info));
- ii->instr_addr =3D instr_addr;
- ii->parent =3D parent;=20
- return ii;
-}
-
// Do a three step traversal: by file, then fn, then line.
// In all cases prepends new nodes to their chain. Returns a pointer to=
the
// line node, creates a new one if necessary.
|
|
From: <sv...@va...> - 2005-07-03 17:53:23
|
Author: njn
Date: 2005-07-03 18:53:11 +0100 (Sun, 03 Jul 2005)
New Revision: 4100
Log:
Changed m_hashtable.c to allow the size of the hash table to be specified
when it is created. Fortunately this didn't affect code outside this
module except for the calls to VG_(HT_construct)().
As a result, we save some memory because not all tables have to be as big
as the ones needed for malloc/free tracking.
Modified:
trunk/cachegrind/cg_main.c
trunk/coregrind/m_hashtable.c
trunk/helgrind/hg_main.c
trunk/include/pub_tool_hashtable.h
trunk/massif/ms_main.c
trunk/memcheck/mac_malloc_wrappers.c
trunk/memcheck/mac_shared.c
Modified: trunk/cachegrind/cg_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/cachegrind/cg_main.c 2005-07-03 17:10:04 UTC (rev 4099)
+++ trunk/cachegrind/cg_main.c 2005-07-03 17:53:11 UTC (rev 4100)
@@ -118,7 +118,7 @@
static fileCC *CC_table[N_FILE_ENTRIES];
=20
//------------------------------------------------------------
-// Primary data structre #2: Instr-info table
+// Primary data structure #2: Instr-info table
// - Holds the cached info about each instr that is used for simulation.
// - table(BB_start_addr, list(instr_info))
// - For each BB, each instr_info in the list holds info about the
@@ -1160,11 +1160,11 @@
VG_(sprintf)(cachegrind_out_file, "%s/cachegrind.out.%d",
base_dir, VG_(getpid)());
=20
- instr_info_table =3D VG_(HT_construct)();
+ instr_info_table =3D VG_(HT_construct)( 4999 ); // prime, biggish
}
=20
VG_DETERMINE_INTERFACE_VERSION(cg_pre_clo_init, 0)
=20
/*--------------------------------------------------------------------*/
-/*--- end cg_main.c ---*/
+/*--- end ---*/
/*--------------------------------------------------------------------*/
Modified: trunk/coregrind/m_hashtable.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/coregrind/m_hashtable.c 2005-07-03 17:10:04 UTC (rev 4099)
+++ trunk/coregrind/m_hashtable.c 2005-07-03 17:53:11 UTC (rev 4100)
@@ -1,6 +1,6 @@
=20
/*--------------------------------------------------------------------*/
-/*--- A separately chained hash table. m_hashtable.c ---*/
+/*--- A separately-chained hash table. m_hashtable.c ---*/
/*--------------------------------------------------------------------*/
=20
/*
@@ -37,20 +37,13 @@
/*--- Declarations ---*/
/*--------------------------------------------------------------------*/
=20
-/* Holds malloc'd but not freed blocks. Static, so zero-inited by defau=
lt. */
-
-//#define VG_N_CHAINS 80021 /*4999*/ /* a prime number */
-
#define CHAIN_NO(key,tbl) (((UWord)(key)) % tbl->n_chains)
=20
-struct {
+struct _VgHashTable {
UInt n_chains; // should be prime
VgHashNode* chains[0];
-}
-_VgHashTable;
+};
=20
-typedef (struct _VgHashTable *) VgHashTable;
-
/*--------------------------------------------------------------------*/
/*--- Functions ---*/
/*--------------------------------------------------------------------*/
@@ -58,9 +51,10 @@
VgHashTable VG_(HT_construct)(UInt n_chains)
{
/* Initialises to zero, ie. all entries NULL */
- VgHashTable* table =3D=20
- VG_(calloc)(sizeof(struct _VgHashTable) + n_chains*sizeof(VgHashNo=
de*));
+ SizeT sz =3D sizeof(struct _VgHashTable) + n_chains*sizeof(VgHashNode=
*);
+ VgHashTable table =3D VG_(calloc)(1, sz);
table->n_chains =3D n_chains;
+ return table;
}
=20
Int VG_(HT_count_nodes) ( VgHashTable table )
@@ -75,12 +69,13 @@
return n;
}
=20
-/* Puts a new, heap allocated VgHashNode, into the malloclist. */
+/* Puts a new, heap allocated VgHashNode, into the VgHashTable. Prepend=
s
+ the node to the appropriate chain. */
void VG_(HT_add_node) ( VgHashTable table, VgHashNode* node )
{
- UInt chain =3D CHAIN_NO(node->key);
- node->next =3D table->chains[chain];
- table[chain] =3D node;
+ UInt chain =3D CHAIN_NO(node->key, table);
+ node->next =3D table->chains[chain];
+ table->chains[chain] =3D node;
}
=20
/* Looks up a VgHashNode in the table. Also returns the address of
@@ -92,7 +87,7 @@
VgHashNode *prev, *curr;
Int chain;
=20
- chain =3D CHAIN_NO(key);
+ chain =3D CHAIN_NO(key, table);
=20
prev =3D NULL;
curr =3D table->chains[chain];
@@ -106,7 +101,7 @@
}
=20
if (NULL =3D=3D prev)
- *next_ptr =3D & (table->chain[chain]);
+ *next_ptr =3D & (table->chains[chain]);
else
*next_ptr =3D & (prev->next);
=20
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 2005-07-03 17:10:04 UTC (rev 4099)
+++ trunk/helgrind/hg_main.c 2005-07-03 17:53:11 UTC (rev 4100)
@@ -3446,7 +3446,7 @@
}
=20
init_shadow_memory();
- hg_malloc_list =3D VG_(HT_construct)();
+ hg_malloc_list =3D VG_(HT_construct)( 80021 ); // prime, big
}
=20
/* Uses a 1:1 mapping */
Modified: trunk/include/pub_tool_hashtable.h
=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/include/pub_tool_hashtable.h 2005-07-03 17:10:04 UTC (rev 4099)
+++ trunk/include/pub_tool_hashtable.h 2005-07-03 17:53:11 UTC (rev 4100)
@@ -36,8 +36,7 @@
as the first two fields match the sizes of these two fields. Require=
s
a bit of casting by the tool. */
=20
-// Problems with this type:
-// - Table is fixed-size. =20
+// Problems with this data structure:
// - Separate chaining gives bad cache behaviour. Hash tables with line=
ar
// probing give better cache behaviour.
// - It's not very abstract, eg. deleting nodes exposes more internals t=
han
@@ -50,13 +49,11 @@
}
VgHashNode;
=20
-typedef
- VgHashNode**
- VgHashTable;
+typedef struct _VgHashTable * VgHashTable;
=20
/* Make a new table. Allocates the memory with VG_(calloc)(), so can be=
freed
- * with VG_(free)(). */
-extern VgHashTable VG_(HT_construct) ( void );
+ with VG_(free)(). n_chains should be prime. */
+extern VgHashTable VG_(HT_construct) ( UInt n_chains );
=20
/* Count the number of nodes in a table. */
extern Int VG_(HT_count_nodes) ( VgHashTable table );
Modified: trunk/massif/ms_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/massif/ms_main.c 2005-07-03 17:10:04 UTC (rev 4099)
+++ trunk/massif/ms_main.c 2005-07-03 17:53:11 UTC (rev 4100)
@@ -1830,7 +1830,7 @@
VG_(register_profile_event)(VgpPrintXPts, "print-XPts");
=20
// HP_Chunks
- malloc_list =3D VG_(HT_construct)();
+ malloc_list =3D VG_(HT_construct)( 80021 ); // prime, big
=20
// Dummy node at top of the context structure.
alloc_xpt =3D new_XPt(0, NULL, /*is_bottom*/False);
Modified: trunk/memcheck/mac_malloc_wrappers.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/mac_malloc_wrappers.c 2005-07-03 17:10:04 UTC (rev 409=
9)
+++ trunk/memcheck/mac_malloc_wrappers.c 2005-07-03 17:53:11 UTC (rev 410=
0)
@@ -441,7 +441,7 @@
mp->pool =3D pool;
mp->rzB =3D rzB;
mp->is_zeroed =3D is_zeroed;
- mp->chunks =3D VG_(HT_construct)();
+ mp->chunks =3D VG_(HT_construct)( 3001 ); // prime, not so big
=20
/* Paranoia ... ensure this area is off-limits to the client, so
the mp->data field isn't visible to the leak checker. If memory
Modified: trunk/memcheck/mac_shared.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/mac_shared.c 2005-07-03 17:10:04 UTC (rev 4099)
+++ trunk/memcheck/mac_shared.c 2005-07-03 17:53:11 UTC (rev 4100)
@@ -899,8 +899,8 @@
=20
void MAC_(common_pre_clo_init)(void)
{
- MAC_(malloc_list) =3D VG_(HT_construct)();
- MAC_(mempool_list) =3D VG_(HT_construct)();
+ MAC_(malloc_list) =3D VG_(HT_construct)( 80021 ); // prime, big
+ MAC_(mempool_list) =3D VG_(HT_construct)( 1009 ); // prime, not so=
big
init_prof_mem();
}
=20
|
|
From: <sv...@va...> - 2005-07-03 17:10:14
|
Author: njn
Date: 2005-07-03 18:10:04 +0100 (Sun, 03 Jul 2005)
New Revision: 4099
Log:
whoops
Modified:
trunk/Makefile.am
trunk/coregrind/m_hashtable.c
Modified: trunk/Makefile.am
=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/Makefile.am 2005-07-03 16:08:58 UTC (rev 4098)
+++ trunk/Makefile.am 2005-07-03 17:10:04 UTC (rev 4099)
@@ -20,7 +20,7 @@
DIST_SUBDIRS =3D $(SUBDIRS) addrcheck
=20
SUPP_FILES =3D \
- glibc-2.1.supp glibc-2.2.supp glibc-2.3.supp glibc-2.4.supp \
+ glibc-2.2.supp glibc-2.3.supp glibc-2.4.supp \
xfree-3.supp xfree-4.supp
=20
dist_val_DATA =3D $(SUPP_FILES) default.supp
Modified: trunk/coregrind/m_hashtable.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/coregrind/m_hashtable.c 2005-07-03 16:08:58 UTC (rev 4098)
+++ trunk/coregrind/m_hashtable.c 2005-07-03 17:10:04 UTC (rev 4099)
@@ -39,18 +39,28 @@
=20
/* Holds malloc'd but not freed blocks. Static, so zero-inited by defau=
lt. */
=20
-#define VG_N_CHAINS 80021 /*4999*/ /* a prime number */
+//#define VG_N_CHAINS 80021 /*4999*/ /* a prime number */
=20
-#define VG_CHAIN_NO(aa) (((UWord)(aa)) % VG_N_CHAINS)
+#define CHAIN_NO(key,tbl) (((UWord)(key)) % tbl->n_chains)
=20
+struct {
+ UInt n_chains; // should be prime
+ VgHashNode* chains[0];
+}
+_VgHashTable;
+
+typedef (struct _VgHashTable *) VgHashTable;
+
/*--------------------------------------------------------------------*/
/*--- Functions ---*/
/*--------------------------------------------------------------------*/
=20
-VgHashTable VG_(HT_construct)(void)
+VgHashTable VG_(HT_construct)(UInt n_chains)
{
/* Initialises to zero, ie. all entries NULL */
- return VG_(calloc)(VG_N_CHAINS, sizeof(VgHashNode*));
+ VgHashTable* table =3D=20
+ VG_(calloc)(sizeof(struct _VgHashTable) + n_chains*sizeof(VgHashNo=
de*));
+ table->n_chains =3D n_chains;
}
=20
Int VG_(HT_count_nodes) ( VgHashTable table )
@@ -59,8 +69,8 @@
UInt chain;
Int n =3D 0;
=20
- for (chain =3D 0; chain < VG_N_CHAINS; chain++)
- for (node =3D table[chain]; node !=3D NULL; node =3D node->next)
+ for (chain =3D 0; chain < table->n_chains; chain++)
+ for (node =3D table->chains[chain]; node !=3D NULL; node =3D node-=
>next)
n++;
return n;
}
@@ -68,8 +78,8 @@
/* Puts a new, heap allocated VgHashNode, into the malloclist. */
void VG_(HT_add_node) ( VgHashTable table, VgHashNode* node )
{
- UInt chain =3D VG_CHAIN_NO(node->key);
- node->next =3D table[chain];
+ UInt chain =3D CHAIN_NO(node->key);
+ node->next =3D table->chains[chain];
table[chain] =3D node;
}
=20
@@ -77,15 +87,15 @@
the previous node's 'next' pointer which allows it to be removed from=
the
list later without having to look it up again. */
VgHashNode* VG_(HT_get_node) ( VgHashTable table, UWord key,
- /*OUT*/VgHashNode*** next_ptr )
+ /*OUT*/VgHashNode*** next_ptr )
{
VgHashNode *prev, *curr;
Int chain;
=20
- chain =3D VG_CHAIN_NO(key);
+ chain =3D CHAIN_NO(key);
=20
prev =3D NULL;
- curr =3D table[chain];
+ curr =3D table->chains[chain];
while (True) {
if (curr =3D=3D NULL)
break;
@@ -96,9 +106,9 @@
}
=20
if (NULL =3D=3D prev)
- *next_ptr =3D & table[chain];
+ *next_ptr =3D & (table->chain[chain]);
else
- *next_ptr =3D & prev->next;
+ *next_ptr =3D & (prev->next);
=20
return curr;
}
@@ -114,8 +124,8 @@
VgHashNode* node;
=20
*n_shadows =3D 0;
- for (i =3D 0; i < VG_N_CHAINS; i++) {
- for (node =3D table[i]; node !=3D NULL; node =3D node->next) {
+ for (i =3D 0; i < table->n_chains; i++) {
+ for (node =3D table->chains[i]; node !=3D NULL; node =3D node->nex=
t) {
(*n_shadows)++;
}
}
@@ -125,8 +135,8 @@
arr =3D VG_(malloc)( *n_shadows * sizeof(VgHashNode*) );
=20
j =3D 0;
- for (i =3D 0; i < VG_N_CHAINS; i++) {
- for (node =3D table[i]; node !=3D NULL; node =3D node->next) {
+ for (i =3D 0; i < table->n_chains; i++) {
+ for (node =3D table->chains[i]; node !=3D NULL; node =3D node->nex=
t) {
arr[j++] =3D node;
}
}
@@ -143,8 +153,8 @@
UInt i;
VgHashNode* node;
=20
- for (i =3D 0; i < VG_N_CHAINS; i++)
- for (node =3D table[i]; node !=3D NULL; node =3D node->next)
+ for (i =3D 0; i < table->n_chains; i++)
+ for (node =3D table->chains[i]; node !=3D NULL; node =3D node->nex=
t)
if ( p(node, d) )
return node;
=20
@@ -158,8 +168,8 @@
UInt i;
VgHashNode* node;
=20
- for (i =3D 0; i < VG_N_CHAINS; i++) {
- for (node =3D table[i]; node !=3D NULL; node =3D node->next) {
+ for (i =3D 0; i < table->n_chains; i++) {
+ for (node =3D table->chains[i]; node !=3D NULL; node =3D node->nex=
t) {
f(node, d);
}
}
@@ -170,8 +180,8 @@
UInt i;
VgHashNode* node;
=20
- for (i =3D 0; i < VG_N_CHAINS; i++) {
- for (node =3D table[i]; node !=3D NULL; node =3D node->next) {
+ for (i =3D 0; i < table->n_chains; i++) {
+ for (node =3D table->chains[i]; node !=3D NULL; node =3D node->nex=
t) {
VG_(free)(node);
}
}
|
|
From: <sv...@va...> - 2005-07-03 16:09:05
|
Author: njn
Date: 2005-07-03 17:08:58 +0100 (Sun, 03 Jul 2005)
New Revision: 4098
Log:
Remove now-obsolete .supp file for glibc-2.1.
Removed:
trunk/glibc-2.1.supp
Deleted: trunk/glibc-2.1.supp
=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/glibc-2.1.supp 2005-07-03 16:08:12 UTC (rev 4097)
+++ trunk/glibc-2.1.supp 2005-07-03 16:08:58 UTC (rev 4098)
@@ -1,172 +0,0 @@
-##----------------------------------------------------------------------=
##
-
-# Errors to suppress by default for glibc 2.1.3
-
-# Format of this file is:
-# {
-# name_of_suppression
-# tool_name:supp_kind
-# (optional extra info for some suppression types)
-# caller0 name, or /name/of/so/file.so
-# caller1 name, or ditto
-# (optionally: caller2 name)
-# (optionally: caller3 name)
-# }
-#
-# For Memcheck, the supp_kinds are:
-#
-# Param Value1 Value2 Value4 Value8 Value16
-# Free Addr1 Addr2 Addr4 Addr8 Addr16
-# Cond (previously known as Value0)
-#
-# and the optional extra info is:
-# if Param: name of system call param
-# if Free: name of free-ing fn)
-
-#-------- Suppress errors appearing as a result of calling
-#-------- __libc_freeres()
-
-{
- __libc_freeres/free_mem(Addr4)
- Addrcheck,Memcheck:Addr4
- fun:free_mem
- fun:__libc_freeres
-}
-
-
-##----------------------------------------------------------------------=
##
-
-{
- pthread_mutex_unlock/__register_frame_info_bases
- core:PThread
- fun:pthread_mutex_unlock
- fun:__register_frame_info_bases
-}
-
-{
- socketcall.connect(serv_addr)/connect/*(Param)
- Addrcheck,Memcheck:Param
- socketcall.connect(serv_addr)
- fun:connect
- fun:*
-}
-
-{
- strrchr/_dl_map_object_from_fd/_dl_map_object(Addr4)
- Addrcheck,Memcheck:Addr4
- fun:strrchr
- fun:_dl_map_object_from_fd
- fun:_dl_map_object
-}
-
-{
- strrchr/_dl_map_object_from_fd/_dl_map_object(Value1)
- Memcheck:Value1
- fun:strrchr
- fun:_dl_map_object_from_fd
- fun:_dl_map_object
-}
-
-{
- llseek(result)/lseek64/_IO_file_seek(Param)
- Addrcheck,Memcheck:Param
- llseek(result)
- fun:lseek64
- fun:_IO_file_seek
-}
-
-{
- __rawmemchr/_nl_*/*locale(Addr4)
- Addrcheck,Memcheck:Addr4
- fun:__rawmemchr
- fun:_nl_*
- fun:*locale
-}
-
-# new ones for RH62 ls -l=20
-{
- __strchrnul/__nss_database_lookup(Cond)
- Memcheck:Cond
- fun:__strchrnul
- fun:__nss_database_lookup
-}
-{
- __strchrnul/__gethostbyname_r(Cond)
- Memcheck:Cond
- fun:__strchrnul
- fun:__gethostbyname_r
-}
-
-{
- strrchr/_dl_map*/_dl_map*(Cond)
- Memcheck:Cond
- fun:strrchr
- fun:_dl_map*
- fun:_dl_map*
-}
-
-{
- strchr/dl_open_worker/_dl_catch_error(Cond)
- Memcheck:Cond
- fun:strchr
- fun:dl_open_worker
- fun:_dl_catch_error
-}
-
-{
- __rawmemchr/???/__getgrgid_r(Cond)
- Memcheck:Cond
- fun:__rawmemchr
- fun:*
- fun:__getgrgid_r
-}
-
-{
- __rawmemchr/_nl_*/*locale*(Cond)
- Memcheck:Cond
- fun:__rawmemchr
- fun:_nl_*
- fun:*locale*
-}
-
-{
- _dl_relocate_object/dl_open_worker(Value0)
- Memcheck:Cond
- fun:_dl_relocate_object
- fun:dl_open_worker
-}
-
-##----------------------------------------------------------------------=
##
-## from a Debian machine running kernel 2.2.19 I believe
-## I guess most of these are the same as above really, but
-## Debian stripped their libc-2.1.3
-
-{
- libc-2.1.3.so/libc-2.1.3.so/libc-2.1.3.so(Cond)
- Memcheck:Cond
- obj:*libc-2.1.3.so
- obj:*libc-2.1.3.so
- obj:*libc-2.1.3.so
-}
-
-{
- strchr/libc-2.1.3.so(Cond)
- Memcheck:Cond
- fun:*strchr*
- obj:*libc-2.1.3.so
-}
-
-{
- libc-2.1.3.so/libXt.so(Cond)
- Memcheck:Cond
- obj:*libc-2.1.3.so
- obj:*libXt.so*
-}
-
-{
- socketcall.connect(serv_addr)/connect/*(Param)
- Addrcheck,Memcheck:Param
- socketcall.connect(serv_addr)
- obj:*libc-2.1.3.so
- obj:*libX11.so*
-}
|
|
From: <sv...@va...> - 2005-07-03 16:08:24
|
Author: njn
Date: 2005-07-03 17:08:12 +0100 (Sun, 03 Jul 2005)
New Revision: 4097
Log:
These directories no longer exist.
Modified:
trunk/valgrind.pc.in
Modified: trunk/valgrind.pc.in
=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/valgrind.pc.in 2005-07-03 10:41:02 UTC (rev 4096)
+++ trunk/valgrind.pc.in 2005-07-03 16:08:12 UTC (rev 4097)
@@ -11,5 +11,5 @@
Version: @VERSION@
Requires:
Libs:
-Cflags: -I${includedir} -I${includedir}/${arch} -I${includedir}/${os} -I=
${includedir}/${platform} @ARCH_TOOL_AM_CFLAGS@
+Cflags: -I${includedir} @ARCH_TOOL_AM_CFLAGS@
=20
|
|
From: Julian S. <js...@ac...> - 2005-07-03 10:43:19
|
Dirk
> > I didn't use the first patch (except removing asm/ipc.h from scalar.c)
> > because we didn't resolve whether the extra MMX/SSE flags were necessary.
>
> Well, they are necessary with newer gcc's. Want me to show you the gcc
> changelog? or the error message?
It's this I guess:
2005-05-10 Michael Matz <ma...@su...>
from trunk:
2005-04-28 James E Wilson <wi...@sp...>
* config/i386/i386.h (HI_REGISTER_NAMES): Fix typos in comment.
(ADDITIONAL_REGISTER_NAMES): Delete obsolete mmx register entries.
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.h.diff?r1=1.421.6.3&r2=1.421.6.4&f=h
I just find it bizarre that on a stable branch, they changed the
externally visible behaviour of the compiler. You would think they
would only do bug fixes in the 4.0.0 -> 4.0.1 transition.
But they did. So I committed your patch on the 3 line. Thanks.
J
|
|
From: <sv...@va...> - 2005-07-03 10:41:17
|
Author: sewardj
Date: 2005-07-03 11:41:02 +0100 (Sun, 03 Jul 2005)
New Revision: 4096
Log:
gcc-4.0.1 rejects insn_{mmx,sse,sse2}.c despite the fact that
gcc-4.0.0 accepted it. This commit adds flags to placate 4.0.1 (from
Dirk Mueller).
Modified:
trunk/configure.in
trunk/none/tests/x86/Makefile.am
Modified: trunk/configure.in
=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/configure.in 2005-07-03 10:18:33 UTC (rev 4095)
+++ trunk/configure.in 2005-07-03 10:41:02 UTC (rev 4096)
@@ -316,6 +316,48 @@
AC_SUBST(FLAG_M32)
=20
=20
+# does this compiler support -mmmx ?
+AC_MSG_CHECKING([if gcc accepts -mmmx])
+
+safe_CFLAGS=3D$CFLAGS
+CFLAGS=3D"-mmmx"
+
+AC_TRY_COMPILE(, [
+int main () { return 0 ; }
+],
+[
+FLAG_MMMX=3D"-mmmx"
+AC_MSG_RESULT([yes])
+], [
+FLAG_MMMX=3D""
+AC_MSG_RESULT([no])
+])
+CFLAGS=3D$safe_CFLAGS
+
+AC_SUBST(FLAG_MMMX)
+
+
+# does this compiler support -msse ?
+AC_MSG_CHECKING([if gcc accepts -msse])
+
+safe_CFLAGS=3D$CFLAGS
+CFLAGS=3D"-msse"
+
+AC_TRY_COMPILE(, [
+int main () { return 0 ; }
+],
+[
+FLAG_MSSE=3D"-msse"
+AC_MSG_RESULT([yes])
+], [
+FLAG_MSSE=3D""
+AC_MSG_RESULT([no])
+])
+CFLAGS=3D$safe_CFLAGS
+
+AC_SUBST(FLAG_MSSE)
+
+
# does this compiler support -mpreferred-stack-boundary=3D2 ?
AC_MSG_CHECKING([if gcc accepts -mpreferred-stack-boundary])
=20
Modified: trunk/none/tests/x86/Makefile.am
=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/none/tests/x86/Makefile.am 2005-07-03 10:18:33 UTC (rev 4095)
+++ trunk/none/tests/x86/Makefile.am 2005-07-03 10:41:02 UTC (rev 4096)
@@ -24,7 +24,10 @@
getseg $(INSN_TESTS) \
int pushpopseg seg_override sigcontext
=20
-AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow -g -I$(top_srcdir)/inc=
lude
+AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow \
+ -g -I$(top_srcdir)/include \
+ $(FLAG_MMMX) $(FLAG_MSSE)
+
AM_CXXFLAGS =3D $(AM_CFLAGS)
=20
# generic C ones
|
|
From: <sv...@va...> - 2005-07-03 10:19:24
|
Author: sewardj
Date: 2005-07-03 11:18:33 +0100 (Sun, 03 Jul 2005)
New Revision: 4095
Log:
glibc-2.1 is now so ancient that it's probably untrue we still support it=
.
Modified:
trunk/configure.in
Modified: trunk/configure.in
=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/configure.in 2005-07-03 06:07:16 UTC (rev 4094)
+++ trunk/configure.in 2005-07-03 10:18:33 UTC (rev 4095)
@@ -226,16 +226,6 @@
=20
glibc=3D""
=20
-AC_EGREP_CPP([GLIBC_21], [
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ =3D=3D 2 && __GLIBC_MINOR__ =3D=3D 1)
- GLIBC_21
- #endif
-#endif
-],
-glibc=3D"2.1")
-
AC_EGREP_CPP([GLIBC_22], [
#include <features.h>
#ifdef __GNU_LIBRARY__
@@ -269,12 +259,6 @@
AC_MSG_CHECKING([the glibc version])
=20
case "${glibc}" in
- 2.1)
- AC_MSG_RESULT(2.1 family)
- AC_DEFINE([GLIBC_2_1], 1, [Define to 1 if you're using glibc 2.1.x])
- DEFAULT_SUPP=3D"${DEFAULT_SUPP} glibc-2.1.supp"
- ;;
-
2.2)
AC_MSG_RESULT(2.2 family)
AC_DEFINE([GLIBC_2_2], 1, [Define to 1 if you're using glibc 2.2.x])
@@ -295,7 +279,7 @@
=20
*)
AC_MSG_RESULT(unsupported version)
- AC_MSG_ERROR([Valgrind requires glibc version 2.1, 2.2, 2.3 or 2.4])
+ AC_MSG_ERROR([Valgrind requires glibc version 2.2, 2.3 or 2.4])
;;
esac
=20
|
|
From: <sv...@va...> - 2005-07-03 06:08:13
|
Author: rjwalsh Date: 2005-07-03 07:07:16 +0100 (Sun, 03 Jul 2005) New Revision: 4094 Log: Update ignores. Modified: trunk/cachegrind/tests/ppc32/ trunk/memcheck/tests/ trunk/memcheck/tests/ppc32/ trunk/none/tests/ trunk/none/tests/ppc32/ Property changes on: trunk/cachegrind/tests/ppc32 ___________________________________________________________________ Name: svn:ignore - Makefile.in + Makefile Makefile.in Property changes on: trunk/memcheck/tests ___________________________________________________________________ Name: svn:ignore - addressable badaddrvalue badfree badjump badjump2 badloop badpoll badrw brk brk2 buflen_check clientperm clientstackperm custom_alloc .deps describe-block dir doublefree error_counts errs1 execve execve2 exitprog filter_leak_check_size filter_stderr fprw fwrite hello inits inline leak-0 leak-cycle leakotron leak-regroot leak-tree Makefile Makefile.in malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 match-overrun memalign2 memalign_test memcmptest mempool metadata mismatches mmaptest nanoleak new_nothrow new_override null_socket overlap pointer-trace post-syscall realloc1 realloc2 realloc3 scalar scalar_exit_group scalar_fork scalar_supp scalar_vfork sigaltstack signal2 sigprocmask *.stderr.diff* *.stderr.out *.stdout.diff *.stdout.out strchr str_tester supp1 supp2 suppfree threadederrno trivialleak vgtest_ume weirdioctl writev xml1 zeropage + addressable badaddrvalue badfree badjump badjump2 badloop badpoll badrw brk brk2 buflen_check clientperm clientstackperm custom_alloc .deps describe-block dir doublefree erringfds error_counts errs1 execve execve2 exitprog filter_leak_check_size filter_stderr fprw fwrite hello inits inline leak-0 leak-cycle leakotron leak-regroot leak-tree Makefile Makefile.in malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 match-overrun memalign2 memalign_test memcmptest mempool metadata mismatches mmaptest nanoleak new_nothrow new_override null_socket overlap pointer-trace post-syscall realloc1 realloc2 realloc3 scalar scalar_exit_group scalar_fork scalar_supp scalar_vfork sigaltstack sigkill signal2 sigprocmask stack_changes *.stderr.diff* *.stderr.out *.stdout.diff *.stdout.out strchr str_tester supp1 supp2 suppfree threadederrno trivialleak vgtest_ume weirdioctl writev xml1 zeropage Property changes on: trunk/memcheck/tests/ppc32 ___________________________________________________________________ Name: svn:ignore - Makefile.in + Makefile Makefile.in Property changes on: trunk/none/tests ___________________________________________________________________ Name: svn:ignore - args async-sigs bitfield1 blockfault closeall coolo_sigaction coolo_strlen .deps discard exec-sigmask execve faultstatus fcntl_setown floored fork fucomip gxx304 insn_basic insn_basic.c insn_cmov insn_cmov.c insn_fpu insn_fpu.c insn_mmx insn_mmx.c insn_mmxext insn_mmxext.c insn_sse insn_sse2 insn_sse2.c insn_sse.c Makefile Makefile.in manythreads map_unaligned map_unmap mq mremap munmap_exe pending pluto pth_atfork1 pth_blockedsig pth_cancel1 pth_cancel2 pth_cvsimple pth_mutexspeed pth_once pth_semaphore1 pth_simple_mutex pth_simple_threads pth_specific pth_stackalign pth_yield rcrl readline1 resolv rlimit_nofile selfrun sem semlimit sha1_test shortpush shorts sigstackgrowth smc1 *.so stackgrowth *.stderr.diff *.stderr.out *.stdout.diff *.stdout.out susphello syscall-restart1 syscall-restart2 system threaded-fork thread-exits tls yield + ansi args as_mmap as_shm async-sigs bitfield1 blockfault closeall coolo_sigaction coolo_strlen .deps discard exec-sigmask execve faultstatus fcntl_setown fdleak_cmsg fdleak_creat fdleak_dup fdleak_dup2 fdleak_fcntl fdleak_ipv4 fdleak_open fdleak_pipe fdleak_socketpair floored fork fucomip gxx304 insn_basic insn_basic.c insn_cmov insn_cmov.c insn_fpu insn_fpu.c insn_mmx insn_mmx.c insn_mmxext insn_mmxext.c insn_sse insn_sse2 insn_sse2.c insn_sse.c Makefile Makefile.in manythreads map_unaligned map_unmap mq mremap munmap_exe pending pluto pth_atfork1 pth_blockedsig pth_cancel1 pth_cancel2 pth_cvsimple pth_empty pth_exit pth_exit2 pth_mutexspeed pth_once pth_rwlock pth_semaphore1 pth_simple_mutex pth_simple_threads pth_specific pth_stackalign pth_yield rcrl readline1 resolv res_search rlimit_nofile selfrun sem semlimit sha1_test shortpush shorts sigstackgrowth smc1 *.so stackgrowth *.stderr.diff *.stderr.out *.stdout.diff *.stdout.out susphello syscall-restart1 syscall-restart2 system threadederrno threaded-fork thread-exits tls vgprintf yield Property changes on: trunk/none/tests/ppc32 ___________________________________________________________________ Name: svn:ignore - Makefile.in + Makefile Makefile.in |
|
From: Tom H. <th...@cy...> - 2005-07-03 03:02:20
|
Nightly build on audi ( i686, Red Hat 9 ) started at 2005-07-03 03:25:01 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 178 tests, 7 stderr failures, 2 stdout failures ================= memcheck/tests/sigaltstack (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/pth_blockedsig (stderr) none/tests/pth_cancel1 (stdout) none/tests/pth_cancel1 (stderr) none/tests/pth_cancel2 (stderr) none/tests/x86/int (stderr) none/tests/yield (stdout) |
|
From: Dirk M. <dm...@gm...> - 2005-07-03 02:49:44
|
On Thursday 30 June 2005 06:07, Nicholas Nethercote wrote: > I've committed the entire 2nd patch, which added support for glibc-2.4 to > configure.in. I also added an empty 2.4 suppression file, Dirk can you > fill that in when you find time? Sure. > I didn't use the first patch (except removing asm/ipc.h from scalar.c) > because we didn't resolve whether the extra MMX/SSE flags were necessary. Well, they are necessary with newer gcc's. Want me to show you the gcc changelog? or the error message? > I only put them in the 3.0 repository. I don't think we'll be doing a > 2.4.1 release, in which case the 2.4 repo is effectively dead and there's > no point updating it. I think there is a point updating it, because 2.4.0 right now doesn't even compile, so a 2.4.1 at least fixing that would be great. It has low priority though. |
|
From: Dirk M. <mu...@kd...> - 2005-07-03 02:48:02
|
SVN commit 431041 by mueller:
remove nonsensical version script
M +1 -5 Makefile.am =20
D valgrind.vs =20
--- trunk/valgrind/coregrind/Makefile.am #431040:431041
@@ -28,7 +28,6 @@
vg_toolint.h
=20
EXTRA_DIST =3D \
- valgrind.vs \
gen_toolint.pl toolfuncs.def \
gen_intercepts.pl vg_replace_malloc.c.base
=20
@@ -90,18 +89,15 @@
if USE_PIE
stage2_CFLAGS =3D $(AM_CFLAGS) -fpie
stage2_DEPENDENCIES =3D \
- $(srcdir)/valgrind.vs \
$(stage2_extra)
stage2_LDFLAGS =3D -Wl,--export-dynamic -g \
- -Wl,-version-script $(srcdir)/valgrind.vs \
-pie
else
stage2_CFLAGS =3D $(AM_CFLAGS)
stage2_DEPENDENCIES =3D \
- $(srcdir)/valgrind.vs ${VG_ARCH}/stage2.lds \
+ ${VG_ARCH}/stage2.lds \
$(stage2_extra)
stage2_LDFLAGS =3D -Wl,--export-dynamic -g \
- -Wl,-version-script $(srcdir)/valgrind.vs \
-Wl,-defsym,kickstart_base=3D@KICKSTART_BASE@ -Wl,-T,${VG_ARCH}/stage2.=
lds
endif
=20
|
|
From: <js...@ac...> - 2005-07-03 02:39:54
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-07-03 03:30:00 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 176 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <to...@co...> - 2005-07-03 02:32:22
|
Nightly build on dunsmere ( athlon, Fedora Core 4 ) started at 2005-07-03 03:30:04 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of log.verbose follow insn_fpu.c: In function 'fsubrl_1': insn_fpu.c:16391: error: unknown register name 'mm6' in 'asm' insn_fpu.c: In function 'fsubrl_2': insn_fpu.c:16429: error: unknown register name 'mm6' in 'asm' insn_fpu.c: In function 'fsubrl_3': insn_fpu.c:16467: error: unknown register name 'mm6' in 'asm' insn_fpu.c: In function 'fsubrl_4': insn_fpu.c:16505: error: unknown register name 'mm6' in 'asm' make[5]: *** [insn_fpu.o] Error 1 rm insn_fpu.c insn_basic.c make[5]: Leaving directory `/tmp/valgrind.13847/valgrind/none/tests/x86' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.13847/valgrind/none/tests/x86' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.13847/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.13847/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.13847/valgrind' make: *** [check] Error 2 |
|
From: Tom H. <th...@cy...> - 2005-07-03 02:21:23
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2005-07-03 03:15:03 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 177 tests, 13 stderr failures, 0 stdout failures ================= memcheck/tests/addressable (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2005-07-03 02:21:10
|
Nightly build on dellow ( x86_64, Fedora Core 4 ) started at 2005-07-03 03:10:08 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 158 tests, 8 stderr failures, 1 stdout failure ================= memcheck/tests/brk (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/selfrun (stdout) none/tests/selfrun (stderr) |
|
From: Tom H. <th...@cy...> - 2005-07-03 02:16:09
|
Nightly build on aston ( x86_64, Fedora Core 3 ) started at 2005-07-03 03:05:07 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 158 tests, 8 stderr failures, 2 stdout failures ================= memcheck/tests/brk (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/selfrun (stdout) none/tests/selfrun (stderr) none/tests/yield (stdout) |
|
From: Tom H. <th...@cy...> - 2005-07-03 02:05:38
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2005-07-03 03:00:03 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 158 tests, 9 stderr failures, 2 stdout failures ================= memcheck/tests/brk (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_fcntl (stderr) none/tests/selfrun (stdout) none/tests/selfrun (stderr) none/tests/yield (stdout) |
|
From: <sv...@va...> - 2005-07-03 01:51:31
|
Author: sewardj
Date: 2005-07-03 02:51:29 +0100 (Sun, 03 Jul 2005)
New Revision: 1251
Log:
Get rid of endianness assumption in client-request-spotter.
Modified:
trunk/priv/guest-ppc32/toIR.c
Modified: trunk/priv/guest-ppc32/toIR.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/priv/guest-ppc32/toIR.c 2005-07-03 01:03:01 UTC (rev 1250)
+++ trunk/priv/guest-ppc32/toIR.c 2005-07-03 01:51:29 UTC (rev 1251)
@@ -5488,22 +5488,22 @@
/* Spot the client-request magic sequence. */
// Essentially a v. unlikely sequence of noops that we can catch
{
- UInt* code =3D (UInt*)(guest_code + delta);
+ UChar* code =3D (UChar*)(&guest_code[delta]);
=20
/* Spot this: =20
- 0x7C03D808 tw 0,3,27 =3D> trap word if(0) =3D> not=
hing
+ 0x7C03D808 tw 0,3,27 =3D> trap word if (0) =3D> no=
p
0x5400E800 rlwinm 0,0,29,0,0 =3D> r0 =3D rotl(r0,29)
0x54001800 rlwinm 0,0,3,0,0 =3D> r0 =3D rotl(r0,3)
0x54006800 rlwinm 0,0,13,0,0 =3D> r0 =3D rotl(r0,13)
0x54009800 rlwinm 0,0,19,0,0 =3D> r0 =3D rotl(r0,19)
0x60000000 nop
*/
- if (code[0] =3D=3D 0x7C03D808 &&
- code[1] =3D=3D 0x5400E800 &&
- code[2] =3D=3D 0x54001800 &&
- code[3] =3D=3D 0x54006800 &&
- code[4] =3D=3D 0x54009800 &&
- code[5] =3D=3D 0x60000000) {
+ if (getUIntBigendianly(code+ 0) =3D=3D 0x7C03D808 &&
+ getUIntBigendianly(code+ 4) =3D=3D 0x5400E800 &&
+ getUIntBigendianly(code+ 8) =3D=3D 0x54001800 &&
+ getUIntBigendianly(code+12) =3D=3D 0x54006800 &&
+ getUIntBigendianly(code+16) =3D=3D 0x54009800 &&
+ getUIntBigendianly(code+20) =3D=3D 0x60000000) {
DIP("%%r3 =3D client_request ( %%r31 )\n");
dres.len =3D 24;
delta +=3D 24;
|
|
From: <sv...@va...> - 2005-07-03 01:03:04
|
Author: sewardj
Date: 2005-07-03 02:03:01 +0100 (Sun, 03 Jul 2005)
New Revision: 1250
Log:
Change type of deltas from ULong to Long throughout. Probably
pointless.
Modified:
trunk/priv/guest-amd64/toIR.c
Modified: trunk/priv/guest-amd64/toIR.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/priv/guest-amd64/toIR.c 2005-07-03 00:52:48 UTC (rev 1249)
+++ trunk/priv/guest-amd64/toIR.c 2005-07-03 01:03:01 UTC (rev 1250)
@@ -436,20 +436,20 @@
=20
/* Get a 8/16/32-bit unsigned value out of the insn stream. */
=20
-static UChar getUChar ( ULong delta )
+static UChar getUChar ( Long delta )
{
UChar v =3D guest_code[delta+0];
return v;
}
=20
-//.. static UInt getUDisp16 ( ULong delta )
+//.. static UInt getUDisp16 ( Long delta )
//.. {
//.. UInt v =3D guest_code[delta+1]; v <<=3D 8;
//.. v |=3D guest_code[delta+0];
//.. return v & 0xFFFF;
//.. }
//..=20
-//.. static UInt getUDisp ( Int size, ULong delta )
+//.. static UInt getUDisp ( Int size, Long delta )
//.. {
//.. switch (size) {
//.. case 4: return getUDisp32(delta);
@@ -463,14 +463,14 @@
=20
/* Get a byte value out of the insn stream and sign-extend to 64
bits. */
-static Long getSDisp8 ( ULong delta )
+static Long getSDisp8 ( Long delta )
{
return extend_s_8to64( guest_code[delta] );
}
=20
/* Get a 16-bit value out of the insn stream and sign-extend to 64
bits. */
-static Long getSDisp16 ( ULong delta )
+static Long getSDisp16 ( Long delta )
{
UInt v =3D guest_code[delta+1]; v <<=3D 8;
v |=3D guest_code[delta+0];
@@ -479,7 +479,7 @@
=20
/* Get a 32-bit value out of the insn stream and sign-extend to 64
bits. */
-static Long getSDisp32 ( ULong delta )
+static Long getSDisp32 ( Long delta )
{
UInt v =3D guest_code[delta+3]; v <<=3D 8;
v |=3D guest_code[delta+2]; v <<=3D 8;
@@ -489,7 +489,7 @@
}
=20
/* Get a 64-bit value out of the insn stream. */
-static Long getDisp64 ( ULong delta )
+static Long getDisp64 ( Long delta )
{
ULong v =3D 0;
v |=3D guest_code[delta+7]; v <<=3D 8;
@@ -505,7 +505,7 @@
=20
/* Note: because AMD64 doesn't allow 64-bit literals, it is an error
if this is called with size=3D=3D8. Should not happen. */
-static Long getSDisp ( Int size, ULong delta )
+static Long getSDisp ( Int size, Long delta )
{
switch (size) {
case 4: return getSDisp32(delta);
@@ -1977,7 +1977,7 @@
}
=20
static=20
-IRTemp disAMode ( Int* len, Prefix pfx, ULong delta,=20
+IRTemp disAMode ( Int* len, Prefix pfx, Long delta,=20
HChar* buf, Int extra_bytes )
{
UChar mod_reg_rm =3D getUChar(delta);
@@ -2248,7 +2248,7 @@
beginning at delta. Is useful for getting hold of literals beyond
the end of the amode before it has been disassembled. */
=20
-static UInt lengthAMode ( Prefix pfx, ULong delta )
+static UInt lengthAMode ( Prefix pfx, Long delta )
{
UChar mod_reg_rm =3D getUChar(delta);
delta++;
@@ -2360,7 +2360,7 @@
IROp op8,=20
Bool keep,
Int size,=20
- ULong delta0,
+ Long delta0,
HChar* t_amd64opc )
{
HChar dis_buf[50];
@@ -2476,7 +2476,7 @@
IROp op8,=20
Bool keep,
Int size,=20
- ULong delta0,
+ Long delta0,
HChar* t_amd64opc )
{
HChar dis_buf[50];
@@ -2582,7 +2582,7 @@
static
ULong dis_mov_E_G ( Prefix pfx,
Int size,=20
- ULong delta0 )
+ Long delta0 )
{
Int len;
UChar rm =3D getUChar(delta0);
@@ -2627,7 +2627,7 @@
static
ULong dis_mov_G_E ( Prefix pfx,
Int size,=20
- ULong delta0 )
+ Long delta0 )
{
Int len;
UChar rm =3D getUChar(delta0);
@@ -2658,7 +2658,7 @@
ULong dis_op_imm_A ( Int size,
IROp op8,
Bool keep,
- ULong delta,
+ Long delta,
HChar* t_amd64opc )
{
Int size4 =3D imin(size,4);
@@ -2690,7 +2690,7 @@
/* Sign- and Zero-extending moves. */
static
ULong dis_movx_E_G ( Prefix pfx,
- ULong delta, Int szs, Int szd, Bool sign_extend )
+ Long delta, Int szs, Int szd, Bool sign_extend )
{
UChar rm =3D getUChar(delta);
if (epartIsReg(rm)) {
@@ -2793,7 +2793,7 @@
=20
static=20
ULong dis_Grp1 ( Prefix pfx,
- ULong delta, UChar modrm,=20
+ Long delta, UChar modrm,=20
Int am_sz, Int d_sz, Int sz, Long d64 )
{
Int len;
@@ -2877,7 +2877,7 @@
=20
static
ULong dis_Grp2 ( Prefix pfx,
- ULong delta, UChar modrm,
+ Long delta, UChar modrm,
Int am_sz, Int d_sz, Int sz, IRExpr* shift_expr,
HChar* shift_expr_txt )
{
@@ -3109,7 +3109,7 @@
/* Group 8 extended opcodes (but BT/BTS/BTC/BTR only). */
static
ULong dis_Grp8_Imm ( Prefix pfx,
- ULong delta, UChar modrm,
+ Long delta, UChar modrm,
Int am_sz, Int sz, ULong src_val,
Bool* decode_OK )
{
@@ -3287,7 +3287,7 @@
=20
/* Group 3 extended opcodes. */
static=20
-ULong dis_Grp3 ( Prefix pfx, Int sz, ULong delta )
+ULong dis_Grp3 ( Prefix pfx, Int sz, Long delta )
{
Long d64;
UChar modrm;
@@ -3432,7 +3432,7 @@
=20
/* Group 4 extended opcodes. */
static
-ULong dis_Grp4 ( Prefix pfx, ULong delta )
+ULong dis_Grp4 ( Prefix pfx, Long delta )
{
Int alen;
UChar modrm;
@@ -3491,7 +3491,7 @@
=20
/* Group 5 extended opcodes. */
static
-ULong dis_Grp5 ( Prefix pfx, Int sz, ULong delta, DisResult* dres )
+ULong dis_Grp5 ( Prefix pfx, Int sz, Long delta, DisResult* dres )
{
Int len;
UChar modrm;
@@ -3803,7 +3803,7 @@
static
ULong dis_mul_E_G ( Prefix pfx,
Int size,=20
- ULong delta0 )
+ Long delta0 )
{
Int alen;
HChar dis_buf[50];
@@ -3845,7 +3845,7 @@
static
ULong dis_imul_I_E_G ( Prefix pfx,
Int size,=20
- ULong delta,
+ Long delta,
Int litsize )
{
Long d64;
@@ -4182,7 +4182,7 @@
=20
static
ULong dis_FPU ( /*OUT*/Bool* decode_ok,=20
- Prefix pfx, ULong delta )
+ Prefix pfx, Long delta )
{
Int len;
UInt r_src, r_dst;
@@ -5661,7 +5661,7 @@
=20
static=20
ULong dis_MMXop_regmem_to_reg ( Prefix pfx,
- ULong delta,
+ Long delta,
UChar opc,
HChar* name,
Bool show_granularity )
@@ -5809,7 +5809,7 @@
/* Vector by scalar shift of G by the amount specified at the bottom
of E. This is a straight copy of dis_SSE_shiftG_byE. */
=20
-static ULong dis_MMX_shiftG_byE ( Prefix pfx, ULong delta,=20
+static ULong dis_MMX_shiftG_byE ( Prefix pfx, Long delta,=20
HChar* opname, IROp op )
{
HChar dis_buf[50];
@@ -5885,7 +5885,7 @@
straight copy of dis_SSE_shiftE_imm. */
=20
static=20
-ULong dis_MMX_shiftE_imm ( ULong delta, HChar* opname, IROp op )
+ULong dis_MMX_shiftE_imm ( Long delta, HChar* opname, IROp op )
{
Bool shl, shr, sar;
UChar rm =3D getUChar(delta);
@@ -5940,7 +5940,7 @@
/* Completely handle all MMX instructions except emms. */
=20
static
-ULong dis_MMX ( Bool* decode_ok, Prefix pfx, Int sz, ULong delta )
+ULong dis_MMX ( Bool* decode_ok, Prefix pfx, Int sz, Long delta )
{
Int len;
UChar modrm;
@@ -6297,7 +6297,7 @@
//.. v-size (no b- variant). */
//.. static
//.. UInt dis_SHLRD_Gv_Ev ( UChar sorb,
-//.. ULong delta, UChar modrm,
+//.. Long delta, UChar modrm,
//.. Int sz,
//.. IRExpr* shift_amt,
//.. Bool amt_is_literal,
@@ -6431,7 +6431,7 @@
//..=20
//..=20
//.. static
-//.. UInt dis_bt_G_E ( UChar sorb, Int sz, ULong delta, BtOp op )
+//.. UInt dis_bt_G_E ( UChar sorb, Int sz, Long delta, BtOp op )
//.. {
//.. HChar dis_buf[50];
//.. UChar modrm;
@@ -6560,7 +6560,7 @@
=20
/* Handle BSF/BSR. Only v-size seems necessary. */
static
-ULong dis_bs_E_G ( Prefix pfx, Int sz, ULong delta, Bool fwds )
+ULong dis_bs_E_G ( Prefix pfx, Int sz, Long delta, Bool fwds )
{
Bool isReg;
UChar modrm;
@@ -6749,7 +6749,7 @@
static
ULong dis_cmpxchg_G_E ( Prefix pfx,
Int size,=20
- ULong delta0 )
+ Long delta0 )
{
HChar dis_buf[50];
Int len;
@@ -6886,7 +6886,7 @@
ULong dis_cmov_E_G ( Prefix pfx,
Int sz,=20
AMD64Condcode cond,
- ULong delta0 )
+ Long delta0 )
{
UChar rm =3D getUChar(delta0);
HChar dis_buf[50];
@@ -6935,7 +6935,7 @@
=20
static
ULong dis_xadd_G_E ( /*OUT*/Bool* decode_ok,
- Prefix pfx, Int sz, ULong delta0 )
+ Prefix pfx, Int sz, Long delta0 )
{
Int len;
UChar rm =3D getUChar(delta0);
@@ -6967,7 +6967,7 @@
//.. /* Move 16 bits from Ew (ireg or mem) to G (a segment register). */
//..=20
//.. static
-//.. UInt dis_mov_Ew_Sw ( UChar sorb, ULong delta0 )
+//.. UInt dis_mov_Ew_Sw ( UChar sorb, Long delta0 )
//.. {
//.. Int len;
//.. IRTemp addr;
@@ -7072,7 +7072,7 @@
*/
=20
static ULong dis_SSE_E_to_G_all_wrk (=20
- Prefix pfx, ULong delta,=20
+ Prefix pfx, Long delta,=20
HChar* opname, IROp op,
Bool invertG
)
@@ -7108,7 +7108,7 @@
/* All lanes SSE binary operation, G =3D G `op` E. */
=20
static
-ULong dis_SSE_E_to_G_all ( Prefix pfx, ULong delta,=20
+ULong dis_SSE_E_to_G_all ( Prefix pfx, Long delta,=20
HChar* opname, IROp op )
{
return dis_SSE_E_to_G_all_wrk( pfx, delta, opname, op, False );
@@ -7117,7 +7117,7 @@
/* All lanes SSE binary operation, G =3D (not G) `op` E. */
=20
static
-ULong dis_SSE_E_to_G_all_invG ( Prefix pfx, ULong delta,=20
+ULong dis_SSE_E_to_G_all_invG ( Prefix pfx, Long delta,=20
HChar* opname, IROp op )
{
return dis_SSE_E_to_G_all_wrk( pfx, delta, opname, op, True );
@@ -7126,7 +7126,7 @@
=20
/* Lowest 32-bit lane only SSE binary operation, G =3D G `op` E. */
=20
-static ULong dis_SSE_E_to_G_lo32 ( Prefix pfx, ULong delta,=20
+static ULong dis_SSE_E_to_G_lo32 ( Prefix pfx, Long delta,=20
HChar* opname, IROp op )
{
HChar dis_buf[50];
@@ -7161,7 +7161,7 @@
=20
/* Lower 64-bit lane only SSE binary operation, G =3D G `op` E. */
=20
-static ULong dis_SSE_E_to_G_lo64 ( Prefix pfx, ULong delta,=20
+static ULong dis_SSE_E_to_G_lo64 ( Prefix pfx, Long delta,=20
HChar* opname, IROp op )
{
HChar dis_buf[50];
@@ -7197,7 +7197,7 @@
/* All lanes unary SSE operation, G =3D op(E). */
=20
static ULong dis_SSE_E_to_G_unary_all (=20
- Prefix pfx, ULong delta,=20
+ Prefix pfx, Long delta,=20
HChar* opname, IROp op
)
{
@@ -7227,7 +7227,7 @@
/* Lowest 32-bit lane only unary SSE operation, G =3D op(E). */
=20
static ULong dis_SSE_E_to_G_unary_lo32 (=20
- Prefix pfx, ULong delta,=20
+ Prefix pfx, Long delta,=20
HChar* opname, IROp op
)
{
@@ -7270,7 +7270,7 @@
/* Lowest 64-bit lane only unary SSE operation, G =3D op(E). */
=20
static ULong dis_SSE_E_to_G_unary_lo64 (=20
- Prefix pfx, ULong delta,=20
+ Prefix pfx, Long delta,=20
HChar* opname, IROp op
)
{
@@ -7315,7 +7315,7 @@
G =3D E `op` G (eLeft =3D=3D True)
*/
static ULong dis_SSEint_E_to_G(=20
- Prefix pfx, ULong delta,=20
+ Prefix pfx, Long delta,=20
HChar* opname, IROp op,
Bool eLeft
)
@@ -7401,7 +7401,7 @@
=20
/* Handles SSE 32F comparisons. */
=20
-static ULong dis_SSEcmp_E_to_G ( Prefix pfx, ULong delta,=20
+static ULong dis_SSEcmp_E_to_G ( Prefix pfx, Long delta,=20
HChar* opname, Bool all_lanes, Int sz )
{
HChar dis_buf[50];
@@ -7457,7 +7457,7 @@
/* Vector by scalar shift of G by the amount specified at the bottom
of E. */
=20
-static ULong dis_SSE_shiftG_byE ( Prefix pfx, ULong delta,=20
+static ULong dis_SSE_shiftG_byE ( Prefix pfx, Long delta,=20
HChar* opname, IROp op )
{
HChar dis_buf[50];
@@ -7534,7 +7534,7 @@
=20
static=20
ULong dis_SSE_shiftE_imm ( Prefix pfx,=20
- ULong delta, HChar* opname, IROp op )
+ Long delta, HChar* opname, IROp op )
{
Bool shl, shr, sar;
UChar rm =3D getUChar(delta);
@@ -7712,7 +7712,7 @@
=20
/* Holds eip at the start of the insn, so that we can print
consistent error messages for unimplemented insns. */
- ULong delta_start =3D delta;
+ Long delta_start =3D delta;
=20
/* sz denotes the nominal data-op size of the insn; we change it to
2 if an 0x66 prefix is seen and 8 if REX.W is 1. In case of
@@ -11429,8 +11429,8 @@
case 0xDF:
if (haveF2orF3(pfx)) goto decode_failure;
if (sz =3D=3D 4 && haveNo66noF2noF3(pfx)) {
- ULong delta0 =3D delta;
- Bool decode_OK =3D False;
+ Long delta0 =3D delta;
+ Bool decode_OK =3D False;
delta =3D dis_FPU ( &decode_OK, pfx, delta );
if (!decode_OK) {
delta =3D delta0;
@@ -13209,7 +13209,7 @@
case 0xE1: /* PSRAgg (src)mmxreg-or-mem, (dst)mmxreg */
case 0xE2:=20
{
- ULong delta0 =3D delta-1;
+ Long delta0 =3D delta-1;
Bool decode_OK =3D False;
=20
/* If sz=3D=3D2 this is SSE, and we assume sse idec has
|
|
From: <sv...@va...> - 2005-07-03 00:53:07
|
Author: sewardj
Date: 2005-07-03 01:52:48 +0100 (Sun, 03 Jul 2005)
New Revision: 1249
Log:
Change type of deltas from UInt to Int throughout. Probably
pointless.
Modified:
trunk/priv/guest-x86/toIR.c
Modified: trunk/priv/guest-x86/toIR.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/priv/guest-x86/toIR.c 2005-07-03 00:05:31 UTC (rev 1248)
+++ trunk/priv/guest-x86/toIR.c 2005-07-03 00:52:48 UTC (rev 1249)
@@ -257,7 +257,7 @@
}
=20
/* Fetch a byte from the guest insn stream. */
-static UChar getIByte ( UInt delta )
+static UChar getIByte ( Int delta )
{
return guest_code[delta];
}
@@ -284,20 +284,20 @@
=20
/* Get a 8/16/32-bit unsigned value out of the insn stream. */
=20
-static UChar getUChar ( UInt delta )
+static UChar getUChar ( Int delta )
{
UChar v =3D guest_code[delta+0];
return toUChar(v);
}
=20
-static UInt getUDisp16 ( UInt delta )
+static UInt getUDisp16 ( Int delta )
{
UInt v =3D guest_code[delta+1]; v <<=3D 8;
v |=3D guest_code[delta+0];
return v & 0xFFFF;
}
=20
-static UInt getUDisp32 ( UInt delta )
+static UInt getUDisp32 ( Int delta )
{
UInt v =3D guest_code[delta+3]; v <<=3D 8;
v |=3D guest_code[delta+2]; v <<=3D 8;
@@ -306,7 +306,7 @@
return v;
}
=20
-static UInt getUDisp ( Int size, UInt delta )
+static UInt getUDisp ( Int size, Int delta )
{
switch (size) {
case 4: return getUDisp32(delta);
@@ -320,12 +320,12 @@
=20
/* Get a byte value out of the insn stream and sign-extend to 32
bits. */
-static UInt getSDisp8 ( UInt delta )
+static UInt getSDisp8 ( Int delta )
{
return extend_s_8to32( (UInt) (guest_code[delta]) );
}
=20
-static UInt getSDisp16 ( UInt delta0 )
+static UInt getSDisp16 ( Int delta0 )
{
UChar* eip =3D (UChar*)(&guest_code[delta0]);
UInt d =3D *eip++;
@@ -333,7 +333,7 @@
return extend_s_16to32(d);
}
=20
-static UInt getSDisp ( Int size, UInt delta )
+static UInt getSDisp ( Int size, Int delta )
{
switch (size) {
case 4: return getUDisp32(delta);
@@ -1297,7 +1297,7 @@
}
=20
static=20
-IRTemp disAMode ( Int* len, UChar sorb, UInt delta, HChar* buf )
+IRTemp disAMode ( Int* len, UChar sorb, Int delta, HChar* buf )
{
UChar mod_reg_rm =3D getIByte(delta);
delta++;
@@ -1533,7 +1533,7 @@
beginning at delta. Is useful for getting hold of literals beyond
the end of the amode before it has been disassembled. */
=20
-static UInt lengthAMode ( UInt delta )
+static UInt lengthAMode ( Int delta )
{
UChar mod_reg_rm =3D getIByte(delta); delta++;
=20
@@ -1624,7 +1624,7 @@
IROp op8,=20
Bool keep,
Int size,=20
- UInt delta0,
+ Int delta0,
HChar* t_x86opc )
{
HChar dis_buf[50];
@@ -1732,7 +1732,7 @@
IROp op8,=20
Bool keep,
Int size,=20
- UInt delta0,
+ Int delta0,
HChar* t_x86opc )
{
HChar dis_buf[50];
@@ -1835,7 +1835,7 @@
static
UInt dis_mov_E_G ( UChar sorb,
Int size,=20
- UInt delta0 )
+ Int delta0 )
{
Int len;
UChar rm =3D getIByte(delta0);
@@ -1879,7 +1879,7 @@
static
UInt dis_mov_G_E ( UChar sorb,
Int size,=20
- UInt delta0 )
+ Int delta0 )
{
Int len;
UChar rm =3D getIByte(delta0);
@@ -1910,7 +1910,7 @@
Bool carrying,
IROp op8,
Bool keep,
- UInt delta,
+ Int delta,
HChar* t_x86opc )
{
IRType ty =3D szToITy(size);
@@ -1949,8 +1949,8 @@
=20
/* Sign- and Zero-extending moves. */
static
-UInt dis_movx_E_G ( UChar sorb,
- UInt delta, Int szs, Int szd, Bool sign_extend )
+UInt dis_movx_E_G ( UChar sorb,
+ Int delta, Int szs, Int szd, Bool sign_extend )
{
UChar rm =3D getIByte(delta);
if (epartIsReg(rm)) {
@@ -2029,7 +2029,7 @@
=20
static=20
UInt dis_Grp1 ( UChar sorb,
- UInt delta, UChar modrm,=20
+ Int delta, UChar modrm,=20
Int am_sz, Int d_sz, Int sz, UInt d32 )
{
Int len;
@@ -2110,8 +2110,8 @@
expression. */
=20
static
-UInt dis_Grp2 ( UChar sorb,
- UInt delta, UChar modrm,
+UInt dis_Grp2 ( UChar sorb,
+ Int delta, UChar modrm,
Int am_sz, Int d_sz, Int sz, IRExpr* shift_expr,
HChar* shift_expr_txt )
{
@@ -2337,8 +2337,8 @@
=20
/* Group 8 extended opcodes (but BT/BTS/BTC/BTR only). */
static
-UInt dis_Grp8_Imm ( UChar sorb,
- UInt delta, UChar modrm,
+UInt dis_Grp8_Imm ( UChar sorb,
+ Int delta, UChar modrm,
Int am_sz, Int sz, UInt src_val,
Bool* decode_OK )
{
@@ -2502,7 +2502,7 @@
=20
/* Group 3 extended opcodes. */
static=20
-UInt dis_Grp3 ( UChar sorb, Int sz, UInt delta )
+UInt dis_Grp3 ( UChar sorb, Int sz, Int delta )
{
UInt d32;
UChar modrm;
@@ -2631,7 +2631,7 @@
=20
/* Group 4 extended opcodes. */
static
-UInt dis_Grp4 ( UChar sorb, UInt delta )
+UInt dis_Grp4 ( UChar sorb, Int delta )
{
Int alen;
UChar modrm;
@@ -2690,7 +2690,7 @@
=20
/* Group 5 extended opcodes. */
static
-UInt dis_Grp5 ( UChar sorb, Int sz, UInt delta, DisResult* dres )
+UInt dis_Grp5 ( UChar sorb, Int sz, Int delta, DisResult* dres )
{
Int len;
UChar modrm;
@@ -2942,7 +2942,7 @@
static
UInt dis_mul_E_G ( UChar sorb,
Int size,=20
- UInt delta0 )
+ Int delta0 )
{
Int alen;
HChar dis_buf[50];
@@ -2983,7 +2983,7 @@
static
UInt dis_imul_I_E_G ( UChar sorb,
Int size,=20
- UInt delta,
+ Int delta,
Int litsize )
{
Int d32, alen;
@@ -3334,7 +3334,7 @@
=20
=20
static
-UInt dis_FPU ( Bool* decode_ok, UChar sorb, UInt delta )
+UInt dis_FPU ( Bool* decode_ok, UChar sorb, Int delta )
{
Int len;
UInt r_src, r_dst;
@@ -4799,7 +4799,7 @@
=20
static=20
UInt dis_MMXop_regmem_to_reg ( UChar sorb,
- UInt delta,
+ Int delta,
UChar opc,
HChar* name,
Bool show_granularity )
@@ -4947,7 +4947,7 @@
/* Vector by scalar shift of G by the amount specified at the bottom
of E. This is a straight copy of dis_SSE_shiftG_byE. */
=20
-static UInt dis_MMX_shiftG_byE ( UChar sorb, UInt delta,=20
+static UInt dis_MMX_shiftG_byE ( UChar sorb, Int delta,=20
HChar* opname, IROp op )
{
HChar dis_buf[50];
@@ -5024,7 +5024,7 @@
straight copy of dis_SSE_shiftE_imm. */
=20
static=20
-UInt dis_MMX_shiftE_imm ( UInt delta, HChar* opname, IROp op )
+UInt dis_MMX_shiftE_imm ( Int delta, HChar* opname, IROp op )
{
Bool shl, shr, sar;
UChar rm =3D getIByte(delta);
@@ -5080,7 +5080,7 @@
/* Completely handle all MMX instructions except emms. */
=20
static
-UInt dis_MMX ( Bool* decode_ok, UChar sorb, Int sz, UInt delta )
+UInt dis_MMX ( Bool* decode_ok, UChar sorb, Int sz, Int delta )
{
Int len;
UChar modrm;
@@ -5390,7 +5390,7 @@
v-size (no b- variant). */
static
UInt dis_SHLRD_Gv_Ev ( UChar sorb,
- UInt delta, UChar modrm,
+ Int delta, UChar modrm,
Int sz,
IRExpr* shift_amt,
Bool amt_is_literal,
@@ -5524,7 +5524,7 @@
=20
=20
static
-UInt dis_bt_G_E ( UChar sorb, Int sz, UInt delta, BtOp op )
+UInt dis_bt_G_E ( UChar sorb, Int sz, Int delta, BtOp op )
{
HChar dis_buf[50];
UChar modrm;
@@ -5656,7 +5656,7 @@
=20
/* Handle BSF/BSR. Only v-size seems necessary. */
static
-UInt dis_bs_E_G ( UChar sorb, Int sz, UInt delta, Bool fwds )
+UInt dis_bs_E_G ( UChar sorb, Int sz, Int delta, Bool fwds )
{
Bool isReg;
UChar modrm;
@@ -5830,7 +5830,7 @@
static
UInt dis_cmpxchg_G_E ( UChar sorb,
Int size,=20
- UInt delta0 )
+ Int delta0 )
{
HChar dis_buf[50];
Int len;
@@ -5968,7 +5968,7 @@
UInt dis_cmov_E_G ( UChar sorb,
Int sz,=20
X86Condcode cond,
- UInt delta0 )
+ Int delta0 )
{
UChar rm =3D getIByte(delta0);
HChar dis_buf[50];
@@ -6018,7 +6018,7 @@
=20
=20
static
-UInt dis_xadd_G_E ( UChar sorb, Int sz, UInt delta0 )
+UInt dis_xadd_G_E ( UChar sorb, Int sz, Int delta0 )
{
Int len;
UChar rm =3D getIByte(delta0);
@@ -6062,7 +6062,7 @@
/* Move 16 bits from Ew (ireg or mem) to G (a segment register). */
=20
static
-UInt dis_mov_Ew_Sw ( UChar sorb, UInt delta0 )
+UInt dis_mov_Ew_Sw ( UChar sorb, Int delta0 )
{
Int len;
IRTemp addr;
@@ -6087,7 +6087,7 @@
static
UInt dis_mov_Sw_Ew ( UChar sorb,
Int sz,
- UInt delta0 )
+ Int delta0 )
{
Int len;
IRTemp addr;
@@ -6162,7 +6162,7 @@
*/
=20
static UInt dis_SSE_E_to_G_all_wrk (=20
- UChar sorb, UInt delta,=20
+ UChar sorb, Int delta,=20
HChar* opname, IROp op,
Bool invertG
)
@@ -6198,7 +6198,7 @@
/* All lanes SSE binary operation, G =3D G `op` E. */
=20
static
-UInt dis_SSE_E_to_G_all ( UChar sorb, UInt delta, HChar* opname, IROp op=
)
+UInt dis_SSE_E_to_G_all ( UChar sorb, Int delta, HChar* opname, IROp op =
)
{
return dis_SSE_E_to_G_all_wrk( sorb, delta, opname, op, False );
}
@@ -6206,7 +6206,7 @@
/* All lanes SSE binary operation, G =3D (not G) `op` E. */
=20
static
-UInt dis_SSE_E_to_G_all_invG ( UChar sorb, UInt delta,=20
+UInt dis_SSE_E_to_G_all_invG ( UChar sorb, Int delta,=20
HChar* opname, IROp op )
{
return dis_SSE_E_to_G_all_wrk( sorb, delta, opname, op, True );
@@ -6215,7 +6215,7 @@
=20
/* Lowest 32-bit lane only SSE binary operation, G =3D G `op` E. */
=20
-static UInt dis_SSE_E_to_G_lo32 ( UChar sorb, UInt delta,=20
+static UInt dis_SSE_E_to_G_lo32 ( UChar sorb, Int delta,=20
HChar* opname, IROp op )
{
HChar dis_buf[50];
@@ -6250,7 +6250,7 @@
=20
/* Lower 64-bit lane only SSE binary operation, G =3D G `op` E. */
=20
-static UInt dis_SSE_E_to_G_lo64 ( UChar sorb, UInt delta,=20
+static UInt dis_SSE_E_to_G_lo64 ( UChar sorb, Int delta,=20
HChar* opname, IROp op )
{
HChar dis_buf[50];
@@ -6286,7 +6286,7 @@
/* All lanes unary SSE operation, G =3D op(E). */
=20
static UInt dis_SSE_E_to_G_unary_all (=20
- UChar sorb, UInt delta,=20
+ UChar sorb, Int delta,=20
HChar* opname, IROp op
)
{
@@ -6316,7 +6316,7 @@
/* Lowest 32-bit lane only unary SSE operation, G =3D op(E). */
=20
static UInt dis_SSE_E_to_G_unary_lo32 (=20
- UChar sorb, UInt delta,=20
+ UChar sorb, Int delta,=20
HChar* opname, IROp op
)
{
@@ -6359,7 +6359,7 @@
/* Lowest 64-bit lane only unary SSE operation, G =3D op(E). */
=20
static UInt dis_SSE_E_to_G_unary_lo64 (=20
- UChar sorb, UInt delta,=20
+ UChar sorb, Int delta,=20
HChar* opname, IROp op
)
{
@@ -6404,7 +6404,7 @@
G =3D E `op` G (eLeft =3D=3D True)
*/
static UInt dis_SSEint_E_to_G(=20
- UChar sorb, UInt delta,=20
+ UChar sorb, Int delta,=20
HChar* opname, IROp op,
Bool eLeft
)
@@ -6490,7 +6490,7 @@
=20
/* Handles SSE 32F comparisons. */
=20
-static UInt dis_SSEcmp_E_to_G ( UChar sorb, UInt delta,=20
+static UInt dis_SSEcmp_E_to_G ( UChar sorb, Int delta,=20
HChar* opname, Bool all_lanes, Int sz )
{
HChar dis_buf[50];
@@ -6546,7 +6546,7 @@
/* Vector by scalar shift of G by the amount specified at the bottom
of E. */
=20
-static UInt dis_SSE_shiftG_byE ( UChar sorb, UInt delta,=20
+static UInt dis_SSE_shiftG_byE ( UChar sorb, Int delta,=20
HChar* opname, IROp op )
{
HChar dis_buf[50];
@@ -6621,7 +6621,7 @@
/* Vector by scalar shift of E by an immediate byte. */
=20
static=20
-UInt dis_SSE_shiftE_imm ( UInt delta, HChar* opname, IROp op )
+UInt dis_SSE_shiftE_imm ( Int delta, HChar* opname, IROp op )
{
Bool shl, shr, sar;
UChar rm =3D getIByte(delta);
@@ -10302,7 +10302,7 @@
case 0xDD:
case 0xDE:
case 0xDF: {
- UInt delta0 =3D delta;
+ Int delta0 =3D delta;
Bool decode_OK =3D False;
delta =3D dis_FPU ( &decode_OK, sorb, delta );
if (!decode_OK) {
@@ -11896,7 +11896,7 @@
case 0xE1: /* PSRAgg (src)mmxreg-or-mem, (dst)mmxreg */
case 0xE2:=20
{
- UInt delta0 =3D delta-1;
+ Int delta0 =3D delta-1;
Bool decode_OK =3D False;
=20
/* If sz=3D=3D2 this is SSE, and we assume sse idec has
|
|
From: <sv...@va...> - 2005-07-03 00:51:07
|
Author: sewardj Date: 2005-07-03 01:50:48 +0100 (Sun, 03 Jul 2005) New Revision: 4093 Log: Remove trailing slash (some part of the autoswamp didn't like it) Modified: trunk/docs/Makefile.am Modified: trunk/docs/Makefile.am =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/Makefile.am 2005-07-02 23:13:59 UTC (rev 4092) +++ trunk/docs/Makefile.am 2005-07-03 00:50:48 UTC (rev 4093) @@ -5,7 +5,7 @@ directory-structure \ README \ porting-HOWTO porting-to-ARM \ - tm-mutexstates.dot tm-threadstates.dot \ + tm-mutexstates.dot tm-threadstates.dot =20 dist_man_MANS =3D valgrind.1 =20 |
|
From: <sv...@va...> - 2005-07-03 00:05:38
|
Author: sewardj
Date: 2005-07-03 01:05:31 +0100 (Sun, 03 Jul 2005)
New Revision: 1248
Log:
Type casting cleanups.
Modified:
trunk/Makefile-icc
trunk/priv/guest-arm/toIR.c
trunk/priv/guest-ppc32/ghelpers.c
trunk/priv/guest-ppc32/toIR.c
trunk/priv/host-ppc32/hdefs.c
trunk/priv/host-ppc32/isel.c
Modified: trunk/Makefile-icc
=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/Makefile-icc 2005-07-02 19:24:10 UTC (rev 1247)
+++ trunk/Makefile-icc 2005-07-03 00:05:31 UTC (rev 1248)
@@ -19,6 +19,7 @@
priv/main/vex_globals.h \
priv/main/vex_util.h \
priv/guest-generic/g_generic_x87.h \
+ priv/guest-generic/bb_to_IR.h \
priv/guest-x86/gdefs.h \
priv/guest-amd64/gdefs.h \
priv/guest-arm/gdefs.h \
@@ -44,6 +45,7 @@
priv/host-generic/h_generic_simd64.o \
priv/host-generic/reg_alloc2.o \
priv/guest-generic/g_generic_x87.o \
+ priv/guest-generic/bb_to_IR.o \
priv/guest-x86/ghelpers.o \
priv/guest-amd64/ghelpers.o \
priv/guest-arm/ghelpers.o \
@@ -203,6 +205,10 @@
$(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-generic/g_generic_x87.o =
\
-c priv/guest-generic/g_generic_x87.c
=20
+priv/guest-generic/bb_to_IR.o: $(ALL_HEADERS) priv/guest-generic/bb_to_I=
R.c
+ $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-generic/bb_to_IR.o \
+ -c priv/guest-generic/bb_to_IR.c
+
priv/guest-x86/ghelpers.o: $(ALL_HEADERS) priv/guest-x86/ghelpers.c
$(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-x86/ghelpers.o \
-c priv/guest-x86/ghelpers.c
Modified: trunk/priv/guest-arm/toIR.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/priv/guest-arm/toIR.c 2005-07-02 19:24:10 UTC (rev 1247)
+++ trunk/priv/guest-arm/toIR.c 2005-07-03 00:05:31 UTC (rev 1248)
@@ -241,7 +241,7 @@
}
=20
delta +=3D size;
- vge->len[vge->n_used-1] +=3D size;
+ vge->len[vge->n_used-1] =3D toUShort(vge->len[vge->n_used-1] + siz=
e);
n_instrs++;
DIP("\n");
=20
Modified: trunk/priv/guest-ppc32/ghelpers.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/priv/guest-ppc32/ghelpers.c 2005-07-02 19:24:10 UTC (rev 1247)
+++ trunk/priv/guest-ppc32/ghelpers.c 2005-07-03 00:05:31 UTC (rev 1248)
@@ -99,8 +99,8 @@
case PPC32G_FLAG_OP_MULLW: { // mullwo
/* OV true if result can't be represented in 32 bits
i.e sHi !=3D sign extension of sLo */
- Long l_res =3D (Long)((Int)argL) * (Long)((Int)argR);
- Int sHi =3D (Int)(l_res >> 32);
+ Long l_res =3D ((Long)((Int)argL)) * ((Long)((Int)argR));
+ Int sHi =3D (Int)toUInt(l_res >> 32);
Int sLo =3D (Int)l_res;
return (sHi !=3D (sLo >> /*s*/ 31)) ? 1:0;
}
Modified: trunk/priv/guest-ppc32/toIR.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/priv/guest-ppc32/toIR.c 2005-07-02 19:24:10 UTC (rev 1247)
+++ trunk/priv/guest-ppc32/toIR.c 2005-07-03 00:05:31 UTC (rev 1248)
@@ -274,7 +274,7 @@
=20
static UChar extend_s_5to8 ( UChar x )
{
- return (UChar)((((Int)x) << 27) >> 27);
+ return toUChar((((Int)x) << 27) >> 27);
}
=20
#if 0
@@ -808,7 +808,7 @@
fld =3D getReg_masked( reg, (0xF << (field_idx*4)) );
=20
if (field_idx !=3D 0) {
- fld =3D binop(Iop_Shr32, fld, mkU8(field_idx * 4));
+ fld =3D binop(Iop_Shr32, fld, mkU8(toUChar(field_idx * 4)));
}
return fld;
}
@@ -818,13 +818,13 @@
static IRExpr* getReg_bit ( PPC32SPR reg, UInt bit_idx )
{
IRExpr* val;
- vassert( bit_idx <=3D 32 );
+ vassert( bit_idx < 32 );
vassert( reg < PPC32_SPR_MAX );
=20
val =3D getReg_masked( reg, 1<<bit_idx );
=20
if (bit_idx !=3D 0) {
- val =3D binop(Iop_Shr32, val, mkU8(bit_idx));
+ val =3D binop(Iop_Shr32, val, mkU8(toUChar(bit_idx)));
}
return val;
}
@@ -955,7 +955,7 @@
vassert( reg < PPC32_SPR_MAX );
=20
if (field_idx !=3D 0) {
- src =3D binop(Iop_Shl32, src, mkU8(field_idx * 4));
+ src =3D binop(Iop_Shl32, src, mkU8(toUChar(field_idx * 4)));
} =20
putReg_masked( reg, src, (0xF << (field_idx*4)) );
}
@@ -968,18 +968,12 @@
vassert( reg < PPC32_SPR_MAX );
=20
if (bit_idx !=3D 0) {
- src =3D binop(Iop_Shl32, src, mkU8(bit_idx));
+ src =3D binop(Iop_Shl32, src, mkU8(toUChar(bit_idx)));
} =20
putReg_masked( reg, src, (1<<bit_idx) );
}
=20
=20
-
-
-
-
-
-
/*------------------------------------------------------------*/
/*--- Integer Instruction Translation --- */
/*------------------------------------------------------------*/
@@ -1370,13 +1364,13 @@
switch (opc1) {
case 0x0B: // cmpi (Compare Immediate, PPC32 p368)
EXTS_SIMM =3D extend_s_16to32(SIMM_16);
- DIP("cmpi crf%d,%u,r%d,0x%x\n", crfD, flag_L, Ra_addr, EXTS_SIMM);
+ DIP("cmpi crf%d,%d,r%d,0x%x\n", crfD, flag_L, Ra_addr, EXTS_SIMM);
irx_cmp_lt =3D binop(Iop_CmpLT32S, mkexpr(Ra), mkU32(EXTS_SIMM));
irx_cmp_eq =3D binop(Iop_CmpEQ32, mkexpr(Ra), mkU32(EXTS_SIMM));
break;
=20
case 0x0A: // cmpli (Compare Logical Immediate, PPC32 p370)
- DIP("cmpli crf%d,%u,r%d,0x%x\n", crfD, flag_L, Ra_addr, UIMM_16);
+ DIP("cmpli crf%d,%d,r%d,0x%x\n", crfD, flag_L, Ra_addr, UIMM_16);
irx_cmp_lt =3D binop(Iop_CmpLT32U, mkexpr(Ra), mkU32(UIMM_16));
irx_cmp_eq =3D binop(Iop_CmpEQ32, mkexpr(Ra), mkU32(UIMM_16));
break;
@@ -1392,13 +1386,13 @@
=20
switch (opc2) {
case 0x000: // cmp (Compare, PPC32 p367)
- DIP("cmp crf%d,%u,r%d,r%d\n", crfD, flag_L,
+ DIP("cmp crf%d,%d,r%d,r%d\n", crfD, flag_L,
Ra_addr, Rb_addr);
irx_cmp_lt =3D binop(Iop_CmpLT32S, mkexpr(Ra), mkexpr(Rb));
break;
=20
case 0x020: // cmpl (Compare Logical, PPC32 p369)
- DIP("cmpl crf%d,%u,r%d,r%d\n", crfD, flag_L,
+ DIP("cmpl crf%d,%d,r%d,r%d\n", crfD, flag_L,
Ra_addr, Rb_addr);
irx_cmp_lt =3D binop(Iop_CmpLT32U, mkexpr(Ra), mkexpr(Rb));
break;
@@ -1642,7 +1636,7 @@
=20
switch (opc1) {
case 0x14: // rlwimi (Rotate Left Word Immediate then Mask Insert, PP=
C32 p500)
- DIP("rlwimi%s r%d,r%d,%d,%u,%u\n", flag_Rc ? "." : "",
+ DIP("rlwimi%s r%d,r%d,%d,%d,%d\n", flag_Rc ? "." : "",
Ra_addr, Rs_addr, sh_imm, MaskBegin, MaskEnd);
// Ra =3D (ROTL(Rs, Imm) & mask) | (Ra & ~mask);
assign( Ra, binop(Iop_Or32,
@@ -1652,7 +1646,7 @@
break;
=20
case 0x15: // rlwinm (Rotate Left Word Immediate then AND with Mask, =
PPC32 p501)
- DIP("rlwinm%s r%d,r%d,%d,%u,%u\n", flag_Rc ? "." : "",
+ DIP("rlwinm%s r%d,r%d,%d,%d,%d\n", flag_Rc ? "." : "",
Ra_addr, Rs_addr, sh_imm, MaskBegin, MaskEnd);
// Ra =3D ROTL(Rs, Imm) & mask
assign( Ra, binop(Iop_And32, ROTL32(mkexpr(Rs),
@@ -1660,7 +1654,7 @@
break;
=20
case 0x17: // rlwnm (Rotate Left Word then AND with Mask, PPC32 p503
- DIP("rlwnm%s r%d,r%d,r%d,%u,%u\n", flag_Rc ? "." : "",
+ DIP("rlwnm%s r%d,r%d,r%d,%d,%d\n", flag_Rc ? "." : "",
Ra_addr, Rs_addr, Rb_addr, MaskBegin, MaskEnd);
// Ra =3D ROTL(Rs, Rb[0-4]) & mask
assign( rot_amt,
@@ -2147,7 +2141,7 @@
return False;
}
}
- DIP("lswi r%d,r%d,%u\n", Rd_addr, Ra_addr, NumBytes);
+ DIP("lswi r%d,r%d,%d\n", Rd_addr, Ra_addr, NumBytes);
=20
assign( EA, mkexpr(b_EA) );
=20
@@ -2182,7 +2176,7 @@
case 0x2D5: // stswi (Store String Word Immediate, PPC32 p528)
vassert(0);
=20
- DIP("stswi r%d,r%d,%u\n", Rs_addr, Ra_addr, NumBytes);
+ DIP("stswi r%d,r%d,%d\n", Rs_addr, Ra_addr, NumBytes);
if (Ra_addr =3D=3D 0) {
assign( EA, mkU32(0) );
} else {
@@ -3286,7 +3280,7 @@
/* D-Form */
UInt d_imm =3D (theInstr >> 0) & 0xFFFF; /* theInstr[0:=
15] */
=20
- UInt exts_d_imm =3D extend_s_16to32(d_imm);
+ Int exts_d_imm =3D extend_s_16to32(d_imm);
=20
IRTemp EA =3D newTemp(Ity_I32);
IRTemp rA =3D newTemp(Ity_I32);
@@ -3299,7 +3293,7 @@
=20
switch(opc1) {
case 0x30: // lfs (Load Float Single, PPC32 p441)
- DIP("lfs fr%d,%d(r%d)\n", frD_addr, d_imm, rA_addr);
+ DIP("lfs fr%d,%d(r%d)\n", frD_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA_or_0)) )=
;
putFReg( frD_addr, unop(Iop_F32toF64, loadBE(Ity_F32, mkexpr(EA)))=
);
break;
@@ -3309,14 +3303,14 @@
vex_printf("dis_fp_load(PPC32)(instr,lfsu)\n");
return False;
}
- DIP("lfsu fr%d,%d(r%d)\n", frD_addr, d_imm, rA_addr);
+ DIP("lfsu fr%d,%d(r%d)\n", frD_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA)) );
putFReg( frD_addr, unop(Iop_F32toF64, loadBE(Ity_F32, mkexpr(EA)))=
);
putIReg( rA_addr, mkexpr(EA) );
break;
=20
case 0x32: // lfd (Load Float Double, PPC32 p437)
- DIP("lfd fr%d,%d(r%d)\n", frD_addr, d_imm, rA_addr);
+ DIP("lfd fr%d,%d(r%d)\n", frD_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA_or_0)) )=
;
putFReg( frD_addr, loadBE(Ity_F64, mkexpr(EA)) );
break;
@@ -3326,7 +3320,7 @@
vex_printf("dis_fp_load(PPC32)(instr,lfdu)\n");
return False;
}
- DIP("lfdu fr%d,%d(r%d)\n", frD_addr, d_imm, rA_addr);
+ DIP("lfdu fr%d,%d(r%d)\n", frD_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA)) );
putFReg( frD_addr, loadBE(Ity_F64, mkexpr(EA)) );
putIReg( rA_addr, mkexpr(EA) );
@@ -3404,7 +3398,7 @@
/* D-Form */
UInt d_imm =3D (theInstr >> 0) & 0xFFFF; /* theInstr[0:=
15] */
=20
- UInt exts_d_imm =3D extend_s_16to32(d_imm);
+ Int exts_d_imm =3D extend_s_16to32(d_imm);
=20
IRTemp EA =3D newTemp(Ity_I32);
IRTemp frS =3D newTemp(Ity_F64);
@@ -3419,7 +3413,7 @@
=20
switch(opc1) {
case 0x34: // stfs (Store Float Single, PPC32 p518)
- DIP("stfs fr%d,%d(r%d)\n", frS_addr, d_imm, rA_addr);
+ DIP("stfs fr%d,%d(r%d)\n", frS_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA_or_0)) )=
;
storeBE( mkexpr(EA),
binop(Iop_F64toF32, get_roundingmode(), mkexpr(frS)) );
@@ -3430,7 +3424,7 @@
vex_printf("dis_fp_store(PPC32)(instr,stfsu)\n");
return False;
}
- DIP("stfsu fr%d,%d(r%d)\n", frS_addr, d_imm, rA_addr);
+ DIP("stfsu fr%d,%d(r%d)\n", frS_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA)) );
storeBE( mkexpr(EA),
binop(Iop_F64toF32, get_roundingmode(), mkexpr(frS)) );
@@ -3438,7 +3432,7 @@
break;
=20
case 0x36: // stfd (Store Float Double, PPC32 p513)
- DIP("stfd fr%d,%d(r%d)\n", frS_addr, d_imm, rA_addr);
+ DIP("stfd fr%d,%d(r%d)\n", frS_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA_or_0)) )=
;
storeBE( mkexpr(EA), mkexpr(frS) );
break;
@@ -3448,7 +3442,7 @@
vex_printf("dis_fp_store(PPC32)(instr,stfdu)\n");
return False;
}
- DIP("stfdu fr%d,%d(r%d)\n", frS_addr, d_imm, rA_addr);
+ DIP("stfdu fr%d,%d(r%d)\n", frS_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA)) );
storeBE( mkexpr(EA), mkexpr(frS) );
putIReg( rA_addr, mkexpr(EA) );
@@ -5046,7 +5040,7 @@
vex_printf("dis_av_permute(PPC32)(vsldoi)\n");
return False;
}
- DIP("vsldoi v%d,v%d,v%d,%u\n", vD_addr, vA_addr, vB_addr, SHB_uimm=
4);
+ DIP("vsldoi v%d,v%d,v%d,%d\n", vD_addr, vA_addr, vB_addr, SHB_uimm=
4);
DIP(" =3D> not implemented\n");
return False;
=20
@@ -5090,17 +5084,17 @@
=20
/* Splat */
case 0x20C: // vspltb (Splat Byte, AV p245)
- DIP("vspltb v%d,v%d,%u\n", vD_addr, vB_addr, UIMM_5);
+ DIP("vspltb v%d,v%d,%d\n", vD_addr, vB_addr, UIMM_5);
DIP(" =3D> not implemented\n");
return False;
=20
case 0x24C: // vsplth (Splat Half Word, AV p246)
- DIP("vsplth v%d,v%d,%u\n", vD_addr, vB_addr, UIMM_5);
+ DIP("vsplth v%d,v%d,%d\n", vD_addr, vB_addr, UIMM_5);
DIP(" =3D> not implemented\n");
return False;
=20
case 0x28C: // vspltw (Splat Word, AV p250)
- DIP("vspltw v%d,v%d,%u\n", vD_addr, vB_addr, UIMM_5);
+ DIP("vspltw v%d,v%d,%d\n", vD_addr, vB_addr, UIMM_5);
DIP(" =3D> not implemented\n");
return False;
=20
@@ -5395,22 +5389,22 @@
=20
switch (opc2) {
case 0x30A: // vcfux (Convert from Unsigned Fixed-Point W, AV p156)
- DIP("vcfux v%d,v%d,%u\n", vD_addr, vB_addr, UIMM_5);
+ DIP("vcfux v%d,v%d,%d\n", vD_addr, vB_addr, UIMM_5);
DIP(" =3D> not implemented\n");
return False;
=20
case 0x34A: // vcfsx (Convert from Signed Fixed-Point W, AV p155)
- DIP("vcfsx v%d,v%d,%u\n", vD_addr, vB_addr, UIMM_5);
+ DIP("vcfsx v%d,v%d,%d\n", vD_addr, vB_addr, UIMM_5);
DIP(" =3D> not implemented\n");
return False;
=20
case 0x38A: // vctuxs (Convert to Unsigned Fixed-Point W Saturate, AV=
p172)
- DIP("vctuxs v%d,v%d,%u\n", vD_addr, vB_addr, UIMM_5);
+ DIP("vctuxs v%d,v%d,%d\n", vD_addr, vB_addr, UIMM_5);
DIP(" =3D> not implemented\n");
return False;
=20
case 0x3CA: // vctsxs (Convert to Signed Fixed-Point W Saturate, AV p=
171)
- DIP("vctsxs v%d,v%d,%u\n", vD_addr, vB_addr, UIMM_5);
+ DIP("vctsxs v%d,v%d,%d\n", vD_addr, vB_addr, UIMM_5);
DIP(" =3D> not implemented\n");
return False;
=20
Modified: trunk/priv/host-ppc32/hdefs.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/priv/host-ppc32/hdefs.c 2005-07-02 19:24:10 UTC (rev 1247)
+++ trunk/priv/host-ppc32/hdefs.c 2005-07-03 00:05:31 UTC (rev 1248)
@@ -1321,12 +1321,14 @@
ppHRegPPC32(i->Pin.AvShlDbl.srcL);
vex_printf(",");
ppHRegPPC32(i->Pin.AvShlDbl.srcR);
- vex_printf(",%u", i->Pin.AvShlDbl.shift);
+ vex_printf(",%d", i->Pin.AvShlDbl.shift);
return;
=20
case Pin_AvSplat: {
- UChar ch_sz =3D (i->Pin.AvSplat.sz =3D=3D 8) ? 'b' :
- (i->Pin.AvSplat.sz =3D=3D 16) ? 'h' : 'w';
+ UChar ch_sz =3D toUChar(
+ (i->Pin.AvSplat.sz =3D=3D 8) ? 'b' :
+ (i->Pin.AvSplat.sz =3D=3D 16) ? 'h' : 'w'
+ );
vex_printf("vsplt%s%c ",
i->Pin.AvSplat.src->tag =3D=3D Pri_Imm ? "is" : "", ch_=
sz);
ppHRegPPC32(i->Pin.AvSplat.dst);
Modified: trunk/priv/host-ppc32/isel.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/priv/host-ppc32/isel.c 2005-07-02 19:24:10 UTC (rev 1247)
+++ trunk/priv/host-ppc32/isel.c 2005-07-03 00:05:31 UTC (rev 1248)
@@ -706,7 +706,7 @@
=20
/* Finally, the call itself. */
addInstr(env, PPC32Instr_Call( cc,
- Ptr_to_ULong(cee->addr),
+ (Addr32)toUInt(Ptr_to_ULong(cee->addr)=
),
n_args + (passBBP ? 1 : 0) ));
}
=20
@@ -915,8 +915,8 @@
if (e->Iex.Load.end !=3D Iend_BE)
goto irreducible;
if (ty =3D=3D Ity_I8 || ty =3D=3D Ity_I16 || ty =3D=3D Ity_I32) {
- addInstr(env, PPC32Instr_Load(=20
- sizeofIRType(ty), False, r_dst, am_addr ));
+ addInstr(env, PPC32Instr_Load( toUChar(sizeofIRType(ty)),=20
+ False, r_dst, am_addr ));
return r_dst;
}
break;
@@ -1385,7 +1385,8 @@
if (ty =3D=3D Ity_I8 || ty =3D=3D Ity_I16 || ty =3D=3D Ity_I32) {
HReg r_dst =3D newVRegI(env);
PPC32AMode* am_addr =3D PPC32AMode_IR(e->Iex.Get.offset, GuestS=
tatePtr );
- addInstr(env, PPC32Instr_Load( sizeofIRType(ty), False, r_dst, =
am_addr ));
+ addInstr(env, PPC32Instr_Load( toUChar(sizeofIRType(ty)),=20
+ False, r_dst, am_addr ));
return r_dst;
}
break;
@@ -1477,21 +1478,25 @@
Int i =3D u & 0xFFFF;
i <<=3D 16;
i >>=3D 16;
- return u =3D=3D (UInt)i;
+ return toBool(u =3D=3D (UInt)i);
}
=20
static Bool sane_AMode ( PPC32AMode* am )
{
switch (am->tag) {
case Pam_IR:
- return (hregClass(am->Pam.IR.base) =3D=3D HRcInt32
- && hregIsVirtual(am->Pam.IR.base)
- && fits16bits(am->Pam.IR.index));
+ return toBool(
+ hregClass(am->Pam.IR.base) =3D=3D HRcInt32
+ && hregIsVirtual(am->Pam.IR.base)
+ && fits16bits(am->Pam.IR.index)
+ );
case Pam_RR:
- return (hregClass(am->Pam.RR.base) =3D=3D HRcInt32
- && hregIsVirtual(am->Pam.IR.base)
- && hregClass(am->Pam.RR.base) =3D=3D HRcInt32
- && hregIsVirtual(am->Pam.IR.base));
+ return toBool(
+ hregClass(am->Pam.RR.base) =3D=3D HRcInt32
+ && hregIsVirtual(am->Pam.IR.base)
+ && hregClass(am->Pam.RR.base) =3D=3D HRcInt32
+ && hregIsVirtual(am->Pam.IR.base)
+ );
default:
vpanic("sane_AMode: unknown ppc32 amode tag");
}
@@ -1939,7 +1944,7 @@
which. */
HReg tLo =3D newVRegI(env);
HReg tHi =3D newVRegI(env);
- Bool syned =3D e->Iex.Binop.op =3D=3D Iop_MullS32;
+ Bool syned =3D toBool(e->Iex.Binop.op =3D=3D Iop_MullS32)=
;
HReg r_srcL =3D iselIntExpr_R(env, e->Iex.Binop.arg1);
=20
// CAB: could do better than this...
@@ -2468,7 +2473,7 @@
//.. return;
//.. }
=20
- vex_printf("iselInt64Expr(ppc32): No such tag(%d)\n", e->tag);
+ vex_printf("iselInt64Expr(ppc32): No such tag(%u)\n", e->tag);
ppIRExpr(e);
vpanic("iselInt64Expr(ppc32)");
}
@@ -2546,7 +2551,7 @@
//.. return dst;
//.. }
=20
- vex_printf("iselFltExpr(ppc32): No such tag(%d)\n", e->tag);
+ vex_printf("iselFltExpr(ppc32): No such tag(%u)\n", e->tag);
ppIRExpr(e);
vpanic("iselFltExpr_wrk(ppc32)");
}
@@ -2783,7 +2788,7 @@
}
}
=20
- vex_printf("iselDblExpr(ppc32): No such tag(%d)\n", e->tag);
+ vex_printf("iselDblExpr(ppc32): No such tag(%u)\n", e->tag);
ppIRExpr(e);
vpanic("iselDblExpr_wrk(ppc32)");
}
@@ -3301,7 +3306,8 @@
am_addr =3D iselIntExpr_AMode(env, stmt->Ist.Store.addr);
if (tyd =3D=3D Ity_I8 || tyd =3D=3D Ity_I16 || tyd =3D=3D Ity_I32)=
{
HReg r_src =3D iselIntExpr_R(env, stmt->Ist.Store.data);
- addInstr(env, PPC32Instr_Store(sizeofIRType(tyd), am_addr, r_sr=
c));
+ addInstr(env, PPC32Instr_Store( toUChar(sizeofIRType(tyd)),=20
+ am_addr, r_src));
return;
}
if (tyd =3D=3D Ity_F64) {
@@ -3338,7 +3344,8 @@
if (ty =3D=3D Ity_I8 || ty =3D=3D Ity_I16 || ty =3D=3D Ity_I32) {
HReg r_src =3D iselIntExpr_R(env, stmt->Ist.Put.data);
PPC32AMode* am_addr =3D PPC32AMode_IR(stmt->Ist.Put.offset, Gue=
stStatePtr);
- addInstr(env, PPC32Instr_Store( sizeofIRType(ty), am_addr, r_sr=
c ));
+ addInstr(env, PPC32Instr_Store( toUChar(sizeofIRType(ty)),=20
+ am_addr, r_src ));
return;
}
if (ty =3D=3D Ity_I64) {
@@ -3454,7 +3461,7 @@
=20
if (d->nFxState =3D=3D 0)
vassert(!d->needsBBP);
- passBBP =3D d->nFxState > 0 && d->needsBBP;
+ passBBP =3D toBool(d->nFxState > 0 && d->needsBBP);
=20
/* Marshal args, do the call, clear stack. */
doHelperCall( env, passBBP, d->guard, d->cee, d->args );
|