Branch: refs/heads/thaines/capstone_integration Home: https://github.com/dyninst/dyninst Commit: 2142a50707b02e44565f78b723b8fc242dfcecc1 https://github.com/dyninst/dyninst/commit/2142a50707b02e44565f78b723b8fc242dfcecc1 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-01-18 (Thu, 18 Jan 2024)
Changed paths: M .github/workflows/consumers.yaml Log Message: ----------- GithubCI: update systemtap weekly test build (#1676) * Use newer autoconf 2.71 is now the minimum * Run autoreconf before build The provided configure seems to only be updated on releases. * Don't build python/java probes They don't currently work with out-of-source builds. Commit: e76e0366a0f2a8ed0d4bb6f08f87af9c06796a58 https://github.com/dyninst/dyninst/commit/e76e0366a0f2a8ed0d4bb6f08f87af9c06796a58 Author: Kirill Batuzov <43408219+batuz...@users.noreply.github.com> Date: 2024-02-05 (Mon, 05 Feb 2024) Changed paths: M parseAPI/h/CFG.h Log Message: ----------- Use code region boundaries for ParseAPI::Function::less comparator (#1668) Co-authored-by: Kirill Batuzov <kirill.batuz...@huawei.com> Commit: 8bfd49857f9007c784147aef3602ab776401095a https://github.com/dyninst/dyninst/commit/8bfd49857f9007c784147aef3602ab776401095a Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-02-13 (Tue, 13 Feb 2024) Changed paths: M common/src/Timer.C Log Message: ----------- Remove unprintable characters from common/src/Timer.C (#1679) Commit: 929734d244ae74733fa3ee5350547f0b29e00a8b https://github.com/dyninst/dyninst/commit/929734d244ae74733fa3ee5350547f0b29e00a8b Author: kupsch <kup...@cs.wisc.edu> Date: 2024-02-15 (Thu, 15 Feb 2024) Changed paths: M symtabAPI/h/Module.h Log Message: ----------- fix operator<< for Module* (#1682) fix nullptr dereference if Module* is nullptr; print "null" instead Commit: 6c1dba4995d79323d0d6ce21d7b01227327b99fc https://github.com/dyninst/dyninst/commit/6c1dba4995d79323d0d6ce21d7b01227327b99fc Author: kupsch <kup...@cs.wisc.edu> Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M parseAPI/src/IA_x86.C Log Message: ----------- correctly detect x86 LEA instructions as NOP (#1681) LEA is a NOP if and only if the two operands refer to the same register after simplifying binary expressions with identity operands. Commit: 7f4708f7e478e1c4a2407e1191579dbb28ef9372 https://github.com/dyninst/dyninst/commit/7f4708f7e478e1c4a2407e1191579dbb28ef9372 Author: Илья <shliapin.i...@yandex.ru> Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M parseAPI/src/IndirectAnalyzer.C Log Message: ----------- IndirectAnalyzer: fix potential segfault (#1672) Co-authored-by: Ilya Shlyapin <ilya.shlya...@huawei.com> Commit: 383e034dc173d8a9fa6dfc5b96c2d82f96f4a6a3 https://github.com/dyninst/dyninst/commit/383e034dc173d8a9fa6dfc5b96c2d82f96f4a6a3 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: R dyninstAPI/src/Relocation/Transformers/Defensive.C Log Message: ----------- Remove dyninstAPI/Relocation/Transformers/Defensive.C (#1685) File deleted by 8bb4aa76a on 2011-02-08 Reintroduced by 976099e5d on 2011-03-18 Removed from dyninstAPI.vcproj by 78e8ab184 on 2011-04-29 Refers to header files renamed by 91246b9ca on 2011-05-12 Commit: 165f19cd730951a3e2f4a57ebc014fb779a81e34 https://github.com/dyninst/dyninst/commit/165f19cd730951a3e2f4a57ebc014fb779a81e34 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M parseAPI/src/IA_IAPI.C M parseAPI/src/IA_IAPI.h M parseAPI/src/IA_aarch64.C M parseAPI/src/IA_aarch64.h M parseAPI/src/IA_amdgpu.C M parseAPI/src/IA_amdgpu.h M parseAPI/src/IA_power.C M parseAPI/src/IA_power.h M parseAPI/src/IA_x86.C M parseAPI/src/IA_x86.h Log Message: ----------- Refactor IA_IAPI::isSyscall,isInterrupt into arch-specific files (#1684) * Refactor IA_IAPI::isSyscall,isInterrupt into arch-specific files This also requires those members be defined for all classes derived from IA_IAPI. Commit: 9debe8934ab87967610f489827ca129ddabe9f1e https://github.com/dyninst/dyninst/commit/9debe8934ab87967610f489827ca129ddabe9f1e Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-02-26 (Mon, 26 Feb 2024) Changed paths: M dyninstAPI/src/BPatch_addressSpace.C Log Message: ----------- Remove unreachable code in BPatch_addressSpace::getRegisters (#1687) Commit: 091929d6889211d50b5e12618e98972c38e268fa https://github.com/dyninst/dyninst/commit/091929d6889211d50b5e12618e98972c38e268fa Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-02-26 (Mon, 26 Feb 2024) Changed paths: M instructionAPI/src/InstructionCategories.C M parseAPI/src/IA_aarch64.C M parseAPI/src/IA_power.C M parseAPI/src/IA_x86.C Log Message: ----------- Improve syscall and interrupt instruction detection (#1686) * Treat x86 software interrupts as system calls * Correct detection of Linux vsyscall for 32-bit code The existing code did not work because the Operand formatter uses AT&T syntax and doesn't convert hex to decimal, so the '== "16"' check always failed. The convoluted logic in the visitor is needed because Dyninst does not generate AST for segment registers. Yet, it _does_ record if they are read/written. The AST for the 'gs' register was made a file scope static because its initialization would cause some glibc's to throw a __gnu_cxx::recursive_init_error when using multiple threads. * aarch64 - add svc Supervisor Call * ppc - add system call * Add int1, into to IA_x86::isInterrupt Commit: 5d2808259782e2328b005e253dc33d0d1dd7d2a2 https://github.com/dyninst/dyninst/commit/5d2808259782e2328b005e253dc33d0d1dd7d2a2 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-02-26 (Mon, 26 Feb 2024) Changed paths: M cmake/DyninstLibrarySettings.cmake M cmake/DyninstOptions.cmake Log Message: ----------- Add CMake option to control symbol visibility (#1688) Currently, all symbols are hidden by default and then explicitly made visible. This is the behavior we want for publishing Dyninst libraries, but unit testing the internal functionality requires access to these symbols. This option allows that. Commit: 19cccf1ef41f968c354197cb82e118b17eac1090 https://github.com/dyninst/dyninst/commit/19cccf1ef41f968c354197cb82e118b17eac1090 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-02-27 (Tue, 27 Feb 2024) Changed paths: M parseAPI/src/IA_IAPI.C Log Message: ----------- Fix logic error in IA_IAPI::isInterruptOrSyscall (#1683) This was broken by e7db16f5 in 2010. Commit: ecdc2a57b6e566290a85716943329c2e84451d89 https://github.com/dyninst/dyninst/commit/ecdc2a57b6e566290a85716943329c2e84451d89 Author: kupsch <kup...@cs.wisc.edu> Date: 2024-02-27 (Tue, 27 Feb 2024) Changed paths: M COPYRIGHT M parseAPI/h/SymLiteCodeSource.h M parseAPI/src/CodeSource.C M parseAPI/src/SymLiteCodeSource.C Log Message: ----------- update copyright header and date (#1689) - update COPYRIGHT files's notice to include 2024 - update copyright header in source files to reference COPYRIGHT Commit: 443e0a2b96a7ac3ac859fd06556080049d5cd7fd https://github.com/dyninst/dyninst/commit/443e0a2b96a7ac3ac859fd06556080049d5cd7fd Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-02-27 (Tue, 27 Feb 2024) Changed paths: M parseAPI/src/Parser.C Log Message: ----------- Remove explicit check for system calls in parse_frame_one_iteration (#1691) 165f19cd and 091929d6 changed the parsing semantics of system calls such that software interrupts (e.g., `int` on x86) are always interpreted as system calls. The `hasCFT()` check on line 1824 now covers all of the system call cases because it considers those instructions to have a control flow target (CFT). Its non-use was verified against /usr/libx32/libc.so.6, /usr/lib/i386-linux-gnu/libc.so.6, /usr/lib/x86_64-linux-gnu/libc.so.6, and /usr/lib32/libc.so.6 on Ubuntu 22.04. Commit: 48593c3ff35e022cd621b812063fbbf04fe25532 https://github.com/dyninst/dyninst/commit/48593c3ff35e022cd621b812063fbbf04fe25532 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-02-27 (Tue, 27 Feb 2024) Changed paths: M dataflowAPI/src/liveness.C M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C M dyninstAPI/src/Relocation/Transformers/Movement-analysis.h M instructionAPI/CMakeLists.txt A instructionAPI/h/syscalls.h A instructionAPI/src/syscalls.C M parseAPI/src/IA_IAPI.C M parseAPI/src/IA_IAPI.h M parseAPI/src/IA_aarch64.C M parseAPI/src/IA_aarch64.h M parseAPI/src/IA_amdgpu.C M parseAPI/src/IA_amdgpu.h M parseAPI/src/IA_power.C M parseAPI/src/IA_power.h M parseAPI/src/IA_x86.C M parseAPI/src/IA_x86.h M parseAPI/src/Parser.C Log Message: ----------- Unify system call detection (#1692) * Move isSyscall to instructionAPI * Use InstructionAPI::isSystemCall in LivenessAnalyzer::calcRWSets * Use InstructionAPI::isSystemCall in PCSensitiveTransformer::process * Use InstructionAPI::isSystemCall in Parse::parse_frame_one_iteration * Use InstructionAPI::isSystemCall in IA_IAPI::getNewEdges * Remove IA_IAPI::isSyscall It is replaced by InstructionAPI::isSystemCall. Commit: 2f2f73fcca8238624af08231795e4b0587fa3946 https://github.com/dyninst/dyninst/commit/2f2f73fcca8238624af08231795e4b0587fa3946 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-02-28 (Wed, 28 Feb 2024) Changed paths: M dataflowAPI/src/liveness.C M instructionAPI/CMakeLists.txt A instructionAPI/h/interrupts.h A instructionAPI/src/interrupts.C M parseAPI/src/IA_IAPI.C M parseAPI/src/IA_IAPI.h M parseAPI/src/IA_aarch64.C M parseAPI/src/IA_aarch64.h M parseAPI/src/IA_amdgpu.C M parseAPI/src/IA_amdgpu.h M parseAPI/src/IA_power.C M parseAPI/src/IA_power.h M parseAPI/src/IA_x86.C M parseAPI/src/IA_x86.h Log Message: ----------- Unify software interrupt instruction detection (#1693) * Move isInterrupt to InstructionAPI * Use InstructionAPI::isInterrupt in IA_IAPI::isInterruptOrSyscall * Use InstructionAPI::isInterrupt in LivenessAnalyzer::calcRWSets * Remove IA_IAPI::isInterrupt It is replaced by InstructionAPI::isInterrupt Commit: ff87bfc6c09c356f22ab02449076bc013c7b7229 https://github.com/dyninst/dyninst/commit/ff87bfc6c09c356f22ab02449076bc013c7b7229 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-02-29 (Thu, 29 Feb 2024) Changed paths: A .github/workflows/unit-tests.yaml M docker/build.sh Log Message: ----------- Github CI: add unit tests (#1694) Commit: 268b6300b59d507317b6c342ae9588eb6fedf2ac https://github.com/dyninst/dyninst/commit/268b6300b59d507317b6c342ae9588eb6fedf2ac Author: kupsch <kup...@cs.wisc.edu> Date: 2024-02-29 (Thu, 29 Feb 2024) Changed paths: M CHANGELOG.md M CMakeLists.txt M common/doc/manual_frontpage.tex M dataflowAPI/doc/dataflowAPI.pdf M dynC_API/doc/dynC_API.pdf M dyninstAPI/doc/dyninstAPI.docx M dyninstAPI/doc/dyninstAPI.pdf M instructionAPI/doc/instructionAPI.pdf M parseAPI/doc/API/CodeObject.tex M parseAPI/doc/API/Function.tex A parseAPI/doc/code_sample.cc A parseAPI/doc/example.cc M parseAPI/doc/parseAPI.pdf M patchAPI/doc/patchAPI.pdf M patchAPI/doc/section/4_api_public.tex M proccontrol/doc/proccontrol.docx M proccontrol/doc/proccontrol.pdf M stackwalk/doc/stackwalk.pdf M symtabAPI/doc/API/Types/Type.tex M symtabAPI/doc/symtabAPI.pdf Log Message: ----------- release 13.0.0 versions & docs (#1695) - update dyninst version - update CHANGELOG.md - produce manuals with updated release dates and versions - fix .tex files to eliminate latex errors: - invalid char in symtabAPI/doc/API/Types/Type.tex - invalid char in parseAPI/doc/API/Function.tex - invalid char in patchAPI/doc/section/4_api_public.tex - invlide line break in parseAPI/doc/API/CodeObject.tex - restore parseAPI example code needed by docs removed in 6c2e31c0 Co-authored-by: James Kupsch <kupsch@vmbp15.local> Commit: 2d13ec683332cbd4e154a026a75a313429a5f897 https://github.com/dyninst/dyninst/commit/2d13ec683332cbd4e154a026a75a313429a5f897 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-03-01 (Fri, 01 Mar 2024) Changed paths: M dataflowAPI/h/bitArray.h Log Message: ----------- Remove bitArray SPEC_*_BIT macros (#1696) They were added by 3a70928cc in 2007, but never used. Commit: f83cf2135a345856317eeaf5212901dac229f579 https://github.com/dyninst/dyninst/commit/f83cf2135a345856317eeaf5212901dac229f579 Author: Kirill Batuzov <43408219+batuz...@users.noreply.github.com> Date: 2024-03-01 (Fri, 01 Mar 2024) Changed paths: M parseAPI/h/CodeObject.h M parseAPI/src/CodeObject.C M parseAPI/src/Parser.C M parseAPI/src/Parser.h Log Message: ----------- Add CodeObject::parse overloads to accept multiple targets Parser::parse_at takes only one target at a time. This has two repercussions: 1) It can't take full advantage of parallel parsing when there are multiple targets in need of it. 2) It still enters and exits OMP parallel loop. This operation has its own performance overhead that depends on the host system (number of processors and OMP configuration). This overhead can be very significant. This change introduces Parser::parse_vec that takes a vector of targets and parses them in parallel. When there are significant number of parse_at calls, performance gains from migrating to parse_vec can be huge. Parsing what initial parse() missed in libLLVM-12.so.1 with parse_at took nearly 20 minutes on 4-core hyper-threaded CPU. Doing the same with parse_vec took less than 4 minutes. On 128-bit ARM64 server we've seen even bigger gains (from around 40 minutes to less than 3). Co-authored-by: Kirill Batuzov <kirill.batuz...@huawei.com> Commit: e182fa4230fcd8e2b5e7bd26c0d196c9a24c725a https://github.com/dyninst/dyninst/commit/e182fa4230fcd8e2b5e7bd26c0d196c9a24c725a Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-03-04 (Mon, 04 Mar 2024) Changed paths: M dyninstAPI/src/codegen-aarch64.C M dyninstAPI/src/codegen-aarch64.h M dyninstAPI/src/codegen-power.C M dyninstAPI/src/codegen-power.h Log Message: ----------- Remove dead byte-swapping code in dyninstAPI codegen (#1697) * Remove insnCodeGen::ptrAndInc It was added by 311466419 in 2015 as commented-out code. * Remove use of endian_mismatch macro Its use was removed by 44507e6b0 in 2013. * Remove insnPtr It was only used by ptrAndInc. Commit: 25530c4aa29a4e1263cb95bd46747b053f448a5c https://github.com/dyninst/dyninst/commit/25530c4aa29a4e1263cb95bd46747b053f448a5c Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-03-11 (Mon, 11 Mar 2024) Changed paths: M .github/workflows/pr-tests.yaml M .github/workflows/unit-tests.yaml Log Message: ----------- GithubCI: use verbose output with ctest (#1706) This will help with debugging test failures. Commit: daa18eb077dd73bd7d230f10b6262cfd15393dc3 https://github.com/dyninst/dyninst/commit/daa18eb077dd73bd7d230f10b6262cfd15393dc3 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-03-11 (Mon, 11 Mar 2024) Changed paths: M dataflowAPI/src/slicing.C Log Message: ----------- Do not kill caller-saved registers when slicing backward (#1705) This check was added by 578ff24aa 2017, but the logic is inverted. From the commit message: Currently when backward slicing, a absloc that is written by call defined by abi will be killed, however, caller saved registers can/should survive It's also unclear why r11 was excluded as it's not saved across function calls (i.e., not callee-saved). Commit: 9f82dd80fa46de3dcb4462a9c8c12daaf9610d1a https://github.com/dyninst/dyninst/commit/9f82dd80fa46de3dcb4462a9c8c12daaf9610d1a Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-03-11 (Mon, 11 Mar 2024) Changed paths: M .github/workflows/pr-tests.yaml M .github/workflows/unit-tests.yaml Log Message: ----------- GithubCI: don't run tests for draft PRs (#1704) Commit: 11baee8e51ca409b158718425d320be439bd2419 https://github.com/dyninst/dyninst/commit/11baee8e51ca409b158718425d320be439bd2419 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-03-11 (Mon, 11 Mar 2024) Changed paths: M common/h/registers/x86_64_regs.h Log Message: ----------- Fix duplicate base ID in x86_64 GPRs (#1702) FLAGS and BASEA should be unique. This was introduced by 30f08e7b in 2023. Commit: 88ad81c143bfe7a6567cf75a52ad618ba14ac9aa https://github.com/dyninst/dyninst/commit/88ad81c143bfe7a6567cf75a52ad618ba14ac9aa Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-03-11 (Mon, 11 Mar 2024) Changed paths: M common/h/registers/MachRegister.h M common/src/registers/MachRegister.C Log Message: ----------- MachRegister: Add interface for collecting and retrieving all registers (#1703) This makes writing ABI rules much simpler. It could also be useful for some power users. The registers returned are in the order they are declared in common/h/registers/<arch>_regs.h. Names are only save the register when a name is given because the other constructor is used to convert registers (e.g., getBaseRegister) and would create duplicates entries since the name isn't changed. Commit: a6e2a6690ff6b113a94e941c0882f3552120d974 https://github.com/dyninst/dyninst/commit/a6e2a6690ff6b113a94e941c0882f3552120d974 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-03-11 (Mon, 11 Mar 2024) Changed paths: M common/src/registers/MachRegister.C Log Message: ----------- Fix definition of MachRegister::getAllRegistersForArch (#1709) It's defined in the wrong scope, so it's not accessible outside of MachRegister.C. Introduced by 88ad81c14 in 2024. Commit: a208e09d7ec2c36e29eca75ff31491612ef388a4 https://github.com/dyninst/dyninst/commit/a208e09d7ec2c36e29eca75ff31491612ef388a4 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-03-21 (Thu, 21 Mar 2024) Changed paths: M .github/workflows/system-libs.yaml Log Message: ----------- GitHub CI: use stronger error reporting in 'system-libs' action (#1715) Commit: f821450b55533810717a99b98849e00a2ce9340f https://github.com/dyninst/dyninst/commit/f821450b55533810717a99b98849e00a2ce9340f Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-03-21 (Thu, 21 Mar 2024) Changed paths: M .github/workflows/pr-tests.yaml M .github/workflows/unit-tests.yaml Log Message: ----------- GitHub CI: only run tests when source code changes (#1714) Commit: 592a45be0438f3f07d4451d24bae785fecd235f9 https://github.com/dyninst/dyninst/commit/592a45be0438f3f07d4451d24bae785fecd235f9 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-03-22 (Fri, 22 Mar 2024) Changed paths: M common/h/registers/MachRegister.h M common/h/registers/aarch64_regs.h M common/h/registers/ppc32_regs.h M common/h/registers/ppc64_regs.h M common/h/registers/x86_64_regs.h M common/h/registers/x86_regs.h Log Message: ----------- Use fix-width type for MachRegister format (#1716) This ensures the same number of bits is available on all platforms. Fix comments: the fields are 8 bits wide, not 16. Commit: b59a614c38faee582bbc52edee165a3784c772dc https://github.com/dyninst/dyninst/commit/b59a614c38faee582bbc52edee165a3784c772dc Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-03-22 (Fri, 22 Mar 2024) Changed paths: M dyninstAPI/src/BPatch_type.C M dyninstAPI/src/image.C M symtabAPI/src/annotations.C M symtabAPI/src/annotations.h Log Message: ----------- Remove unused annotations (#1717) * CommonBlockUpPtr This was added by d4b6dac19 in 2009, but was never written to. The check on line 243 would always pass and getCblocks would return an empty vector. * FunctionLocalVariablesAnno Its usage was removed by 5ed068167 in 2013. * Remove FunctionParametersAnno Its usage was removed by 5ed068167 in 2013. * Remove IdToSymMap Its usage was remove dby c42859c30 in 2016. * Remove ImageFuncUpPtrAnno Its usage was removed by 5ed068167 in 2013. * Remove LocalVarUpPtrAnno It was added by d2e866379 in 2009, but has always been write-only. * Remove ModuleLineInfoAnno Its usage was remove by 186761951 in 2014. * Remove ModuleTypeInfoAnno Its usage was removed by 186761951 in 2014. * Remove UserFuncsAnno Its usage was removed by 74c0f9613 in 2008. * Remove UserSymbolsAnno Its usage was removed by 74c0f9613 in 2008. Commit: eb74678be940db3851fdcef786c27c79bba78d22 https://github.com/dyninst/dyninst/commit/eb74678be940db3851fdcef786c27c79bba78d22 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-03-22 (Fri, 22 Mar 2024) Changed paths: M dataflowAPI/h/liveness.h Log Message: ----------- Remove LivenessAnalyzer::query(ParseAPI::Location,Type,OutputIterator) (#1718) It has never worked because it doesn't dereference the output iterator. Commit: cfa91d0260d40be1d7ee270e9d03567a56eefdad https://github.com/dyninst/dyninst/commit/cfa91d0260d40be1d7ee270e9d03567a56eefdad Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-03-26 (Tue, 26 Mar 2024) Changed paths: M common/h/Annotatable.h M common/src/Annotatable.C M common/src/arch-x86.C M common/src/freebsdHeaders.h M common/src/freebsdKludges.C M common/src/headers.h M common/src/linuxHeaders.h M common/src/linuxKludges.C M common/src/stats.C M common/src/stats.h M dataflowAPI/h/Absloc.h M dataflowAPI/src/Absloc.C M dyninstAPI/CMakeLists.txt M dyninstAPI/h/BPatch_function.h M dyninstAPI/h/BPatch_image.h M dyninstAPI/h/BPatch_module.h M dyninstAPI/h/BPatch_process.h M dyninstAPI/h/BPatch_snippet.h M dyninstAPI/src/BPatch_basicBlock.C M dyninstAPI/src/BPatch_basicBlockLoop.C M dyninstAPI/src/BPatch_function.C M dyninstAPI/src/BPatch_module.C M dyninstAPI/src/BPatch_snippet.C M dyninstAPI/src/Patching.C M dyninstAPI/src/Patching.h M dyninstAPI/src/Relocation/CodeBuffer.C M dyninstAPI/src/Relocation/Springboard.C M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C M dyninstAPI/src/Relocation/Widgets/CFWidget.C M dyninstAPI/src/StackMod/StackModChecker.C M dyninstAPI/src/addressSpace.C M dyninstAPI/src/ast.C M dyninstAPI/src/ast.h M dyninstAPI/src/codeRange.C M dyninstAPI/src/codegen-x86.C M dyninstAPI/src/dynProcess.C M dyninstAPI/src/emit-power.h M dyninstAPI/src/emit-x86.C M dyninstAPI/src/function.C M dyninstAPI/src/function.h M dyninstAPI/src/image.C M dyninstAPI/src/inst-aarch64.C M dyninstAPI/src/inst-power.C M dyninstAPI/src/inst-x86.C M dyninstAPI/src/instP.h M dyninstAPI/src/instPoint.C M dyninstAPI/src/linux-x86.C M dyninstAPI/src/mapped_module.C M dyninstAPI/src/mapped_module.h M dyninstAPI/src/mapped_object.h M dyninstAPI/src/parse-cfg.h M dyninstAPI/src/pcEventHandler.C R dyninstAPI/src/syscalltrap.h M dyninstAPI/src/unix.h M dyninstAPI/src/util.C M dyninstAPI/src/util.h M dyninstAPI_RT/src/RTcommon.c M dyninstAPI_RT/src/RTfreebsd.c M instructionAPI/h/Dereference.h M instructionAPI/h/Ternary.h M instructionAPI/h/Visitor.h M instructionAPI/src/Register.C M instructionAPI/src/Ternary.C M parseAPI/h/ParseContainers.h M parseAPI/src/IA_IAPI.C M parseAPI/src/IA_aarch64.C M parseAPI/src/IA_power.C M parseAPI/src/Parser.h M parseAPI/src/dominator.C M patchAPI/src/PatchBlock.C M proccontrol/CMakeLists.txt M proccontrol/h/ProcessSet.h M proccontrol/src/freebsd.C M proccontrol/src/int_thread_db.C M proccontrol/src/linux.C R proccontrol/src/notify_pipe.h M proccontrol/src/pcerrors.C M stackwalk/h/procstate.h M symtabAPI/doc/API/Symtab/Symbol.tex M symtabAPI/h/Function.h M symtabAPI/h/Symbol.h M symtabAPI/src/Function.C M symtabAPI/src/Object-elf.C M symtabAPI/src/Object-elf.h M symtabAPI/src/Symtab-lookup.C M symtabAPI/src/Symtab.C M symtabAPI/src/Type.C M symtabAPI/src/emitElf.C M symtabAPI/src/emitElfStatic-aarch64.C M symtabAPI/src/emitElfStatic-ppc64.C M symtabAPI/src/parseDwarf.C Log Message: ----------- Dead code cleanup (#1719) * Symtab.C 376da2b61 in 2007 b9ee0a524 in 2007 4025acd83 in 2012 4e4a375a4 in 2016 85927e97f in 2017 * instPoint.C d8ade2 in 2011 * Absloc.h cd39a7 in 2010 * headers.h 65bd80557 in 2008 ac8f2817 in 2008 * inst-power.C 3169f28af in 1995 90afda5d4 in 2002 8f5d555a0 in 2005 7d4113393 in 2006 bb377beb9 in 2007 7e70f8ea2 in 2007 41d0401ff in 2008 e07d7ad2e in 2009 62b7d1f21 in 2010 fcd67b50c in 2010 1bdb443c7 in 2010 b42dfb677 in 2011 13eeea75f in 2012 9fe681882 in 2012 1ad3c5ead in 2018 04c9b8706 in 2018 * Remove proccontrol/notify_pipe.h Added empty by ac7f7e2001 in 2010 * Remove dyninstAPI/src/syscalltrap.h Usage removed by 7a737b6a09e in 2010 * Absloc.C 4aa8839d9 in 2010 8ad73999f in 2010 0b763f360 in 2010 Technically an ABI/API break, but it's irrelevant since no one has been able to use those functions since 2010. * ia32_is_mode_64 556bc2b3a01b in 2017 * Ternary.C Not sure when this was removed * TernaryAST::makePC Never implemented * Register.C DEBUG added by e4173885 in 2010 Debug printing removed by a4125a9e62a in 2011 * Visitor.h 74a1da3143 in 2016 * ProcessSet.h Added by c9ec57036 in 2012, but never implemented * symtabAPI/Function.h name_iter added by 7a3f133bc47 in 2016, but never used * Symbol::getVersionNum(unsigned&) const Added by b3c1c8e4f in 2009, but never implemented * ProcessState::setLibraryTracker(LibraryState *) Added by 10ca1b477 in 2009, but never implemented * dyninstAPI/src/ast.h condMatch added by c79afe66f in 2001, but not implemented 20116a1026 in 2006 20116a1026 in 2007 fa14696b73 in 2009 * BPatch_image::findOrCreateVariable No implementation git has no record of this existing- even with a full pickaxe over the entire repo. I'd say it's ancient. * BPatch_process::PDSEP_updateObservedCostAddr(unsigned long a) 6293e88a8 in 2009 * BPatch_snippet::PDSEP_astMinCost() 6293e88a8 in 2009 * CHECK_ALL_CALL_POINTS Last usage removed by 62b7d1f21 in 2009 * Remove decodeWaitPidStatus(procWaitpidStatus_t, EventRecord&) db6f2d307 in 2010 * Remove checkIfRelocatable(instruction, bool&) 62b7d1f21 in 2010 * Remove parse_func::parseOMPSectFunc dee8900ad in 2011 * image.C 80834b98d9 in 2005 6d4e94744a in 2005 75b6bee6b1 in 2005 2fc202af93 in 2006 6c65e3c9a8 in 2007 74c0f96134 in 2008 62b7d1f21d in 2010 d66f3e0dcb in 2012 * dyninstAPI/src/util.h openFileWhenNotBusy: 23aaa1c7a in 2006 waitForFileToExist: e016bde56 in 2014 uiHash: f4613dcfe in 2008 CThash: 7a737b6a0 in 2010 intHash: f8dda5e2d in 2010 ptrHash4 added by 102d5c674 in 2005, but never implemented ptrHash16 added by 102d5c674 in 2005, but never implemented * IA_aarch64.C Added by 0cbe6840935 in 2015, but never used 0cbe684093 in 2015 * Parser::parse_sbp() bdb2cbdc8da in 2017 * Object::parseDwarfTypes(Symtab*) Disabled by 9c0aea7f1266d in 2012 * parseDwarf.C 340799a201 in 2017 * BPatch_module::parseDwarfTypes() a3e86c198 in 2009 * Annotatable.C dummy_bs: 5eecdfe37 in 2009 63c8f6a1fb in 2009 3e890d05d7 in 2009 'buffer' was added by 3e890d05d74 in 2009 NON_STATIC_SPARSE_MAP, 3e890d05d74 in 2009 * ParseContainers.h d0fb605ef21 in 2012 * Remove emitStorePreviousStackFrameRegister usage removed by 4a4b40a24 in 2009, disabled by 90f965c1d in 2008 * emitElfStatic-aarch64.C AARCH64_WIDTH added by cf24b5261 in 2015, but never used OLD_VERSION added by f95525cbd in 2015 * emitElfStatic-ppc64.C 5bc8d8877 in 2012 0d6036621 in 2012 760bfda6e in 2019 ca68472cf in 2019 x86 static vars added by aacf9a7c991 in 2012, but never used * arch-x86.C e72838f1bc in 2016 47b3368940 in 2016 * freebsdHeaders.h 6647c9baa in 2010 * freebsdKludges.C ebd68e1b9 in 2012 * linuxHeaders.h dccf6451aa1 in 2006 c51ddd7df17 in 1997 * stats.C 3520f22bad3 in 2008 * BPatch_process.h 3ca668c713 in 2012 * Movement-adhoc.C dd8f40b7b4 in 2012 * CFWidget.C b4d63301d1 in 2012 758aa22669 in 2016 * Movement-analysis.C f891a319b in 2016 * linuxKludges.C 839b81684 in 2007 * stats.h 3520f22bad3 in 2008 * CFGWidget.C 8bb4aa76a in 2011 7ce20933e in 2011 * CodeBuffer.C 94bceeffc8d in 2011 * Springboard.C fd362a2dff in 2012 5a88f21a24 in 2018 fb488fd49b in 2019 8d9621ae21 in 2011 * inst-aarch64.C 0cbe6840935 in 2015 * StackModChecker.C d0458f210b in 2015 * addressSpace.C c3fd2c456 in 2010 fdc07b07e in 2011 d0fb605ef in 2012 5adcaef10 in 2012 0efd04a78 in 2013 827ad8e2e in 2015 * ast.C 20116a1026 in 2006 21d1427b92 in 2010 4a4b40a242 in 2009 * BPatch_basicBlock.C 0f5b6e43c in 2012 d0fb605ef in 2012 a91a2b261 in 2009 * BPatch_basicBlockLoop.C 566ec0894c in 2012 * BPatch_function.C b66154964a in 2008 * BPatch_module.C d4b6dac19e4 in 2009 0f2ad9bc29c in 2008 * BPatch_snippet.C 23d4d4bb2 in 2009 49ccad8e4 in 2011 1c2eb3b7a in 2006 * codegen-x86.C 041bad2f6 in 2015 07c66053d in 2008 c3fd2c456 in 2010 da44e9b22 in 2006 70328949c in 2011 * codeRange.C 236581d63e in 2005 0bce3c156c in 2006 7a2dcd9df2 in 2010 * dynProcess.C 9c63b2738d in 2012 3faa4175c8 in 2012 0efd04a781 in 2013 0e791cce8c in 2015 0f9e277665 in 2018 * emit-x86.C 3173bd78e7 in 2011 0cc0b67318 in 2012 ab24c9bf00 in 2011 * func_instance::add_block_cb 286b2a90835 in 2012 * instP.h 8f5d555a082f in 2005 * Patching.h 23f0550145 in 2011 * inst-x86.C f5943138c2 in 2010 4322603c84 in 2004 a7264f555f in 2010 * linux-x86.C db6f2d3076a in 2010 * mapped_module.C 70328949c in 2011 d2412c4d1 in 2011 * pcEventHandler.C 0088b1285c in 2012 4e1b40d005 in 2014 0e791cce8c in 2015 * RTcommon.C 127dfc766 in 2010 bd5874eef in 2010 3717c253e in 2011 1e2389977 in 2011 * RTfreebsd.C d915f03b32 in 2012 * Dereference.h 48f8d7b67b in 2016 * dominator.C ae9230394c in 2014 * IA_IAPI.C 8cbd0fee4 in 2011 f5e3d0030 in 2011 * IA_power.C 641f99f4e in 2010 5274e3bb2 in 2011 2e0f15515 in 2011 b0d83c42f in 2012 * PatchBlock.C f8842b40f6 in 2011 * freebsd.C 9b1e7b5a2 in 2010 d6399d41e in 2010 * int_thread_db.C f5e3492a81 in 2011 * linux.C 579ba55f71 in 2011 b0ced1cb30 in 2015 bc243bcb9e in 2018 * pcerrors.C b0ced1cb30 in 2015 * emitElf.C 5bc8d8877 in 2012 00098a1bb in 2016 91bdb5e73 in 2016 8c333ece5 in 2019 4e14b3ebc in 2020 * symtabAPI/Function.C e1ed71e36c in 2009 2ce1f7662c in 2015 * Object-elf.C a382e03ffa in 2012 758aa22669 in 2016 3a7d20c3f2 in 2017 0600a498fd in 2017 * Symtab-lookup.C b82201865c in 2008 dc7c82aa91 in 2012 2d4c889dbb in 2018 * Type.C b9ee0a524 in 2007 6a792a92a in 2008 349d38cea in 2008 3e890d05d in 2009 d2e866379 in 2009 Commit: e70b1001eb5082bb0204b602e3ca1cfccd67fc94 https://github.com/dyninst/dyninst/commit/e70b1001eb5082bb0204b602e3ca1cfccd67fc94 Author: kupsch <kup...@cs.wisc.edu> Date: 2024-04-09 (Tue, 09 Apr 2024) Changed paths: M .github/workflows/consumers.yaml M .github/workflows/pr-tests.yaml M .github/workflows/system-libs.yaml M .github/workflows/unit-tests.yaml M cmake/DyninstLibrarySettings.cmake M parseThat/CMakeLists.txt Log Message: ----------- improve cmake install dirs (#1721) * Use cmake's GNUInstallDirs to get the lib, bin and include directory names instead of always using 'lib', 'bin', and 'include'. This results in two changes to the installation: - lib directory becomes 'lib64' on platforms where this is the convention - the lib, bin and include may be overwritten using the cmake variables CMAKE_INSTALL_BINDIR, CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_INCLUDEDIR respectively * Update github workflows to handle the lib install dir lib64: - use Dyninst_ROOT instead of Dyninst_DIR as it searches for the directory used - for non-cmake uses search for lib* to find either lib or lib64 Commit: 12fc2000b135f1b3ce5857723e9248d43c917a42 https://github.com/dyninst/dyninst/commit/12fc2000b135f1b3ce5857723e9248d43c917a42 Author: kupsch <kup...@cs.wisc.edu> Date: 2024-04-09 (Tue, 09 Apr 2024) Changed paths: M .github/workflows/system-libs.yaml Log Message: ----------- fix system-lib github workflow (#1722) change shell code in workflow to be /bin/sh compliant instead of using bash constructs Commit: e885d38c535976c92f108bce29803dcb6145476e https://github.com/dyninst/dyninst/commit/e885d38c535976c92f108bce29803dcb6145476e Author: kupsch <kup...@cs.wisc.edu> Date: 2024-04-09 (Tue, 09 Apr 2024) Changed paths: M .github/workflows/system-libs.yaml Log Message: ----------- ignore .hmac files in system-libs github workflow (#1724) .hmac files are library files so do not try to parse Commit: 3f0bffb81377d5ecb5d02b273e398a8e6120f5ea https://github.com/dyninst/dyninst/commit/3f0bffb81377d5ecb5d02b273e398a8e6120f5ea Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-04-10 (Wed, 10 Apr 2024) Changed paths: M cmake/DyninstWarnings.cmake M cmake/tpls/DyninstBoost.cmake Log Message: ----------- Disable -Wdeprecated-declarations for Boost on clang > 17 (#1723) It's not clear why, but clang 18 and 19 do not correctly detect that /usr/include/boost is a system directory, and it emits warnings for use of deprecated std::unary_function. Commit: b9554a67a0a7c80c711b79bf88c2819491affc20 https://github.com/dyninst/dyninst/commit/b9554a67a0a7c80c711b79bf88c2819491affc20 Author: bbiiggppiigg <bbiiggppi...@gmail.com> Date: 2024-04-16 (Tue, 16 Apr 2024) Changed paths: M instructionAPI/src/AMDGPU/gfx908/appendOperands.C M instructionAPI/src/AMDGPU/gfx90a/appendOperands.C M instructionAPI/src/AMDGPU/gfx940/appendOperands.C Log Message: ----------- Fix AMDGPU register operand expansion (#1728) This commit fixes an issue with the use of dynmaic_pointer_cast in appendOperands.C, where the base type should be used in stead of the Ptr type. Commit: 2c4c1b0135666f080780aadfc3e60091377503fb https://github.com/dyninst/dyninst/commit/2c4c1b0135666f080780aadfc3e60091377503fb Author: kupsch <kup...@cs.wisc.edu> Date: 2024-04-19 (Fri, 19 Apr 2024) Changed paths: M .github/workflows/consumers.yaml Log Message: ----------- fix hpctoolkit github ci workflow (#1729) have spack use python that it built and intalled instead of the system python, so meson gets installed in the correct path Commit: 6ef6687cdf6ecb07a11116ee871817f2eacd2bb5 https://github.com/dyninst/dyninst/commit/6ef6687cdf6ecb07a11116ee871817f2eacd2bb5 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-04-19 (Fri, 19 Apr 2024) Changed paths: M cmake/DyninstPlatform.cmake Log Message: ----------- CMake: update x86 platform detection (#1727) Commit: a29f32ac87c4483b97a2c5cb9beed5642124ae8f https://github.com/dyninst/dyninst/commit/a29f32ac87c4483b97a2c5cb9beed5642124ae8f Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-04-22 (Mon, 22 Apr 2024) Changed paths: M common/CMakeLists.txt M common/src/dyn_regs.C M common/src/registers/MachRegister.C A common/src/registers/MachRegisterCache.h Log Message: ----------- MachRegister: fix initialization order bug (#1731) This fixes the static initialization ordering issue reported in https://github.com/dyninst/dyninst/issues/1730. Commit: 2e17fe3e10b4d56fa2c3af180d017728fe151334 https://github.com/dyninst/dyninst/commit/2e17fe3e10b4d56fa2c3af180d017728fe151334 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: R instructionAPI/capstone/aarch64.py A instructionAPI/capstone/aarch64/__init__.py A instructionAPI/capstone/aarch64/mnemonics.py A instructionAPI/capstone/aarch64/registers.py R instructionAPI/capstone/capstone.py R instructionAPI/capstone/import.py A instructionAPI/capstone/import_mnemonics.py R instructionAPI/capstone/ppc.py A instructionAPI/capstone/ppc/__init__.py A instructionAPI/capstone/ppc/mnemonics.py A instructionAPI/capstone/ppc/registers.py R instructionAPI/capstone/x86.py A instructionAPI/capstone/x86/__init__.py A instructionAPI/capstone/x86/mnemonics.py A instructionAPI/capstone/x86/registers.py Log Message: ----------- Update Capstone importer scripts (#1734) * Restructure layout for mnemonic parsing * Add stubs for register importing Commit: 95b6a50c1937fa162d7724783c18a229509df265 https://github.com/dyninst/dyninst/commit/95b6a50c1937fa162d7724783c18a229509df265 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-05-03 (Fri, 03 May 2024) Changed paths: M dyninstAPI/src/BPatch_process.C M dyninstAPI/src/freebsd.C M dyninstAPI/src/linux-x86.C M dyninstAPI/src/mapped_object.C M parseAPI/src/LoopAnalyzer.C Log Message: ----------- Replace utos with std::to_string (#1737) This function doesn't need to exist since there is a standard way of doing it now. Commit: 67bc82c2df17c050924f154d6066ef55c3247d1a https://github.com/dyninst/dyninst/commit/67bc82c2df17c050924f154d6066ef55c3247d1a Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-05-03 (Fri, 03 May 2024) Changed paths: M common/CMakeLists.txt M common/h/Annotatable.h M common/h/Buffer.h M common/h/DynAST.h M common/h/Edge.h M common/h/Graph.h M common/h/MachSyscall.h M common/h/Node.h M common/h/SymReader.h M common/h/VariableLocation.h M common/h/concurrent.h A common/h/dyninst_visibility.h M common/h/entryIDs.h M common/h/registers/MachRegister.h M common/h/registers/reg_def.h M common/h/util.h M common/src/Annotatable.C M common/src/MappedFile.h M common/src/Timer.h M common/src/addrtranslate.h M common/src/arch-aarch64.h M common/src/arch-power.h M common/src/arch-x86.C M common/src/arch-x86.h M common/src/debug_common.h M common/src/dthread.h M common/src/freebsdHeaders.h M common/src/freebsdKludges.h M common/src/linuxHeaders.h M common/src/linuxKludges.h M common/src/lprintf.h M common/src/parseauxv.h M common/src/pathName.h M common/src/stats.h M common/src/util.C M dataflowAPI/h/ABI.h M dataflowAPI/h/Absloc.h M dataflowAPI/h/AbslocInterface.h M dataflowAPI/h/SymEval.h M dataflowAPI/h/liveness.h M dataflowAPI/h/slicing.h M dataflowAPI/h/stackanalysis.h M dataflowAPI/src/ExpressionConversionVisitor.h M dataflowAPI/src/RoseInsnFactory.h M dataflowAPI/src/SymEvalVisitors.h M dwarf/h/dwarfExprParser.h M dwarf/h/dwarfFrameParser.h M dwarf/h/dwarfHandle.h M dwarf/h/dwarfResult.h M dwarf/src/dwarf_subrange.h M dynC_API/CMakeLists.txt M dynC_API/h/dynC.h M dyninstAPI/h/BPatch.h M dyninstAPI/h/BPatch_Set.h M dyninstAPI/h/BPatch_addressSpace.h M dyninstAPI/h/BPatch_basicBlock.h M dyninstAPI/h/BPatch_basicBlockLoop.h M dyninstAPI/h/BPatch_binaryEdit.h M dyninstAPI/h/BPatch_dll.h M dyninstAPI/h/BPatch_edge.h M dyninstAPI/h/BPatch_flowGraph.h M dyninstAPI/h/BPatch_frame.h M dyninstAPI/h/BPatch_function.h M dyninstAPI/h/BPatch_image.h M dyninstAPI/h/BPatch_instruction.h M dyninstAPI/h/BPatch_loopTreeNode.h M dyninstAPI/h/BPatch_memoryAccess_NP.h M dyninstAPI/h/BPatch_module.h M dyninstAPI/h/BPatch_object.h M dyninstAPI/h/BPatch_parRegion.h M dyninstAPI/h/BPatch_point.h M dyninstAPI/h/BPatch_process.h M dyninstAPI/h/BPatch_snippet.h M dyninstAPI/h/BPatch_sourceBlock.h M dyninstAPI/h/BPatch_sourceObj.h M dyninstAPI/h/BPatch_statement.h M dyninstAPI/h/BPatch_thread.h M dyninstAPI/h/BPatch_type.h M dyninstAPI/h/StackMod.h M elf/h/Elf_X.h M instructionAPI/h/ArchSpecificFormatters.h M instructionAPI/h/BinaryFunction.h M instructionAPI/h/Dereference.h M instructionAPI/h/Expression.h M instructionAPI/h/Immediate.h M instructionAPI/h/Instruction.h M instructionAPI/h/InstructionAST.h M instructionAPI/h/InstructionCategories.h M instructionAPI/h/InstructionDecoder.h M instructionAPI/h/Operand.h M instructionAPI/h/Operation_impl.h M instructionAPI/h/Register.h M instructionAPI/h/Result.h M instructionAPI/h/Ternary.h M instructionAPI/h/interrupts.h M instructionAPI/h/syscalls.h M instructionAPI/src/Instruction.C M instructionAPI/src/InstructionDecoder-x86.C M instructionAPI/src/InstructionDecoder-x86.h M instructionAPI/src/InstructionDecoder.C M instructionAPI/src/Operand.C M parseAPI/h/CFG.h M parseAPI/h/CFGFactory.h M parseAPI/h/CFGModifier.h M parseAPI/h/CodeObject.h M parseAPI/h/CodeSource.h M parseAPI/h/GraphAdapter.h M parseAPI/h/InstructionSource.h M parseAPI/h/SymLiteCodeSource.h M parseAPI/src/Parser.C M parseAPI/src/debug_parse.h M patchAPI/h/AddrSpace.h M patchAPI/h/CFGMaker.h M patchAPI/h/Command.h M patchAPI/h/Instrumenter.h M patchAPI/h/PatchCFG.h M patchAPI/h/PatchCallback.h M patchAPI/h/PatchMgr.h M patchAPI/h/PatchModifier.h M patchAPI/h/PatchObject.h M patchAPI/h/Point.h M patchAPI/h/Snippet.h M proccontrol/CMakeLists.txt M proccontrol/h/Decoder.h M proccontrol/h/Event.h M proccontrol/h/EventType.h M proccontrol/h/Generator.h M proccontrol/h/Handler.h M proccontrol/h/Mailbox.h M proccontrol/h/PCErrors.h M proccontrol/h/PCProcess.h M proccontrol/h/PlatFeatures.h M proccontrol/h/ProcessSet.h M proccontrol/src/proc_service_wrapper.h M proccontrol/src/windows_handler.h M stackwalk/CMakeLists.txt M stackwalk/h/frame.h M stackwalk/h/framestepper.h M stackwalk/h/procstate.h M stackwalk/h/swk_errors.h M stackwalk/h/symlookup.h M stackwalk/h/walker.h M symlite/h/SymLite-elf.h M symtabAPI/doc/API/Symtab/Symbol.tex M symtabAPI/h/AddrLookup.h M symtabAPI/h/Aggregate.h M symtabAPI/h/Archive.h M symtabAPI/h/Collections.h M symtabAPI/h/ExceptionBlock.h M symtabAPI/h/Function.h M symtabAPI/h/LineInformation.h M symtabAPI/h/Module.h M symtabAPI/h/RangeLookup.h M symtabAPI/h/Region.h M symtabAPI/h/Statement.h M symtabAPI/h/Symbol.h M symtabAPI/h/Symtab.h M symtabAPI/h/SymtabReader.h M symtabAPI/h/Type.h M symtabAPI/h/Variable.h M symtabAPI/h/relocationEntry.h M symtabAPI/h/symutil.h M symtabAPI/src/Aggregate.C M symtabAPI/src/ExceptionBlock.C M symtabAPI/src/Object-elf.h M symtabAPI/src/Object-nt.C M symtabAPI/src/Object-nt.h M symtabAPI/src/Object.C M symtabAPI/src/Object.h M symtabAPI/src/Symbol.C M symtabAPI/src/Symtab-edit.C M symtabAPI/src/Symtab.C M symtabAPI/src/relocationEntry-elf-aarch64.C M symtabAPI/src/relocationEntry-elf-ppc64.C M symtabAPI/src/relocationEntry-elf-x86.C M symtabAPI/src/relocationEntry.C Log Message: ----------- Consolidate visibility control macros (#1738) There is no need to have one per toolkit. This also removes the MSVC-specific check because we don't build there and we don't have any of the visibility compiler switches set for it, either. Commit: 170c01dbe5724f5b483f2755f18e848b5e215f1d https://github.com/dyninst/dyninst/commit/170c01dbe5724f5b483f2755f18e848b5e215f1d Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-05-05 (Sun, 05 May 2024) Changed paths: M dyninstAPI/CMakeLists.txt M dyninstAPI/h/BPatch.h M dyninstAPI/h/BPatch_Set.h M dyninstAPI/h/BPatch_addressSpace.h M dyninstAPI/h/BPatch_basicBlock.h M dyninstAPI/h/BPatch_basicBlockLoop.h M dyninstAPI/h/BPatch_binaryEdit.h R dyninstAPI/h/BPatch_dll.h M dyninstAPI/h/BPatch_edge.h M dyninstAPI/h/BPatch_flowGraph.h M dyninstAPI/h/BPatch_function.h M dyninstAPI/h/BPatch_image.h M dyninstAPI/h/BPatch_instruction.h M dyninstAPI/h/BPatch_loopTreeNode.h M dyninstAPI/h/BPatch_module.h M dyninstAPI/h/BPatch_object.h M dyninstAPI/h/BPatch_parRegion.h M dyninstAPI/h/BPatch_point.h M dyninstAPI/h/BPatch_process.h M dyninstAPI/h/BPatch_snippet.h M dyninstAPI/h/BPatch_sourceBlock.h M dyninstAPI/h/BPatch_sourceObj.h M dyninstAPI/h/BPatch_statement.h M dyninstAPI/h/BPatch_thread.h M dyninstAPI/h/BPatch_type.h M dyninstAPI/h/StackMod.h Log Message: ----------- Remove BPatch_dll.h (#1739) Since 67bc82c2d, this no longer serves a purpose. The definition for V_libdyninstAPI was removed by dee8900a in 2011. Commit: ca0bb3aa69e792bf436468a1386ee1b64dba19d4 https://github.com/dyninst/dyninst/commit/ca0bb3aa69e792bf436468a1386ee1b64dba19d4 Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-05-10 (Fri, 10 May 2024) Changed paths: M symtabAPI/src/dwarfWalker.C Log Message: ----------- Hide ompc_leftmost reducer if not using OpenMP (#1741) This causes a unused function warning when USE_OpenMP=OFF. Commit: aa8eb5abcadf2f456bc4a8fecfdd7c897fca42cd https://github.com/dyninst/dyninst/commit/aa8eb5abcadf2f456bc4a8fecfdd7c897fca42cd Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-05-10 (Fri, 10 May 2024) Changed paths: M stackwalk/src/callchecker.C M stackwalk/src/framestepper_pimple.h Log Message: ----------- Fix clang warnings when SW_ANALYSIS_STEPPER=OFF. (#1742) * Fix -Wunused-private-field in AnalysisStepper This was found by clang's -Wunused-private-field when SW_ANALYSIS_STEPPER=OFF. * Fix unaligned memory read in CallChecker::isPrevInstrACall Found by clang's -Wcast-align when SW_ANALYSIS_STEPPER=OFF. Commit: 040fb1961137a0183b10e8c7fbcb73ce2633bc71 https://github.com/dyninst/dyninst/commit/040fb1961137a0183b10e8c7fbcb73ce2633bc71 Author: Kirill Batuzov <43408219+batuz...@users.noreply.github.com> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M common/src/arch-x86.C Log Message: ----------- x86: check that opcode supports VEX/EVEX prefix if it is present (#1746) Dyninst recognizes invalid combinations of VEX/EVEX prefixes and opcodes as valid instructions. The "&& false" check was introduced in 39caf8e and most probably is some debugging change that slipped into the main code by accident. Commit: 9cb8cba5e42c406d82f5e2d2a8c40785e9f9f675 https://github.com/dyninst/dyninst/commit/9cb8cba5e42c406d82f5e2d2a8c40785e9f9f675 Author: Kirill Batuzov <43408219+batuz...@users.noreply.github.com> Date: 2024-05-27 (Mon, 27 May 2024) Changed paths: M common/src/arch-x86.C Log Message: ----------- x86: correctly detect 3DNow instruction length (#1748) Also, 3DNow instructions can't be VEX-prefixed Co-authored-by: Kirill Batuzov <kirill.batuz...@huawei.com> Commit: 07e41a479bce35c8b1c86b47feb869630918dd2d https://github.com/dyninst/dyninst/commit/07e41a479bce35c8b1c86b47feb869630918dd2d Author: Kirill Batuzov <43408219+batuz...@users.noreply.github.com> Date: 2024-05-28 (Tue, 28 May 2024) Changed paths: M instructionAPI/src/Operation.C Log Message: ----------- x86: handle flag RF (#1749) The only instruction supported by Dyninst that references flag RF is RSM. An attempt to getReadSet or getWriteSet for it fails. Commit: 9daa8a09db09f8de153e351a6a18dd7ebcda1881 https://github.com/dyninst/dyninst/commit/9daa8a09db09f8de153e351a6a18dd7ebcda1881 Author: Kirill Batuzov <43408219+batuz...@users.noreply.github.com> Date: 2024-05-30 (Thu, 30 May 2024) Changed paths: M common/src/arch-x86.C Log Message: ----------- x86: only group opcodes from groupMap2 can be VEX-prefixed (#1747) Commit: 12d5b341e4d58ec06f3f98a4ef1a106a6d8501a7 https://github.com/dyninst/dyninst/commit/12d5b341e4d58ec06f3f98a4ef1a106a6d8501a7 Author: Kirill Batuzov <43408219+batuz...@users.noreply.github.com> Date: 2024-05-31 (Fri, 31 May 2024) Changed paths: M common/src/arch-x86.C Log Message: ----------- x86: support XOP multiply-accumulate instructions (#1752) Support decoding of XOP instructions from multiply-and-accumulate group. They were partially supported before. There were IDs for them and one variant was present in decoding tables. Commit: 20c1c899be22332135b8b82ce0596db425f9a24e https://github.com/dyninst/dyninst/commit/20c1c899be22332135b8b82ce0596db425f9a24e Author: Kirill Batuzov <43408219+batuz...@users.noreply.github.com> Date: 2024-05-31 (Fri, 31 May 2024) Changed paths: M common/src/arch-x86.C Log Message: ----------- x86: handle disambiguation between XOP prefix and POP instruction (#1754) 0x8f can be either the first byte of XOP prefix, or the opcode of POP instruction. The disambiguation is resolved by map_select field of XOP's second byte. If it is XOP prefix, than the field should be from [0x8, 0x1f] range. Otherwise it is ModRM byte, and 0x8f is an opcode. The only instruction with this opcode is POP, and it requires Reg filed of ModRM to be 0. Commit: ed10444f852f9f8fdcfeffd0923e6f22bb6cb46f https://github.com/dyninst/dyninst/commit/ed10444f852f9f8fdcfeffd0923e6f22bb6cb46f Author: Heather McIntyre <112671134+hsmcint...@users.noreply.github.com> Date: 2024-06-01 (Sat, 01 Jun 2024) Changed paths: M symtabAPI/src/Object-elf.C M symtabAPI/src/Object-elf.h Log Message: ----------- Fix Race Condition in Parsing Line Map for NVIDIA Binaries (#1744) * Fix Race Condition in Parsing Line Map for NVIDIA Binaries --------- Co-authored-by: Heather McIntyre <h...@ufront.cs.rice.edu> Commit: 8641f23ec3f18f0402ca039ff2b5d3cb49be003b https://github.com/dyninst/dyninst/commit/8641f23ec3f18f0402ca039ff2b5d3cb49be003b Author: Kirill Batuzov <batuz...@ispras.ru> Date: 2024-06-06 (Thu, 06 Jun 2024) Changed paths: M common/src/arch-x86.C Log Message: ----------- x86: support XOP horizontal add/sub instructions (#1753) Commit: ba75c625983634d775a7b19ce7842b940643795b https://github.com/dyninst/dyninst/commit/ba75c625983634d775a7b19ce7842b940643795b Author: Kirill Batuzov <batuz...@ispras.ru> Date: 2024-06-06 (Thu, 06 Jun 2024) Changed paths: M common/h/mnemonics/x86_entryIDs.h M common/src/arch-x86.C M dataflowAPI/src/convertOpcodes.C Log Message: ----------- x86: handle UD0 and UD1 instructions (#1756) Intel manual define 3 different UD instructions: UD0, UD1, and UD2. UD2 is fully supported by Dyninst, UD0 and UD1 are not. Commit: d6e3937326b73d8b20ae6d5d4d090b76148dcff9 https://github.com/dyninst/dyninst/commit/d6e3937326b73d8b20ae6d5d4d090b76148dcff9 Author: Dmitry Koltunov <koltu...@ispras.ru> Date: 2024-06-07 (Fri, 07 Jun 2024) Changed paths: M common/src/arch-x86.C M instructionAPI/src/InstructionDecoder-x86.C Log Message: ----------- x86: correctly decode 32 and 64 bit arguments of AVX instructions (#1759) Some combinations of operand types resulted in ModRM not being read. Read ModRM when we encounter an operand that references r/m field. Fill REX fields from VEX prefix so that we can choose correct argument size in decodeAVX function. Signed-off-by: koltunov <koltu...@ispras.ru> Commit: 43b75762a130ee923f88f8a1608cd0fdcc3bbf56 https://github.com/dyninst/dyninst/commit/43b75762a130ee923f88f8a1608cd0fdcc3bbf56 Author: Dmitry Koltunov <koltu...@ispras.ru> Date: 2024-06-07 (Fri, 07 Jun 2024) Changed paths: M common/src/arch-x86.C Log Message: ----------- x86: add support for decoding multiple instructions and fix decoding of supported instructions (#1760) * x86: add support for blsr, blsmsk, blsi with mem operand Signed-off-by: koltunov <koltu...@ispras.ru> * x86: add support for adcx, adox instructions Signed-off-by: koltunov <koltu...@ispras.ru> * x86: add support for vblendpd, vpblendw and fix blendps, blendpd, pblendw, vblendps instructions Signed-off-by: koltunov <koltu...@ispras.ru> * x86: fix decoding of vpmaskmovd,vpmaskmovq instructions Signed-off-by: koltunov <koltu...@ispras.ru> * x86: fix decoding of pextrb, pextrw and add vpextrw with opcode 0x15 Move pextrb and pextrw instructions to the correct position in sse_ter_table since they are prefixed with 66 and not F2. Add support for decoding of EVEX prefixed vpextrw instruction. Make operands of vpextrw and vpextrb instructions consistent with Intel manual. Add support for decoding a variant of vpextrw instruction with opcode 0x15. Signed-off-by: koltunov <koltu...@ispras.ru> * x86: add rorx to vexw table Signed-off-by: koltunov <koltu...@ispras.ru> * x86: fix decoding of dpps and add vdpps instruction Signed-off-by: koltunov <koltu...@ispras.ru> * x86: fix decoding of pcmpestrm and add vpcmpestrm instruction Signed-off-by: koltunov <koltu...@ispras.ru> * x86: fix decoding of vbroadcastf128, movntdqa, mpsadbw, vmovntpd, vmovntps, vmovntdqa Signed-off-by: koltunov <koltu...@ispras.ru> * x86: fix decoding of roundps/pd/ss/sd, vrndscaleps/pd/ss/sd and add vroundps/pd/ss/sd instructions Signed-off-by: koltunov <koltu...@ispras.ru> Commit: 36c67d0977ebcdf09512387ddacab60b4969f3a8 https://github.com/dyninst/dyninst/commit/36c67d0977ebcdf09512387ddacab60b4969f3a8 Author: Kirill Batuzov <batuz...@ispras.ru> Date: 2024-06-11 (Tue, 11 Jun 2024) Changed paths: M common/src/arch-x86.C Log Message: ----------- x86: correctly disassemble VMOVDQA/VMODQU instructions variants (#1761) Some of these instructions were supported, but not all. Some had incorrect number of arguments. Some vmovdqa32/vmodqa64 instructions were recognized as regular vmovdqa. Commit: 075ff4bd68eebf131341c8772ae468486d4fdb69 https://github.com/dyninst/dyninst/commit/075ff4bd68eebf131341c8772ae468486d4fdb69 Author: bbiiggppiigg <bbiiggppi...@gmail.com> Date: 2024-07-15 (Mon, 15 Jul 2024) Changed paths: M dataflowAPI/src/AbslocInterface.C M dataflowAPI/src/ExpressionConversionVisitor.C M dataflowAPI/src/ExpressionConversionVisitor.h M dataflowAPI/src/RoseInsnFactory.C M dataflowAPI/src/stackanalysis.C M dyninstAPI/src/BPatch_memoryAccessAdapter.C M dyninstAPI/src/BPatch_memoryAccessAdapter.h M dyninstAPI/src/IAPI_to_AST.C M dyninstAPI/src/IAPI_to_AST.h M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C M dyninstAPI/src/StackMod/StackAccess.C M instructionAPI/CMakeLists.txt M instructionAPI/h/ArchSpecificFormatters.h M instructionAPI/h/Expression.h M instructionAPI/h/InstructionAST.h A instructionAPI/h/MultiRegister.h M instructionAPI/h/Register.h M instructionAPI/h/Result.h M instructionAPI/h/Visitor.h M instructionAPI/src/AMDGPU/gfx908/appendOperands.C M instructionAPI/src/AMDGPU/gfx908/decodeOperands.C M instructionAPI/src/AMDGPU/gfx90a/appendOperands.C M instructionAPI/src/AMDGPU/gfx90a/decodeOperands.C M instructionAPI/src/AMDGPU/gfx940/appendOperands.C M instructionAPI/src/AMDGPU/gfx940/decodeOperands.C M instructionAPI/src/ArchSpecificFormatters.C M instructionAPI/src/Expression.C M instructionAPI/src/InstructionDecoderImpl.C M instructionAPI/src/InstructionDecoderImpl.h A instructionAPI/src/MultiRegister.C M instructionAPI/src/Operand.C M instructionAPI/src/syscalls.C M parseAPI/src/IA_x86.C Log Message: ----------- Add MultiRegisterAST to instructionAPI for AMDGPU (#1733) This commit introduce a new AT that denotes the use of multiple registers as a single operand. * Add new AST MultiRegisterAST to instructionAPI * Update existing implementation to use MultiRegisterAST. * The constructor of the Expression class has been restructured to avoid redundant implementation. * Fix decodeOPR_VCC to use vcc_lo instead * Update visibility control macros based on (#1738) --------- Co-authored-by: kupsch <kup...@cs.wisc.edu> Commit: 43d02b2b5a49df8199307e8b32c0d98668ab2bb9 https://github.com/dyninst/dyninst/commit/43d02b2b5a49df8199307e8b32c0d98668ab2bb9 Author: bbiiggppiigg <bbiiggppi...@gmail.com> Date: 2024-07-15 (Mon, 15 Jul 2024) Changed paths: M instructionAPI/h/Result.h Log Message: ----------- Fix the compiler error introduced in PR1733 Add missing return statements in Result.h Commit: 1118bb6a7a7bf568e4617b8fe60692da41158ed2 https://github.com/dyninst/dyninst/commit/1118bb6a7a7bf568e4617b8fe60692da41158ed2 Author: bbiiggppiigg <bbiiggppi...@gmail.com> Date: 2024-07-16 (Tue, 16 Jul 2024) Changed paths: M dataflowAPI/src/RoseInsnFactory.C Log Message: ----------- Fix vector undefined behavior introduced in #1768 (#1769) Commit: ebecc67d9f6433f7841f5b2114c151638509fc3f https://github.com/dyninst/dyninst/commit/ebecc67d9f6433f7841f5b2114c151638509fc3f Author: bbiiggppiigg <bbiiggppi...@gmail.com> Date: 2024-07-17 (Wed, 17 Jul 2024) Changed paths: M parseAPI/src/IndirectAnalyzer.C Log Message: ----------- Add missing IGFX90A and GFX940 Indirect Analysis (#1771) Commit: ea460143416f6ff0d814a959e31d50d1c7e2a1fb https://github.com/dyninst/dyninst/commit/ea460143416f6ff0d814a959e31d50d1c7e2a1fb Author: bbiiggppiigg <bbiiggppi...@gmail.com> Date: 2024-07-17 (Wed, 17 Jul 2024) Changed paths: M common/h/registers/AMDGPU/amdgpu_gfx90a_regs.h M common/h/registers/AMDGPU/amdgpu_gfx940_regs.h M common/src/registers/MachRegister.C M external/rose/amdgpuInstructionEnum.h R instructionAPI/src/AMDGPU/gfx908/amdgpu_gfx908_insn_entry.h M instructionAPI/src/AMDGPU/gfx90a/InstructionDecoder-amdgpu-gfx90a.h M instructionAPI/src/AMDGPU/gfx90a/amdgpu_gfx90a_decoder_impl.C R instructionAPI/src/AMDGPU/gfx90a/amdgpu_gfx90a_insn_entry.h R instructionAPI/src/AMDGPU/gfx90a/amdgpu_gfx90a_opcode_tables.C M instructionAPI/src/AMDGPU/gfx90a/appendOperands.C M instructionAPI/src/AMDGPU/gfx90a/decodeOperands.C M instructionAPI/src/AMDGPU/gfx90a/finalizeOperands.C M instructionAPI/src/AMDGPU/gfx940/InstructionDecoder-amdgpu-gfx940.h M instructionAPI/src/AMDGPU/gfx940/amdgpu_gfx940_decoder_impl.C R instructionAPI/src/AMDGPU/gfx940/amdgpu_gfx940_opcode_tables.C M instructionAPI/src/AMDGPU/gfx940/appendOperands.C M instructionAPI/src/AMDGPU/gfx940/decodeOperands.C M instructionAPI/src/AMDGPU/gfx940/finalizeOperands.C Log Message: ----------- AMDGPU GFX90A GFX940 update based on ISA drop (2024 02-25) (#1770) * Add new registers based on ISA 2024 02-25 * Remove unused files * GFX90A implementation update (ISA DROP 2024-0225) * GFX940 Implementation Update (ISA DROP 2024-0225) Commit: 2b70b8d4a1e58540cea7c72370af363a1b7259c6 https://github.com/dyninst/dyninst/commit/2b70b8d4a1e58540cea7c72370af363a1b7259c6 Author: bbiiggppiigg <bbiiggppi...@gmail.com> Date: 2024-08-02 (Fri, 02 Aug 2024) Changed paths: M dataflowAPI/h/ABI.h M dataflowAPI/h/liveness.h M dataflowAPI/src/ABI.C M dataflowAPI/src/RegisterMap.C M dataflowAPI/src/RegisterMap.h M dataflowAPI/src/liveness.C Log Message: ----------- Add liveness support for AMDGPU GFX908/90A/940 (#1772) * Add liveness support for AMDGPU GFX908 90A 940 Commit: 2d7817e088b09c237673e9f219291a65c5de3380 https://github.com/dyninst/dyninst/commit/2d7817e088b09c237673e9f219291a65c5de3380 Author: Kirill Batuzov <batuz...@ispras.ru> Date: 2024-08-22 (Thu, 22 Aug 2024) Changed paths: M common/h/registers/x86_64_regs.h Log Message: ----------- Revert "Fix duplicate base ID in x86_64 GPRs (#1702)" (#1766) This reverts commit 11baee8e51ca409b158718425d320be439bd2419. Code for am_reg in InstructionDecoder_x86::decodeOneOperand relies on internal register IDs being the same as their encoding in the machine instruction. Besides that, we need compatibility between x86 and x86_64 register IDs. Commit: 0ebb29d71f73aa254e2d0bb006c4fd5ff88828ff https://github.com/dyninst/dyninst/commit/0ebb29d71f73aa254e2d0bb006c4fd5ff88828ff Author: Tim Haines <thaines.as...@gmail.com> Date: 2024-08-30 (Fri, 30 Aug 2024) Changed paths: M .github/workflows/consumers.yaml M .github/workflows/pr-tests.yaml M .github/workflows/system-libs.yaml A .github/workflows/unit-tests.yaml M CHANGELOG.md M CMakeLists.txt M COPYRIGHT M cmake/DyninstLibrarySettings.cmake M cmake/DyninstOptions.cmake M cmake/DyninstPlatform.cmake M cmake/DyninstWarnings.cmake M cmake/tpls/DyninstBoost.cmake M common/CMakeLists.txt M common/doc/manual_frontpage.tex M common/h/Annotatable.h M common/h/Buffer.h M common/h/DynAST.h M common/h/Edge.h M common/h/Graph.h M common/h/MachSyscall.h M common/h/Node.h M common/h/SymReader.h M common/h/VariableLocation.h M common/h/concurrent.h A common/h/dyninst_visibility.h M common/h/entryIDs.h M common/h/mnemonics/x86_entryIDs.h M common/h/registers/AMDGPU/amdgpu_gfx90a_regs.h M common/h/registers/AMDGPU/amdgpu_gfx940_regs.h M common/h/registers/MachRegister.h M common/h/registers/aarch64_regs.h M common/h/registers/ppc32_regs.h M common/h/registers/ppc64_regs.h M common/h/registers/reg_def.h M common/h/registers/x86_64_regs.h M common/h/registers/x86_regs.h M common/h/util.h M common/src/Annotatable.C M common/src/MappedFile.h M common/src/Timer.C M common/src/Timer.h M common/src/addrtranslate.h M common/src/arch-aarch64.h M common/src/arch-power.h M common/src/arch-x86.C M common/src/arch-x86.h M common/src/debug_common.h M common/src/dthread.h M common/src/dyn_regs.C M common/src/freebsdHeaders.h M common/src/freebsdKludges.C M common/src/freebsdKludges.h M common/src/headers.h M common/src/linuxHeaders.h M common/src/linuxKludges.C M common/src/linuxKludges.h M common/src/lprintf.h M common/src/parseauxv.h M common/src/pathName.h M common/src/registers/MachRegister.C A common/src/registers/MachRegisterCache.h M common/src/stats.C M common/src/stats.h M common/src/util.C M dataflowAPI/doc/dataflowAPI.pdf M dataflowAPI/h/ABI.h M dataflowAPI/h/Absloc.h M dataflowAPI/h/AbslocInterface.h M dataflowAPI/h/SymEval.h M dataflowAPI/h/bitArray.h M dataflowAPI/h/liveness.h M dataflowAPI/h/slicing.h M dataflowAPI/h/stackanalysis.h M dataflowAPI/src/ABI.C M dataflowAPI/src/Absloc.C M dataflowAPI/src/AbslocInterface.C M dataflowAPI/src/ExpressionConversionVisitor.C M dataflowAPI/src/ExpressionConversionVisitor.h M dataflowAPI/src/RegisterMap.C M dataflowAPI/src/RegisterMap.h M dataflowAPI/src/RoseInsnFactory.C M dataflowAPI/src/RoseInsnFactory.h M dataflowAPI/src/SymEvalVisitors.h M dataflowAPI/src/convertOpcodes.C M dataflowAPI/src/liveness.C M dataflowAPI/src/slicing.C M dataflowAPI/src/stackanalysis.C M docker/build.sh M dwarf/h/dwarfExprParser.h M dwarf/h/dwarfFrameParser.h M dwarf/h/dwarfHandle.h M dwarf/h/dwarfResult.h M dwarf/src/dwarf_subrange.h M dynC_API/CMakeLists.txt M dynC_API/doc/dynC_API.pdf M dynC_API/h/dynC.h M dyninstAPI/CMakeLists.txt M dyninstAPI/doc/dyninstAPI.docx M dyninstAPI/doc/dyninstAPI.pdf M dyninstAPI/h/BPatch.h M dyninstAPI/h/BPatch_Set.h M dyninstAPI/h/BPatch_addressSpace.h M dyninstAPI/h/BPatch_basicBlock.h M dyninstAPI/h/BPatch_basicBlockLoop.h M dyninstAPI/h/BPatch_binaryEdit.h R dyninstAPI/h/BPatch_dll.h M dyninstAPI/h/BPatch_edge.h M dyninstAPI/h/BPatch_flowGraph.h M dyninstAPI/h/BPatch_frame.h M dyninstAPI/h/BPatch_function.h M dyninstAPI/h/BPatch_image.h M dyninstAPI/h/BPatch_instruction.h M dyninstAPI/h/BPatch_loopTreeNode.h M dyninstAPI/h/BPatch_memoryAccess_NP.h M dyninstAPI/h/BPatch_module.h M dyninstAPI/h/BPatch_object.h M dyninstAPI/h/BPatch_parRegion.h M dyninstAPI/h/BPatch_point.h M dyninstAPI/h/BPatch_process.h M dyninstAPI/h/BPatch_snippet.h M dyninstAPI/h/BPatch_sourceBlock.h M dyninstAPI/h/BPatch_sourceObj.h M dyninstAPI/h/BPatch_statement.h M dyninstAPI/h/BPatch_thread.h M dyninstAPI/h/BPatch_type.h M dyninstAPI/h/StackMod.h M dyninstAPI/src/BPatch_addressSpace.C M dyninstAPI/src/BPatch_basicBlock.C M dyninstAPI/src/BPatch_basicBlockLoop.C M dyninstAPI/src/BPatch_function.C M dyninstAPI/src/BPatch_memoryAccessAdapter.C M dyninstAPI/src/BPatch_memoryAccessAdapter.h M dyninstAPI/src/BPatch_module.C M dyninstAPI/src/BPatch_process.C M dyninstAPI/src/BPatch_snippet.C M dyninstAPI/src/BPatch_type.C M dyninstAPI/src/IAPI_to_AST.C M dyninstAPI/src/IAPI_to_AST.h M dyninstAPI/src/Patching.C M dyninstAPI/src/Patching.h M dyninstAPI/src/Relocation/CodeBuffer.C M dyninstAPI/src/Relocation/Springboard.C R dyninstAPI/src/Relocation/Transformers/Defensive.C M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C M dyninstAPI/src/Relocation/Transformers/Movement-analysis.h M dyninstAPI/src/Relocation/Widgets/CFWidget.C M dyninstAPI/src/StackMod/StackAccess.C M dyninstAPI/src/StackMod/StackModChecker.C M dyninstAPI/src/addressSpace.C M dyninstAPI/src/ast.C M dyninstAPI/src/ast.h M dyninstAPI/src/codeRange.C M dyninstAPI/src/codegen-aarch64.C M dyninstAPI/src/codegen-aarch64.h M dyninstAPI/src/codegen-power.C M dyninstAPI/src/codegen-power.h M dyninstAPI/src/codegen-x86.C M dyninstAPI/src/dynProcess.C M dyninstAPI/src/emit-power.h M dyninstAPI/src/emit-x86.C M dyninstAPI/src/freebsd.C M dyninstAPI/src/function.C M dyninstAPI/src/function.h M dyninstAPI/src/image.C M dyninstAPI/src/inst-aarch64.C M dyninstAPI/src/inst-power.C M dyninstAPI/src/inst-x86.C M dyninstAPI/src/instP.h M dyninstAPI/src/instPoint.C M dyninstAPI/src/linux-x86.C M dyninstAPI/src/mapped_module.C M dyninstAPI/src/mapped_module.h M dyninstAPI/src/mapped_object.C M dyninstAPI/src/mapped_object.h M dyninstAPI/src/parse-cfg.h M dyninstAPI/src/pcEventHandler.C R dyninstAPI/src/syscalltrap.h M dyninstAPI/src/unix.h M dyninstAPI/src/util.C M dyninstAPI/src/util.h M dyninstAPI_RT/src/RTcommon.c M dyninstAPI_RT/src/RTfreebsd.c M elf/h/Elf_X.h M external/rose/amdgpuInstructionEnum.h M instructionAPI/CMakeLists.txt R instructionAPI/capstone/aarch64.py A instructionAPI/capstone/aarch64/__init__.py A instructionAPI/capstone/aarch64/mnemonics.py A instructionAPI/capstone/aarch64/registers.py R instructionAPI/capstone/capstone.py R instructionAPI/capstone/import.py A instructionAPI/capstone/import_mnemonics.py R instructionAPI/capstone/ppc.py A instructionAPI/capstone/ppc/__init__.py A instructionAPI/capstone/ppc/mnemonics.py A instructionAPI/capstone/ppc/registers.py R instructionAPI/capstone/x86.py A instructionAPI/capstone/x86/__init__.py A instructionAPI/capstone/x86/mnemonics.py A instructionAPI/capstone/x86/registers.py M instructionAPI/doc/instructionAPI.pdf M instructionAPI/h/ArchSpecificFormatters.h M instructionAPI/h/BinaryFunction.h M instructionAPI/h/Dereference.h M instructionAPI/h/Expression.h M instructionAPI/h/Immediate.h M instructionAPI/h/Instruction.h M instructionAPI/h/InstructionAST.h M instructionAPI/h/InstructionCategories.h M instructionAPI/h/InstructionDecoder.h A instructionAPI/h/MultiRegister.h M instructionAPI/h/Operand.h M instructionAPI/h/Operation_impl.h M instructionAPI/h/Register.h M instructionAPI/h/Result.h M instructionAPI/h/Ternary.h M instructionAPI/h/Visitor.h A instructionAPI/h/interrupts.h A instructionAPI/h/syscalls.h R instructionAPI/src/AMDGPU/gfx908/amdgpu_gfx908_insn_entry.h M instructionAPI/src/AMDGPU/gfx908/appendOperands.C M instructionAPI/src/AMDGPU/gfx908/decodeOperands.C M instructionAPI/src/AMDGPU/gfx90a/InstructionDecoder-amdgpu-gfx90a.h M instructionAPI/src/AMDGPU/gfx90a/amdgpu_gfx90a_decoder_impl.C R instructionAPI/src/AMDGPU/gfx90a/amdgpu_gfx90a_insn_entry.h R instructionAPI/src/AMDGPU/gfx90a/amdgpu_gfx90a_opcode_tables.C M instructionAPI/src/AMDGPU/gfx90a/appendOperands.C M instructionAPI/src/AMDGPU/gfx90a/decodeOperands.C M instructionAPI/src/AMDGPU/gfx90a/finalizeOperands.C M instructionAPI/src/AMDGPU/gfx940/InstructionDecoder-amdgpu-gfx940.h M instructionAPI/src/AMDGPU/gfx940/amdgpu_gfx940_decoder_impl.C R instructionAPI/src/AMDGPU/gfx940/amdgpu_gfx940_opcode_tables.C M instructionAPI/src/AMDGPU/gfx940/appendOperands.C M instructionAPI/src/AMDGPU/gfx940/decodeOperands.C M instructionAPI/src/AMDGPU/gfx940/finalizeOperands.C M instructionAPI/src/ArchSpecificFormatters.C M instructionAPI/src/Expression.C M instructionAPI/src/Instruction.C M instructionAPI/src/InstructionCategories.C M instructionAPI/src/InstructionDecoder-x86.h M instructionAPI/src/InstructionDecoder.C M instructionAPI/src/InstructionDecoderImpl.C M instructionAPI/src/InstructionDecoderImpl.h A instructionAPI/src/MultiRegister.C M instructionAPI/src/Operand.C M instructionAPI/src/Operation.C M instructionAPI/src/Register.C M instructionAPI/src/Ternary.C A instructionAPI/src/interrupts.C A instructionAPI/src/syscalls.C M parseAPI/doc/API/CodeObject.tex M parseAPI/doc/API/Function.tex A parseAPI/doc/code_sample.cc A parseAPI/doc/example.cc M parseAPI/doc/parseAPI.pdf M parseAPI/h/CFG.h M parseAPI/h/CFGFactory.h M parseAPI/h/CFGModifier.h M parseAPI/h/CodeObject.h M parseAPI/h/CodeSource.h M parseAPI/h/GraphAdapter.h M parseAPI/h/InstructionSource.h M parseAPI/h/ParseContainers.h M parseAPI/h/SymLiteCodeSource.h M parseAPI/src/CodeObject.C M parseAPI/src/CodeSource.C M parseAPI/src/IA_IAPI.C M parseAPI/src/IA_IAPI.h M parseAPI/src/IA_aarch64.C M parseAPI/src/IA_power.C M parseAPI/src/IA_x86.C M parseAPI/src/IndirectAnalyzer.C M parseAPI/src/LoopAnalyzer.C M parseAPI/src/Parser.C M parseAPI/src/Parser.h M parseAPI/src/SymLiteCodeSource.C M parseAPI/src/debug_parse.h M parseAPI/src/dominator.C M parseThat/CMakeLists.txt M patchAPI/doc/patchAPI.pdf M patchAPI/doc/section/4_api_public.tex M patchAPI/h/AddrSpace.h M patchAPI/h/CFGMaker.h M patchAPI/h/Command.h M patchAPI/h/Instrumenter.h M patchAPI/h/PatchCFG.h M patchAPI/h/PatchCallback.h M patchAPI/h/PatchMgr.h M patchAPI/h/PatchModifier.h M patchAPI/h/PatchObject.h M patchAPI/h/Point.h M patchAPI/h/Snippet.h M patchAPI/src/PatchBlock.C M proccontrol/CMakeLists.txt M proccontrol/doc/proccontrol.docx M proccontrol/doc/proccontrol.pdf M proccontrol/h/Decoder.h M proccontrol/h/Event.h M proccontrol/h/EventType.h M proccontrol/h/Generator.h M proccontrol/h/Handler.h M proccontrol/h/Mailbox.h M proccontrol/h/PCErrors.h M proccontrol/h/PCProcess.h M proccontrol/h/PlatFeatures.h M proccontrol/h/ProcessSet.h M proccontrol/src/freebsd.C M proccontrol/src/int_thread_db.C M proccontrol/src/linux.C R proccontrol/src/notify_pipe.h M proccontrol/src/pcerrors.C M proccontrol/src/proc_service_wrapper.h M proccontrol/src/windows_handler.h M stackwalk/CMakeLists.txt M stackwalk/doc/stackwalk.pdf M stackwalk/h/frame.h M stackwalk/h/framestepper.h M stackwalk/h/procstate.h M stackwalk/h/swk_errors.h M stackwalk/h/symlookup.h M stackwalk/h/walker.h M stackwalk/src/callchecker.C M stackwalk/src/framestepper_pimple.h M symlite/h/SymLite-elf.h M symtabAPI/doc/API/Symtab/Symbol.tex M symtabAPI/doc/API/Types/Type.tex M symtabAPI/doc/symtabAPI.pdf M symtabAPI/h/AddrLookup.h M symtabAPI/h/Aggregate.h M symtabAPI/h/Archive.h M symtabAPI/h/Collections.h M symtabAPI/h/ExceptionBlock.h M symtabAPI/h/Function.h M symtabAPI/h/LineInformation.h M symtabAPI/h/Module.h M symtabAPI/h/RangeLookup.h M symtabAPI/h/Region.h M symtabAPI/h/Statement.h M symtabAPI/h/Symbol.h M symtabAPI/h/Symtab.h M symtabAPI/h/SymtabReader.h M symtabAPI/h/Type.h M symtabAPI/h/Variable.h M symtabAPI/h/relocationEntry.h M symtabAPI/h/symutil.h M symtabAPI/src/Aggregate.C M symtabAPI/src/ExceptionBlock.C M symtabAPI/src/Function.C M symtabAPI/src/Object-elf.C M symtabAPI/src/Object-elf.h M symtabAPI/src/Object-nt.C M symtabAPI/src/Object-nt.h M symtabAPI/src/Object.C M symtabAPI/src/Object.h M symtabAPI/src/Symbol.C M symtabAPI/src/Symtab-edit.C M symtabAPI/src/Symtab-lookup.C M symtabAPI/src/Symtab.C M symtabAPI/src/Type.C M symtabAPI/src/annotations.C M symtabAPI/src/annotations.h M symtabAPI/src/dwarfWalker.C M symtabAPI/src/emitElf.C M symtabAPI/src/emitElfStatic-aarch64.C M symtabAPI/src/emitElfStatic-ppc64.C M symtabAPI/src/parseDwarf.C M symtabAPI/src/relocationEntry-elf-aarch64.C M symtabAPI/src/relocationEntry-elf-ppc64.C M symtabAPI/src/relocationEntry-elf-x86.C M symtabAPI/src/relocationEntry.C Log Message: ----------- Merge branch 'master' into thaines/capstone_integration Compare: https://github.com/dyninst/dyninst/compare/89b9ec010335...0ebb29d71f73 To unsubscribe from these emails, change your notification settings at https://github.com/dyninst/dyninst/settings/notifications _______________________________________________ Dyninst-api mailing list Dyninst-api@cs.wisc.edu https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api