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
(12) |
2
(14) |
3
(8) |
|
4
(6) |
5
(15) |
6
(14) |
7
(13) |
8
(14) |
9
(13) |
10
(9) |
|
11
(6) |
12
(12) |
13
(10) |
14
(12) |
15
(9) |
16
(9) |
17
(2) |
|
18
(16) |
19
(21) |
20
(17) |
21
(6) |
22
(5) |
23
(3) |
24
(12) |
|
25
(10) |
26
(5) |
27
(15) |
28
(16) |
29
(12) |
30
(11) |
31
(11) |
|
From: <sv...@va...> - 2015-01-04 22:55:55
|
Author: florian
Date: Sun Jan 4 22:55:45 2015
New Revision: 14849
Log:
Fix Makefile.am so it works for builds configured with
--enable-only32bit.
Modified:
trunk/memcheck/tests/vbit-test/Makefile.am
Modified: trunk/memcheck/tests/vbit-test/Makefile.am
==============================================================================
--- trunk/memcheck/tests/vbit-test/Makefile.am (original)
+++ trunk/memcheck/tests/vbit-test/Makefile.am Sun Jan 4 22:55:45 2015
@@ -41,5 +41,3 @@
vbit_test_DEPENDENCIES =
vbit_test_LDADD =
vbit_test_LDFLAGS = $(AM_CFLAGS_PRI) -std=c99
-vbit_test_LINK = $(LINK)
- $(LINK) $(vbit_test_CFLAGS) $(vbit_test_LDFLAGS)
|
|
From: <sv...@va...> - 2015-01-04 22:47:43
|
Author: florian
Date: Sun Jan 4 22:47:32 2015
New Revision: 14848
Log:
Fix a compiler warning about an incompatible format.
Shows up on 32-bit builds only.
Modified:
trunk/drd/tests/local_static.cpp
Modified: trunk/drd/tests/local_static.cpp
==============================================================================
--- trunk/drd/tests/local_static.cpp (original)
+++ trunk/drd/tests/local_static.cpp Sun Jan 4 22:47:32 2015
@@ -35,8 +35,8 @@
for (std::vector<pthread_t>::iterator p = thread.begin(); p != thread.end();
p++) {
if (pthread_create(&*p, 0, thread_func, 0) != 0) {
- fprintf(stderr, "Creation of thread %ld failed\n",
- &*p - &*thread.begin());
+ fprintf(stderr, "Creation of thread %d failed\n",
+ (int)(&*p - &*thread.begin()));
return 1;
}
}
|
|
From: <sv...@va...> - 2015-01-04 20:33:58
|
Author: philippe
Date: Sun Jan 4 20:33:50 2015
New Revision: 14847
Log:
* Remove useless typedef and uses of Addr32 and Addr64, just use Addr
* uses correct filename in "dying here #ifdef"
* small reformat
Modified:
trunk/coregrind/vgdb-invoker-ptrace.c
Modified: trunk/coregrind/vgdb-invoker-ptrace.c
==============================================================================
--- trunk/coregrind/vgdb-invoker-ptrace.c (original)
+++ trunk/coregrind/vgdb-invoker-ptrace.c Sun Jan 4 20:33:50 2015
@@ -72,23 +72,10 @@
# endif
#endif
-#if VEX_HOST_WORDSIZE == 8
-typedef Addr64 CORE_ADDR;
-#elif VEX_HOST_WORDSIZE == 4
-typedef Addr32 CORE_ADDR;
-#else
-# error "unexpected wordsize"
-#endif
-
-#if VEX_HOST_WORDSIZE == 8
-typedef Addr64 PTRACE_XFER_TYPE;
+// 32-bit or 64-bit wide, depending on primary architecture.
+typedef Addr CORE_ADDR;
+typedef Addr PTRACE_XFER_TYPE;
typedef void* PTRACE_ARG3_TYPE;
-#elif VEX_HOST_WORDSIZE == 4
-typedef Addr32 PTRACE_XFER_TYPE;
-typedef void* PTRACE_ARG3_TYPE;
-#else
-# error "unexpected wordsize"
-#endif
// if > 0, pid for which registers have to be restored.
// if == 0, means we have not yet called setregs (or have already
@@ -314,7 +301,8 @@
// realloc a bigger queue, and store new signal at the end.
// This is not very efficient but we assume not many sigs are queued.
signal_queue_sz++;
- signal_queue = vrealloc(signal_queue, sizeof(siginfo_t) * signal_queue_sz);
+ signal_queue = vrealloc(signal_queue,
+ sizeof(siginfo_t) * signal_queue_sz);
newsiginfo = signal_queue + (signal_queue_sz - 1);
res = ptrace (PTRACE_GETSIGINFO, pid, NULL, newsiginfo);
@@ -875,7 +863,7 @@
#elif defined(VGA_mips64)
sp = user_mod.regs[29];
#else
- I_die_here : (sp) architecture missing in vgdb.c
+ I_die_here : (sp) architecture missing in vgdb-invoker-ptrace.c
#endif
@@ -962,7 +950,7 @@
#elif defined(VGA_mips64)
assert(0); // cannot vgdb a 32 bits executable with a 64 bits exe
#else
- I_die_here : architecture missing in vgdb.c
+ I_die_here : architecture missing in vgdb-invoker-ptrace.c
#endif
}
@@ -1007,12 +995,12 @@
#elif defined(VGA_ppc32)
assert(0); // cannot vgdb a 64 bits executable with a 32 bits exe
#elif defined(VGA_ppc64be)
- Addr64 func_addr;
- Addr64 toc_addr;
+ Addr func_addr;
+ Addr toc_addr;
int rw;
rw = ptrace_read_memory(pid, shared64->invoke_gdbserver,
&func_addr,
- sizeof(Addr64));
+ sizeof(Addr));
if (rw != 0) {
ERROR(rw, "ppc64 read func_addr\n");
detach_from_all_threads(pid);
@@ -1020,7 +1008,7 @@
}
rw = ptrace_read_memory(pid, shared64->invoke_gdbserver+8,
&toc_addr,
- sizeof(Addr64));
+ sizeof(Addr));
if (rw != 0) {
ERROR(rw, "ppc64 read toc_addr\n");
detach_from_all_threads(pid);
@@ -1067,7 +1055,7 @@
user_mod.regs[34] = shared64->invoke_gdbserver;
user_mod.regs[25] = shared64->invoke_gdbserver;
#else
- I_die_here: architecture missing in vgdb.c
+ I_die_here: architecture missing in vgdb-invoker-ptrace.c
#endif
}
else {
|
|
From: <sv...@va...> - 2015-01-04 17:20:59
|
Author: florian
Date: Sun Jan 4 17:20:45 2015
New Revision: 14846
Log:
Change most remaining use of Addr64 in coregrind and the tools to Addr.
Tracking VEX r3056.
Modified:
trunk/cachegrind/cg_main.c
trunk/callgrind/main.c
trunk/coregrind/m_redir.c
trunk/coregrind/m_sbprofile.c
trunk/coregrind/m_scheduler/scheduler.c
trunk/coregrind/m_sigframe/sigframe-ppc32-linux.c
trunk/coregrind/m_sigframe/sigframe-ppc64-linux.c
trunk/coregrind/m_stacktrace.c
trunk/coregrind/m_syswrap/syswrap-arm-linux.c
trunk/coregrind/m_syswrap/syswrap-arm64-linux.c
trunk/coregrind/m_syswrap/syswrap-generic.c
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/coregrind/m_syswrap/syswrap-mips32-linux.c
trunk/coregrind/m_syswrap/syswrap-mips64-linux.c
trunk/coregrind/m_tooliface.c
trunk/coregrind/m_translate.c
trunk/coregrind/m_transtab.c
trunk/coregrind/pub_core_tooliface.h
trunk/coregrind/pub_core_translate.h
trunk/coregrind/pub_core_transtab.h
trunk/include/pub_tool_tooliface.h
Modified: trunk/cachegrind/cg_main.c
==============================================================================
--- trunk/cachegrind/cg_main.c (original)
+++ trunk/cachegrind/cg_main.c Sun Jan 4 17:20:45 2015
@@ -1715,17 +1715,17 @@
// any reason at all: to free up space, because the guest code was
// unmapped or modified, or for any arbitrary reason.
static
-void cg_discard_superblock_info ( Addr64 orig_addr64, VexGuestExtents vge )
+void cg_discard_superblock_info ( Addr orig_addr64, VexGuestExtents vge )
{
SB_info* sbInfo;
- Addr orig_addr = (Addr)vge.base[0];
+ Addr orig_addr = vge.base[0];
tl_assert(vge.n_used > 0);
if (DEBUG_CG)
VG_(printf)( "discard_basic_block_info: %p, %p, %llu\n",
- (void*)(Addr)orig_addr,
- (void*)(Addr)vge.base[0], (ULong)vge.len[0]);
+ (void*)orig_addr,
+ (void*)vge.base[0], (ULong)vge.len[0]);
// Get BB info, remove from table, free BB info. Simple! Note that we
// use orig_addr, not the first instruction address in vge.
Modified: trunk/callgrind/main.c
==============================================================================
--- trunk/callgrind/main.c (original)
+++ trunk/callgrind/main.c Sun Jan 4 17:20:45 2015
@@ -1368,16 +1368,14 @@
// any reason at all: to free up space, because the guest code was
// unmapped or modified, or for any arbitrary reason.
static
-void clg_discard_superblock_info ( Addr64 orig_addr64, VexGuestExtents vge )
+void clg_discard_superblock_info ( Addr orig_addr, VexGuestExtents vge )
{
- Addr orig_addr = (Addr)orig_addr64;
-
tl_assert(vge.n_used > 0);
if (0)
VG_(printf)( "discard_superblock_info: %p, %p, %llu\n",
- (void*)(Addr)orig_addr,
- (void*)(Addr)vge.base[0], (ULong)vge.len[0]);
+ (void*)orig_addr,
+ (void*)vge.base[0], (ULong)vge.len[0]);
// Get BB info, remove from table, free BB info. Simple! Note that we
// use orig_addr, not the first instruction address in vge.
@@ -1450,7 +1448,7 @@
/* Ups, this can go very wrong...
FIXME: We should export this function or provide other means to get a handle */
-extern void VG_(discard_translations) ( Addr64 start, ULong range, const HChar* who );
+extern void VG_(discard_translations) ( Addr start, ULong range, const HChar* who );
void CLG_(set_instrument_state)(const HChar* reason, Bool state)
{
@@ -1463,7 +1461,7 @@
CLG_DEBUG(2, "%s: Switching instrumentation %s ...\n",
reason, state ? "ON" : "OFF");
- VG_(discard_translations)( (Addr64)0x1000, (ULong) ~0xfffl, "callgrind");
+ VG_(discard_translations)( (Addr)0x1000, (ULong) ~0xfffl, "callgrind");
/* reset internal state: call stacks, simulator */
CLG_(forall_threads)(unwind_thread);
Modified: trunk/coregrind/m_redir.c
==============================================================================
--- trunk/coregrind/m_redir.c (original)
+++ trunk/coregrind/m_redir.c Sun Jan 4 17:20:45 2015
@@ -733,8 +733,8 @@
if (VG_(clo_trace_redir)) {
VG_(message)( Vg_DebugMsg,
"Adding redirect for indirect function "
- "0x%llx from 0x%llx -> 0x%llx\n",
- (ULong)old_from, (ULong)new_from, (ULong)new.to_addr );
+ "0x%lx from 0x%lx -> 0x%lx\n",
+ old_from, new_from, new.to_addr );
}
}
@@ -988,9 +988,9 @@
they get redirected to 'to'. So discard them. Just for
paranoia (but, I believe, unnecessarily), discard 'to' as
well. */
- VG_(discard_translations)( (Addr64)act.from_addr, 1,
+ VG_(discard_translations)( act.from_addr, 1,
"redir_new_DebugInfo(from_addr)");
- VG_(discard_translations)( (Addr64)act.to_addr, 1,
+ VG_(discard_translations)( act.to_addr, 1,
"redir_new_DebugInfo(to_addr)");
if (VG_(clo_verbosity) > 2) {
VG_(message)(Vg_UserMsg, "Adding active redirection:\n");
@@ -1074,9 +1074,9 @@
VG_(OSetWord_Insert)( tmpSet, act->from_addr );
/* While we have our hands on both the 'from' and 'to'
of this Active, do paranoid stuff with tt/tc. */
- VG_(discard_translations)( (Addr64)act->from_addr, 1,
+ VG_(discard_translations)( act->from_addr, 1,
"redir_del_DebugInfo(from_addr)");
- VG_(discard_translations)( (Addr64)act->to_addr, 1,
+ VG_(discard_translations)( act->to_addr, 1,
"redir_del_DebugInfo(to_addr)");
}
}
@@ -1698,12 +1698,12 @@
static void show_spec ( const HChar* left, const Spec* spec )
{
VG_(message)( Vg_DebugMsg,
- "%s%-25s %-30s %s-> (%04d.%d) 0x%08llx\n",
+ "%s%-25s %-30s %s-> (%04d.%d) 0x%08lx\n",
left,
spec->from_sopatt, spec->from_fnpatt,
spec->isWrap ? "W" : "R",
spec->becTag, spec->becPrio,
- (ULong)spec->to_addr );
+ spec->to_addr );
}
static void show_active ( const HChar* left, const Active* act )
@@ -1721,12 +1721,12 @@
ok = VG_(get_fnname_w_offset)(act->to_addr, &name2);
if (!ok) name2 = "???";
- VG_(message)(Vg_DebugMsg, "%s0x%08llx (%-20s) %s-> (%04d.%d) 0x%08llx %s\n",
+ VG_(message)(Vg_DebugMsg, "%s0x%08lx (%-20s) %s-> (%04d.%d) 0x%08lx %s\n",
left,
- (ULong)act->from_addr, name1,
+ act->from_addr, name1,
act->isWrap ? "W" : "R",
act->becTag, act->becPrio,
- (ULong)act->to_addr, name2 );
+ act->to_addr, name2 );
}
static void show_redir_state ( const HChar* who )
Modified: trunk/coregrind/m_sbprofile.c
==============================================================================
--- trunk/coregrind/m_sbprofile.c (original)
+++ trunk/coregrind/m_sbprofile.c Sun Jan 4 17:20:45 2015
@@ -96,7 +96,7 @@
Double percent_here =
score_total == 0 ? 100.0 : score_here * 100.0 / score_total;
- VG_(printf)("%3d: (%9lld %5.2f%%) %9lld %5.2f%% 0x%llx %s\n",
+ VG_(printf)("%3d: (%9lld %5.2f%%) %9lld %5.2f%% 0x%lx %s\n",
r,
score_cumul, percent_cumul,
score_here, percent_here, tops[r].addr, name);
@@ -138,7 +138,7 @@
VG_(printf)("\n");
VG_(printf)("=-=-=-=-=-=-=-=-=-=-=-=-=-= begin SB rank %d "
"=-=-=-=-=-=-=-=-=-=-=-=-=-=\n\n", r);
- VG_(printf)("%3d: (%9lld %5.2f%%) %9lld %5.2f%% 0x%llx %s\n",
+ VG_(printf)("%3d: (%9lld %5.2f%%) %9lld %5.2f%% 0x%lx %s\n",
r,
score_cumul, percent_cumul,
score_here, percent_here, tops[r].addr, name );
@@ -170,7 +170,7 @@
Double percent_here =
score_total == 0 ? 100.0 : score_here * 100.0 / score_total;
- VG_(printf)("%3d: (%9lld %5.2f%%) %9lld %5.2f%% 0x%llx %s\n",
+ VG_(printf)("%3d: (%9lld %5.2f%%) %9lld %5.2f%% 0x%lx %s\n",
r,
score_cumul, percent_cumul,
score_here, percent_here, tops[r].addr, name );
Modified: trunk/coregrind/m_scheduler/scheduler.c
==============================================================================
--- trunk/coregrind/m_scheduler/scheduler.c (original)
+++ trunk/coregrind/m_scheduler/scheduler.c Sun Jan 4 17:20:45 2015
@@ -1555,7 +1555,7 @@
case VEX_TRC_JMP_INVALICACHE:
VG_(discard_translations)(
- (Addr64)VG_(threads)[tid].arch.vex.guest_CMSTART,
+ (Addr)VG_(threads)[tid].arch.vex.guest_CMSTART,
VG_(threads)[tid].arch.vex.guest_CMLEN,
"scheduler(VEX_TRC_JMP_INVALICACHE)"
);
Modified: trunk/coregrind/m_sigframe/sigframe-ppc32-linux.c
==============================================================================
--- trunk/coregrind/m_sigframe/sigframe-ppc32-linux.c (original)
+++ trunk/coregrind/m_sigframe/sigframe-ppc32-linux.c Sun Jan 4 17:20:45 2015
@@ -183,7 +183,7 @@
VG_TRACK( post_mem_write, Vg_CoreSignal, tst->tid,
(Addr)&mc->mc_pad, sizeof(mc->mc_pad) );
/* invalidate any translation of this area */
- VG_(discard_translations)( (Addr64)(Addr)&mc->mc_pad,
+ VG_(discard_translations)( (Addr)&mc->mc_pad,
sizeof(mc->mc_pad), "stack_mcontext" );
/* set the signal handler to return to the trampoline */
Modified: trunk/coregrind/m_sigframe/sigframe-ppc64-linux.c
==============================================================================
--- trunk/coregrind/m_sigframe/sigframe-ppc64-linux.c (original)
+++ trunk/coregrind/m_sigframe/sigframe-ppc64-linux.c Sun Jan 4 17:20:45 2015
@@ -287,7 +287,7 @@
(Addr)&frame->tramp, sizeof(frame->tramp));
/* invalidate any translation of this area */
- VG_(discard_translations)( (Addr64)&frame->tramp[0],
+ VG_(discard_translations)( (Addr)&frame->tramp[0],
sizeof(frame->tramp), "stack_mcontext" );
/* set the signal handler to return to the trampoline */
Modified: trunk/coregrind/m_stacktrace.c
==============================================================================
--- trunk/coregrind/m_stacktrace.c (original)
+++ trunk/coregrind/m_stacktrace.c Sun Jan 4 17:20:45 2015
@@ -696,7 +696,7 @@
/* Deal with bogus LR values caused by function
interception/wrapping on ppc-TOC platforms; see comment on
similar code a few lines further down. */
- if (ULong_to_Ptr(lr) == (void*)&VG_(ppctoc_magic_redirect_return_stub)
+ if (lr == (Addr)&VG_(ppctoc_magic_redirect_return_stub)
&& VG_(is_valid_tid)(tid_if_known)) {
Word hsp = VG_(threads)[tid_if_known].arch.vex.guest_REDIR_SP;
redirs_used++;
Modified: trunk/coregrind/m_syswrap/syswrap-arm-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-arm-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-arm-linux.c Sun Jan 4 17:20:45 2015
@@ -599,7 +599,7 @@
{
PRINT("cacheflush (%lx, %#lx, %#lx)",ARG1,ARG2,ARG3);
PRE_REG_READ3(long, "cacheflush", void*, addrlow,void*, addrhigh,int, flags);
- VG_(discard_translations)( (Addr64)ARG1,
+ VG_(discard_translations)( (Addr)ARG1,
((ULong)ARG2) - ((ULong)ARG1) + 1ULL/*paranoia*/,
"PRE(sys_cacheflush)" );
SET_STATUS_Success(0);
Modified: trunk/coregrind/m_syswrap/syswrap-arm64-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-arm64-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-arm64-linux.c Sun Jan 4 17:20:45 2015
@@ -703,7 +703,7 @@
//ZZ {
//ZZ PRINT("cacheflush (%lx, %#lx, %#lx)",ARG1,ARG2,ARG3);
//ZZ PRE_REG_READ3(long, "cacheflush", void*, addrlow,void*, addrhigh,int, flags);
-//ZZ VG_(discard_translations)( (Addr64)ARG1,
+//ZZ VG_(discard_translations)( (Addr)ARG1,
//ZZ ((ULong)ARG2) - ((ULong)ARG1) + 1ULL/*paranoia*/,
//ZZ "PRE(sys_cacheflush)" );
//ZZ SET_STATUS_Success(0);
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c Sun Jan 4 17:20:45 2015
@@ -185,7 +185,7 @@
d = VG_(am_notify_client_mmap)( a, len, prot, flags, fd, offset );
if (d)
- VG_(discard_translations)( (Addr64)a, (ULong)len,
+ VG_(discard_translations)( a, (ULong)len,
"notify_core_of_mmap" );
}
@@ -243,7 +243,7 @@
VG_TRACK( die_mem_munmap, a, len );
VG_(di_notify_munmap)( a, len );
if (d)
- VG_(discard_translations)( (Addr64)a, (ULong)len,
+ VG_(discard_translations)( a, (ULong)len,
"ML_(notify_core_and_tool_of_munmap)" );
}
@@ -260,7 +260,7 @@
VG_TRACK( change_mem_mprotect, a, len, rr, ww, xx );
VG_(di_notify_mprotect)( a, len, prot );
if (d)
- VG_(discard_translations)( (Addr64)a, (ULong)len,
+ VG_(discard_translations)( a, (ULong)len,
"ML_(notify_core_and_tool_of_mprotect)" );
}
@@ -1945,7 +1945,7 @@
VG_TRACK( new_mem_mmap, res, segmentSize, True, True, False,
0/*di_handle*/ );
if (d)
- VG_(discard_translations)( (Addr64)res,
+ VG_(discard_translations)( (Addr)res,
(ULong)VG_PGROUNDUP(segmentSize),
"ML_(generic_POST_sys_shmat)" );
}
@@ -1977,7 +1977,7 @@
s = NULL; /* s is now invalid */
VG_TRACK( die_mem_munmap, s_start, s_len );
if (d)
- VG_(discard_translations)( (Addr64)s_start,
+ VG_(discard_translations)( s_start,
(ULong)s_len,
"ML_(generic_POST_sys_shmdt)" );
}
@@ -3757,7 +3757,7 @@
Addr a = ARG1;
SizeT len = ARG2;
- ML_(notify_core_and_tool_of_munmap)( (Addr64)a, (ULong)len );
+ ML_(notify_core_and_tool_of_munmap)( a, len );
}
PRE(sys_mincore)
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c Sun Jan 4 17:20:45 2015
@@ -1710,7 +1710,7 @@
Bool d = VG_(am_notify_munmap)( ARG1, size );
VG_TRACK( die_mem_munmap, ARG1, size );
if (d)
- VG_(discard_translations)( (Addr64)ARG1, (ULong)size,
+ VG_(discard_translations)( (Addr)ARG1, (ULong)size,
"PRE(sys_io_destroy)" );
}
}
Modified: trunk/coregrind/m_syswrap/syswrap-mips32-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-mips32-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-mips32-linux.c Sun Jan 4 17:20:45 2015
@@ -365,7 +365,7 @@
d = VG_(am_notify_client_mmap)( a, len, prot, flags, fd, offset );
if (d)
- VG_(discard_translations)( (Addr64)a, (ULong)len,
+ VG_(discard_translations)( a, (ULong)len,
"notify_core_of_mmap" );
}
@@ -752,7 +752,7 @@
PRINT ("cacheflush (%lx, %lx, %lx)", ARG1, ARG2, ARG3);
PRE_REG_READ3(long, "cacheflush", unsigned long, addr,
int, nbytes, int, cache);
- VG_ (discard_translations) ((Addr64) ARG1, ((ULong) ARG2),
+ VG_ (discard_translations) ((Addr)ARG1, (ULong) ARG2,
"PRE(sys_cacheflush)");
SET_STATUS_Success (0);
}
Modified: trunk/coregrind/m_syswrap/syswrap-mips64-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-mips64-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-mips64-linux.c Sun Jan 4 17:20:45 2015
@@ -387,7 +387,7 @@
PRINT("cacheflush (%lx, %lx, %lx)", ARG1, ARG2, ARG3);
PRE_REG_READ3(long, "cacheflush", unsigned long, addr,
int, nbytes, int, cache);
- VG_ (discard_translations) ((Addr64) ARG1, ((ULong) ARG2),
+ VG_ (discard_translations) ((Addr)ARG1, (ULong) ARG2,
"PRE(sys_cacheflush)");
SET_STATUS_Success(0);
}
Modified: trunk/coregrind/m_tooliface.c
==============================================================================
--- trunk/coregrind/m_tooliface.c (original)
+++ trunk/coregrind/m_tooliface.c Sun Jan 4 17:20:45 2015
@@ -219,7 +219,7 @@
NEEDS(var_info)
void VG_(needs_superblock_discards)(
- void (*discard)(Addr64, VexGuestExtents)
+ void (*discard)(Addr, VexGuestExtents)
)
{
VG_(needs).superblock_discards = True;
Modified: trunk/coregrind/m_translate.c
==============================================================================
--- trunk/coregrind/m_translate.c (original)
+++ trunk/coregrind/m_translate.c Sun Jan 4 17:20:45 2015
@@ -789,8 +789,8 @@
for (i = 0; i < vge->n_used; i++) {
Bool check = False;
- Addr addr = (Addr)vge->base[i];
- SizeT len = (SizeT)vge->len[i];
+ Addr addr = vge->base[i];
+ SizeT len = vge->len[i];
NSegment const* segA = NULL;
# if defined(VGO_darwin)
@@ -1128,10 +1128,10 @@
intercept the return and restore R2 and L2 to the values saved
here. */
-static void gen_push_and_set_LR_R2 ( IRSB* bb, Addr64 new_R2_value )
+static void gen_push_and_set_LR_R2 ( IRSB* bb, Addr new_R2_value )
{
# if defined(VGP_ppc64be_linux)
- Addr64 bogus_RA = (Addr64)&VG_(ppctoc_magic_redirect_return_stub);
+ Addr bogus_RA = (Addr)&VG_(ppctoc_magic_redirect_return_stub);
Int offB_GPR2 = offsetof(VexGuestPPC64State,guest_GPR2);
Int offB_LR = offsetof(VexGuestPPC64State,guest_LR);
gen_PUSH( bb, IRExpr_Get(offB_LR, Ity_I64) );
@@ -1211,7 +1211,7 @@
static void gen_push_R2_and_set_LR ( IRSB* bb )
{
- Addr64 bogus_RA = (Addr64)&VG_(ppctoc_magic_redirect_return_stub);
+ Addr bogus_RA = (Addr)&VG_(ppctoc_magic_redirect_return_stub);
Int offB_GPR2 = offsetof(VexGuestPPC64State,guest_GPR2);
Int offB_LR = offsetof(VexGuestPPC64State,guest_LR);
gen_PUSH( bb, IRExpr_Get(offB_LR, Ity_I64) );
@@ -1356,7 +1356,7 @@
/* --- Helpers to do with PPC related stack redzones. --- */
__attribute__((unused))
-static Bool const_True ( Addr64 guest_addr )
+static Bool const_True ( Addr guest_addr )
{
return True;
}
@@ -1392,13 +1392,13 @@
*/
Bool VG_(translate) ( ThreadId tid,
- Addr64 nraddr,
+ Addr nraddr,
Bool debugging_translation,
Int debugging_verbosity,
ULong bbs_done,
Bool allow_redirection )
{
- Addr64 addr;
+ Addr addr;
T_Kind kind;
Int tmpbuf_used, verbosity, i;
Bool (*preamble_fn)(void*,IRSB*);
@@ -1425,7 +1425,7 @@
start from. Sets (addr,kind). */
if (allow_redirection) {
Bool isWrap;
- Addr64 tmp = VG_(redir_do_lookup)( nraddr, &isWrap );
+ Addr tmp = VG_(redir_do_lookup)( nraddr, &isWrap );
if (tmp == nraddr) {
/* no redirection found */
addr = nraddr;
@@ -1470,7 +1470,7 @@
if (!ok) name2 = "???";
VG_(message)(Vg_DebugMsg,
- "REDIR: 0x%llx (%s:%s) redirected to 0x%llx (%s)\n",
+ "REDIR: 0x%lx (%s:%s) redirected to 0x%lx (%s)\n",
nraddr, nraddr_soname, name1,
addr, name2 );
}
@@ -1494,7 +1494,7 @@
Bool ok = VG_(get_fnname_w_offset)(addr, &fnname);
if (!ok) fnname = "UNKNOWN_FUNCTION";
VG_(printf)(
- "==== SB %d (evchecks %lld) [tid %d] 0x%llx %s %s+0x%llx\n",
+ "==== SB %d (evchecks %lld) [tid %d] 0x%lx %s %s+0x%llx\n",
VG_(get_bbs_translated)(), bbs_done, (Int)tid, addr,
fnname, objname, (ULong)objoff
);
@@ -1508,7 +1508,7 @@
if ( (!translations_allowable_from_seg(seg, addr))
|| addr == TRANSTAB_BOGUS_GUEST_ADDR ) {
if (VG_(clo_trace_signals))
- VG_(message)(Vg_DebugMsg, "translations not allowed here (0x%llx)"
+ VG_(message)(Vg_DebugMsg, "translations not allowed here (0x%lx)"
" - throwing SEGV\n", addr);
/* U R busted, sonny. Place your hands on your head and step
away from the orig_addr. */
@@ -1518,7 +1518,7 @@
aren't allowed to execute code here. */
if (debugging_translation)
VG_(printf)("translations not allowed here (segment not executable)"
- "(0x%llx)\n", addr);
+ "(0x%lx)\n", addr);
else
VG_(synth_fault_perms)(tid, addr);
} else {
@@ -1526,7 +1526,7 @@
the middle of nowhere. */
if (debugging_translation)
VG_(printf)("translations not allowed here (no segment)"
- "(0x%llx)\n", addr);
+ "(0x%lx)\n", addr);
else
VG_(synth_fault_mapping)(tid, addr);
}
@@ -1555,8 +1555,7 @@
/* LE we setup the LR */
# if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64le_linux)
- if (ULong_to_Ptr(nraddr)
- == (void*)&VG_(ppctoc_magic_redirect_return_stub)) {
+ if (nraddr == (Addr)&VG_(ppctoc_magic_redirect_return_stub)) {
/* If entering the special return stub, this means a wrapped or
redirected function is returning. Make this translation one
which restores R2 and LR from the thread's hidden redir
@@ -1615,7 +1614,7 @@
vta.archinfo_host = vex_archinfo;
vta.abiinfo_both = vex_abiinfo;
vta.callback_opaque = (void*)&closure;
- vta.guest_bytes = (UChar*)ULong_to_Ptr(addr);
+ vta.guest_bytes = (UChar*)addr;
vta.guest_bytes_addr = addr;
vta.chase_into_ok = chase_into_ok;
vta.guest_extents = &vge;
@@ -1692,7 +1691,7 @@
from them. Optimisation: don't re-look up vge.base[0] since seg
should already point to it. */
- vg_assert( vge.base[0] == (Addr64)addr );
+ vg_assert( vge.base[0] == addr );
/* set 'translations taken from this segment' flag */
VG_(am_set_segment_hasT_if_SkFileC_or_SkAnonC)( seg );
} /* END new scope specially for 'seg' */
Modified: trunk/coregrind/m_transtab.c
==============================================================================
--- trunk/coregrind/m_transtab.c (original)
+++ trunk/coregrind/m_transtab.c Sun Jan 4 17:20:45 2015
@@ -161,7 +161,7 @@
from which this translation was made. However, .entry may or
may not be a lie, depending on whether or not we're doing
redirection. */
- Addr64 entry;
+ Addr entry;
/* This structure describes precisely what ranges of guest code
the translation covers, so we can decide whether or not to
@@ -642,7 +642,7 @@
#define LDEBUG(m) if (DEBUG_TRANSTAB) \
VG_(printf) (m \
" start 0x%p len %u sector %d ttslot %u" \
- " tt.entry 0x%llu tt.tcptr 0x%p\n", \
+ " tt.entry 0x%lu tt.tcptr 0x%p\n", \
hx->start, hx->len, (int)(sec - sectors), \
hx->tteNo, \
sec->tt[tteNo].entry, sec->tt[tteNo].tcptr)
@@ -882,7 +882,7 @@
Int evCheckSzB = LibVEX_evCheckSzB(arch_host, endness_host);
TTEntry* here_tte = index_tte(here_sNo, here_tteNo);
if (DEBUG_TRANSTAB)
- VG_(printf)("... QQQ tt.entry 0x%llu tt.tcptr 0x%p\n",
+ VG_(printf)("... QQQ tt.entry 0x%lu tt.tcptr 0x%p\n",
here_tte->entry, here_tte->tcptr);
vg_assert(here_tte->status == InUse);
@@ -939,7 +939,7 @@
/* Return equivalence class number for a range. */
-static Int range_to_eclass ( Addr64 start, UInt len )
+static Int range_to_eclass ( Addr start, UInt len )
{
UInt mask = (1 << ECLASS_WIDTH) - 1;
UInt lo = (UInt)start;
@@ -975,7 +975,7 @@
n_ec = 0;
for (i = 0; i < vge->n_used; i++) {
- r = range_to_eclass( vge->base[i], (UInt)vge->len[i] );
+ r = range_to_eclass( vge->base[i], vge->len[i] );
if (r == ECLASS_MISC)
goto bad;
/* only add if we haven't already seen it */
@@ -1201,8 +1201,7 @@
}
if (tte->status != Empty) {
for (k = 0; k < tte->vge.n_used; k++)
- VG_(printf)("0x%llx %d\n", tte->vge.base[k],
- (Int)tte->vge.len[k]);
+ VG_(printf)("0x%lx %u\n", tte->vge.base[k], (UInt)tte->vge.len[k]);
}
# endif
@@ -1312,9 +1311,9 @@
return True;
}
-static inline UInt HASH_TT ( Addr64 key )
+static inline UInt HASH_TT ( Addr key )
{
- UInt kHi = (UInt)(key >> 32);
+ UInt kHi = sizeof(Addr) == 4 ? 0 : (key >> 32);
UInt kLo = (UInt)key;
UInt k32 = kHi ^ kLo;
UInt ror = 7;
@@ -1323,10 +1322,10 @@
return k32 % N_TTES_PER_SECTOR;
}
-static void setFastCacheEntry ( Addr64 key, ULong* tcptr )
+static void setFastCacheEntry ( Addr key, ULong* tcptr )
{
UInt cno = (UInt)VG_TT_FAST_HASH(key);
- VG_(tt_fast)[cno].guest = (Addr)key;
+ VG_(tt_fast)[cno].guest = key;
VG_(tt_fast)[cno].host = (Addr)tcptr;
n_fast_updates++;
/* This shouldn't fail. It should be assured by m_translate
@@ -1513,7 +1512,7 @@
sector.
*/
void VG_(add_to_transtab)( const VexGuestExtents* vge,
- Addr64 entry,
+ Addr entry,
Addr code,
UInt code_len,
Bool is_self_checking,
@@ -1535,7 +1534,7 @@
vg_assert(n_guest_instrs < 200); /* it can be zero, tho */
if (DEBUG_TRANSTAB)
- VG_(printf)("add_to_transtab(entry = 0x%llx, len = %d) ...\n",
+ VG_(printf)("add_to_transtab(entry = 0x%lx, len = %u) ...\n",
entry, code_len);
n_in_count++;
@@ -1685,7 +1684,7 @@
Bool VG_(search_transtab) ( /*OUT*/Addr* res_hcode,
/*OUT*/UInt* res_sNo,
/*OUT*/UInt* res_tteNo,
- Addr64 guest_addr,
+ Addr guest_addr,
Bool upd_cache )
{
Int i, j, k, kstart, sno;
@@ -1753,34 +1752,34 @@
/*-------------------------------------------------------------*/
/* forward */
-static void unredir_discard_translations( Addr64, ULong );
+static void unredir_discard_translations( Addr, ULong );
/* Stuff for deleting translations which intersect with a given
address range. Unfortunately, to make this run at a reasonable
speed, it is complex. */
static inline
-Bool overlap1 ( Addr64 s1, ULong r1, Addr64 s2, ULong r2 )
+Bool overlap1 ( Addr s1, ULong r1, Addr s2, ULong r2 )
{
- Addr64 e1 = s1 + r1 - 1ULL;
- Addr64 e2 = s2 + r2 - 1ULL;
+ Addr e1 = s1 + r1 - 1;
+ Addr e2 = s2 + r2 - 1;
if (e1 < s2 || e2 < s1)
return False;
return True;
}
static inline
-Bool overlaps ( Addr64 start, ULong range, const VexGuestExtents* vge )
+Bool overlaps ( Addr start, ULong range, const VexGuestExtents* vge )
{
- if (overlap1(start, range, vge->base[0], (UInt)vge->len[0]))
+ if (overlap1(start, range, vge->base[0], vge->len[0]))
return True;
if (vge->n_used < 2)
return False;
- if (overlap1(start, range, vge->base[1], (UInt)vge->len[1]))
+ if (overlap1(start, range, vge->base[1], vge->len[1]))
return True;
if (vge->n_used < 3)
return False;
- if (overlap1(start, range, vge->base[2], (UInt)vge->len[2]))
+ if (overlap1(start, range, vge->base[2], vge->len[2]))
return True;
return False;
}
@@ -1841,7 +1840,7 @@
static
Bool delete_translations_in_sector_eclass ( /*MOD*/Sector* sec, UInt secNo,
- Addr64 guest_start, ULong range,
+ Addr guest_start, ULong range,
Int ec,
VexArch arch_host,
VexEndness endness_host )
@@ -1882,7 +1881,7 @@
static
Bool delete_translations_in_sector ( /*MOD*/Sector* sec, UInt secNo,
- Addr64 guest_start, ULong range,
+ Addr guest_start, ULong range,
VexArch arch_host,
VexEndness endness_host )
{
@@ -1901,7 +1900,7 @@
}
-void VG_(discard_translations) ( Addr64 guest_start, ULong range,
+void VG_(discard_translations) ( Addr guest_start, ULong range,
const HChar* who )
{
Sector* sec;
@@ -1911,7 +1910,7 @@
vg_assert(init_done);
VG_(debugLog)(2, "transtab",
- "discard_translations(0x%llx, %lld) req by %s\n",
+ "discard_translations(0x%lx, %llu) req by %s\n",
guest_start, range, who );
/* Pre-deletion sanity check */
@@ -2106,7 +2105,7 @@
is temporarily in code[0 .. code_len-1].
*/
void VG_(add_to_unredir_transtab)( const VexGuestExtents* vge,
- Addr64 entry,
+ Addr entry,
Addr code,
UInt code_len )
{
@@ -2161,21 +2160,21 @@
}
Bool VG_(search_unredir_transtab) ( /*OUT*/Addr* result,
- Addr64 guest_addr )
+ Addr guest_addr )
{
Int i;
for (i = 0; i < N_UNREDIR_TT; i++) {
if (!unredir_tt[i].inUse)
continue;
if (unredir_tt[i].vge.base[0] == guest_addr) {
- *result = (Addr)unredir_tt[i].hcode;
+ *result = unredir_tt[i].hcode;
return True;
}
}
return False;
}
-static void unredir_discard_translations( Addr64 guest_start, ULong range )
+static void unredir_discard_translations( Addr guest_start, ULong range )
{
Int i;
@@ -2202,7 +2201,6 @@
/* Otherwise lots of things go wrong... */
vg_assert(sizeof(ULong) == 8);
- vg_assert(sizeof(Addr64) == 8);
/* check fast cache entries really are 2 words long */
vg_assert(sizeof(Addr) == sizeof(void*));
vg_assert(sizeof(FastCacheEntry) == 2 * sizeof(Addr));
Modified: trunk/coregrind/pub_core_tooliface.h
==============================================================================
--- trunk/coregrind/pub_core_tooliface.h (original)
+++ trunk/coregrind/pub_core_tooliface.h Sun Jan 4 17:20:45 2015
@@ -133,7 +133,7 @@
void (*tool_update_extra_suppression_use) (const Error*, const Supp*);
// VG_(needs).superblock_discards
- void (*tool_discard_superblock_info)(Addr64, VexGuestExtents);
+ void (*tool_discard_superblock_info)(Addr, VexGuestExtents);
// VG_(needs).command_line_options
Bool (*tool_process_cmd_line_option)(const HChar*);
Modified: trunk/coregrind/pub_core_translate.h
==============================================================================
--- trunk/coregrind/pub_core_translate.h (original)
+++ trunk/coregrind/pub_core_translate.h Sun Jan 4 17:20:45 2015
@@ -40,7 +40,7 @@
extern
Bool VG_(translate) ( ThreadId tid,
- Addr64 orig_addr,
+ Addr orig_addr,
Bool debugging_translation,
Int debugging_verbosity,
ULong bbs_done,
Modified: trunk/coregrind/pub_core_transtab.h
==============================================================================
--- trunk/coregrind/pub_core_transtab.h (original)
+++ trunk/coregrind/pub_core_transtab.h Sun Jan 4 17:20:45 2015
@@ -82,7 +82,7 @@
extern
void VG_(add_to_transtab)( const VexGuestExtents* vge,
- Addr64 entry,
+ Addr entry,
Addr code,
UInt code_len,
Bool is_self_checking,
@@ -98,10 +98,10 @@
extern Bool VG_(search_transtab) ( /*OUT*/Addr* res_hcode,
/*OUT*/UInt* res_sNo,
/*OUT*/UInt* res_tteNo,
- Addr64 guest_addr,
+ Addr guest_addr,
Bool upd_cache );
-extern void VG_(discard_translations) ( Addr64 start, ULong range,
+extern void VG_(discard_translations) ( Addr start, ULong range,
const HChar* who );
extern void VG_(print_tt_tc_stats) ( void );
@@ -113,17 +113,17 @@
extern
void VG_(add_to_unredir_transtab)( const VexGuestExtents* vge,
- Addr64 entry,
+ Addr entry,
Addr code,
UInt code_len );
extern
Bool VG_(search_unredir_transtab) ( /*OUT*/Addr* result,
- Addr64 guest_addr );
+ Addr guest_addr );
// SB profiling stuff
typedef struct _SBProfEntry {
- Addr64 addr;
+ Addr addr;
ULong score;
} SBProfEntry;
Modified: trunk/include/pub_tool_tooliface.h
==============================================================================
--- trunk/include/pub_tool_tooliface.h (original)
+++ trunk/include/pub_tool_tooliface.h Sun Jan 4 17:20:45 2015
@@ -64,8 +64,8 @@
*/
typedef
struct {
- Addr64 nraddr; /* non-redirected guest address */
- Addr64 readdr; /* redirected guest address */
+ Addr nraddr; /* non-redirected guest address */
+ Addr readdr; /* redirected guest address */
ThreadId tid; /* tid requesting translation */
}
VgCallbackClosure;
@@ -381,7 +381,7 @@
// translation, and so could be covered by the "extents" of more than
// one call to this function.
// Doing it the first way (as eg. Cachegrind does) is probably easier.
- void (*discard_superblock_info)(Addr64 orig_addr, VexGuestExtents extents)
+ void (*discard_superblock_info)(Addr orig_addr, VexGuestExtents extents)
);
/* Tool defines its own command line options? */
|
Author: florian
Date: Sun Jan 4 17:20:19 2015
New Revision: 3056
Log:
Change remaining use of Addr64 in the VEX API to Addr. The reduces
the size of VexGuestExtent to 20 bytes on a 32-bit platform.
Change prototypes of x86g_dirtyhelper_loadF80le and
x86g_dirtyhelper_storeF80le to give the address in the parameter
list type Addr. Likewise for amd64g_dirtyhelper_loadF80le and
amd64g_dirtyhelper_storeF80le.
Update switchback.c - but not tested.
Modified:
trunk/priv/guest_amd64_defs.h
trunk/priv/guest_amd64_helpers.c
trunk/priv/guest_generic_bb_to_IR.c
trunk/priv/guest_x86_defs.h
trunk/priv/guest_x86_helpers.c
trunk/pub/libvex.h
trunk/switchback/switchback.c
Modified: trunk/priv/guest_amd64_defs.h
==============================================================================
--- trunk/priv/guest_amd64_defs.h (original)
+++ trunk/priv/guest_amd64_defs.h Sun Jan 4 17:20:19 2015
@@ -159,9 +159,9 @@
/* --- DIRTY HELPERS --- */
-extern ULong amd64g_dirtyhelper_loadF80le ( ULong/*addr*/ );
+extern ULong amd64g_dirtyhelper_loadF80le ( Addr/*addr*/ );
-extern void amd64g_dirtyhelper_storeF80le ( ULong/*addr*/, ULong/*data*/ );
+extern void amd64g_dirtyhelper_storeF80le ( Addr/*addr*/, ULong/*data*/ );
extern void amd64g_dirtyhelper_CPUID_baseline ( VexGuestAMD64State* st );
extern void amd64g_dirtyhelper_CPUID_sse3_and_cx16 ( VexGuestAMD64State* st );
Modified: trunk/priv/guest_amd64_helpers.c
==============================================================================
--- trunk/priv/guest_amd64_helpers.c (original)
+++ trunk/priv/guest_amd64_helpers.c Sun Jan 4 17:20:19 2015
@@ -2051,18 +2051,18 @@
/* CALLED FROM GENERATED CODE */
/* DIRTY HELPER (reads guest memory) */
-ULong amd64g_dirtyhelper_loadF80le ( ULong addrU )
+ULong amd64g_dirtyhelper_loadF80le ( Addr addrU )
{
ULong f64;
- convert_f80le_to_f64le ( (UChar*)ULong_to_Ptr(addrU), (UChar*)&f64 );
+ convert_f80le_to_f64le ( (UChar*)addrU, (UChar*)&f64 );
return f64;
}
/* CALLED FROM GENERATED CODE */
/* DIRTY HELPER (writes guest memory) */
-void amd64g_dirtyhelper_storeF80le ( ULong addrU, ULong f64 )
+void amd64g_dirtyhelper_storeF80le ( Addr addrU, ULong f64 )
{
- convert_f64le_to_f80le( (UChar*)&f64, (UChar*)ULong_to_Ptr(addrU) );
+ convert_f64le_to_f80le( (UChar*)&f64, (UChar*)addrU );
}
Modified: trunk/priv/guest_generic_bb_to_IR.c
==============================================================================
--- trunk/priv/guest_generic_bb_to_IR.c (original)
+++ trunk/priv/guest_generic_bb_to_IR.c Sun Jan 4 17:20:19 2015
@@ -514,7 +514,7 @@
that do.
*/
{
- Addr64 base2check;
+ Addr base2check;
UInt len2check;
HWord expectedhW;
IRTemp tistart_tmp, tilen_tmp;
Modified: trunk/priv/guest_x86_defs.h
==============================================================================
--- trunk/priv/guest_x86_defs.h (original)
+++ trunk/priv/guest_x86_defs.h Sun Jan 4 17:20:19 2015
@@ -139,9 +139,9 @@
/* --- DIRTY HELPERS --- */
-extern ULong x86g_dirtyhelper_loadF80le ( UInt );
+extern ULong x86g_dirtyhelper_loadF80le ( Addr );
-extern void x86g_dirtyhelper_storeF80le ( UInt, ULong );
+extern void x86g_dirtyhelper_storeF80le ( Addr, ULong );
extern void x86g_dirtyhelper_CPUID_sse0 ( VexGuestX86State* );
extern void x86g_dirtyhelper_CPUID_mmxext ( VexGuestX86State* );
Modified: trunk/priv/guest_x86_helpers.c
==============================================================================
--- trunk/priv/guest_x86_helpers.c (original)
+++ trunk/priv/guest_x86_helpers.c Sun Jan 4 17:20:19 2015
@@ -1437,18 +1437,18 @@
/* CALLED FROM GENERATED CODE */
/* DIRTY HELPER (reads guest memory) */
-ULong x86g_dirtyhelper_loadF80le ( UInt addrU )
+ULong x86g_dirtyhelper_loadF80le ( Addr addrU )
{
ULong f64;
- convert_f80le_to_f64le ( (UChar*)ULong_to_Ptr(addrU), (UChar*)&f64 );
+ convert_f80le_to_f64le ( (UChar*)addrU, (UChar*)&f64 );
return f64;
}
/* CALLED FROM GENERATED CODE */
/* DIRTY HELPER (writes guest memory) */
-void x86g_dirtyhelper_storeF80le ( UInt addrU, ULong f64 )
+void x86g_dirtyhelper_storeF80le ( Addr addrU, ULong f64 )
{
- convert_f64le_to_f80le( (UChar*)&f64, (UChar*)ULong_to_Ptr(addrU) );
+ convert_f64le_to_f80le( (UChar*)&f64, (UChar*)addrU );
}
Modified: trunk/pub/libvex.h
==============================================================================
--- trunk/pub/libvex.h (original)
+++ trunk/pub/libvex.h Sun Jan 4 17:20:19 2015
@@ -366,7 +366,7 @@
(function call) ? Is supplied with the guest address of the
target of the call since that may be significant. If NULL,
is assumed equivalent to a fn which always returns False. */
- Bool (*guest_ppc_zap_RZ_at_bl)(Addr64);
+ Bool (*guest_ppc_zap_RZ_at_bl)(Addr);
/* PPC32/PPC64 HOSTS only: does '&f' give us a pointer to a
function descriptor on the host, or to the function code
@@ -569,12 +569,13 @@
scheme of describing a chunk of guest code merely by its start
address and length is inadequate.
- Hopefully this struct is only 32 bytes long. Space is important as
- clients will have to store one of these for each translation made.
+ This struct uses 20 bytes on a 32-bit archtecture and 32 bytes on a
+ 64-bit architecture. Space is important as clients will have to store
+ one of these for each translation made.
*/
typedef
struct {
- Addr64 base[3];
+ Addr base[3];
UShort len[3];
UShort n_used;
}
Modified: trunk/switchback/switchback.c
==============================================================================
--- trunk/switchback/switchback.c (original)
+++ trunk/switchback/switchback.c Sun Jan 4 17:20:19 2015
@@ -414,8 +414,8 @@
UInt* p = (UInt*)(©[off_nopstart]);
- Addr64 addr_of_nop = (Addr64)p;
- Addr64 where_to_go = gst.guest_PC;
+ Addr addr_of_nop = (Addr)p;
+ Addr where_to_go = gst.guest_PC;
Long diff = ((Long)where_to_go) - ((Long)addr_of_nop);
if (0) {
@@ -519,12 +519,12 @@
return trc;
}
-HWord find_translation ( Addr64 guest_addr )
+HWord find_translation ( Addr guest_addr )
{
Int i;
HWord __res;
if (0)
- printf("find translation %p ... ", ULong_to_Ptr(guest_addr));
+ printf("find translation %p ... ", (void *)(guest_addr));
for (i = 0; i < trans_table_used; i++)
if (trans_table[i].base[0] == guest_addr)
break;
@@ -552,7 +552,7 @@
#define N_TRANSBUF 5000
static UChar transbuf[N_TRANSBUF];
-void make_translation ( Addr64 guest_addr, Bool verbose )
+void make_translation ( Addr guest_addr, Bool verbose )
{
VexTranslateArgs vta;
VexTranslateResult tres;
@@ -573,7 +573,7 @@
assert(trans_table_used < N_TRANS_TABLE);
if (0)
- printf("make translation %p\n", ULong_to_Ptr(guest_addr));
+ printf("make translation %p\n", (void *)guest_addr);
LibVEX_default_VexArchInfo(&vex_archinfo);
//vex_archinfo.subarch = VexSubArch;
@@ -584,7 +584,7 @@
vta.archinfo_guest = vex_archinfo;
vta.arch_host = VexArch;
vta.archinfo_host = vex_archinfo;
- vta.guest_bytes = (UChar*)ULong_to_Ptr(guest_addr);
+ vta.guest_bytes = (UChar*)guest_addr;
vta.guest_bytes_addr = guest_addr;
vta.chase_into_ok = chase_into_ok;
// vta.guest_extents = &vge;
@@ -631,7 +631,7 @@
__attribute__((unused))
-static Bool overlap ( Addr64 start, UInt len, VexGuestExtents* vge )
+static Bool overlap ( Addr start, UInt len, VexGuestExtents* vge )
{
Int i;
for (i = 0; i < vge->n_used; i++) {
@@ -670,8 +670,8 @@
serviceFn(0)). */
static void run_simulator ( void )
{
- static Addr64 last_guest = 0;
- Addr64 next_guest;
+ static Addr last_guest = 0;
+ Addr next_guest;
HWord next_host;
while (1) {
next_guest = gst.GuestPC;
@@ -679,7 +679,7 @@
if (0)
printf("\nnext_guest: 0x%x\n", (UInt)next_guest);
- if (next_guest == Ptr_to_ULong(&serviceFn)) {
+ if (next_guest == (Addr)&serviceFn) {
/* "do" the function call to serviceFn */
# if defined(__i386__)
|
|
From: <sv...@va...> - 2015-01-04 11:30:18
|
Author: florian
Date: Sun Jan 4 11:30:11 2015
New Revision: 14845
Log:
TyEnt::TyStOrUn::fieldRs is never NULL as VG_(newXA) always returns
something != NULL. Testing fieldRs for NULL-ness was confusing static
analysis. It usually takes such tests as evidence that the pointer
can in fact be NULL and may report false positives as a consequence.
Modified:
trunk/coregrind/m_debuginfo/tytypes.c
Modified: trunk/coregrind/m_debuginfo/tytypes.c
==============================================================================
--- trunk/coregrind/m_debuginfo/tytypes.c (original)
+++ trunk/coregrind/m_debuginfo/tytypes.c Sun Jan 4 11:30:11 2015
@@ -158,8 +158,7 @@
te->Te.TyStOrUn.fieldRs,
te->Te.TyStOrUn.name ? te->Te.TyStOrUn.name
: "" );
- if (te->Te.TyStOrUn.fieldRs)
- pp_XArray_of_cuOffs( te->Te.TyStOrUn.fieldRs );
+ pp_XArray_of_cuOffs( te->Te.TyStOrUn.fieldRs );
} else {
VG_(printf)("Te_TyStOrUn(INCOMPLETE,\"%s\")",
te->Te.TyStOrUn.name);
@@ -619,7 +618,7 @@
break;
case Te_TyStOrUn:
if (te->Te.TyStOrUn.name) ML_(dinfo_free)(te->Te.TyStOrUn.name);
- if (te->Te.TyStOrUn.fieldRs) VG_(deleteXA)(te->Te.TyStOrUn.fieldRs);
+ VG_(deleteXA)(te->Te.TyStOrUn.fieldRs);
break;
case Te_TyEnum:
if (te->Te.TyEnum.name) ML_(dinfo_free)(te->Te.TyEnum.name);
@@ -784,7 +783,7 @@
PtrdiffT offMin = 0, offMax1 = 0;
if (!ty->Te.TyStOrUn.isStruct) goto done;
fieldRs = ty->Te.TyStOrUn.fieldRs;
- if (((!fieldRs) || VG_(sizeXA)(fieldRs) == 0)
+ if (VG_(sizeXA)(fieldRs) == 0
&& (ty->Te.TyStOrUn.typeR == 0)) goto done;
for (i = 0; i < VG_(sizeXA)( fieldRs ); i++ ) {
fieldR = *(UWord*)VG_(indexXA)( fieldRs, i );
|