From: Julian Seward Date: Thu, 11 Jan 2007 21:56:20 +0000 (+0000) Subject: In struct _SegInfo, rename field 'size' to 'text_size' so as to be X-Git-Tag: svn/VALGRIND_3_3_0~429 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=471585d496eb9c80ea03137bab5d8be9d692a1c0;p=thirdparty%2Fvalgrind.git In struct _SegInfo, rename field 'size' to 'text_size' so as to be consistent with all the other 'foo_start_avma'/'foo_size' pairings. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6508 --- diff --git a/coregrind/m_debuginfo/debuginfo.c b/coregrind/m_debuginfo/debuginfo.c index 829e199c91..fe03908079 100644 --- a/coregrind/m_debuginfo/debuginfo.c +++ b/coregrind/m_debuginfo/debuginfo.c @@ -115,7 +115,7 @@ SegInfo* alloc_SegInfo(Addr start, SizeT size, OffT foffset, SegInfo* si = VG_(arena_calloc)(VG_AR_SYMTAB, 1, sizeof(SegInfo)); si->text_start_avma = start; - si->size = size; + si->text_size = size; si->foffset = foffset; si->filename = VG_(arena_strdup)(VG_AR_SYMTAB, filename); si->memname = memname @@ -169,7 +169,7 @@ static void discard_SegInfo ( SegInfo* si ) VG_(message)(Vg_DebugMsg, "Discarding syms at %p-%p in %s due to %s()", si->text_start_avma, - si->text_start_avma + si->size, + si->text_start_avma + si->text_size, curr->filename ? curr->filename : (UChar*)"???", reason); vg_assert(*prev_next_ptr == curr); @@ -202,8 +202,8 @@ static void discard_syms_in_range ( Addr start, SizeT length ) while (True) { if (curr == NULL) break; - if (start+length-1 < curr->text_start_avma - || curr->text_start_avma+curr->size-1 < start) { + if (start+length - 1 < curr->text_start_avma + || curr->text_start_avma + curr->text_size - 1 < start) { /* no overlap */ } else { found = True; @@ -473,7 +473,7 @@ static void search_all_symtabs ( Addr ptr, /*OUT*/SegInfo** psi, for (si = segInfo_list; si != NULL; si = si->next) { if (si->text_start_avma <= ptr - && ptr < si->text_start_avma + si->size) { + && ptr < si->text_start_avma + si->text_size) { sno = ML_(search_one_symtab) ( si, ptr, match_anywhere_in_fun ); if (sno == -1) goto not_found; *symno = sno; @@ -498,7 +498,7 @@ static void search_all_loctabs ( Addr ptr, /*OUT*/SegInfo** psi, for (si = segInfo_list; si != NULL; si = si->next) { if (si->text_start_avma <= ptr - && ptr < si->text_start_avma + si->size) { + && ptr < si->text_start_avma + si->text_size) { lno = ML_(search_one_loctab) ( si, ptr ); if (lno == -1) goto not_found; *locno = lno; @@ -641,7 +641,8 @@ Bool VG_(get_objname) ( Addr a, Char* buf, Int nbuf ) vg_assert(nbuf > 0); for (si = segInfo_list; si != NULL; si = si->next) { - if (si->text_start_avma <= a && a < si->text_start_avma+si->size) { + if (si->text_start_avma <= a + && a < si->text_start_avma + si->text_size) { VG_(strncpy_safely)(buf, si->filename, nbuf); if (si->memname) { used = VG_(strlen)(buf); @@ -668,7 +669,8 @@ SegInfo* VG_(find_seginfo) ( Addr a ) SegInfo* si; for (si = segInfo_list; si != NULL; si = si->next) { - if (si->text_start_avma <= a && a < si->text_start_avma + si->size) { + if (si->text_start_avma <= a + && a < si->text_start_avma + si->text_size) { return si; } } @@ -1089,7 +1091,7 @@ Addr VG_(seginfo_start)(const SegInfo* si) SizeT VG_(seginfo_size)(const SegInfo* si) { - return si->size; + return si->text_size; } const UChar* VG_(seginfo_soname)(const SegInfo* si) @@ -1114,7 +1116,7 @@ VgSectKind VG_(seginfo_sect_kind)(Addr a) for(si = segInfo_list; si != NULL; si = si->next) { if (a >= si->text_start_avma - && a < si->text_start_avma + si->size) { + && a < si->text_start_avma + si->text_size) { if (0) VG_(printf)( diff --git a/coregrind/m_debuginfo/priv_storage.h b/coregrind/m_debuginfo/priv_storage.h index 7ee4ce25d4..c0618dc524 100644 --- a/coregrind/m_debuginfo/priv_storage.h +++ b/coregrind/m_debuginfo/priv_storage.h @@ -143,7 +143,7 @@ struct _SegInfo { /* Description of the mapped segment. */ Addr text_start_avma; - UInt size; + UInt text_size; UChar* filename; /* in mallocville */ UChar* memname; /* malloc'd. AIX5 only: .a member name */ OffT foffset; /* file offset for mapped text section - UNUSED */ diff --git a/coregrind/m_debuginfo/readelf.c b/coregrind/m_debuginfo/readelf.c index bf66362a88..09e95c82d9 100644 --- a/coregrind/m_debuginfo/readelf.c +++ b/coregrind/m_debuginfo/readelf.c @@ -357,10 +357,11 @@ Bool get_elf_symbol_info ( /* If no part of the symbol falls within the mapped range, ignore it. */ if (*sym_addr_out + *sym_size_out <= si->text_start_avma - || *sym_addr_out >= si->text_start_avma + si->size) { + || *sym_addr_out >= si->text_start_avma + si->text_size) { TRACE_SYMTAB( "ignore -- %p .. %p outside mapped range %p .. %p\n", *sym_addr_out, *sym_addr_out + *sym_size_out, - si->text_start_avma, si->text_start_avma + si->size); + si->text_start_avma, + si->text_start_avma + si->text_size); return False; } @@ -962,18 +963,23 @@ Bool ML_(read_elf_debug_info) ( struct _SegInfo* si ) if (VG_(needs).data_syms && mapped >= si->text_start_avma - && mapped <= (si->text_start_avma + si->size) - && mapped_end > (si->text_start_avma + si->size)) { + && mapped <= (si->text_start_avma + si->text_size) + && mapped_end > (si->text_start_avma + si->text_size)) { + /* XXX jrs 2007 Jan 11: what's going on here? If data + syms are involved, surely we shouldn't be messing with + the segment's text_size unless there is an assumption + that the data segment has been mapped immediately after + the text segment. Which doesn't sound good to me. */ UInt newsz = mapped_end - si->text_start_avma; - if (newsz > si->size) { + if (newsz > si->text_size) { if (0) VG_(printf)("extending mapping %p..%p %d -> ..%p %d\n", si->text_start_avma, - si->text_start_avma + si->size, - si->size, + si->text_start_avma + si->text_size, + si->text_size, si->text_start_avma + newsz, newsz); - si->size = newsz; + si->text_size = newsz; } } } diff --git a/coregrind/m_debuginfo/storage.c b/coregrind/m_debuginfo/storage.c index 12ed29a4cf..aef37f4b1a 100644 --- a/coregrind/m_debuginfo/storage.c +++ b/coregrind/m_debuginfo/storage.c @@ -255,14 +255,14 @@ void ML_(addLineInfo) ( struct _SegInfo* si, /* vg_assert(this < si->text_start_avma + si->size && next-1 >= si->text_start_avma); */ - if (this >= si->text_start_avma + si->size + if (this >= si->text_start_avma + si->text_size || next-1 < si->text_start_avma) { if (0) VG_(message)(Vg_DebugMsg, "warning: ignoring line info entry falling " "outside current SegInfo: %p %p %p %p", si->text_start_avma, - si->text_start_avma + si->size, + si->text_start_avma + si->text_size, this, next-1); return; } @@ -323,7 +323,7 @@ void ML_(addDiCfSI) ( struct _SegInfo* si, DiCfSI* cfsi ) probably indicate some kind of bug, but for the meantime ignore them. */ if ( cfsi->base + cfsi->len - 1 < si->text_start_avma - || si->text_start_avma + si->size - 1 < cfsi->base ) { + || si->text_start_avma + si->text_size - 1 < cfsi->base ) { static Int complaints = 3; if (VG_(clo_trace_cfi) || complaints > 0) { complaints--; @@ -334,7 +334,7 @@ void ML_(addDiCfSI) ( struct _SegInfo* si, DiCfSI* cfsi ) cfsi->base, cfsi->base + cfsi->len - 1, si->text_start_avma, - si->text_start_avma + si->size - 1 + si->text_start_avma + si->text_size - 1 ); } if (VG_(clo_trace_cfi))