William Cohen
William Cohen
Doing some more digging it appears that dyninst is getting confused about whether the code is 32-bit or 64-bit. The liveness analysis is being done in 64-bit mode based on...
The code in ABI.C doesn't honor whether it is 32-bit or 64-bit code being analyzed: https://github.com/dyninst/dyninst/blob/master/dataflowAPI/src/ABI.C#L80 ``` #if defined(arch_power) globalABI64_->addr_width = 4; globalABI_->index = &machRegIndex_ppc(); globalABI64_->index = &machRegIndex_ppc(); #endif ```
For ppc use of dyninst are the 32-bit register names used for both 32- and 64-bit? It wasn't clear from the commit that created that code in ABI.c whether that...
This was using locally built rpm containing the dyinst-11.0.0 release with a couple minor patches to dyninst. I have kicked off a koji scratch build if you need to take...
dyninst is swapping debuginfo associated with the function names for main and main.cold? Looks like same could be happing to expand_inlined_process. The compiler is going to generate labels with various...
Fedora 32 has gcc-10.2.1. I just ran things on Fedora 31 with gcc-9.3.1-2.fc31.x86_64 and dyninst-10.1.0-4.fc31.x86_64. The results look better, so it might be something related to gcc 10. The `rpm...
Ah, it looks like I built a version of the executable much earlier with clang (clang-10.0.1-2.fc32.x86_64) and that is the one that is having the questionable ranges. export CXX=clang++ export...
I did some more poking around to see what is going on with the problematic clang generated code generated dumps of the dwarf information for the clang and gcc versions...
Looking at the output of " eu-readelf --debug-dump=loc heapsort" for clang compiled version see the base being set to the start of the main: DWARF section [35] '.debug_loc' at offset...
Turned on diagnostic printing in dyninst and ran with one of of the other dyninsttool programs, readonly: $ COMMON_DEBUG_DWARF=true ./readonly -d ~/rpmbuild/BUILD/heapsort-0.5_clang10/heapsort >& dyninst_debug.log The output shows that the range...