=========================================================== .___ __ __ _________________ __ __ __| _/|__|/ |_ / ___\_` __ \__ \ | | \/ __ | | \\_ __\ / /_/ > | \// __ \| | / /_/ | | || | \___ /|__| (____ /____/\____ | |__||__| /_____/ \/ \/ grep rough audit - static analysis tool v2.8 written by @Wireghoul =================================[justanotherhacker.com]=== google-perftools-2.8/ChangeLog.old-51- * Allow NoGlobalLeaks to be safely called more than once (csilvers) google-perftools-2.8/ChangeLog.old:52: * PORTING/BUGFIX: Fix ARM cycleclock to use volatile asm (dougkwan) google-perftools-2.8/ChangeLog.old-53- * PORTING: 64-bit atomic ops for ARMv7 (dougkwan) ############################################## google-perftools-2.8/ChangeLog.old-97- * PORTING: Support volatile __malloc_hook for glibc 2.14 (csilvers) google-perftools-2.8/ChangeLog.old:98: * PORTING: Use _asm rdtsc and __rdtsc to get cycleclock in windows (koda) google-perftools-2.8/ChangeLog.old-99- * PORTING: Fix fd vs. HANDLE compiler error on cygwin (csilvers) ############################################## google-perftools-2.8/Makefile.am-247-## preamble_patcher_test_SOURCES = src/windows/preamble_patcher_test.cc \ google-perftools-2.8/Makefile.am:248:## src/windows/shortproc.asm \ google-perftools-2.8/Makefile.am-249-## src/windows/auto_testing_hook.h \ ############################################## google-perftools-2.8/Makefile.am-291-WINDOWS_PROJECTS += src/windows/preamble_patcher_test.cc \ google-perftools-2.8/Makefile.am:292: src/windows/shortproc.asm \ google-perftools-2.8/Makefile.am-293- src/windows/auto_testing_hook.h ############################################## google-perftools-2.8/Makefile.am-1421-all-local: $(LIBS_TO_WEAKEN) google-perftools-2.8/Makefile.am:1422: for la in $(LIBS_TO_WEAKEN); do lib=".libs/`basename $$la .la`.a"; [ ! -f "$$lib" ] || $(WEAKEN) "$$lib"; done google-perftools-2.8/Makefile.am-1423- ############################################## google-perftools-2.8/Makefile.am-1447- echo 'prefix=$(prefix)' > "$@".tmp google-perftools-2.8/Makefile.am:1448: echo 'exec_prefix='`echo '$(exec_prefix)' | sed 's@^$(prefix)@$${prefix}@'` >> "$@".tmp google-perftools-2.8/Makefile.am:1449: echo 'libdir='`echo '$(libdir)' | sed 's@^$(exec_prefix)@$${exec_prefix}@'` >> "$@".tmp google-perftools-2.8/Makefile.am:1450: echo 'includedir='`echo '$(includedir)' | sed 's@^$(prefix)@$${prefix}@'` >> "$@".tmp google-perftools-2.8/Makefile.am-1451- echo '' >> "$@".tmp ############################################## google-perftools-2.8/configure.ac-27-# Export the version information (for tc_version and friends) google-perftools-2.8/configure.ac:28:TC_VERSION_MAJOR=`expr "$PACKAGE_VERSION" : '\([[0-9]]*\)'` google-perftools-2.8/configure.ac:29:TC_VERSION_MINOR=`expr "$PACKAGE_VERSION" : '[[0-9]]*\.\([[0-9]]*\)'` google-perftools-2.8/configure.ac:30:TC_VERSION_PATCH=`expr "$PACKAGE_VERSION" : '[[0-9]]*\.[[0-9]]*\(.*\)$'` google-perftools-2.8/configure.ac-31-AC_SUBST(TC_VERSION_MAJOR) ############################################## google-perftools-2.8/docs/cpuprofile.html-378- obtained by disassembling the routine using the google-perftools-2.8/docs/cpuprofile.html:379: --disasm flag.</p> google-perftools-2.8/docs/cpuprofile.html-380- </td> ############################################## google-perftools-2.8/src/base/atomicops-internals-windows.h-387-{ google-perftools-2.8/src/base/atomicops-internals-windows.h:388: __asm { google-perftools-2.8/src/base/atomicops-internals-windows.h-389- movq mm0, value; // Use mmx reg for 64-bit atomic moves ############################################## google-perftools-2.8/src/base/atomicops-internals-windows.h-407- Atomic64 value; google-perftools-2.8/src/base/atomicops-internals-windows.h:408: __asm { google-perftools-2.8/src/base/atomicops-internals-windows.h-409- mov eax, ptrValue; ############################################## google-perftools-2.8/src/base/atomicops-internals-x86.cc-52-#define cpuid(a, b, c, d, inp) \ google-perftools-2.8/src/base/atomicops-internals-x86.cc:53: asm ("mov %%ebx, %%edi\n" \ google-perftools-2.8/src/base/atomicops-internals-x86.cc-54- "cpuid\n" \ ############################################## google-perftools-2.8/src/base/atomicops-internals-x86.cc-58-#define cpuid(a, b, c, d, inp) \ google-perftools-2.8/src/base/atomicops-internals-x86.cc:59: asm ("mov %%rbx, %%rdi\n" \ google-perftools-2.8/src/base/atomicops-internals-x86.cc-60- "cpuid\n" \ ############################################## google-perftools-2.8/src/base/elf_mem_image.cc-149- google-perftools-2.8/src/base/elf_mem_image.cc:150:const void *ElfMemImage::GetSymAddr(const ElfW(Sym) *sym) const { google-perftools-2.8/src/base/elf_mem_image.cc-151- if (sym->st_shndx == SHN_UNDEF || sym->st_shndx >= SHN_LORESERVE) { ############################################## google-perftools-2.8/src/base/elf_mem_image.cc-427- info_.version = version_name; google-perftools-2.8/src/base/elf_mem_image.cc:428: info_.address = image->GetSymAddr(symbol); google-perftools-2.8/src/base/elf_mem_image.cc-429- info_.symbol = symbol; ############################################## google-perftools-2.8/src/base/elf_mem_image.h-98- const char* GetDynstr(ElfW(Word) offset) const; google-perftools-2.8/src/base/elf_mem_image.h:99: const void* GetSymAddr(const ElfW(Sym) *sym) const; google-perftools-2.8/src/base/elf_mem_image.h-100- const char* GetVerstr(ElfW(Word) offset) const; ############################################## google-perftools-2.8/src/base/low_level_alloc.cc-193- // pagesize, roundup, min_size google-perftools-2.8/src/base/low_level_alloc.cc:194: AllocList freelist; // head of free list; sorted by addr (under mu) google-perftools-2.8/src/base/low_level_alloc.cc-195- int32 allocation_count; // count of allocated blocks (under mu) ############################################## google-perftools-2.8/src/base/sysinfo.h-140- // "canonical" form of the line (taken from linux's /proc/xxx/maps): google-perftools-2.8/src/base/sysinfo.h:141: // <start_addr(hex)>-<end_addr(hex)> <perms(rwxp)> <offset(hex)> + google-perftools-2.8/src/base/sysinfo.h-142- // <major_dev(hex)>:<minor_dev(hex)> <inode> <filename> Note: the ############################################## google-perftools-2.8/src/debugallocation.cc-373- google-perftools-2.8/src/debugallocation.cc:374: size_t* size2_addr() { return (size_t*)((char*)&size2_ + size1_); } google-perftools-2.8/src/debugallocation.cc:375: const size_t* size2_addr() const { google-perftools-2.8/src/debugallocation.cc-376- return (const size_t*)((char*)&size2_ + size1_); ############################################## google-perftools-2.8/src/debugallocation.cc-378- google-perftools-2.8/src/debugallocation.cc:379: size_t* magic2_addr() { return (size_t*)(size2_addr() + 1); } google-perftools-2.8/src/debugallocation.cc:380: const size_t* magic2_addr() const { return (const size_t*)(size2_addr() + 1); } google-perftools-2.8/src/debugallocation.cc-381- ############################################## google-perftools-2.8/src/debugallocation.cc-391- } google-perftools-2.8/src/debugallocation.cc:392: alloc_map_->Insert(data_addr(), type); google-perftools-2.8/src/debugallocation.cc-393- // initialize us ############################################## google-perftools-2.8/src/debugallocation.cc-397- if (!IsMMapped()) { google-perftools-2.8/src/debugallocation.cc:398: bit_store(magic2_addr(), &magic1_); google-perftools-2.8/src/debugallocation.cc:399: bit_store(size2_addr(), &size); google-perftools-2.8/src/debugallocation.cc-400- } google-perftools-2.8/src/debugallocation.cc-401- alloc_map_lock_.Unlock(); google-perftools-2.8/src/debugallocation.cc:402: memset(data_addr(), kMagicUninitializedByte, size); google-perftools-2.8/src/debugallocation.cc-403- if (!IsMMapped()) { google-perftools-2.8/src/debugallocation.cc:404: RAW_CHECK(memcmp(&size1_, size2_addr(), sizeof(size1_)) == 0, "should hold"); google-perftools-2.8/src/debugallocation.cc:405: RAW_CHECK(memcmp(&magic1_, magic2_addr(), sizeof(magic1_)) == 0, "should hold"); google-perftools-2.8/src/debugallocation.cc-406- } ############################################## google-perftools-2.8/src/debugallocation.cc-412- if (!IsMMapped()) { google-perftools-2.8/src/debugallocation.cc:413: RAW_CHECK(memcmp(&size1_, size2_addr(), sizeof(size1_)) == 0, "should hold"); google-perftools-2.8/src/debugallocation.cc-414- } google-perftools-2.8/src/debugallocation.cc-415- // record us as deallocated in the map google-perftools-2.8/src/debugallocation.cc:416: alloc_map_->Insert(data_addr(), type | kDeallocatedTypeBit); google-perftools-2.8/src/debugallocation.cc-417- alloc_map_lock_.Unlock(); ############################################## google-perftools-2.8/src/debugallocation.cc-428- const int* found_type = google-perftools-2.8/src/debugallocation.cc:429: alloc_map_ != NULL ? alloc_map_->Find(data_addr()) : NULL; google-perftools-2.8/src/debugallocation.cc-430- if (found_type == NULL) { google-perftools-2.8/src/debugallocation.cc-431- RAW_LOG(FATAL, "memory allocation bug: object at %p " google-perftools-2.8/src/debugallocation.cc:432: "has never been allocated", data_addr()); google-perftools-2.8/src/debugallocation.cc-433- } else { ############################################## google-perftools-2.8/src/debugallocation.cc-438- "has been already deallocated (it was allocated with %s)", google-perftools-2.8/src/debugallocation.cc:439: data_addr(), AllocName(map_type & ~kDeallocatedTypeBit)); google-perftools-2.8/src/debugallocation.cc-440- } ############################################## google-perftools-2.8/src/debugallocation.cc-444- "deallocated and our memory map has been corrupted", google-perftools-2.8/src/debugallocation.cc:445: data_addr()); google-perftools-2.8/src/debugallocation.cc-446- } ############################################## google-perftools-2.8/src/debugallocation.cc-451- "deallocation for not (currently) heap-allocated object", google-perftools-2.8/src/debugallocation.cc:452: data_addr()); google-perftools-2.8/src/debugallocation.cc-453- } google-perftools-2.8/src/debugallocation.cc-454- if (!IsMMapped()) { google-perftools-2.8/src/debugallocation.cc:455: if (memcmp(&size1_, size2_addr(), sizeof(size1_))) { google-perftools-2.8/src/debugallocation.cc-456- RAW_LOG(FATAL, "memory stomping bug: a word after object at %p " google-perftools-2.8/src/debugallocation.cc:457: "has been corrupted", data_addr()); google-perftools-2.8/src/debugallocation.cc-458- } google-perftools-2.8/src/debugallocation.cc-459- size_t addr; google-perftools-2.8/src/debugallocation.cc:460: bit_store(&addr, magic2_addr()); google-perftools-2.8/src/debugallocation.cc-461- if (!IsValidMagicValue(addr)) { google-perftools-2.8/src/debugallocation.cc-462- RAW_LOG(FATAL, "memory stomping bug: a word after object at %p " google-perftools-2.8/src/debugallocation.cc:463: "has been corrupted", data_addr()); google-perftools-2.8/src/debugallocation.cc-464- } ############################################## google-perftools-2.8/src/debugallocation.cc-470- RAW_LOG(FATAL, "memory stomping bug: a word before object at %p " google-perftools-2.8/src/debugallocation.cc:471: "has been corrupted", data_addr()); google-perftools-2.8/src/debugallocation.cc-472- } ############################################## google-perftools-2.8/src/debugallocation.cc-474- "allocated with %s being deallocated with %s", google-perftools-2.8/src/debugallocation.cc:475: data_addr(), AllocName(alloc_type_), DeallocName(type)); google-perftools-2.8/src/debugallocation.cc-476- } ############################################## google-perftools-2.8/src/debugallocation.cc-480- "is recorded in the map to be made with %s", google-perftools-2.8/src/debugallocation.cc:481: data_addr(), AllocName(alloc_type_), AllocName(map_type)); google-perftools-2.8/src/debugallocation.cc-482- } ############################################## google-perftools-2.8/src/debugallocation.cc-486- google-perftools-2.8/src/debugallocation.cc:487: void* data_addr() { return (void*)&size2_; } google-perftools-2.8/src/debugallocation.cc:488: const void* data_addr() const { return (const void*)&size2_; } google-perftools-2.8/src/debugallocation.cc-489- ############################################## google-perftools-2.8/src/debugallocation.cc-727- "output of the deleter's stack printed above.", google-perftools-2.8/src/debugallocation.cc:728: b, b->data_addr(), size); google-perftools-2.8/src/debugallocation.cc-729- } ############################################## google-perftools-2.8/src/debugallocation.cc-762- } google-perftools-2.8/src/debugallocation.cc:763: if (main_block->size2_addr() < p) { google-perftools-2.8/src/debugallocation.cc-764- RAW_LOG(FATAL, "memory corruption bug: offset_ field is corrupted." ############################################## google-perftools-2.8/src/debugallocation.cc-1033- if (ptr == NULL) return NULL; google-perftools-2.8/src/debugallocation.cc:1034: MALLOC_TRACE("malloc", size, ptr->data_addr()); google-perftools-2.8/src/debugallocation.cc:1035: return ptr->data_addr(); google-perftools-2.8/src/debugallocation.cc-1036-} ############################################## google-perftools-2.8/src/debugallocation.cc-1301- // start of user data. So we must be careful to copy only user-data google-perftools-2.8/src/debugallocation.cc:1302: char *old_begin = (char *)old->data_addr(); google-perftools-2.8/src/debugallocation.cc-1303- char *old_end = old_begin + old->data_size(); ############################################## google-perftools-2.8/src/debugallocation.cc-1310- google-perftools-2.8/src/debugallocation.cc:1311: memcpy(p->data_addr(), ptr, (old_size < size) ? old_size : size); google-perftools-2.8/src/debugallocation.cc-1312- MallocHook::InvokeDeleteHook(ptr); google-perftools-2.8/src/debugallocation.cc:1313: MallocHook::InvokeNewHook(p->data_addr(), size); google-perftools-2.8/src/debugallocation.cc-1314- DebugDeallocate(ptr, MallocBlock::kMallocType, 0); google-perftools-2.8/src/debugallocation.cc:1315: MALLOC_TRACE("realloc", p->data_size(), p->data_addr()); google-perftools-2.8/src/debugallocation.cc:1316: return p->data_addr(); google-perftools-2.8/src/debugallocation.cc-1317-} ############################################## google-perftools-2.8/src/getpc.h-83-// to show a call skipping over a function). To do this, we hard-code google-perftools-2.8/src/getpc.h:84:// in the asm instructions we might see when setting up or tearing google-perftools-2.8/src/getpc.h-85-// down a stack frame. ############################################## google-perftools-2.8/src/memory_region_map.cc-719- Region r = *region; google-perftools-2.8/src/memory_region_map.cc:720: r.set_end_addr(start_addr); google-perftools-2.8/src/memory_region_map.cc-721- InsertRegionLocked(r); google-perftools-2.8/src/memory_region_map.cc-722- // cut *region from start: google-perftools-2.8/src/memory_region_map.cc:723: const_cast<Region&>(*region).set_start_addr(end_addr); google-perftools-2.8/src/memory_region_map.cc-724- } else if (end_addr > region->start_addr && ############################################## google-perftools-2.8/src/memory_region_map.cc-730- end_addr - region->start_addr); google-perftools-2.8/src/memory_region_map.cc:731: const_cast<Region&>(*region).set_start_addr(end_addr); google-perftools-2.8/src/memory_region_map.cc-732- } else if (start_addr > region->start_addr && ############################################## google-perftools-2.8/src/memory_region_map.cc-738- region->end_addr - start_addr); google-perftools-2.8/src/memory_region_map.cc:739: // Can't just modify region->end_addr (it's the sorting key): google-perftools-2.8/src/memory_region_map.cc-740- Region r = *region; google-perftools-2.8/src/memory_region_map.cc:741: r.set_end_addr(start_addr); google-perftools-2.8/src/memory_region_map.cc-742- RegionSet::iterator d = region; ############################################## google-perftools-2.8/src/memory_region_map.h-181- void set_is_stack() { is_stack = true; } google-perftools-2.8/src/memory_region_map.h:182: void set_start_addr(uintptr_t addr) { google-perftools-2.8/src/memory_region_map.h-183- start_addr = addr; ############################################## google-perftools-2.8/src/memory_region_map.h-185- } google-perftools-2.8/src/memory_region_map.h:186: void set_end_addr(uintptr_t addr) { google-perftools-2.8/src/memory_region_map.h-187- end_addr = addr; ############################################## google-perftools-2.8/src/stacktrace.cc-192- google-perftools-2.8/src/stacktrace.cc:193:// ppc and i386 implementations prefer arch-specific asm implementations. google-perftools-2.8/src/stacktrace.cc:194:// arm's asm implementation is broken google-perftools-2.8/src/stacktrace.cc-195-#if defined(__i386__) || defined(__x86_64__) || defined(__ppc__) || defined(__PPC__) ############################################## google-perftools-2.8/src/stacktrace_powerpc-darwin-inl.h-96- // and Darwin 8.8.1 (Tiger) use as 1.38. This means we have to use a google-perftools-2.8/src/stacktrace_powerpc-darwin-inl.h:97: // different asm syntax. I don't know quite the best way to discriminate google-perftools-2.8/src/stacktrace_powerpc-darwin-inl.h-98- // systems using the old as from the new one; I've gone with __APPLE__. ############################################## google-perftools-2.8/src/stacktrace_powerpc-inl.h-109-// and Darwin 8.8.1 (Tiger) use as 1.38. This means we have to use a google-perftools-2.8/src/stacktrace_powerpc-inl.h:110:// different asm syntax. I don't know quite the best way to discriminate google-perftools-2.8/src/stacktrace_powerpc-inl.h-111-// systems using the old as from the new one; I've gone with __APPLE__. ############################################## google-perftools-2.8/src/stacktrace_powerpc-inl.h-133- // Force GCC to spill LR. google-perftools-2.8/src/stacktrace_powerpc-inl.h:134: asm volatile ("" : "=l"(current)); google-perftools-2.8/src/stacktrace_powerpc-inl.h-135- google-perftools-2.8/src/stacktrace_powerpc-inl.h-136- // Get the address on top-of-stack google-perftools-2.8/src/stacktrace_powerpc-inl.h:137: asm volatile (LOAD " " TOP_STACK : "=r"(current)); google-perftools-2.8/src/stacktrace_powerpc-inl.h-138- ############################################## google-perftools-2.8/src/tests/debugallocation_test.sh-62- read regex_line google-perftools-2.8/src/tests/debugallocation_test.sh:63: regex=`expr "$regex_line" : "Expected regex:\(.*\)"` google-perftools-2.8/src/tests/debugallocation_test.sh-64- test -n "$regex" && break # found the regex line ############################################## google-perftools-2.8/src/tests/debugallocation_test.sh-72- echo -n "Running death test $death_test_num..." google-perftools-2.8/src/tests/debugallocation_test.sh:73: output="`OneDeathTest $death_test_num`" google-perftools-2.8/src/tests/debugallocation_test.sh-74- case $output in google-perftools-2.8/src/tests/debugallocation_test.sh-75- # Empty string means grep didn't find anything. google-perftools-2.8/src/tests/debugallocation_test.sh:76: "") echo "FAILED"; num_failures=`expr $num_failures + 1`;; google-perftools-2.8/src/tests/debugallocation_test.sh-77- "done"*) echo "done with death tests"; break;; ############################################## google-perftools-2.8/src/tests/debugallocation_test.sh-80- esac google-perftools-2.8/src/tests/debugallocation_test.sh:81: death_test_num=`expr $death_test_num + 1` google-perftools-2.8/src/tests/debugallocation_test.sh-82-done ############################################## google-perftools-2.8/src/tests/debugallocation_test.sh-89- echo "FAILED" google-perftools-2.8/src/tests/debugallocation_test.sh:90: num_failures=`expr $num_failures + 1` google-perftools-2.8/src/tests/debugallocation_test.sh-91-fi ############################################## google-perftools-2.8/src/tests/heap-checker-death_unittest.sh-86- actual_ec=$? google-perftools-2.8/src/tests/heap-checker-death_unittest.sh:87: ec_ok=`expr "$actual_ec" : "$expected_ec$" >/dev/null || echo false` google-perftools-2.8/src/tests/heap-checker-death_unittest.sh-88- matches_ok=`test -z "$expected_regexp" || \ ############################################## google-perftools-2.8/src/tests/heap-profiler_unittest.sh-73- # help doesn't overwrite existing profiles. google-perftools-2.8/src/tests/heap-profiler_unittest.sh:74: exec=`unset HEAPPROFILE; $HEAP_PROFILER --help | awk '{print $2; exit;}'` google-perftools-2.8/src/tests/heap-profiler_unittest.sh-75- ############################################## google-perftools-2.8/src/tests/heap-profiler_unittest.sh-94- echo "---" google-perftools-2.8/src/tests/heap-profiler_unittest.sh:95: num_failures=`expr $num_failures + 1` google-perftools-2.8/src/tests/heap-profiler_unittest.sh-96- fi ############################################## google-perftools-2.8/src/tests/heap-profiler_unittest.sh-106- echo "---" google-perftools-2.8/src/tests/heap-profiler_unittest.sh:107: num_failures=`expr $num_failures + 1` google-perftools-2.8/src/tests/heap-profiler_unittest.sh-108- fi ############################################## google-perftools-2.8/src/tests/profiler_unittest.sh-79- google-perftools-2.8/src/tests/profiler_unittest.sh:80:PROFILER1_REALNAME=`Realname "$PROFILER1"` google-perftools-2.8/src/tests/profiler_unittest.sh:81:PROFILER2_REALNAME=`Realname "$PROFILER2"` google-perftools-2.8/src/tests/profiler_unittest.sh:82:PROFILER3_REALNAME=`Realname "$PROFILER3"` google-perftools-2.8/src/tests/profiler_unittest.sh:83:PROFILER4_REALNAME=`Realname "$PROFILER4"` google-perftools-2.8/src/tests/profiler_unittest.sh-84- ############################################## google-perftools-2.8/src/tests/profiler_unittest.sh-101-RegisterFailure() { google-perftools-2.8/src/tests/profiler_unittest.sh:102: num_failures=`expr $num_failures + 1` google-perftools-2.8/src/tests/profiler_unittest.sh-103-} ############################################## google-perftools-2.8/src/tests/profiler_unittest.sh-120- # version of pprof. google-perftools-2.8/src/tests/profiler_unittest.sh:121: mthread1=`"$PPROF" $PPROF_FLAGS $exec1 "$prof1" | grep test_main_thread | awk '{print $1}'` google-perftools-2.8/src/tests/profiler_unittest.sh:122: mthread2=`"$PPROF" $PPROF_FLAGS $exec2 "$prof2" | grep test_main_thread | awk '{print $1}'` google-perftools-2.8/src/tests/profiler_unittest.sh:123: mthread1_plus=`expr $mthread1 + 5` google-perftools-2.8/src/tests/profiler_unittest.sh:124: mthread2_plus=`expr $mthread2 + 5` google-perftools-2.8/src/tests/profiler_unittest.sh-125- if [ -z "$mthread1" ] || [ -z "$mthread2" ] || \ google-perftools-2.8/src/tests/profiler_unittest.sh-126- [ "$mthread1" -le 0 -o "$mthread2" -le 0 ] google-perftools-2.8/src/tests/profiler_unittest.sh:127:# || [ `expr $mthread1_plus \* $mult` -gt `expr $mthread2_plus \* 2` -o \ google-perftools-2.8/src/tests/profiler_unittest.sh:128:# `expr $mthread1_plus \* $mult \* 2` -lt `expr $mthread2_plus` ] google-perftools-2.8/src/tests/profiler_unittest.sh-129- then ############################################## google-perftools-2.8/src/tests/profiler_unittest.sh-151- "$PPROF" $PPROF_FLAGS $exec2 "$prof2" > "$TMPDIR/out2" google-perftools-2.8/src/tests/profiler_unittest.sh:152: diff=`diff "$TMPDIR/out1" "$TMPDIR/out2"` google-perftools-2.8/src/tests/profiler_unittest.sh-153- ############################################## google-perftools-2.8/src/tests/profiler_unittest.sh-179- # empty string, it means we want to use the 1-arg version of pprof. google-perftools-2.8/src/tests/profiler_unittest.sh:180: mthread=`$PPROF $PPROF_FLAGS $exec1 "$prof1" | grep test_main_thread | awk '{print $1}'` google-perftools-2.8/src/tests/profiler_unittest.sh:181: othread=`$PPROF $PPROF_FLAGS $exec1 "$prof1" | grep test_other_thread | awk '{print $1}'` google-perftools-2.8/src/tests/profiler_unittest.sh-182- if [ -z "$mthread" ] || [ -z "$othread" ] || \ google-perftools-2.8/src/tests/profiler_unittest.sh-183- [ "$mthread" -le 0 -o "$othread" -le 0 ] google-perftools-2.8/src/tests/profiler_unittest.sh:184:# || [ `expr $mthread \* $mult \* 3` -gt `expr $othread \* 10` -o \ google-perftools-2.8/src/tests/profiler_unittest.sh:185:# `expr $mthread \* $mult \* 10` -lt `expr $othread \* 3` ] google-perftools-2.8/src/tests/profiler_unittest.sh-186- then ############################################## google-perftools-2.8/src/tests/profiler_unittest.sh-259-CPUPROFILE="$TMPDIR/pfork" "$PROFILER1" 1 -2 || RegisterFailure google-perftools-2.8/src/tests/profiler_unittest.sh:260:n=`ls $TMPDIR/pfork* | wc -l` google-perftools-2.8/src/tests/profiler_unittest.sh-261-if [ $n != 3 ]; then google-perftools-2.8/src/tests/profiler_unittest.sh-262- echo "FORK test FAILED: expected 3 profiles (for main + 2 children), found $n" google-perftools-2.8/src/tests/profiler_unittest.sh:263: num_failures=`expr $num_failures + 1` google-perftools-2.8/src/tests/profiler_unittest.sh-264-fi ############################################## google-perftools-2.8/src/tests/sampling_test.sh-54-# We use the error output of sampling_test to indicate its real location google-perftools-2.8/src/tests/sampling_test.sh:55:SAMPLING_TEST_BINARY=`"$SAMPLING_TEST" 2>&1 | awk '/USAGE/ {print $2; exit;}'` google-perftools-2.8/src/tests/sampling_test.sh-56- ############################################## google-perftools-2.8/src/third_party/valgrind.h-171- complete inline asm, since it needs to be combined with more magic google-perftools-2.8/src/third_party/valgrind.h:172: inline asm stuff to be useful. google-perftools-2.8/src/third_party/valgrind.h-173-*/ ############################################## google-perftools-2.8/src/windows/addr2line-pdb.c-156- // will be lower than module_base which hasn't been mapped by any prior google-perftools-2.8/src/windows/addr2line-pdb.c:157: // SymLoadModuleEx() command. This will cause SymFromAddr() and google-perftools-2.8/src/windows/addr2line-pdb.c-158- // SymGetLineFromAddr64() both to return failures and print the correct ############################################## google-perftools-2.8/src/windows/addr2line-pdb.c-165- if (print_function_name) { google-perftools-2.8/src/windows/addr2line-pdb.c:166: if (SymFromAddr(process, (DWORD64)absaddr, NULL, pSymbol)) { google-perftools-2.8/src/windows/addr2line-pdb.c-167- printf("%s\n", pSymbol->Name); ############################################## google-perftools-2.8/src/pprof-331- $main::opt_list = ""; google-perftools-2.8/src/pprof:332: $main::opt_disasm = ""; google-perftools-2.8/src/pprof-333- $main::opt_symbols = 0; ############################################## google-perftools-2.8/src/pprof-458- # Disassembly/listing/symbols mode requires address-level info google-perftools-2.8/src/pprof:459: if ($main::opt_disasm || $main::opt_list || $main::opt_symbols) { google-perftools-2.8/src/pprof-460- $main::opt_functions = 0; ############################################## google-perftools-2.8/src/pprof-492- ($main::opt_list eq '' ? 0 : 1) + google-perftools-2.8/src/pprof:493: ($main::opt_disasm eq '' ? 0 : 1) + google-perftools-2.8/src/pprof-494- ($main::opt_symbols == 0 ? 0 : 1) + ############################################## google-perftools-2.8/src/pprof-750- my $bg = shift; # "" or " &" if we should run in background google-perftools-2.8/src/pprof:751: if (!system(ShellEscape(@GV, "--version") . " >$dev_null 2>&1")) { google-perftools-2.8/src/pprof-752- # Options using double dash are supported by this gv version. ############################################## google-perftools-2.8/src/pprof-756- # if the gv version is known to work properly without the flag. google-perftools-2.8/src/pprof:757: system(ShellEscape(@GV, "--scale=$main::opt_scale", "--noantialias", $fname) google-perftools-2.8/src/pprof-758- . $bg); ############################################## google-perftools-2.8/src/pprof-761- print STDERR ShellEscape(@GV, "-scale", $main::opt_scale) . "\n"; google-perftools-2.8/src/pprof:762: system(ShellEscape(@GV, "-scale", "$main::opt_scale", $fname) . $bg); google-perftools-2.8/src/pprof-763- } ############################################## google-perftools-2.8/src/pprof-768- my $bg = shift; # "" or " &" if we should run in background google-perftools-2.8/src/pprof:769: system(ShellEscape(@EVINCE, $fname) . $bg); google-perftools-2.8/src/pprof-770-} ############################################## google-perftools-2.8/src/pprof-777- # OS X: open will use standard preference for SVG files. google-perftools-2.8/src/pprof:778: system("/usr/bin/open", $fname); google-perftools-2.8/src/pprof-779- return; ############################################## google-perftools-2.8/src/pprof-783- # Windows(MinGW): open will use standard preference for SVG files. google-perftools-2.8/src/pprof:784: system("cmd", "/c", "start", $fname); google-perftools-2.8/src/pprof-785- return; ############################################## google-perftools-2.8/src/pprof-797- foreach my $b (@alt) { google-perftools-2.8/src/pprof:798: if (system($b, $fname) == 0) { google-perftools-2.8/src/pprof-799- return; ############################################## google-perftools-2.8/src/pprof-809- print STDERR "Starting '@KCACHEGRIND " . $fname . $bg . "'\n"; google-perftools-2.8/src/pprof:810: system(ShellEscape(@KCACHEGRIND, $fname) . $bg); google-perftools-2.8/src/pprof-811-} ############################################## google-perftools-2.8/src/pprof-871- $main::opt_callgrind = 0; google-perftools-2.8/src/pprof:872: $main::opt_disasm = 0; google-perftools-2.8/src/pprof-873- $main::opt_list = 0; ############################################## google-perftools-2.8/src/pprof-932- if (m/^\s*disasm\s*(.+)/) { google-perftools-2.8/src/pprof:933: $main::opt_disasm = 1; google-perftools-2.8/src/pprof-934- ############################################## google-perftools-2.8/src/pprof-1061- google-perftools-2.8/src/pprof:1062: disasm [routine_regexp] [-ignore1] [-ignore2] google-perftools-2.8/src/pprof-1063- Show disassembly of routines whose names match "routine_regexp", ############################################## google-perftools-2.8/src/pprof-1144- google-perftools-2.8/src/pprof:1145: foreach my $full_addr (@addrs) { google-perftools-2.8/src/pprof-1146- my $addr = $full_addr; ############################################## google-perftools-2.8/src/pprof-1544-} google-perftools-2.8/src/pprof:1545:.asm { google-perftools-2.8/src/pprof-1546- color: #008800; ############################################## google-perftools-2.8/src/pprof-1557- if (target) { google-perftools-2.8/src/pprof:1558: var asm = target.nextSibling; google-perftools-2.8/src/pprof:1559: if (asm && asm.className == "asm") { google-perftools-2.8/src/pprof-1560- asm.style.display = (asm.style.display == "block" ? "" : "block"); ############################################## google-perftools-2.8/src/pprof-1730- my $total2 = 0; # Total cumulative counts google-perftools-2.8/src/pprof:1731: my %disasm = (); # Map from line number to disassembly google-perftools-2.8/src/pprof:1732: my $running_disasm = ""; # Unassigned disassembly google-perftools-2.8/src/pprof-1733- my $skip_marker = "---\n"; ############################################## google-perftools-2.8/src/pprof-1778- $last_dis_linenum = $l; google-perftools-2.8/src/pprof:1779: $running_disasm .= $dis; google-perftools-2.8/src/pprof:1780: $running_disasm .= "\n"; google-perftools-2.8/src/pprof-1781- } ############################################## google-perftools-2.8/src/pprof-1801- $disasm{$line} .= $running_disasm; google-perftools-2.8/src/pprof:1802: $running_disasm = ''; google-perftools-2.8/src/pprof-1803- $last_touched_line = $line; ############################################## google-perftools-2.8/src/pprof-1858- my $dis = $disasm{$l}; google-perftools-2.8/src/pprof:1859: my $asm = ""; google-perftools-2.8/src/pprof-1860- if (defined($dis) && $dis ne '') { google-perftools-2.8/src/pprof:1861: $asm = "<span class=\"asm\">" . $dis . "</span>"; google-perftools-2.8/src/pprof-1862- } ############################################## google-perftools-2.8/src/pprof-1864- ? "livesrc" google-perftools-2.8/src/pprof:1865: : (($asm ne "") ? "deadsrc" : "nop")); google-perftools-2.8/src/pprof-1866- printf $output ( ############################################## google-perftools-2.8/src/pprof-2641- google-perftools-2.8/src/pprof:2642: if ($main::opt_disasm || $main::opt_list) { google-perftools-2.8/src/pprof-2643- # We want just the address for the key ############################################## google-perftools-2.8/src/pprof-3596- google-perftools-2.8/src/pprof:3597: (system($cmd) == 0) || error("Failed to get profile: $cmd: $!\n"); google-perftools-2.8/src/pprof:3598: (system("mv", $tmp_profile, $real_profile) == 0) || error("Unable to rename profile\n"); google-perftools-2.8/src/pprof-3599- print STDERR "Wrote profile to $real_profile\n"; ############################################## google-perftools-2.8/src/pprof-4828- # nm to get what info we can (function names, but not line numbers). google-perftools-2.8/src/pprof:4829: if (system(ShellEscape($addr2line, "--help") . " >$dev_null 2>&1") != 0) { google-perftools-2.8/src/pprof-4830- MapSymbolsWithNM($image, $offset, $pclist, $symbols); ############################################## google-perftools-2.8/src/pprof-4845- # addr2line --help returns 0, but not if it sees an unknown flag first. google-perftools-2.8/src/pprof:4846: if (system("$cmd -i --help >$dev_null 2>&1") == 0) { google-perftools-2.8/src/pprof-4847- $cmd .= " -i"; ############################################## google-perftools-2.8/src/pprof-4867- print("----\n"); google-perftools-2.8/src/pprof:4868: system("cat", $main::tmpfile_sym); google-perftools-2.8/src/pprof-4869- print("---- $cmd ---\n"); google-perftools-2.8/src/pprof:4870: system("$cmd < " . ShellEscape($main::tmpfile_sym)); google-perftools-2.8/src/pprof-4871- print("----\n"); ############################################## google-perftools-2.8/src/pprof-5324- my $to_devnull = ">$dev_null 2>&1"; google-perftools-2.8/src/pprof:5325: if (system(ShellEscape($nm, "--demangle", $image) . $to_devnull) == 0) { google-perftools-2.8/src/pprof-5326- # In this mode, we do "nm --demangle <foo>" ############################################## google-perftools-2.8/src/pprof-5328- $cppfilt_flag = ""; google-perftools-2.8/src/pprof:5329: } elsif (system(ShellEscape($cppfilt, $image) . $to_devnull) == 0) { google-perftools-2.8/src/pprof-5330- # In this mode, we do "nm <foo> | c++filt" ############################################## google-perftools-2.8/src/pprof-5333- my $flatten_flag = ""; google-perftools-2.8/src/pprof:5334: if (system(ShellEscape($nm, "-f", $image) . $to_devnull) == 0) { google-perftools-2.8/src/pprof-5335- $flatten_flag = "-f"; ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-331- $main::opt_list = ""; google-perftools-2.8/.pc/perl_path.patch/src/pprof:332: $main::opt_disasm = ""; google-perftools-2.8/.pc/perl_path.patch/src/pprof-333- $main::opt_symbols = 0; ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-458- # Disassembly/listing/symbols mode requires address-level info google-perftools-2.8/.pc/perl_path.patch/src/pprof:459: if ($main::opt_disasm || $main::opt_list || $main::opt_symbols) { google-perftools-2.8/.pc/perl_path.patch/src/pprof-460- $main::opt_functions = 0; ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-492- ($main::opt_list eq '' ? 0 : 1) + google-perftools-2.8/.pc/perl_path.patch/src/pprof:493: ($main::opt_disasm eq '' ? 0 : 1) + google-perftools-2.8/.pc/perl_path.patch/src/pprof-494- ($main::opt_symbols == 0 ? 0 : 1) + ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-750- my $bg = shift; # "" or " &" if we should run in background google-perftools-2.8/.pc/perl_path.patch/src/pprof:751: if (!system(ShellEscape(@GV, "--version") . " >$dev_null 2>&1")) { google-perftools-2.8/.pc/perl_path.patch/src/pprof-752- # Options using double dash are supported by this gv version. ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-756- # if the gv version is known to work properly without the flag. google-perftools-2.8/.pc/perl_path.patch/src/pprof:757: system(ShellEscape(@GV, "--scale=$main::opt_scale", "--noantialias", $fname) google-perftools-2.8/.pc/perl_path.patch/src/pprof-758- . $bg); ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-761- print STDERR ShellEscape(@GV, "-scale", $main::opt_scale) . "\n"; google-perftools-2.8/.pc/perl_path.patch/src/pprof:762: system(ShellEscape(@GV, "-scale", "$main::opt_scale", $fname) . $bg); google-perftools-2.8/.pc/perl_path.patch/src/pprof-763- } ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-768- my $bg = shift; # "" or " &" if we should run in background google-perftools-2.8/.pc/perl_path.patch/src/pprof:769: system(ShellEscape(@EVINCE, $fname) . $bg); google-perftools-2.8/.pc/perl_path.patch/src/pprof-770-} ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-777- # OS X: open will use standard preference for SVG files. google-perftools-2.8/.pc/perl_path.patch/src/pprof:778: system("/usr/bin/open", $fname); google-perftools-2.8/.pc/perl_path.patch/src/pprof-779- return; ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-783- # Windows(MinGW): open will use standard preference for SVG files. google-perftools-2.8/.pc/perl_path.patch/src/pprof:784: system("cmd", "/c", "start", $fname); google-perftools-2.8/.pc/perl_path.patch/src/pprof-785- return; ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-797- foreach my $b (@alt) { google-perftools-2.8/.pc/perl_path.patch/src/pprof:798: if (system($b, $fname) == 0) { google-perftools-2.8/.pc/perl_path.patch/src/pprof-799- return; ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-809- print STDERR "Starting '@KCACHEGRIND " . $fname . $bg . "'\n"; google-perftools-2.8/.pc/perl_path.patch/src/pprof:810: system(ShellEscape(@KCACHEGRIND, $fname) . $bg); google-perftools-2.8/.pc/perl_path.patch/src/pprof-811-} ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-871- $main::opt_callgrind = 0; google-perftools-2.8/.pc/perl_path.patch/src/pprof:872: $main::opt_disasm = 0; google-perftools-2.8/.pc/perl_path.patch/src/pprof-873- $main::opt_list = 0; ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-932- if (m/^\s*disasm\s*(.+)/) { google-perftools-2.8/.pc/perl_path.patch/src/pprof:933: $main::opt_disasm = 1; google-perftools-2.8/.pc/perl_path.patch/src/pprof-934- ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-1061- google-perftools-2.8/.pc/perl_path.patch/src/pprof:1062: disasm [routine_regexp] [-ignore1] [-ignore2] google-perftools-2.8/.pc/perl_path.patch/src/pprof-1063- Show disassembly of routines whose names match "routine_regexp", ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-1144- google-perftools-2.8/.pc/perl_path.patch/src/pprof:1145: foreach my $full_addr (@addrs) { google-perftools-2.8/.pc/perl_path.patch/src/pprof-1146- my $addr = $full_addr; ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-1544-} google-perftools-2.8/.pc/perl_path.patch/src/pprof:1545:.asm { google-perftools-2.8/.pc/perl_path.patch/src/pprof-1546- color: #008800; ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-1557- if (target) { google-perftools-2.8/.pc/perl_path.patch/src/pprof:1558: var asm = target.nextSibling; google-perftools-2.8/.pc/perl_path.patch/src/pprof:1559: if (asm && asm.className == "asm") { google-perftools-2.8/.pc/perl_path.patch/src/pprof-1560- asm.style.display = (asm.style.display == "block" ? "" : "block"); ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-1730- my $total2 = 0; # Total cumulative counts google-perftools-2.8/.pc/perl_path.patch/src/pprof:1731: my %disasm = (); # Map from line number to disassembly google-perftools-2.8/.pc/perl_path.patch/src/pprof:1732: my $running_disasm = ""; # Unassigned disassembly google-perftools-2.8/.pc/perl_path.patch/src/pprof-1733- my $skip_marker = "---\n"; ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-1778- $last_dis_linenum = $l; google-perftools-2.8/.pc/perl_path.patch/src/pprof:1779: $running_disasm .= $dis; google-perftools-2.8/.pc/perl_path.patch/src/pprof:1780: $running_disasm .= "\n"; google-perftools-2.8/.pc/perl_path.patch/src/pprof-1781- } ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-1801- $disasm{$line} .= $running_disasm; google-perftools-2.8/.pc/perl_path.patch/src/pprof:1802: $running_disasm = ''; google-perftools-2.8/.pc/perl_path.patch/src/pprof-1803- $last_touched_line = $line; ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-1858- my $dis = $disasm{$l}; google-perftools-2.8/.pc/perl_path.patch/src/pprof:1859: my $asm = ""; google-perftools-2.8/.pc/perl_path.patch/src/pprof-1860- if (defined($dis) && $dis ne '') { google-perftools-2.8/.pc/perl_path.patch/src/pprof:1861: $asm = "<span class=\"asm\">" . $dis . "</span>"; google-perftools-2.8/.pc/perl_path.patch/src/pprof-1862- } ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-1864- ? "livesrc" google-perftools-2.8/.pc/perl_path.patch/src/pprof:1865: : (($asm ne "") ? "deadsrc" : "nop")); google-perftools-2.8/.pc/perl_path.patch/src/pprof-1866- printf $output ( ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-2641- google-perftools-2.8/.pc/perl_path.patch/src/pprof:2642: if ($main::opt_disasm || $main::opt_list) { google-perftools-2.8/.pc/perl_path.patch/src/pprof-2643- # We want just the address for the key ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-3596- google-perftools-2.8/.pc/perl_path.patch/src/pprof:3597: (system($cmd) == 0) || error("Failed to get profile: $cmd: $!\n"); google-perftools-2.8/.pc/perl_path.patch/src/pprof:3598: (system("mv", $tmp_profile, $real_profile) == 0) || error("Unable to rename profile\n"); google-perftools-2.8/.pc/perl_path.patch/src/pprof-3599- print STDERR "Wrote profile to $real_profile\n"; ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-4828- # nm to get what info we can (function names, but not line numbers). google-perftools-2.8/.pc/perl_path.patch/src/pprof:4829: if (system(ShellEscape($addr2line, "--help") . " >$dev_null 2>&1") != 0) { google-perftools-2.8/.pc/perl_path.patch/src/pprof-4830- MapSymbolsWithNM($image, $offset, $pclist, $symbols); ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-4845- # addr2line --help returns 0, but not if it sees an unknown flag first. google-perftools-2.8/.pc/perl_path.patch/src/pprof:4846: if (system("$cmd -i --help >$dev_null 2>&1") == 0) { google-perftools-2.8/.pc/perl_path.patch/src/pprof-4847- $cmd .= " -i"; ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-4867- print("----\n"); google-perftools-2.8/.pc/perl_path.patch/src/pprof:4868: system("cat", $main::tmpfile_sym); google-perftools-2.8/.pc/perl_path.patch/src/pprof-4869- print("---- $cmd ---\n"); google-perftools-2.8/.pc/perl_path.patch/src/pprof:4870: system("$cmd < " . ShellEscape($main::tmpfile_sym)); google-perftools-2.8/.pc/perl_path.patch/src/pprof-4871- print("----\n"); ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-5324- my $to_devnull = ">$dev_null 2>&1"; google-perftools-2.8/.pc/perl_path.patch/src/pprof:5325: if (system(ShellEscape($nm, "--demangle", $image) . $to_devnull) == 0) { google-perftools-2.8/.pc/perl_path.patch/src/pprof-5326- # In this mode, we do "nm --demangle <foo>" ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-5328- $cppfilt_flag = ""; google-perftools-2.8/.pc/perl_path.patch/src/pprof:5329: } elsif (system(ShellEscape($cppfilt, $image) . $to_devnull) == 0) { google-perftools-2.8/.pc/perl_path.patch/src/pprof-5330- # In this mode, we do "nm <foo> | c++filt" ############################################## google-perftools-2.8/.pc/perl_path.patch/src/pprof-5333- my $flatten_flag = ""; google-perftools-2.8/.pc/perl_path.patch/src/pprof:5334: if (system(ShellEscape($nm, "-f", $image) . $to_devnull) == 0) { google-perftools-2.8/.pc/perl_path.patch/src/pprof-5335- $flatten_flag = "-f";