• Home
  • Raw
  • Download

Lines Matching refs:Addr

51 static ThreadId find_tid_with_stack_containing (Addr a)  in find_tid_with_stack_containing()
54 Addr start, end; in find_tid_with_stack_containing()
73 Addr stack_min, stack_max; in find_tid_with_stack_containing()
89 void VG_(describe_addr) ( Addr a, /*OUT*/AddrInfo* ai ) in VG_()
94 ai->Addr.Variable.descr1 in VG_()
97 ai->Addr.Variable.descr2 in VG_()
101 (void) VG_(get_data_description)( ai->Addr.Variable.descr1, in VG_()
102 ai->Addr.Variable.descr2, a ); in VG_()
109 if (0 == VG_(strlen)( VG_(indexXA)( ai->Addr.Variable.descr1, 0 ))) { in VG_()
110 VG_(deleteXA)( ai->Addr.Variable.descr1 ); in VG_()
111 ai->Addr.Variable.descr1 = NULL; in VG_()
113 if (0 == VG_(strlen)( VG_(indexXA)( ai->Addr.Variable.descr2, 0 ))) { in VG_()
114 VG_(deleteXA)( ai->Addr.Variable.descr2 ); in VG_()
115 ai->Addr.Variable.descr2 = NULL; in VG_()
119 if (ai->Addr.Variable.descr1 == NULL) in VG_()
120 vg_assert(ai->Addr.Variable.descr2 == NULL); in VG_()
122 if (ai->Addr.Variable.descr1 != NULL) { in VG_()
131 &ai->Addr.DataSym.offset )) { in VG_()
132 ai->Addr.DataSym.name = VG_(strdup)("mc.da.dsname", name); in VG_()
139 Addr stack_min, stack_max; in VG_()
143 Addr ips[VG_(clo_backtrace_size)], in VG_()
149 VG_(initThreadInfo)(&ai->Addr.Stack.tinfo); in VG_()
150 ai->Addr.Stack.tinfo.tid = tid; in VG_()
151 ai->Addr.Stack.IP = 0; in VG_()
152 ai->Addr.Stack.frameNo = -1; in VG_()
153 ai->Addr.Stack.stackPos = StackPos_stacked; in VG_()
154 ai->Addr.Stack.spoffset = 0; // Unused. in VG_()
173 ai->Addr.Stack.frameNo = f; in VG_()
174 ai->Addr.Stack.IP = ips[f]; in VG_()
190 ai->Addr.Block.block_kind in VG_()
193 ai->Addr.Block.block_kind in VG_()
196 ai->Addr.Block.block_desc = aai.name; in VG_()
197 ai->Addr.Block.block_szB = aai.block_szB; in VG_()
198 ai->Addr.Block.rwoffset = aai.rwoffset; in VG_()
199 ai->Addr.Block.allocated_at = VG_(null_ExeContext)(); in VG_()
200 VG_(initThreadInfo) (&ai->Addr.Block.alloc_tinfo); in VG_()
201 ai->Addr.Block.freed_at = VG_(null_ExeContext)(); in VG_()
210 ai->Addr.SectKind.objname = VG_(strdup)("mc.da.dsname", name); in VG_()
211 ai->Addr.SectKind.kind = sect; in VG_()
249 VG_(initThreadInfo)(&ai->Addr.Stack.tinfo); in VG_()
250 ai->Addr.Stack.tinfo.tid = tid; in VG_()
251 ai->Addr.Stack.IP = 0; in VG_()
252 ai->Addr.Stack.frameNo = -1; in VG_()
254 ai->Addr.Stack.stackPos = stackPos; in VG_()
256 ai->Addr.Stack.spoffset = a - VG_(get_SP)(tid); in VG_()
286 ai->Addr.BrkSegment.brk_limit = VG_(brk_limit); in VG_()
295 ai->Addr.SegmentKind.segkind = seg->kind; in VG_()
296 ai->Addr.SegmentKind.filename = NULL; in VG_()
298 ai->Addr.SegmentKind.filename in VG_()
300 ai->Addr.SegmentKind.hasR = seg->hasR; in VG_()
301 ai->Addr.SegmentKind.hasW = seg->hasW; in VG_()
302 ai->Addr.SegmentKind.hasX = seg->hasX; in VG_()
334 VG_(free)(ai->Addr.DataSym.name); in VG_()
338 if (ai->Addr.Variable.descr1 != NULL) { in VG_()
339 VG_(deleteXA)( ai->Addr.Variable.descr1 ); in VG_()
340 ai->Addr.Variable.descr1 = NULL; in VG_()
342 if (ai->Addr.Variable.descr2 != NULL) { in VG_()
343 VG_(deleteXA)( ai->Addr.Variable.descr2 ); in VG_()
344 ai->Addr.Variable.descr2 = NULL; in VG_()
349 VG_(free)(ai->Addr.SectKind.objname); in VG_()
356 VG_(free)(ai->Addr.SegmentKind.filename); in VG_()
409 static void pp_addrinfo_WRK ( Addr a, const AddrInfo* ai, Bool mc, in pp_addrinfo_WRK()
438 opt_tnr_prefix (ai->Addr.Stack.tinfo), in pp_addrinfo_WRK()
439 tnr_else_tid (ai->Addr.Stack.tinfo), in pp_addrinfo_WRK()
441 if (ai->Addr.Stack.frameNo != -1 && ai->Addr.Stack.IP != 0) { in pp_addrinfo_WRK()
450 if (VG_(get_inst_offset_in_function)( ai->Addr.Stack.IP, in pp_addrinfo_WRK()
452 haslinenum = VG_(get_linenum) (ai->Addr.Stack.IP - offset, in pp_addrinfo_WRK()
457 hasfile = VG_(get_filename)(ai->Addr.Stack.IP, &file); in pp_addrinfo_WRK()
463 hasfn = VG_(get_fnname)(ai->Addr.Stack.IP, &fn); in pp_addrinfo_WRK()
468 ai->Addr.Stack.frameNo, in pp_addrinfo_WRK()
473 switch (ai->Addr.Stack.stackPos) { in pp_addrinfo_WRK()
480 ai->Addr.Stack.stackPos == StackPos_guard_page ? in pp_addrinfo_WRK()
482 - ai->Addr.Stack.spoffset, in pp_addrinfo_WRK()
493 SizeT block_szB = ai->Addr.Block.block_szB; in pp_addrinfo_WRK()
494 PtrdiffT rwoffset = ai->Addr.Block.rwoffset; in pp_addrinfo_WRK()
508 if (is_arena_BlockKind (ai->Addr.Block.block_kind)) in pp_addrinfo_WRK()
515 ai->Addr.Block.block_kind==Block_ClientArenaMallocd in pp_addrinfo_WRK()
516 || ai->Addr.Block.block_kind==Block_ValgrindArenaMallocd in pp_addrinfo_WRK()
519 ai->Addr.Block.block_desc, // arena name in pp_addrinfo_WRK()
528 ai->Addr.Block.block_desc, in pp_addrinfo_WRK()
530 ai->Addr.Block.block_kind==Block_Mallocd ? "alloc'd" in pp_addrinfo_WRK()
531 : ai->Addr.Block.block_kind==Block_Freed ? "free'd" in pp_addrinfo_WRK()
535 if (ai->Addr.Block.block_kind==Block_Mallocd) { in pp_addrinfo_WRK()
536 VG_(pp_ExeContext)(ai->Addr.Block.allocated_at); in pp_addrinfo_WRK()
537 vg_assert (ai->Addr.Block.freed_at == VG_(null_ExeContext)()); in pp_addrinfo_WRK()
539 else if (ai->Addr.Block.block_kind==Block_Freed) { in pp_addrinfo_WRK()
540 VG_(pp_ExeContext)(ai->Addr.Block.freed_at); in pp_addrinfo_WRK()
541 if (ai->Addr.Block.allocated_at != VG_(null_ExeContext)()) { in pp_addrinfo_WRK()
547 VG_(pp_ExeContext)(ai->Addr.Block.allocated_at); in pp_addrinfo_WRK()
550 else if (ai->Addr.Block.block_kind==Block_MempoolChunk in pp_addrinfo_WRK()
551 || ai->Addr.Block.block_kind==Block_UserG) { in pp_addrinfo_WRK()
553 VG_(pp_ExeContext)(ai->Addr.Block.allocated_at); in pp_addrinfo_WRK()
554 vg_assert (ai->Addr.Block.freed_at == VG_(null_ExeContext)()); in pp_addrinfo_WRK()
560 vg_assert (ai->Addr.Block.allocated_at == VG_(null_ExeContext)()); in pp_addrinfo_WRK()
561 vg_assert (ai->Addr.Block.freed_at == VG_(null_ExeContext)()); in pp_addrinfo_WRK()
563 if (ai->Addr.Block.alloc_tinfo.tnr || ai->Addr.Block.alloc_tinfo.tid) in pp_addrinfo_WRK()
567 opt_tnr_prefix (ai->Addr.Block.alloc_tinfo), in pp_addrinfo_WRK()
568 tnr_else_tid (ai->Addr.Block.alloc_tinfo), in pp_addrinfo_WRK()
578 (ULong)ai->Addr.DataSym.offset, in pp_addrinfo_WRK()
579 ai->Addr.DataSym.name, in pp_addrinfo_WRK()
587 if (ai->Addr.Variable.descr1) in pp_addrinfo_WRK()
590 (HChar*)VG_(indexXA)(ai->Addr.Variable.descr1, 0) ); in pp_addrinfo_WRK()
591 if (ai->Addr.Variable.descr2) in pp_addrinfo_WRK()
594 (HChar*)VG_(indexXA)(ai->Addr.Variable.descr2, 0) ); in pp_addrinfo_WRK()
600 VG_(pp_SectKind)(ai->Addr.SectKind.kind), in pp_addrinfo_WRK()
601 ai->Addr.SectKind.objname, in pp_addrinfo_WRK()
603 if (ai->Addr.SectKind.kind == Vg_SectText) { in pp_addrinfo_WRK()
611 if (a < ai->Addr.BrkSegment.brk_limit) in pp_addrinfo_WRK()
616 ai->Addr.BrkSegment.brk_limit - 1, in pp_addrinfo_WRK()
623 a - ai->Addr.BrkSegment.brk_limit, in pp_addrinfo_WRK()
624 ai->Addr.BrkSegment.brk_limit, in pp_addrinfo_WRK()
633 ai->Addr.SegmentKind.hasR ? "r" : "-", in pp_addrinfo_WRK()
634 ai->Addr.SegmentKind.hasW ? "w" : "-", in pp_addrinfo_WRK()
635 ai->Addr.SegmentKind.hasX ? "x" : "-", in pp_addrinfo_WRK()
636 pp_SegKind(ai->Addr.SegmentKind.segkind), in pp_addrinfo_WRK()
637 ai->Addr.SegmentKind.filename ? in pp_addrinfo_WRK()
639 ai->Addr.SegmentKind.filename ? in pp_addrinfo_WRK()
640 ai->Addr.SegmentKind.filename : "", in pp_addrinfo_WRK()
649 void VG_(pp_addrinfo) ( Addr a, const AddrInfo* ai ) in VG_()
654 void VG_(pp_addrinfo_mc) ( Addr a, const AddrInfo* ai, Bool maybe_gcc ) in VG_()