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
(5) |
2
(15) |
3
(20) |
|
4
(4) |
5
(11) |
6
(8) |
7
(36) |
8
(23) |
9
(6) |
10
(4) |
|
11
(4) |
12
(19) |
13
(17) |
14
(33) |
15
(16) |
16
(17) |
17
(4) |
|
18
(4) |
19
(30) |
20
(22) |
21
(23) |
22
(29) |
23
(20) |
24
(12) |
|
25
(7) |
26
(33) |
27
(10) |
28
(12) |
29
(19) |
30
(15) |
31
(8) |
Author: njn
Date: 2009-01-15 22:10:35 +0000 (Thu, 15 Jan 2009)
New Revision: 8960
Log:
Merged r8959 from the trunk. I now get 109 fewer regtest failures on Linux.
Modified:
branches/DARWIN/callgrind/bb.c
branches/DARWIN/callgrind/global.h
branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-aix5.c
branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-linux.c
branches/DARWIN/coregrind/m_debuginfo/debuginfo.c
branches/DARWIN/coregrind/m_debuginfo/priv_readstabs.h
branches/DARWIN/coregrind/m_debuginfo/priv_storage.h
branches/DARWIN/coregrind/m_debuginfo/priv_tytypes.h
branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c
branches/DARWIN/coregrind/m_debuginfo/readelf.c
branches/DARWIN/coregrind/m_debuginfo/readstabs.c
branches/DARWIN/coregrind/m_debuginfo/tytypes.c
branches/DARWIN/coregrind/m_oset.c
branches/DARWIN/coregrind/m_syswrap/priv_syswrap-generic.h
branches/DARWIN/coregrind/m_tooliface.c
branches/DARWIN/coregrind/pub_core_tooliface.h
branches/DARWIN/drd/drd_error.h
branches/DARWIN/exp-ptrcheck/h_main.c
branches/DARWIN/exp-ptrcheck/h_main.h
branches/DARWIN/exp-ptrcheck/pc_common.c
branches/DARWIN/include/pub_tool_aspacemgr.h
branches/DARWIN/include/pub_tool_basics.h
branches/DARWIN/include/pub_tool_debuginfo.h
branches/DARWIN/include/pub_tool_oset.h
branches/DARWIN/include/pub_tool_tooliface.h
branches/DARWIN/memcheck/mc_errors.c
branches/DARWIN/memcheck/mc_main.c
Modified: branches/DARWIN/callgrind/bb.c
===================================================================
--- branches/DARWIN/callgrind/bb.c 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/callgrind/bb.c 2009-01-15 22:10:35 UTC (rev 8960)
@@ -57,7 +57,7 @@
* - BB base as object file offset
*/
static __inline__
-UInt bb_hash_idx(obj_node* obj, OffT offset, UInt size)
+UInt bb_hash_idx(obj_node* obj, PtrdiffT offset, UInt size)
{
return (((Addr)obj) + offset) % size;
}
@@ -118,7 +118,7 @@
* Not initialized:
* - instr_len, cost_count, instr[]
*/
-static BB* new_bb(obj_node* obj, OffT offset,
+static BB* new_bb(obj_node* obj, PtrdiffT offset,
UInt instr_count, UInt cjmp_count, Bool cjmp_inverted)
{
BB* new;
@@ -176,7 +176,7 @@
/* get the BB structure for a BB start address */
static __inline__
-BB* lookup_bb(obj_node* obj, OffT offset)
+BB* lookup_bb(obj_node* obj, PtrdiffT offset)
{
BB* bb;
Int idx;
@@ -199,7 +199,7 @@
{
obj_node* obj;
DebugInfo* di;
- OffT offset;
+ PtrdiffT offset;
di = VG_(find_seginfo)(addr);
obj = CLG_(get_obj_node)( di );
@@ -292,7 +292,7 @@
Int idx, size;
obj_node* obj = obj_of_address(addr);
- OffT offset = addr - obj->offset;
+ PtrdiffT offset = addr - obj->offset;
idx = bb_hash_idx(obj, offset, bbs.size);
bb = bbs.table[idx];
Modified: branches/DARWIN/callgrind/global.h
===================================================================
--- branches/DARWIN/callgrind/global.h 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/callgrind/global.h 2009-01-15 22:10:35 UTC (rev 8960)
@@ -304,7 +304,7 @@
*/
struct _BB {
obj_node* obj; /* ELF object of BB */
- OffT offset; /* offset of BB in ELF object file */
+ PtrdiffT offset; /* offset of BB in ELF object file */
BB* next; /* chaining for a hash entry */
VgSectKind sect_kind; /* section of this BB, e.g. PLT */
@@ -463,7 +463,7 @@
Addr start; /* Start address of text segment mapping */
SizeT size; /* Length of mapping */
- OffT offset; /* Offset between symbol address and file offset */
+ PtrdiffT offset; /* Offset between symbol address and file offset */
file_node* files[N_FILE_ENTRIES];
UInt number;
Modified: branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-aix5.c
===================================================================
--- branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-aix5.c 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-aix5.c 2009-01-15 22:10:35 UTC (rev 8960)
@@ -162,7 +162,7 @@
Bool fromP; // AnonC, AnonV only: originated from PreAlloc?
UChar* fname; // MText, FileV only: filename
UChar* mname; // MText only: member name if present
- ULong offset; // FileV only: file offset
+ Off64T offset; // FileV only: file offset
}
AixSegment;
Modified: branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-linux.c
===================================================================
--- branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-linux.c 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-linux.c 2009-01-15 22:10:35 UTC (rev 8960)
@@ -330,7 +330,7 @@
static void parse_procselfmaps (
void (*record_mapping)( Addr addr, SizeT len, UInt prot,
- ULong dev, ULong ino, ULong offset,
+ ULong dev, ULong ino, Off64T offset,
const UChar* filename ),
void (*record_gap)( Addr addr, SizeT len )
);
@@ -513,7 +513,7 @@
VG_(debugLog)(logLevel, "aspacem",
"NSegment{%s, start=0x%llx, end=0x%llx, smode=%s, dev=%llu, "
- "ino=%llu, offset=%llu, fnIdx=%d, hasR=%d, hasW=%d, hasX=%d, "
+ "ino=%llu, offset=%lld, fnIdx=%d, hasR=%d, hasW=%d, hasX=%d, "
"hasT=%d, mark=%d, name=\"%s\"}\n",
show_SegKind(seg->kind),
(ULong)seg->start,
@@ -568,7 +568,7 @@
seg->hasR ? 'r' : '-', seg->hasW ? 'w' : '-',
seg->hasX ? 'x' : '-', seg->hasT ? 'T' : '-',
seg->isCH ? 'H' : '-',
- seg->dev, seg->ino, (Long)seg->offset, seg->fnIdx
+ seg->dev, seg->ino, seg->offset, seg->fnIdx
);
break;
@@ -887,7 +887,7 @@
static Bool sync_check_ok = False;
static void sync_check_mapping_callback ( Addr addr, SizeT len, UInt prot,
- ULong dev, ULong ino, ULong offset,
+ ULong dev, ULong ino, Off64T offset,
const UChar* filename )
{
Int iLo, iHi, i;
@@ -1553,7 +1553,7 @@
/*-----------------------------------------------------------------*/
static void read_maps_callback ( Addr addr, SizeT len, UInt prot,
- ULong dev, ULong ino, ULong offset,
+ ULong dev, ULong ino, Off64T offset,
const UChar* filename )
{
NSegment seg;
@@ -3142,7 +3142,7 @@
*/
static void parse_procselfmaps (
void (*record_mapping)( Addr addr, SizeT len, UInt prot,
- ULong dev, ULong ino, ULong offset,
+ ULong dev, ULong ino, Off64T offset,
const UChar* filename ),
void (*record_gap)( Addr addr, SizeT len )
)
Modified: branches/DARWIN/coregrind/m_debuginfo/debuginfo.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/debuginfo.c 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/coregrind/m_debuginfo/debuginfo.c 2009-01-15 22:10:35 UTC (rev 8960)
@@ -1104,11 +1104,11 @@
static
Bool get_sym_name ( Bool demangle, Addr a, Char* buf, Int nbuf,
Bool match_anywhere_in_sym, Bool show_offset,
- Bool findText, /*OUT*/OffT* offsetP )
+ Bool findText, /*OUT*/PtrdiffT* offsetP )
{
DebugInfo* di;
Word sno;
- Int offset;
+ PtrdiffT offset;
search_all_symtabs ( a, &di, &sno, match_anywhere_in_sym, findText );
if (di == NULL)
@@ -1121,7 +1121,7 @@
}
offset = a - di->symtab[sno].addr;
- if (offsetP) *offsetP = (OffT)offset;
+ if (offsetP) *offsetP = offset;
if (show_offset && offset != 0) {
Char buf2[12];
@@ -1129,7 +1129,7 @@
Char* end = buf + nbuf;
Int len;
- len = VG_(sprintf)(buf2, "%c%d",
+ len = VG_(sprintf)(buf2, "%c%ld",
offset < 0 ? '-' : '+',
offset < 0 ? -offset : offset);
vg_assert(len < (Int)sizeof(buf2));
@@ -1237,7 +1237,7 @@
from the symbol start is put into *offset. */
Bool VG_(get_datasym_and_offset)( Addr data_addr,
/*OUT*/Char* dname, Int n_dname,
- /*OUT*/OffT* offset )
+ /*OUT*/PtrdiffT* offset )
{
Bool ok;
vg_assert(n_dname > 1);
@@ -1939,7 +1939,7 @@
offset of data_addr from the start of the variable. Note that
regs, which supplies ip,sp,fp values, will be NULL for global
variables, and non-NULL for local variables. */
-static Bool data_address_is_in_var ( /*OUT*/UWord* offset,
+static Bool data_address_is_in_var ( /*OUT*/PtrdiffT* offset,
XArray* /* TyEnt */ tyents,
DiVariable* var,
RegSummary* regs,
@@ -2009,8 +2009,8 @@
Int n_dname,
Addr data_addr,
DiVariable* var,
- OffT var_offset,
- OffT residual_offset,
+ PtrdiffT var_offset,
+ PtrdiffT residual_offset,
XArray* /*UChar*/ described,
Int frameNo,
ThreadId tid )
@@ -2253,14 +2253,14 @@
&& VG_(sizeXA)(vars) > 0) );
for (j = 0; j < VG_(sizeXA)( vars ); j++) {
DiVariable* var = (DiVariable*)VG_(indexXA)( vars, j );
- SizeT offset;
+ PtrdiffT offset;
if (debug)
VG_(printf)("QQQQ: var:name=%s %#lx-%#lx %#lx\n",
var->name,arange->aMin,arange->aMax,ip);
if (data_address_is_in_var( &offset, di->admin_tyents,
var, ®s,
data_addr, di->data_bias )) {
- OffT residual_offset = 0;
+ PtrdiffT residual_offset = 0;
XArray* described = ML_(describe_type)( &residual_offset,
di->admin_tyents,
var->typeR, offset );
@@ -2347,7 +2347,7 @@
of any of them bracket data_addr. */
vars = global_arange->vars;
for (i = 0; i < VG_(sizeXA)( vars ); i++) {
- SizeT offset;
+ PtrdiffT offset;
DiVariable* var = (DiVariable*)VG_(indexXA)( vars, i );
vg_assert(var->name);
/* Note we use a NULL RegSummary* here. It can't make any
@@ -2359,7 +2359,7 @@
if (data_address_is_in_var( &offset, di->admin_tyents, var,
NULL/* RegSummary* */,
data_addr, di->data_bias )) {
- OffT residual_offset = 0;
+ PtrdiffT residual_offset = 0;
XArray* described = ML_(describe_type)( &residual_offset,
di->admin_tyents,
var->typeR, offset );
@@ -2912,7 +2912,7 @@
return di->filename;
}
-ULong VG_(seginfo_get_text_bias)(const DebugInfo* di)
+PtrdiffT VG_(seginfo_get_text_bias)(const DebugInfo* di)
{
return di->text_present ? di->text_bias : 0;
}
Modified: branches/DARWIN/coregrind/m_debuginfo/priv_readstabs.h
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/priv_readstabs.h 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/coregrind/m_debuginfo/priv_readstabs.h 2009-01-15 22:10:35 UTC (rev 8960)
@@ -41,7 +41,7 @@
Stabs reader
-------------------- */
extern
-void ML_(read_debuginfo_stabs) ( struct _DebugInfo* di, OffT debug_offset,
+void ML_(read_debuginfo_stabs) ( struct _DebugInfo* di, PtrdiffT debug_offset,
UChar* stabC, Int stab_sz,
UChar* stabstr, Int stabstr_sz );
Modified: branches/DARWIN/coregrind/m_debuginfo/priv_storage.h
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/priv_storage.h 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/coregrind/m_debuginfo/priv_storage.h 2009-01-15 22:10:35 UTC (rev 8960)
@@ -349,29 +349,29 @@
(4) is ensured by canonicaliseCFI.
*/
/* .text */
- Bool text_present;
- Addr text_avma;
- Addr text_svma;
- SizeT text_size;
- OffT text_bias;
+ Bool text_present;
+ Addr text_avma;
+ Addr text_svma;
+ SizeT text_size;
+ PtrdiffT text_bias;
/* .data */
- Bool data_present;
- Addr data_svma;
- Addr data_avma;
- SizeT data_size;
- OffT data_bias;
+ Bool data_present;
+ Addr data_svma;
+ Addr data_avma;
+ SizeT data_size;
+ PtrdiffT data_bias;
/* .sdata */
- Bool sdata_present;
- Addr sdata_svma;
- Addr sdata_avma;
- SizeT sdata_size;
- OffT sdata_bias;
+ Bool sdata_present;
+ Addr sdata_svma;
+ Addr sdata_avma;
+ SizeT sdata_size;
+ PtrdiffT sdata_bias;
/* .bss */
- Bool bss_present;
- Addr bss_svma;
- Addr bss_avma;
- SizeT bss_size;
- OffT bss_bias;
+ Bool bss_present;
+ Addr bss_svma;
+ Addr bss_avma;
+ SizeT bss_size;
+ PtrdiffT bss_bias;
/* .plt */
Bool plt_present;
Addr plt_avma;
Modified: branches/DARWIN/coregrind/m_debuginfo/priv_tytypes.h
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/priv_tytypes.h 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/coregrind/m_debuginfo/priv_tytypes.h 2009-01-15 22:10:35 UTC (rev 8960)
@@ -166,10 +166,10 @@
/* Describe where in the type 'offset' falls. Caller must
deallocate the resulting XArray. */
-XArray* /*UChar*/ ML_(describe_type)( /*OUT*/OffT* residual_offset,
+XArray* /*UChar*/ ML_(describe_type)( /*OUT*/PtrdiffT* residual_offset,
XArray* /* of TyEnt */ tyents,
UWord ty_cuOff,
- OffT offset );
+ PtrdiffT offset );
/* A fast-lookup cache for ML_(TyEnts__index_by_cuOff). Nothing
Modified: branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c 2009-01-15 22:10:35 UTC (rev 8960)
@@ -525,9 +525,9 @@
typedef
struct {
/* FIXED */
- Addr rx_map_avma;
- SizeT rx_map_size;
- OffT text_bias;
+ Addr rx_map_avma;
+ SizeT rx_map_size;
+ PtrdiffT text_bias;
/* VARIABLE -- count stats */
UWord n_straightforward_biasings;
UWord n_kludgey_biasings;
Modified: branches/DARWIN/coregrind/m_debuginfo/readelf.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readelf.c 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/coregrind/m_debuginfo/readelf.c 2009-01-15 22:10:35 UTC (rev 8960)
@@ -206,7 +206,7 @@
Char* sym_name, /* name */
Addr sym_svma, /* address as stated in the object file */
UChar* opd_img, /* oimage of .opd sec (ppc64-linux only) */
- OffT opd_bias, /* for biasing AVMAs found in .opd */
+ PtrdiffT opd_bias, /* for biasing AVMAs found in .opd */
/* OUTPUTS */
Char** sym_name_out, /* name we should record */
Addr* sym_avma_out, /* addr we should record */
Modified: branches/DARWIN/coregrind/m_debuginfo/readstabs.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readstabs.c 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/coregrind/m_debuginfo/readstabs.c 2009-01-15 22:10:35 UTC (rev 8960)
@@ -88,7 +88,7 @@
/* Read stabs-format debug info. This is all rather horrible because
stabs is a underspecified, kludgy hack.
*/
-void ML_(read_debuginfo_stabs) ( DebugInfo* di, OffT debug_offset,
+void ML_(read_debuginfo_stabs) ( DebugInfo* di, PtrdiffT debug_offset,
UChar* stabC, Int stab_sz,
UChar* stabstr, Int stabstr_sz )
{
Modified: branches/DARWIN/coregrind/m_debuginfo/tytypes.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/tytypes.c 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/coregrind/m_debuginfo/tytypes.c 2009-01-15 22:10:35 UTC (rev 8960)
@@ -702,10 +702,10 @@
VG_(addBytesToXA)( xa, buf, VG_(strlen)(buf));
}
-XArray* /*UChar*/ ML_(describe_type)( /*OUT*/OffT* residual_offset,
+XArray* /*UChar*/ ML_(describe_type)( /*OUT*/PtrdiffT* residual_offset,
XArray* /* of TyEnt */ tyents,
UWord ty_cuOff,
- OffT offset )
+ PtrdiffT offset )
{
TyEnt* ty;
XArray* xa = VG_(newXA)( ML_(dinfo_zalloc), "di.tytypes.dt.1",
@@ -737,7 +737,7 @@
XArray* fieldRs;
UWord fieldR;
TyEnt* field = NULL;
- OffT offMin = 0, offMax1 = 0;
+ PtrdiffT offMin = 0, offMax1 = 0;
if (!ty->Te.TyStOrUn.isStruct) goto done;
fieldRs = ty->Te.TyStOrUn.fieldRs;
if ((!fieldRs) || VG_(sizeXA)(fieldRs) == 0) goto done;
@@ -771,7 +771,7 @@
if (mul.b != True)
goto done; /* size of field is unknown (?!) */
offMin = res.word;
- offMax1 = offMin + (OffT)mul.ul;
+ offMax1 = offMin + (PtrdiffT)mul.ul;
if (offMin == offMax1)
continue;
vg_assert(offMin < offMax1);
Modified: branches/DARWIN/coregrind/m_oset.c
===================================================================
--- branches/DARWIN/coregrind/m_oset.c 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/coregrind/m_oset.c 2009-01-15 22:10:35 UTC (rev 8960)
@@ -282,7 +282,7 @@
/*--------------------------------------------------------------------*/
// The underscores avoid GCC complaints about overshadowing global names.
-AvlTree* VG_(OSetGen_Create)(OffT _keyOff, OSetCmp_t _cmp,
+AvlTree* VG_(OSetGen_Create)(PtrdiffT _keyOff, OSetCmp_t _cmp,
OSetAlloc_t _alloc, HChar* _cc,
OSetFree_t _free)
{
Modified: branches/DARWIN/coregrind/m_syswrap/priv_syswrap-generic.h
===================================================================
--- branches/DARWIN/coregrind/m_syswrap/priv_syswrap-generic.h 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/coregrind/m_syswrap/priv_syswrap-generic.h 2009-01-15 22:10:35 UTC (rev 8960)
@@ -67,7 +67,7 @@
and the tool need to be notified of the new mapping. Hence this fn. */
extern void
ML_(notify_aspacem_and_tool_of_mmap) ( Addr a, SizeT len, UInt prot,
- UInt mm_flags, Int fd, ULong offset );
+ UInt mm_flags, Int fd, Off64T offset );
extern void
ML_(notify_aspacem_and_tool_of_munmap) ( Addr a, SizeT len );
extern void
Modified: branches/DARWIN/coregrind/m_tooliface.c
===================================================================
--- branches/DARWIN/coregrind/m_tooliface.c 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/coregrind/m_tooliface.c 2009-01-15 22:10:35 UTC (rev 8960)
@@ -403,10 +403,10 @@
DEF0(track_pre_mem_write, CorePart, ThreadId, Char*, Addr, SizeT)
DEF0(track_post_mem_write, CorePart, ThreadId, Addr, SizeT)
-DEF0(track_pre_reg_read, CorePart, ThreadId, Char*, OffT, SizeT)
-DEF0(track_post_reg_write, CorePart, ThreadId, OffT, SizeT)
+DEF0(track_pre_reg_read, CorePart, ThreadId, Char*, PtrdiffT, SizeT)
+DEF0(track_post_reg_write, CorePart, ThreadId, PtrdiffT, SizeT)
-DEF0(track_post_reg_write_clientcall_return, ThreadId, OffT, SizeT, Addr)
+DEF0(track_post_reg_write_clientcall_return, ThreadId, PtrdiffT, SizeT, Addr)
DEF0(track_start_client_code, ThreadId, ULong)
DEF0(track_stop_client_code, ThreadId, ULong)
Modified: branches/DARWIN/coregrind/pub_core_tooliface.h
===================================================================
--- branches/DARWIN/coregrind/pub_core_tooliface.h 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/coregrind/pub_core_tooliface.h 2009-01-15 22:10:35 UTC (rev 8960)
@@ -218,9 +218,10 @@
void (*track_pre_mem_write) (CorePart, ThreadId, Char*, Addr, SizeT);
void (*track_post_mem_write) (CorePart, ThreadId, Addr, SizeT);
- void (*track_pre_reg_read) (CorePart, ThreadId, Char*, OffT, SizeT);
- void (*track_post_reg_write)(CorePart, ThreadId, OffT, SizeT);
- void (*track_post_reg_write_clientcall_return)(ThreadId, OffT, SizeT, Addr);
+ void (*track_pre_reg_read) (CorePart, ThreadId, Char*, PtrdiffT, SizeT);
+ void (*track_post_reg_write)(CorePart, ThreadId, PtrdiffT, SizeT);
+ void (*track_post_reg_write_clientcall_return)(ThreadId, PtrdiffT, SizeT,
+ Addr);
void (*track_start_client_code)(ThreadId, ULong);
void (*track_stop_client_code) (ThreadId, ULong);
Modified: branches/DARWIN/drd/drd_error.h
===================================================================
--- branches/DARWIN/drd/drd_error.h 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/drd/drd_error.h 2009-01-15 22:10:35 UTC (rev 8960)
@@ -81,7 +81,7 @@
struct { // Used by:
AddrKind akind; // ALL
SizeT size; // ALL
- OffT rwoffset; // ALL
+ PtrdiffT rwoffset; // ALL
ExeContext* lastchange; // Mallocd
DrdThreadId stack_tid; // Stack
DebugInfo* debuginfo; // Segment
Modified: branches/DARWIN/exp-ptrcheck/h_main.c
===================================================================
--- branches/DARWIN/exp-ptrcheck/h_main.c 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/exp-ptrcheck/h_main.c 2009-01-15 22:10:35 UTC (rev 8960)
@@ -1915,7 +1915,7 @@
/* these assume guest and host have the same endianness and
word size (probably). */
static UWord get_guest_intreg ( ThreadId tid, Int shadowNo,
- OffT offset, SizeT size )
+ PtrdiffT offset, SizeT size )
{
UChar tmp[ 2 + sizeof(UWord) ];
tl_assert(size == sizeof(UWord));
@@ -1929,7 +1929,7 @@
return * ((UWord*) &tmp[1] ); /* MISALIGNED LOAD */
}
static void put_guest_intreg ( ThreadId tid, Int shadowNo,
- OffT offset, SizeT size, UWord w )
+ PtrdiffT offset, SizeT size, UWord w )
{
tl_assert(size == sizeof(UWord));
tl_assert(0 == (offset % sizeof(UWord)));
@@ -1950,7 +1950,7 @@
}
}
-static void post_reg_write_nonptr ( ThreadId tid, OffT offset, SizeT size )
+static void post_reg_write_nonptr ( ThreadId tid, PtrdiffT offset, SizeT size )
{
// syscall_return: Default is non-pointer. If it really is a pointer
// (eg. for mmap()), SK_(post_syscall) sets it again afterwards.
@@ -1968,7 +1968,7 @@
}
static void post_reg_write_nonptr_or_unknown ( ThreadId tid,
- OffT offset, SizeT size )
+ PtrdiffT offset, SizeT size )
{
// deliver_signal: called from two places; one sets the reg to zero, the
// other sets the stack pointer.
@@ -1985,7 +1985,7 @@
}
void h_post_reg_write_demux ( CorePart part, ThreadId tid,
- OffT guest_state_offset, SizeT size)
+ PtrdiffT guest_state_offset, SizeT size)
{
if (0)
VG_(printf)("post_reg_write_demux: tid %d part %d off %ld size %ld\n",
@@ -2015,7 +2015,7 @@
}
}
-void h_post_reg_write_clientcall(ThreadId tid, OffT guest_state_offset,
+void h_post_reg_write_clientcall(ThreadId tid, PtrdiffT guest_state_offset,
SizeT size, Addr f )
{
UWord p;
Modified: branches/DARWIN/exp-ptrcheck/h_main.h
===================================================================
--- branches/DARWIN/exp-ptrcheck/h_main.h 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/exp-ptrcheck/h_main.h 2009-01-15 22:10:35 UTC (rev 8960)
@@ -77,8 +77,8 @@
Char* s, Addr lo );
void h_post_reg_write_demux ( CorePart part, ThreadId tid,
- OffT guest_state_offset, SizeT size);
-void h_post_reg_write_clientcall(ThreadId tid, OffT guest_state_offset,
+ PtrdiffT guest_state_offset, SizeT size);
+void h_post_reg_write_clientcall(ThreadId tid, PtrdiffT guest_state_offset,
SizeT size, Addr f );
void h_pre_syscall ( ThreadId tid, UInt syscallno );
Modified: branches/DARWIN/exp-ptrcheck/pc_common.c
===================================================================
--- branches/DARWIN/exp-ptrcheck/pc_common.c 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/exp-ptrcheck/pc_common.c 2009-01-15 22:10:35 UTC (rev 8960)
@@ -130,13 +130,13 @@
HChar actual[128];
} SorG;
struct {
- Addr addr;
- SSizeT sszB; /* -ve is write, +ve is read */
- Seg* vseg;
- Char descr1[96];
- Char descr2[96];
- Char datasym[96];
- OffT datasymoff;
+ Addr addr;
+ SSizeT sszB; /* -ve is write, +ve is read */
+ Seg* vseg;
+ Char descr1[96];
+ Char descr2[96];
+ Char datasym[96];
+ PtrdiffT datasymoff;
} Heap;
struct {
Seg* seg1;
Modified: branches/DARWIN/include/pub_tool_aspacemgr.h
===================================================================
--- branches/DARWIN/include/pub_tool_aspacemgr.h 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/include/pub_tool_aspacemgr.h 2009-01-15 22:10:35 UTC (rev 8960)
@@ -101,7 +101,7 @@
/* Associated file (SkFile{C,V} only) */
ULong dev;
ULong ino;
- ULong offset;
+ Off64T offset;
UInt mode;
Int fnIdx; // file name table index, if name is known
/* Permissions (SkAnon{C,V}, SkFile{C,V} only) */
Modified: branches/DARWIN/include/pub_tool_basics.h
===================================================================
--- branches/DARWIN/include/pub_tool_basics.h 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/include/pub_tool_basics.h 2009-01-15 22:10:35 UTC (rev 8960)
@@ -62,25 +62,41 @@
// By choosing the right types, we can get these right for 32-bit and 64-bit
// platforms without having to do any conditional compilation or anything.
+// POSIX references:
+// - http://www.opengroup.org/onlinepubs/009695399/basedefs/sys/types.h.html
+// - http://www.opengroup.org/onlinepubs/009695399/basedefs/stddef.h.html
//
// Size in bits on: 32-bit archs 64-bit archs
// ------------ ------------
typedef unsigned long UWord; // 32 64
+typedef signed long Word; // 32 64
-typedef signed long Word; // 32 64
-
+// Addr is for holding an address. AddrH was intended to be "Addr on the
+// host", for the notional case where host word size != guest word size.
+// But since the assumption that host arch == guest arch has become so
+// deeply wired in, it's a pretty pointless distinction now.
typedef UWord Addr; // 32 64
typedef UWord AddrH; // 32 64
+// Our equivalents of POSIX 'size_t' and 'ssize_t':
+// - size_t is an "unsigned integer type of the result of the sizeof operator".
+// - ssize_t is "used for a count of bytes or an error indication".
typedef UWord SizeT; // 32 64
typedef Word SSizeT; // 32 64
-typedef ULong OffT; // 32 64
+// Our equivalent of POSIX 'ptrdiff_t':
+// - ptrdiff_t is a "signed integer type of the result of subtracting two
+// pointers".
+// We use it for memory offsets, eg. the offset into a memory block.
+typedef Word PtrdiffT; // 32 64
-typedef ULong Off64T; // 64 64
+// Our equivalent of POSIX 'off_t':
+// - off_t is "used for file sizes".
+// At one point we were using it for memory offsets, but PtrdiffT should be
+// used in those cases.
+typedef Word OffT; // 32 64
+typedef Long Off64T; // 64 64
-typedef Word PtrdiffT; // 32 64
-
#if !defined(NULL)
# define NULL ((void*)0)
#endif
Modified: branches/DARWIN/include/pub_tool_debuginfo.h
===================================================================
--- branches/DARWIN/include/pub_tool_debuginfo.h 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/include/pub_tool_debuginfo.h 2009-01-15 22:10:35 UTC (rev 8960)
@@ -80,7 +80,7 @@
from the symbol start is put into *offset. */
extern Bool VG_(get_datasym_and_offset)( Addr data_addr,
/*OUT*/Char* dname, Int n_dname,
- /*OUT*/OffT* offset );
+ /*OUT*/PtrdiffT* offset );
/* Try to form some description of data_addr by looking at the DWARF3
debug info we have. This considers all global variables, and all
@@ -113,11 +113,11 @@
typedef
struct {
- OffT base; /* offset from sp or fp */
- SizeT szB; /* size in bytes */
- Bool spRel; /* True => sp-rel, False => fp-rel */
- Bool isVec; /* does block have an array type, or not? */
- HChar name[16]; /* first 15 chars of name (asciiz) */
+ PtrdiffT base; /* offset from sp or fp */
+ SizeT szB; /* size in bytes */
+ Bool spRel; /* True => sp-rel, False => fp-rel */
+ Bool isVec; /* does block have an array type, or not? */
+ HChar name[16]; /* first 15 chars of name (asciiz) */
}
StackBlock;
@@ -167,7 +167,7 @@
extern SizeT VG_(seginfo_get_gotplt_size)( const DebugInfo *di );
extern const UChar* VG_(seginfo_soname) ( const DebugInfo *di );
extern const UChar* VG_(seginfo_filename) ( const DebugInfo *di );
-extern ULong VG_(seginfo_get_text_bias)( const DebugInfo *di );
+extern PtrdiffT VG_(seginfo_get_text_bias)( const DebugInfo *di );
/* Function for traversing the seginfo list. When called with NULL it
returns the first element; otherwise it returns the given element's
Modified: branches/DARWIN/include/pub_tool_oset.h
===================================================================
--- branches/DARWIN/include/pub_tool_oset.h 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/include/pub_tool_oset.h 2009-01-15 22:10:35 UTC (rev 8960)
@@ -183,7 +183,7 @@
// a deallocation function (such as VG_(free)()) directly will likely
// lead to assertions in Valgrind's allocator.
-extern OSet* VG_(OSetGen_Create) ( OffT keyOff, OSetCmp_t cmp,
+extern OSet* VG_(OSetGen_Create) ( PtrdiffT keyOff, OSetCmp_t cmp,
OSetAlloc_t alloc, HChar* ec,
OSetFree_t free );
extern void VG_(OSetGen_Destroy) ( OSet* os );
Modified: branches/DARWIN/include/pub_tool_tooliface.h
===================================================================
--- branches/DARWIN/include/pub_tool_tooliface.h 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/include/pub_tool_tooliface.h 2009-01-15 22:10:35 UTC (rev 8960)
@@ -585,15 +585,15 @@
/* Register events. Use VG_(set_shadow_state_area)() to set the shadow regs
for these events. */
void VG_(track_pre_reg_read) (void(*f)(CorePart part, ThreadId tid,
- Char* s, OffT guest_state_offset,
+ Char* s, PtrdiffT guest_state_offset,
SizeT size));
void VG_(track_post_reg_write)(void(*f)(CorePart part, ThreadId tid,
- OffT guest_state_offset,
+ PtrdiffT guest_state_offset,
SizeT size));
/* This one is called for malloc() et al if they are replaced by a tool. */
void VG_(track_post_reg_write_clientcall_return)(
- void(*f)(ThreadId tid, OffT guest_state_offset, SizeT size, Addr f));
+ void(*f)(ThreadId tid, PtrdiffT guest_state_offset, SizeT size, Addr f));
/* Scheduler events (not exhaustive) */
Modified: branches/DARWIN/memcheck/mc_errors.c
===================================================================
--- branches/DARWIN/memcheck/mc_errors.c 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/memcheck/mc_errors.c 2009-01-15 22:10:35 UTC (rev 8960)
@@ -98,15 +98,15 @@
BlockKind block_kind;
Char* block_desc; // "block", "mempool" or user-defined
SizeT block_szB;
- OffT rwoffset;
+ PtrdiffT rwoffset;
ExeContext* lastchange;
} Block;
- // In a global .data symbol. This holds the first 63 chars of
- // the variable's (zero terminated), plus an offset.
+ // In a global .data symbol. This holds the first 127 chars of
+ // the variable's name (zero terminated), plus a (memory) offset.
struct {
- Char name[128];
- OffT offset;
+ Char name[128];
+ PtrdiffT offset;
} DataSym;
// Is described by Dwarf debug info. Arbitrary strings. Must
@@ -289,10 +289,10 @@
break;
case Addr_Block: {
- SizeT block_szB = ai->Addr.Block.block_szB;
- OffT rwoffset = ai->Addr.Block.rwoffset;
- SizeT delta;
- const Char* relative;
+ SizeT block_szB = ai->Addr.Block.block_szB;
+ PtrdiffT rwoffset = ai->Addr.Block.rwoffset;
+ SizeT delta;
+ const Char* relative;
if (rwoffset < 0) {
delta = (SizeT)(-rwoffset);
Modified: branches/DARWIN/memcheck/mc_main.c
===================================================================
--- branches/DARWIN/memcheck/mc_main.c 2009-01-15 21:29:24 UTC (rev 8959)
+++ branches/DARWIN/memcheck/mc_main.c 2009-01-15 22:10:35 UTC (rev 8960)
@@ -3723,7 +3723,7 @@
big as the biggest guest state.
*/
static void mc_post_reg_write ( CorePart part, ThreadId tid,
- OffT offset, SizeT size)
+ PtrdiffT offset, SizeT size)
{
# define MAX_REG_WRITE_SIZE 2000
UChar area[MAX_REG_WRITE_SIZE];
@@ -3735,8 +3735,7 @@
static
void mc_post_reg_write_clientcall ( ThreadId tid,
- OffT offset, SizeT size,
- Addr f)
+ PtrdiffT offset, SizeT size, Addr f)
{
mc_post_reg_write(/*dummy*/0, tid, offset, size);
}
@@ -3746,7 +3745,7 @@
a parameter error.
*/
static void mc_pre_reg_read ( CorePart part, ThreadId tid, Char* s,
- OffT offset, SizeT size)
+ PtrdiffT offset, SizeT size)
{
Int i;
Bool bad;
|
|
From: <sv...@va...> - 2009-01-15 21:29:30
|
Author: njn
Date: 2009-01-15 21:29:24 +0000 (Thu, 15 Jan 2009)
New Revision: 8959
Log:
Introduce a new type, PtrdiffT. Replace lots of uses of OffT (all those
that are memory offsets) with PtrdiffT; OffT should only be used for file
sizes and offsets.
Change Off64T from a ULong to a Long, as it should be. Replace some uses
of ULong in the address space manager with Off64T to match.
Also add a comment explaining the meanings of the basic types like Addr,
OffT, SizeT, etc.
Also fix the prototype for VG_(pread) -- the last arg is an OffT, not an
Int.
Modified:
trunk/callgrind/bb.c
trunk/callgrind/global.h
trunk/coregrind/m_aspacemgr/aspacemgr-aix5.c
trunk/coregrind/m_aspacemgr/aspacemgr-linux.c
trunk/coregrind/m_debuginfo/debuginfo.c
trunk/coregrind/m_debuginfo/priv_readstabs.h
trunk/coregrind/m_debuginfo/priv_storage.h
trunk/coregrind/m_debuginfo/priv_tytypes.h
trunk/coregrind/m_debuginfo/readdwarf3.c
trunk/coregrind/m_debuginfo/readelf.c
trunk/coregrind/m_debuginfo/readstabs.c
trunk/coregrind/m_debuginfo/tytypes.c
trunk/coregrind/m_libcfile.c
trunk/coregrind/m_machine.c
trunk/coregrind/m_oset.c
trunk/coregrind/m_syswrap/priv_syswrap-generic.h
trunk/coregrind/m_tooliface.c
trunk/coregrind/pub_core_libcfile.h
trunk/coregrind/pub_core_tooliface.h
trunk/drd/drd_error.h
trunk/exp-ptrcheck/h_main.c
trunk/exp-ptrcheck/h_main.h
trunk/exp-ptrcheck/pc_common.c
trunk/include/pub_tool_aspacemgr.h
trunk/include/pub_tool_basics.h
trunk/include/pub_tool_debuginfo.h
trunk/include/pub_tool_machine.h
trunk/include/pub_tool_oset.h
trunk/include/pub_tool_tooliface.h
trunk/memcheck/mc_errors.c
trunk/memcheck/mc_main.c
Modified: trunk/callgrind/bb.c
===================================================================
--- trunk/callgrind/bb.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/callgrind/bb.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -57,7 +57,7 @@
* - BB base as object file offset
*/
static __inline__
-UInt bb_hash_idx(obj_node* obj, OffT offset, UInt size)
+UInt bb_hash_idx(obj_node* obj, PtrdiffT offset, UInt size)
{
return (((Addr)obj) + offset) % size;
}
@@ -118,7 +118,7 @@
* Not initialized:
* - instr_len, cost_count, instr[]
*/
-static BB* new_bb(obj_node* obj, OffT offset,
+static BB* new_bb(obj_node* obj, PtrdiffT offset,
UInt instr_count, UInt cjmp_count, Bool cjmp_inverted)
{
BB* new;
@@ -176,7 +176,7 @@
/* get the BB structure for a BB start address */
static __inline__
-BB* lookup_bb(obj_node* obj, OffT offset)
+BB* lookup_bb(obj_node* obj, PtrdiffT offset)
{
BB* bb;
Int idx;
@@ -199,7 +199,7 @@
{
obj_node* obj;
DebugInfo* di;
- OffT offset;
+ PtrdiffT offset;
di = VG_(find_seginfo)(addr);
obj = CLG_(get_obj_node)( di );
@@ -292,7 +292,7 @@
Int idx, size;
obj_node* obj = obj_of_address(addr);
- OffT offset = addr - obj->offset;
+ PtrdiffT offset = addr - obj->offset;
idx = bb_hash_idx(obj, offset, bbs.size);
bb = bbs.table[idx];
Modified: trunk/callgrind/global.h
===================================================================
--- trunk/callgrind/global.h 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/callgrind/global.h 2009-01-15 21:29:24 UTC (rev 8959)
@@ -304,7 +304,7 @@
*/
struct _BB {
obj_node* obj; /* ELF object of BB */
- OffT offset; /* offset of BB in ELF object file */
+ PtrdiffT offset; /* offset of BB in ELF object file */
BB* next; /* chaining for a hash entry */
VgSectKind sect_kind; /* section of this BB, e.g. PLT */
@@ -463,7 +463,7 @@
Addr start; /* Start address of text segment mapping */
SizeT size; /* Length of mapping */
- OffT offset; /* Offset between symbol address and file offset */
+ PtrdiffT offset; /* Offset between symbol address and file offset */
file_node* files[N_FILE_ENTRIES];
UInt number;
Modified: trunk/coregrind/m_aspacemgr/aspacemgr-aix5.c
===================================================================
--- trunk/coregrind/m_aspacemgr/aspacemgr-aix5.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/m_aspacemgr/aspacemgr-aix5.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -162,7 +162,7 @@
Bool fromP; // AnonC, AnonV only: originated from PreAlloc?
UChar* fname; // MText, FileV only: filename
UChar* mname; // MText only: member name if present
- ULong offset; // FileV only: file offset
+ Off64T offset; // FileV only: file offset
}
AixSegment;
Modified: trunk/coregrind/m_aspacemgr/aspacemgr-linux.c
===================================================================
--- trunk/coregrind/m_aspacemgr/aspacemgr-linux.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/m_aspacemgr/aspacemgr-linux.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -330,7 +330,7 @@
static void parse_procselfmaps (
void (*record_mapping)( Addr addr, SizeT len, UInt prot,
- ULong dev, ULong ino, ULong offset,
+ ULong dev, ULong ino, Off64T offset,
const UChar* filename ),
void (*record_gap)( Addr addr, SizeT len )
);
@@ -498,7 +498,7 @@
VG_(debugLog)(logLevel, "aspacem",
"NSegment{%s, start=0x%llx, end=0x%llx, smode=%s, dev=%llu, "
- "ino=%llu, offset=%llu, fnIdx=%d, hasR=%d, hasW=%d, hasX=%d, "
+ "ino=%llu, offset=%lld, fnIdx=%d, hasR=%d, hasW=%d, hasX=%d, "
"hasT=%d, mark=%d, name=\"%s\"}\n",
show_SegKind(seg->kind),
(ULong)seg->start,
@@ -553,7 +553,7 @@
seg->hasR ? 'r' : '-', seg->hasW ? 'w' : '-',
seg->hasX ? 'x' : '-', seg->hasT ? 'T' : '-',
seg->isCH ? 'H' : '-',
- seg->dev, seg->ino, (Long)seg->offset, seg->fnIdx
+ seg->dev, seg->ino, seg->offset, seg->fnIdx
);
break;
@@ -872,7 +872,7 @@
static Bool sync_check_ok = False;
static void sync_check_mapping_callback ( Addr addr, SizeT len, UInt prot,
- ULong dev, ULong ino, ULong offset,
+ ULong dev, ULong ino, Off64T offset,
const UChar* filename )
{
Int iLo, iHi, i;
@@ -1527,7 +1527,7 @@
/*-----------------------------------------------------------------*/
static void read_maps_callback ( Addr addr, SizeT len, UInt prot,
- ULong dev, ULong ino, ULong offset,
+ ULong dev, ULong ino, Off64T offset,
const UChar* filename )
{
NSegment seg;
@@ -3060,7 +3060,7 @@
*/
static void parse_procselfmaps (
void (*record_mapping)( Addr addr, SizeT len, UInt prot,
- ULong dev, ULong ino, ULong offset,
+ ULong dev, ULong ino, Off64T offset,
const UChar* filename ),
void (*record_gap)( Addr addr, SizeT len )
)
Modified: trunk/coregrind/m_debuginfo/debuginfo.c
===================================================================
--- trunk/coregrind/m_debuginfo/debuginfo.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/m_debuginfo/debuginfo.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -1088,11 +1088,11 @@
static
Bool get_sym_name ( Bool demangle, Addr a, Char* buf, Int nbuf,
Bool match_anywhere_in_sym, Bool show_offset,
- Bool findText, /*OUT*/OffT* offsetP )
+ Bool findText, /*OUT*/PtrdiffT* offsetP )
{
DebugInfo* di;
Word sno;
- Int offset;
+ PtrdiffT offset;
search_all_symtabs ( a, &di, &sno, match_anywhere_in_sym, findText );
if (di == NULL)
@@ -1105,7 +1105,7 @@
}
offset = a - di->symtab[sno].addr;
- if (offsetP) *offsetP = (OffT)offset;
+ if (offsetP) *offsetP = offset;
if (show_offset && offset != 0) {
Char buf2[12];
@@ -1113,7 +1113,7 @@
Char* end = buf + nbuf;
Int len;
- len = VG_(sprintf)(buf2, "%c%d",
+ len = VG_(sprintf)(buf2, "%c%ld",
offset < 0 ? '-' : '+',
offset < 0 ? -offset : offset);
vg_assert(len < (Int)sizeof(buf2));
@@ -1221,7 +1221,7 @@
from the symbol start is put into *offset. */
Bool VG_(get_datasym_and_offset)( Addr data_addr,
/*OUT*/Char* dname, Int n_dname,
- /*OUT*/OffT* offset )
+ /*OUT*/PtrdiffT* offset )
{
Bool ok;
vg_assert(n_dname > 1);
@@ -1923,7 +1923,7 @@
offset of data_addr from the start of the variable. Note that
regs, which supplies ip,sp,fp values, will be NULL for global
variables, and non-NULL for local variables. */
-static Bool data_address_is_in_var ( /*OUT*/UWord* offset,
+static Bool data_address_is_in_var ( /*OUT*/PtrdiffT* offset,
XArray* /* TyEnt */ tyents,
DiVariable* var,
RegSummary* regs,
@@ -1993,8 +1993,8 @@
Int n_dname,
Addr data_addr,
DiVariable* var,
- OffT var_offset,
- OffT residual_offset,
+ PtrdiffT var_offset,
+ PtrdiffT residual_offset,
XArray* /*UChar*/ described,
Int frameNo,
ThreadId tid )
@@ -2237,14 +2237,14 @@
&& VG_(sizeXA)(vars) > 0) );
for (j = 0; j < VG_(sizeXA)( vars ); j++) {
DiVariable* var = (DiVariable*)VG_(indexXA)( vars, j );
- SizeT offset;
+ PtrdiffT offset;
if (debug)
VG_(printf)("QQQQ: var:name=%s %#lx-%#lx %#lx\n",
var->name,arange->aMin,arange->aMax,ip);
if (data_address_is_in_var( &offset, di->admin_tyents,
var, ®s,
data_addr, di->data_bias )) {
- OffT residual_offset = 0;
+ PtrdiffT residual_offset = 0;
XArray* described = ML_(describe_type)( &residual_offset,
di->admin_tyents,
var->typeR, offset );
@@ -2331,7 +2331,7 @@
of any of them bracket data_addr. */
vars = global_arange->vars;
for (i = 0; i < VG_(sizeXA)( vars ); i++) {
- SizeT offset;
+ PtrdiffT offset;
DiVariable* var = (DiVariable*)VG_(indexXA)( vars, i );
vg_assert(var->name);
/* Note we use a NULL RegSummary* here. It can't make any
@@ -2343,7 +2343,7 @@
if (data_address_is_in_var( &offset, di->admin_tyents, var,
NULL/* RegSummary* */,
data_addr, di->data_bias )) {
- OffT residual_offset = 0;
+ PtrdiffT residual_offset = 0;
XArray* described = ML_(describe_type)( &residual_offset,
di->admin_tyents,
var->typeR, offset );
@@ -2896,7 +2896,7 @@
return di->filename;
}
-ULong VG_(seginfo_get_text_bias)(const DebugInfo* di)
+PtrdiffT VG_(seginfo_get_text_bias)(const DebugInfo* di)
{
return di->text_present ? di->text_bias : 0;
}
Modified: trunk/coregrind/m_debuginfo/priv_readstabs.h
===================================================================
--- trunk/coregrind/m_debuginfo/priv_readstabs.h 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/m_debuginfo/priv_readstabs.h 2009-01-15 21:29:24 UTC (rev 8959)
@@ -41,7 +41,7 @@
Stabs reader
-------------------- */
extern
-void ML_(read_debuginfo_stabs) ( struct _DebugInfo* di, OffT debug_offset,
+void ML_(read_debuginfo_stabs) ( struct _DebugInfo* di, PtrdiffT debug_offset,
UChar* stabC, Int stab_sz,
UChar* stabstr, Int stabstr_sz );
Modified: trunk/coregrind/m_debuginfo/priv_storage.h
===================================================================
--- trunk/coregrind/m_debuginfo/priv_storage.h 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/m_debuginfo/priv_storage.h 2009-01-15 21:29:24 UTC (rev 8959)
@@ -349,29 +349,29 @@
(4) is ensured by canonicaliseCFI.
*/
/* .text */
- Bool text_present;
- Addr text_avma;
- Addr text_svma;
- SizeT text_size;
- OffT text_bias;
+ Bool text_present;
+ Addr text_avma;
+ Addr text_svma;
+ SizeT text_size;
+ PtrdiffT text_bias;
/* .data */
- Bool data_present;
- Addr data_svma;
- Addr data_avma;
- SizeT data_size;
- OffT data_bias;
+ Bool data_present;
+ Addr data_svma;
+ Addr data_avma;
+ SizeT data_size;
+ PtrdiffT data_bias;
/* .sdata */
- Bool sdata_present;
- Addr sdata_svma;
- Addr sdata_avma;
- SizeT sdata_size;
- OffT sdata_bias;
+ Bool sdata_present;
+ Addr sdata_svma;
+ Addr sdata_avma;
+ SizeT sdata_size;
+ PtrdiffT sdata_bias;
/* .bss */
- Bool bss_present;
- Addr bss_svma;
- Addr bss_avma;
- SizeT bss_size;
- OffT bss_bias;
+ Bool bss_present;
+ Addr bss_svma;
+ Addr bss_avma;
+ SizeT bss_size;
+ PtrdiffT bss_bias;
/* .plt */
Bool plt_present;
Addr plt_avma;
Modified: trunk/coregrind/m_debuginfo/priv_tytypes.h
===================================================================
--- trunk/coregrind/m_debuginfo/priv_tytypes.h 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/m_debuginfo/priv_tytypes.h 2009-01-15 21:29:24 UTC (rev 8959)
@@ -166,10 +166,10 @@
/* Describe where in the type 'offset' falls. Caller must
deallocate the resulting XArray. */
-XArray* /*UChar*/ ML_(describe_type)( /*OUT*/OffT* residual_offset,
+XArray* /*UChar*/ ML_(describe_type)( /*OUT*/PtrdiffT* residual_offset,
XArray* /* of TyEnt */ tyents,
UWord ty_cuOff,
- OffT offset );
+ PtrdiffT offset );
/* A fast-lookup cache for ML_(TyEnts__index_by_cuOff). Nothing
Modified: trunk/coregrind/m_debuginfo/readdwarf3.c
===================================================================
--- trunk/coregrind/m_debuginfo/readdwarf3.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/m_debuginfo/readdwarf3.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -524,9 +524,9 @@
typedef
struct {
/* FIXED */
- Addr rx_map_avma;
- SizeT rx_map_size;
- OffT text_bias;
+ Addr rx_map_avma;
+ SizeT rx_map_size;
+ PtrdiffT text_bias;
/* VARIABLE -- count stats */
UWord n_straightforward_biasings;
UWord n_kludgey_biasings;
Modified: trunk/coregrind/m_debuginfo/readelf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readelf.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/m_debuginfo/readelf.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -206,7 +206,7 @@
Char* sym_name, /* name */
Addr sym_svma, /* address as stated in the object file */
UChar* opd_img, /* oimage of .opd sec (ppc64-linux only) */
- OffT opd_bias, /* for biasing AVMAs found in .opd */
+ PtrdiffT opd_bias, /* for biasing AVMAs found in .opd */
/* OUTPUTS */
Char** sym_name_out, /* name we should record */
Addr* sym_avma_out, /* addr we should record */
Modified: trunk/coregrind/m_debuginfo/readstabs.c
===================================================================
--- trunk/coregrind/m_debuginfo/readstabs.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/m_debuginfo/readstabs.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -80,7 +80,7 @@
/* Read stabs-format debug info. This is all rather horrible because
stabs is a underspecified, kludgy hack.
*/
-void ML_(read_debuginfo_stabs) ( DebugInfo* di, OffT debug_offset,
+void ML_(read_debuginfo_stabs) ( DebugInfo* di, PtrdiffT debug_offset,
UChar* stabC, Int stab_sz,
UChar* stabstr, Int stabstr_sz )
{
Modified: trunk/coregrind/m_debuginfo/tytypes.c
===================================================================
--- trunk/coregrind/m_debuginfo/tytypes.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/m_debuginfo/tytypes.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -702,10 +702,10 @@
VG_(addBytesToXA)( xa, buf, VG_(strlen)(buf));
}
-XArray* /*UChar*/ ML_(describe_type)( /*OUT*/OffT* residual_offset,
+XArray* /*UChar*/ ML_(describe_type)( /*OUT*/PtrdiffT* residual_offset,
XArray* /* of TyEnt */ tyents,
UWord ty_cuOff,
- OffT offset )
+ PtrdiffT offset )
{
TyEnt* ty;
XArray* xa = VG_(newXA)( ML_(dinfo_zalloc), "di.tytypes.dt.1",
@@ -737,7 +737,7 @@
XArray* fieldRs;
UWord fieldR;
TyEnt* field = NULL;
- OffT offMin = 0, offMax1 = 0;
+ PtrdiffT offMin = 0, offMax1 = 0;
if (!ty->Te.TyStOrUn.isStruct) goto done;
fieldRs = ty->Te.TyStOrUn.fieldRs;
if ((!fieldRs) || VG_(sizeXA)(fieldRs) == 0) goto done;
@@ -771,7 +771,7 @@
if (mul.b != True)
goto done; /* size of field is unknown (?!) */
offMin = res.word;
- offMax1 = offMin + (OffT)mul.ul;
+ offMax1 = offMin + (PtrdiffT)mul.ul;
if (offMin == offMax1)
continue;
vg_assert(offMin < offMax1);
Modified: trunk/coregrind/m_libcfile.c
===================================================================
--- trunk/coregrind/m_libcfile.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/m_libcfile.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -470,7 +470,7 @@
return 0;
}
-SysRes VG_(pread) ( Int fd, void* buf, Int count, Int offset )
+SysRes VG_(pread) ( Int fd, void* buf, Int count, OffT offset )
{
OffT off = VG_(lseek)( fd, (OffT)offset, VKI_SEEK_SET);
if (off < 0)
Modified: trunk/coregrind/m_machine.c
===================================================================
--- trunk/coregrind/m_machine.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/m_machine.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -107,7 +107,7 @@
void
VG_(get_shadow_regs_area) ( ThreadId tid,
/*DST*/UChar* dst,
- /*SRC*/Int shadowNo, OffT offset, SizeT size )
+ /*SRC*/Int shadowNo, PtrdiffT offset, SizeT size )
{
void* src;
ThreadState* tst;
@@ -130,7 +130,7 @@
void
VG_(set_shadow_regs_area) ( ThreadId tid,
- /*DST*/Int shadowNo, OffT offset, SizeT size,
+ /*DST*/Int shadowNo, PtrdiffT offset, SizeT size,
/*SRC*/const UChar* src )
{
void* dst;
Modified: trunk/coregrind/m_oset.c
===================================================================
--- trunk/coregrind/m_oset.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/m_oset.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -282,7 +282,7 @@
/*--------------------------------------------------------------------*/
// The underscores avoid GCC complaints about overshadowing global names.
-AvlTree* VG_(OSetGen_Create)(OffT _keyOff, OSetCmp_t _cmp,
+AvlTree* VG_(OSetGen_Create)(PtrdiffT _keyOff, OSetCmp_t _cmp,
OSetAlloc_t _alloc, HChar* _cc,
OSetFree_t _free)
{
Modified: trunk/coregrind/m_syswrap/priv_syswrap-generic.h
===================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-generic.h 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/m_syswrap/priv_syswrap-generic.h 2009-01-15 21:29:24 UTC (rev 8959)
@@ -67,7 +67,7 @@
extern
void
ML_(notify_aspacem_and_tool_of_mmap) ( Addr a, SizeT len, UInt prot,
- UInt mm_flags, Int fd, ULong offset );
+ UInt mm_flags, Int fd, Off64T offset );
DECL_TEMPLATE(generic, sys_ni_syscall); // * P -- unimplemented
Modified: trunk/coregrind/m_tooliface.c
===================================================================
--- trunk/coregrind/m_tooliface.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/m_tooliface.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -391,10 +391,10 @@
DEF0(track_pre_mem_write, CorePart, ThreadId, Char*, Addr, SizeT)
DEF0(track_post_mem_write, CorePart, ThreadId, Addr, SizeT)
-DEF0(track_pre_reg_read, CorePart, ThreadId, Char*, OffT, SizeT)
-DEF0(track_post_reg_write, CorePart, ThreadId, OffT, SizeT)
+DEF0(track_pre_reg_read, CorePart, ThreadId, Char*, PtrdiffT, SizeT)
+DEF0(track_post_reg_write, CorePart, ThreadId, PtrdiffT, SizeT)
-DEF0(track_post_reg_write_clientcall_return, ThreadId, OffT, SizeT, Addr)
+DEF0(track_post_reg_write_clientcall_return, ThreadId, PtrdiffT, SizeT, Addr)
DEF0(track_start_client_code, ThreadId, ULong)
DEF0(track_stop_client_code, ThreadId, ULong)
Modified: trunk/coregrind/pub_core_libcfile.h
===================================================================
--- trunk/coregrind/pub_core_libcfile.h 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/pub_core_libcfile.h 2009-01-15 21:29:24 UTC (rev 8959)
@@ -74,7 +74,7 @@
extern Int VG_(check_executable)(/*OUT*/Bool* is_setuid,
HChar* f, Bool allow_setuid);
-extern SysRes VG_(pread) ( Int fd, void* buf, Int count, Int offset );
+extern SysRes VG_(pread) ( Int fd, void* buf, Int count, OffT offset );
/* Create and open (-rw------) a tmp file name incorporating said arg.
Returns -1 on failure, else the fd of the file. If fullname is
Modified: trunk/coregrind/pub_core_tooliface.h
===================================================================
--- trunk/coregrind/pub_core_tooliface.h 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/coregrind/pub_core_tooliface.h 2009-01-15 21:29:24 UTC (rev 8959)
@@ -212,9 +212,10 @@
void (*track_pre_mem_write) (CorePart, ThreadId, Char*, Addr, SizeT);
void (*track_post_mem_write) (CorePart, ThreadId, Addr, SizeT);
- void (*track_pre_reg_read) (CorePart, ThreadId, Char*, OffT, SizeT);
- void (*track_post_reg_write)(CorePart, ThreadId, OffT, SizeT);
- void (*track_post_reg_write_clientcall_return)(ThreadId, OffT, SizeT, Addr);
+ void (*track_pre_reg_read) (CorePart, ThreadId, Char*, PtrdiffT, SizeT);
+ void (*track_post_reg_write)(CorePart, ThreadId, PtrdiffT, SizeT);
+ void (*track_post_reg_write_clientcall_return)(ThreadId, PtrdiffT, SizeT,
+ Addr);
void (*track_start_client_code)(ThreadId, ULong);
void (*track_stop_client_code) (ThreadId, ULong);
Modified: trunk/drd/drd_error.h
===================================================================
--- trunk/drd/drd_error.h 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/drd/drd_error.h 2009-01-15 21:29:24 UTC (rev 8959)
@@ -81,7 +81,7 @@
struct { // Used by:
AddrKind akind; // ALL
SizeT size; // ALL
- OffT rwoffset; // ALL
+ PtrdiffT rwoffset; // ALL
ExeContext* lastchange; // Mallocd
DrdThreadId stack_tid; // Stack
DebugInfo* debuginfo; // Segment
Modified: trunk/exp-ptrcheck/h_main.c
===================================================================
--- trunk/exp-ptrcheck/h_main.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/exp-ptrcheck/h_main.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -1915,7 +1915,7 @@
/* these assume guest and host have the same endianness and
word size (probably). */
static UWord get_guest_intreg ( ThreadId tid, Int shadowNo,
- OffT offset, SizeT size )
+ PtrdiffT offset, SizeT size )
{
UChar tmp[ 2 + sizeof(UWord) ];
tl_assert(size == sizeof(UWord));
@@ -1929,7 +1929,7 @@
return * ((UWord*) &tmp[1] ); /* MISALIGNED LOAD */
}
static void put_guest_intreg ( ThreadId tid, Int shadowNo,
- OffT offset, SizeT size, UWord w )
+ PtrdiffT offset, SizeT size, UWord w )
{
tl_assert(size == sizeof(UWord));
tl_assert(0 == (offset % sizeof(UWord)));
@@ -1950,7 +1950,7 @@
}
}
-static void post_reg_write_nonptr ( ThreadId tid, OffT offset, SizeT size )
+static void post_reg_write_nonptr ( ThreadId tid, PtrdiffT offset, SizeT size )
{
// syscall_return: Default is non-pointer. If it really is a pointer
// (eg. for mmap()), SK_(post_syscall) sets it again afterwards.
@@ -1968,7 +1968,7 @@
}
static void post_reg_write_nonptr_or_unknown ( ThreadId tid,
- OffT offset, SizeT size )
+ PtrdiffT offset, SizeT size )
{
// deliver_signal: called from two places; one sets the reg to zero, the
// other sets the stack pointer.
@@ -1985,7 +1985,7 @@
}
void h_post_reg_write_demux ( CorePart part, ThreadId tid,
- OffT guest_state_offset, SizeT size)
+ PtrdiffT guest_state_offset, SizeT size)
{
if (0)
VG_(printf)("post_reg_write_demux: tid %d part %d off %ld size %ld\n",
@@ -2015,7 +2015,7 @@
}
}
-void h_post_reg_write_clientcall(ThreadId tid, OffT guest_state_offset,
+void h_post_reg_write_clientcall(ThreadId tid, PtrdiffT guest_state_offset,
SizeT size, Addr f )
{
UWord p;
Modified: trunk/exp-ptrcheck/h_main.h
===================================================================
--- trunk/exp-ptrcheck/h_main.h 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/exp-ptrcheck/h_main.h 2009-01-15 21:29:24 UTC (rev 8959)
@@ -77,8 +77,8 @@
Char* s, Addr lo );
void h_post_reg_write_demux ( CorePart part, ThreadId tid,
- OffT guest_state_offset, SizeT size);
-void h_post_reg_write_clientcall(ThreadId tid, OffT guest_state_offset,
+ PtrdiffT guest_state_offset, SizeT size);
+void h_post_reg_write_clientcall(ThreadId tid, PtrdiffT guest_state_offset,
SizeT size, Addr f );
void h_pre_syscall ( ThreadId tid, UInt syscallno );
Modified: trunk/exp-ptrcheck/pc_common.c
===================================================================
--- trunk/exp-ptrcheck/pc_common.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/exp-ptrcheck/pc_common.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -130,13 +130,13 @@
HChar actual[128];
} SorG;
struct {
- Addr addr;
- SSizeT sszB; /* -ve is write, +ve is read */
- Seg* vseg;
- Char descr1[96];
- Char descr2[96];
- Char datasym[96];
- OffT datasymoff;
+ Addr addr;
+ SSizeT sszB; /* -ve is write, +ve is read */
+ Seg* vseg;
+ Char descr1[96];
+ Char descr2[96];
+ Char datasym[96];
+ PtrdiffT datasymoff;
} Heap;
struct {
Seg* seg1;
Modified: trunk/include/pub_tool_aspacemgr.h
===================================================================
--- trunk/include/pub_tool_aspacemgr.h 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/include/pub_tool_aspacemgr.h 2009-01-15 21:29:24 UTC (rev 8959)
@@ -101,7 +101,7 @@
/* Associated file (SkFile{C,V} only) */
ULong dev;
ULong ino;
- ULong offset;
+ Off64T offset;
UInt mode;
Int fnIdx; // file name table index, if name is known
/* Permissions (SkAnon{C,V}, SkFile{C,V} only) */
Modified: trunk/include/pub_tool_basics.h
===================================================================
--- trunk/include/pub_tool_basics.h 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/include/pub_tool_basics.h 2009-01-15 21:29:24 UTC (rev 8959)
@@ -62,22 +62,40 @@
// By choosing the right types, we can get these right for 32-bit and 64-bit
// platforms without having to do any conditional compilation or anything.
+// POSIX references:
+// - http://www.opengroup.org/onlinepubs/009695399/basedefs/sys/types.h.html
+// - http://www.opengroup.org/onlinepubs/009695399/basedefs/stddef.h.html
//
// Size in bits on: 32-bit archs 64-bit archs
// ------------ ------------
typedef unsigned long UWord; // 32 64
+typedef signed long Word; // 32 64
-typedef signed long Word; // 32 64
-
+// Addr is for holding an address. AddrH was intended to be "Addr on the
+// host", for the notional case where host word size != guest word size.
+// But since the assumption that host arch == guest arch has become so
+// deeply wired in, it's a pretty pointless distinction now.
typedef UWord Addr; // 32 64
typedef UWord AddrH; // 32 64
+// Our equivalents of POSIX 'size_t' and 'ssize_t':
+// - size_t is an "unsigned integer type of the result of the sizeof operator".
+// - ssize_t is "used for a count of bytes or an error indication".
typedef UWord SizeT; // 32 64
typedef Word SSizeT; // 32 64
-typedef Word OffT; // 32 64
+// Our equivalent of POSIX 'ptrdiff_t':
+// - ptrdiff_t is a "signed integer type of the result of subtracting two
+// pointers".
+// We use it for memory offsets, eg. the offset into a memory block.
+typedef Word PtrdiffT; // 32 64
-typedef ULong Off64T; // 64 64
+// Our equivalent of POSIX 'off_t':
+// - off_t is "used for file sizes".
+// At one point we were using it for memory offsets, but PtrdiffT should be
+// used in those cases.
+typedef Word OffT; // 32 64
+typedef Long Off64T; // 64 64
#if !defined(NULL)
# define NULL ((void*)0)
Modified: trunk/include/pub_tool_debuginfo.h
===================================================================
--- trunk/include/pub_tool_debuginfo.h 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/include/pub_tool_debuginfo.h 2009-01-15 21:29:24 UTC (rev 8959)
@@ -80,7 +80,7 @@
from the symbol start is put into *offset. */
extern Bool VG_(get_datasym_and_offset)( Addr data_addr,
/*OUT*/Char* dname, Int n_dname,
- /*OUT*/OffT* offset );
+ /*OUT*/PtrdiffT* offset );
/* Try to form some description of data_addr by looking at the DWARF3
debug info we have. This considers all global variables, and all
@@ -113,11 +113,11 @@
typedef
struct {
- OffT base; /* offset from sp or fp */
- SizeT szB; /* size in bytes */
- Bool spRel; /* True => sp-rel, False => fp-rel */
- Bool isVec; /* does block have an array type, or not? */
- HChar name[16]; /* first 15 chars of name (asciiz) */
+ PtrdiffT base; /* offset from sp or fp */
+ SizeT szB; /* size in bytes */
+ Bool spRel; /* True => sp-rel, False => fp-rel */
+ Bool isVec; /* does block have an array type, or not? */
+ HChar name[16]; /* first 15 chars of name (asciiz) */
}
StackBlock;
@@ -167,7 +167,7 @@
extern SizeT VG_(seginfo_get_gotplt_size)( const DebugInfo *di );
extern const UChar* VG_(seginfo_soname) ( const DebugInfo *di );
extern const UChar* VG_(seginfo_filename) ( const DebugInfo *di );
-extern ULong VG_(seginfo_get_text_bias)( const DebugInfo *di );
+extern PtrdiffT VG_(seginfo_get_text_bias)( const DebugInfo *di );
/* Function for traversing the seginfo list. When called with NULL it
returns the first element; otherwise it returns the given element's
Modified: trunk/include/pub_tool_machine.h
===================================================================
--- trunk/include/pub_tool_machine.h 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/include/pub_tool_machine.h 2009-01-15 21:29:24 UTC (rev 8959)
@@ -90,10 +90,10 @@
void
VG_(get_shadow_regs_area) ( ThreadId tid,
/*DST*/UChar* dst,
- /*SRC*/Int shadowNo, OffT offset, SizeT size );
+ /*SRC*/Int shadowNo, PtrdiffT offset, SizeT size );
void
VG_(set_shadow_regs_area) ( ThreadId tid,
- /*DST*/Int shadowNo, OffT offset, SizeT size,
+ /*DST*/Int shadowNo, PtrdiffT offset, SizeT size,
/*SRC*/const UChar* src );
// Sets the shadow values for the syscall return value register(s).
Modified: trunk/include/pub_tool_oset.h
===================================================================
--- trunk/include/pub_tool_oset.h 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/include/pub_tool_oset.h 2009-01-15 21:29:24 UTC (rev 8959)
@@ -183,7 +183,7 @@
// a deallocation function (such as VG_(free)()) directly will likely
// lead to assertions in Valgrind's allocator.
-extern OSet* VG_(OSetGen_Create) ( OffT keyOff, OSetCmp_t cmp,
+extern OSet* VG_(OSetGen_Create) ( PtrdiffT keyOff, OSetCmp_t cmp,
OSetAlloc_t alloc, HChar* ec,
OSetFree_t free );
extern void VG_(OSetGen_Destroy) ( OSet* os );
Modified: trunk/include/pub_tool_tooliface.h
===================================================================
--- trunk/include/pub_tool_tooliface.h 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/include/pub_tool_tooliface.h 2009-01-15 21:29:24 UTC (rev 8959)
@@ -567,15 +567,15 @@
/* Register events. Use VG_(set_shadow_state_area)() to set the shadow regs
for these events. */
void VG_(track_pre_reg_read) (void(*f)(CorePart part, ThreadId tid,
- Char* s, OffT guest_state_offset,
+ Char* s, PtrdiffT guest_state_offset,
SizeT size));
void VG_(track_post_reg_write)(void(*f)(CorePart part, ThreadId tid,
- OffT guest_state_offset,
+ PtrdiffT guest_state_offset,
SizeT size));
/* This one is called for malloc() et al if they are replaced by a tool. */
void VG_(track_post_reg_write_clientcall_return)(
- void(*f)(ThreadId tid, OffT guest_state_offset, SizeT size, Addr f));
+ void(*f)(ThreadId tid, PtrdiffT guest_state_offset, SizeT size, Addr f));
/* Scheduler events (not exhaustive) */
Modified: trunk/memcheck/mc_errors.c
===================================================================
--- trunk/memcheck/mc_errors.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/memcheck/mc_errors.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -98,15 +98,15 @@
BlockKind block_kind;
Char* block_desc; // "block", "mempool" or user-defined
SizeT block_szB;
- OffT rwoffset;
+ PtrdiffT rwoffset;
ExeContext* lastchange;
} Block;
- // In a global .data symbol. This holds the first 63 chars of
- // the variable's (zero terminated), plus an offset.
+ // In a global .data symbol. This holds the first 127 chars of
+ // the variable's name (zero terminated), plus a (memory) offset.
struct {
- Char name[128];
- OffT offset;
+ Char name[128];
+ PtrdiffT offset;
} DataSym;
// Is described by Dwarf debug info. Arbitrary strings. Must
@@ -286,10 +286,10 @@
break;
case Addr_Block: {
- SizeT block_szB = ai->Addr.Block.block_szB;
- OffT rwoffset = ai->Addr.Block.rwoffset;
- SizeT delta;
- const Char* relative;
+ SizeT block_szB = ai->Addr.Block.block_szB;
+ PtrdiffT rwoffset = ai->Addr.Block.rwoffset;
+ SizeT delta;
+ const Char* relative;
if (rwoffset < 0) {
delta = (SizeT)(-rwoffset);
Modified: trunk/memcheck/mc_main.c
===================================================================
--- trunk/memcheck/mc_main.c 2009-01-15 08:49:09 UTC (rev 8958)
+++ trunk/memcheck/mc_main.c 2009-01-15 21:29:24 UTC (rev 8959)
@@ -3722,7 +3722,7 @@
big as the biggest guest state.
*/
static void mc_post_reg_write ( CorePart part, ThreadId tid,
- OffT offset, SizeT size)
+ PtrdiffT offset, SizeT size)
{
# define MAX_REG_WRITE_SIZE 1408
UChar area[MAX_REG_WRITE_SIZE];
@@ -3734,8 +3734,7 @@
static
void mc_post_reg_write_clientcall ( ThreadId tid,
- OffT offset, SizeT size,
- Addr f)
+ PtrdiffT offset, SizeT size, Addr f)
{
mc_post_reg_write(/*dummy*/0, tid, offset, size);
}
@@ -3745,7 +3744,7 @@
a parameter error.
*/
static void mc_pre_reg_read ( CorePart part, ThreadId tid, Char* s,
- OffT offset, SizeT size)
+ PtrdiffT offset, SizeT size)
{
Int i;
Bool bad;
|
|
From: Rich C. <Ric...@me...> - 2009-01-15 14:46:35
|
aha. It has an invalid mime-encoded header. Here are the relevant parts: In the header: # Content-Type: multipart/mixed; # boundary="----=_NextPart_000_1230E45_01C975FB.0A21E221" In the body: # This is a multi-part message in MIME format. # # ------=_NextPart_000_1230E50_01C975FB.13F78D21 [...] # ------=_NextPart_000_1230E50_01C975FB.13F78D21-- # ------=_NextPart_000_1230E45_01C975FB.0A21E221-- On Thu, 15 Jan 2009 14:22:16 +0000 Tom Hughes <to...@co...> wrote: > Rich Coe wrote: > > > I don't know if you've noticed, but after the recent nightly build script > > changes, I've been getting these three empty emails. > > > > 2009-01-15 03:10:04 GMT nightly build (mg,x86_64, Fedora 9) > > 2009-01-15 03:05:06 GMT nightly build (lloyd,x86_64, Fedora 7) > > 2009-01-15 03:20:05 GMT nightly build(vauxhall, x86_64, Fedora 10) > > > > Here is the date of the first occurance: > > 2009-01-12 08:43:31 GMT nightly build (mg,x86_64, Fedora 9) > > They're not empty here - I think you may need to beat up on your mail > client as it's hiding things from you ;-) > > Tom > > -- > Tom Hughes (to...@co...) > http://www.compton.nu/ > -- Rich Coe ric...@me... Virtual Principle Engineer General Electric Healthcare Technologies Global Software Platforms, Computer Technology Team |
|
From: Tom H. <to...@co...> - 2009-01-15 14:44:56
|
Rich Coe wrote: > aha. > It has an invalid mime-encoded header. > > Here are the relevant parts: > In the header: > # Content-Type: multipart/mixed; > # boundary="----=_NextPart_000_1230E45_01C975FB.0A21E221" > > In the body: > # This is a multi-part message in MIME format. > # > # ------=_NextPart_000_1230E50_01C975FB.13F78D21 > [...] > # ------=_NextPart_000_1230E50_01C975FB.13F78D21-- > # ------=_NextPart_000_1230E45_01C975FB.0A21E221-- When it got to you maybe, it was fine when it left here, and when my copy came back from the list... When today's one for mg left here it looked like this: Content-Type: multipart/mixed; boundary="----------=_1231990307-24921-0" Content-Transfer-Encoding: binary MIME-Version: 1.0 ... ------------=_1231990307-24921-0 Content-Type: text/plain; name="final" Content-Disposition: inline; filename="final" Content-Transfer-Encoding: 7bit ... ------------=_1231990307-24921-0 Content-Type: text/plain; name="diffs" Content-Disposition: inline; filename="diffs" Content-Transfer-Encoding: 7bit ... ------------=_1231990307-24921-0-- What came back from the list was the same, with the same delimiter string, except for the addition of two sections to hold the SF advert and the mailing list signature. My guess would be that the list mail, on it's way to you, passed through a broken gateway that pulled the mail apart and put it back together with different (and broken) delimiters. I've seen numerous commerical mail gateway/firewall things do such things (and far, far worse) in the past. Tom -- Tom Hughes (to...@co...) http://www.compton.nu/ |
|
From: Tom H. <to...@co...> - 2009-01-15 14:22:31
|
Rich Coe wrote: > I don't know if you've noticed, but after the recent nightly build script > changes, I've been getting these three empty emails. > > 2009-01-15 03:10:04 GMT nightly build (mg,x86_64, Fedora 9) > 2009-01-15 03:05:06 GMT nightly build (lloyd,x86_64, Fedora 7) > 2009-01-15 03:20:05 GMT nightly build(vauxhall, x86_64, Fedora 10) > > Here is the date of the first occurance: > 2009-01-12 08:43:31 GMT nightly build (mg,x86_64, Fedora 9) They're not empty here - I think you may need to beat up on your mail client as it's hiding things from you ;-) Tom -- Tom Hughes (to...@co...) http://www.compton.nu/ |
|
From: Rich C. <Ric...@me...> - 2009-01-15 14:15:55
|
Hi Tom, I don't know if you've noticed, but after the recent nightly build script changes, I've been getting these three empty emails. 2009-01-15 03:10:04 GMT nightly build (mg,x86_64, Fedora 9) 2009-01-15 03:05:06 GMT nightly build (lloyd,x86_64, Fedora 7) 2009-01-15 03:20:05 GMT nightly build(vauxhall, x86_64, Fedora 10) Here is the date of the first occurance: 2009-01-12 08:43:31 GMT nightly build (mg,x86_64, Fedora 9) -- Rich Coe ric...@me... Virtual Principle Engineer General Electric Healthcare Technologies Global Software Platforms, Computer Technology Team |
|
From: <sv...@va...> - 2009-01-15 08:49:17
|
Author: tom
Date: 2009-01-15 08:49:09 +0000 (Thu, 15 Jan 2009)
New Revision: 8958
Log:
The SG_GET_TIMEOUT ioctl doesn't write to memory - it returns the
timeout via it's return value.
Modified:
trunk/coregrind/m_syswrap/syswrap-generic.c
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c 2009-01-15 08:48:14 UTC (rev 8957)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c 2009-01-15 08:49:09 UTC (rev 8958)
@@ -3351,7 +3351,6 @@
PRE_MEM_WRITE( "ioctl(SG_GET_RESERVED_SIZE)", ARG3, sizeof(int) );
break;
case VKI_SG_GET_TIMEOUT:
- PRE_MEM_WRITE( "ioctl(SG_GET_TIMEOUT)", ARG3, sizeof(int) );
break;
case VKI_SG_GET_VERSION_NUM:
PRE_MEM_WRITE( "ioctl(SG_GET_VERSION_NUM)", ARG3, sizeof(int) );
@@ -4431,7 +4430,6 @@
POST_MEM_WRITE(ARG3, sizeof(int));
break;
case VKI_SG_GET_TIMEOUT:
- POST_MEM_WRITE(ARG3, sizeof(int));
break;
case VKI_SG_GET_VERSION_NUM:
POST_MEM_WRITE(ARG3, sizeof(int));
|
|
From: <sv...@va...> - 2009-01-15 08:48:23
|
Author: tom
Date: 2009-01-15 08:48:14 +0000 (Thu, 15 Jan 2009)
New Revision: 8957
Log:
The SG_GET_VERSION_NUM ioctl writes to memory rather than reading it.
Modified:
trunk/coregrind/m_syswrap/syswrap-generic.c
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c 2009-01-14 22:09:54 UTC (rev 8956)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c 2009-01-15 08:48:14 UTC (rev 8957)
@@ -3354,7 +3354,7 @@
PRE_MEM_WRITE( "ioctl(SG_GET_TIMEOUT)", ARG3, sizeof(int) );
break;
case VKI_SG_GET_VERSION_NUM:
- PRE_MEM_READ( "ioctl(SG_GET_VERSION_NUM)", ARG3, sizeof(int) );
+ PRE_MEM_WRITE( "ioctl(SG_GET_VERSION_NUM)", ARG3, sizeof(int) );
break;
case VKI_SG_EMULATED_HOST: /* 0x2203 */
PRE_MEM_WRITE( "ioctl(SG_EMULATED_HOST)", ARG3, sizeof(int) );
@@ -4434,6 +4434,7 @@
POST_MEM_WRITE(ARG3, sizeof(int));
break;
case VKI_SG_GET_VERSION_NUM:
+ POST_MEM_WRITE(ARG3, sizeof(int));
break;
case VKI_SG_EMULATED_HOST:
POST_MEM_WRITE(ARG3, sizeof(int));
|
|
From: Bart V. A. <bar...@gm...> - 2009-01-15 08:36:47
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) started at 2009-01-15 02:00:02 EST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 401 tests, 39 stderr failures, 11 stdout failures, 2 post failures == exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) massif/tests/long-names (post) massif/tests/overloaded-new (post) memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/zeropage (stdout) none/tests/async-sigs (stdout) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) |
|
From: Bart V. A. <bar...@gm...> - 2009-01-15 07:23:31
|
On Wed, Jan 14, 2009 at 10:17 PM, Nicholas Nethercote <n.n...@gm...> wrote: > On Wed, Jan 14, 2009 at 7:08 PM, Bart Van Assche > <bar...@gm...> wrote: >> IMHO a more elegant solution would be to have automake variables available >> that allow to conditionally compile the regression tests that depend on >> barriers and spinlocks. > > Could you give an example of what you mean? I'm not familiar with Darwin, so I don't know whether it's the compile time, link time or the run time support for e.g. POSIX barriers that is not present in Darwin. In the first two cases support for e.g. POSIX barriers can be detected via an extra test in configure.in, just like the test for Qt or Boost. I'm also curious to know which issues were triggered by the trylock and sigalrm tests on Darwin ? Bart. |
|
From: Nicholas N. <n.n...@gm...> - 2009-01-15 04:10:40
|
On Thu, Jan 15, 2009 at 1:05 PM, Julian Seward <js...@ac...> wrote: > > I'm pretty sure the Right Thing is to change NSegment.offset to be an > Off64T, and leave the Off64Ts in VG_(am_notify_client_mmap) et al > unchanged. That syncs with your plans iiuc, yes? Yep. I examined the uses of .offset and changed things accordingly (just a couple of %lu to %ld conversions). N |
|
From: Tom H. <th...@cy...> - 2009-01-15 03:47:52
|
Nightly build on vauxhall ( x86_64, Fedora 10 ) started at 2009-01-15 03:20:05 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 481 tests, 3 stderr failures, 0 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/preen_invars (stderr) memcheck/tests/x86/scalar (stderr) |
|
From: Tom H. <th...@cy...> - 2009-01-15 03:43:35
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2009-01-15 03:05:06 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 472 tests, 7 stderr failures, 0 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/tc20_verifywrap (stderr) memcheck/tests/x86/scalar (stderr) |
|
From: Tom H. <th...@cy...> - 2009-01-15 03:31:54
|
Nightly build on mg ( x86_64, Fedora 9 ) started at 2009-01-15 03:10:04 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 478 tests, 5 stderr failures, 2 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) memcheck/tests/linux-timerfd-syscall (stdout) memcheck/tests/x86/scalar (stderr) none/tests/mremap2 (stdout) |
|
From: Julian S. <js...@ac...> - 2009-01-15 03:04:01
|
> In the aspace manager all the functions like > VG_(am_notify_client_mmap) use Off64T for an argument, but the > 'offset' field of the NSegment type is a ULong. But the regression > tests still pass (on AMD64-linux) with the change so I'm inclined to > commit it. I'm pretty sure the Right Thing is to change NSegment.offset to be an Off64T, and leave the Off64Ts in VG_(am_notify_client_mmap) et al unchanged. That syncs with your plans iiuc, yes? J |
|
From: Nicholas N. <n.n...@gm...> - 2009-01-15 00:14:54
|
On Wed, Jan 14, 2009 at 7:17 PM, Julian Seward <js...@ac...> wrote: > >> Surely Off64T should be signed, and thus a Long? > > which seems to imply that Off64T should indeed be signed. So I agree. > > I wonder if anything will break if it is changed to being signed. > There are very few places where it's used, so hopefully nothing. In the aspace manager all the functions like VG_(am_notify_client_mmap) use Off64T for an argument, but the 'offset' field of the NSegment type is a ULong. But the regression tests still pass (on AMD64-linux) with the change so I'm inclined to commit it. Or I could try changing those ULongs to Off64T. N |