Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
514 commits
Select commit Hold shift + click to select a range
44e3bb5
Update GFX908 Decoder ISA-SPEC(02/22/23) (#1408)
bbiiggppiigg Apr 20, 2023
308bddc
Update GFX90A Decoder ISA-SPEC(02/22/23) (#1407)
bbiiggppiigg Apr 20, 2023
3e93225
Add callback for parsing unknown instructions (#1276)
hainest Apr 21, 2023
739ad57
CMake modernization (#1391)
hainest Apr 25, 2023
9a9c9e0
Make InstructionAPI::isArrayIndexValid const. (#1416)
hainest Apr 27, 2023
f8d1a31
warning fix: stack frame size (#1418)
kupsch Apr 27, 2023
719036a
Refactor Dockerfile.ubuntu (#1420)
hainest Apr 27, 2023
7621bc8
Add ubuntu-22.04 to dev container build (#1419)
hainest Apr 28, 2023
2e26598
Use default TBB when doing CI spack build (#1423)
hainest May 1, 2023
e8952d3
CI compiler multibuilds (#1415)
hainest May 1, 2023
5e37524
Github CI: make compiler multi-build a cron job (#1425)
hainest May 2, 2023
45614d7
Github CI: increase number of build jobs (#1424)
hainest May 2, 2023
e5409c4
Make CondVar non-copyable, non-moveable (#1426)
hainest May 9, 2023
d6ab42a
AddressTranslateSysV::adjustForAddrSpaceWrap: Fix C file descriptor l…
hainest May 9, 2023
85fb0f9
Remove virtual calls in constructor/destructor (#1428)
hainest May 9, 2023
ce097b5
Fix windows warnings (#1429)
hainest May 10, 2023
68fc3d8
Protect against self-assignment in copy constructors (#1430)
hainest May 10, 2023
6a73aba
Fix use of null pointer after check (#1432)
hainest May 10, 2023
f0c88be
Fix uninitialized member variables (#1431)
hainest May 10, 2023
c4a4228
Prevent use of possibly-uninitialized local variable (#1433)
hainest May 10, 2023
8676f10
Fix undefined behavior in integer operations (#1434)
hainest May 11, 2023
44d86e5
Fix several resource leaks (#1435)
hainest May 11, 2023
9696c64
Fix vector instruction lengths (#1439)
kupsch Jun 15, 2023
beae2a0
add header files to directly define std:: syms (#1443)
kupsch Jul 11, 2023
7014ee1
Remove Symtab copy constructor (#1447)
hainest Jul 14, 2023
88bf209
Remove Symtab::checkPPC64DescriptorSymbols (#1448)
hainest Jul 14, 2023
84786bd
Remove Symtab::mfForDebugInfo (#1449)
hainest Jul 14, 2023
683b050
Explicitly delete unusable special member functions in Symtab (#1450)
hainest Jul 14, 2023
ab91555
Clean up Symtab constructors (#1451)
hainest Jul 14, 2023
649e43f
Make Symtab::getContainingInlinedFunction lazy parsing threadsafe (#1…
hainest Jul 21, 2023
96f6344
Remove lazy initialization of IBSTrees in Symtab (#1454)
hainest Jul 24, 2023
d82356b
Fix EM_AMDGPU to use RELA as Region Type (#1444)
bbiiggppiigg Jul 24, 2023
d14dff7
Remove Object::dwarf_parse_aranges (#1462)
hainest Jul 25, 2023
8e17bc8
Fix x86 misspelled, incorrect, and invalid opcodes (#1421)
hainest Jul 25, 2023
88a774d
modernize InstructionAPI::Operand class (#1456)
kupsch Jul 25, 2023
e38d57c
fix x86_64 ret instruction formatting (#1457)
kupsch Jul 25, 2023
25ad35c
improve intel instruction & operand formatting (#1463)
kupsch Jul 25, 2023
6394752
modernize ArchSpecificFormatter classes (#1464)
kupsch Jul 26, 2023
7456c05
add getDisplayOrderedOperands interface (#1465)
kupsch Jul 26, 2023
d94f856
do not export Instruction::appendOperand (#1466)
kupsch Jul 26, 2023
43026f9
Add support for EM_INTELGT (#1468)
jmellorcrummey Jul 27, 2023
8fa753d
Do not decode operands for invalid opcode (#1467)
hainest Jul 27, 2023
67dfbb4
Fix hang when creating ELF dynamic sections (#1474)
bbiiggppiigg Aug 3, 2023
b6fcbb0
Clean up SymtabAPI::Function classes (#1475)
hainest Aug 8, 2023
d5055bc
Fix AMDGPU register formatting (#1473)
bbiiggppiigg Aug 9, 2023
9cba0b3
Don't include compiler-specific headers (#1477)
hainest Aug 9, 2023
cc88eac
Remove Symtab::forceFullLineInfoParse (#1478)
hainest Aug 9, 2023
5a12ccc
Clean up SymtabAPI::LineInformation class (#1479)
hainest Aug 11, 2023
fc40851
Remove Symtab::updateIndices (#1481)
hainest Aug 17, 2023
47605aa
Remove unused Object::find_symbol in Object-elf (#1480)
hainest Aug 17, 2023
789b946
Clean up unused global variables in Object-elf.C (#1483)
hainest Aug 17, 2023
d40984a
Remove unused Object::getFileName (#1489)
hainest Aug 18, 2023
366f920
Remove declaration of Object::load_shared_object (#1487)
hainest Aug 18, 2023
a49e5e5
Remove declaration of image::getModuleLanguageInfo (#1486)
hainest Aug 18, 2023
7132622
Remove Module::setName (#1485)
hainest Aug 18, 2023
369ec2d
Remove AObject::symsToModules_ (#1488)
hainest Aug 18, 2023
8226802
Remove patchAPI/example (#1491)
hainest Aug 18, 2023
692ff9f
Remove patchAPI/test/findPoint (#1490)
hainest Aug 18, 2023
6c2e31c
Remove parseAPI examples (#1494)
hainest Aug 21, 2023
bf6e869
Move inst2ast example to examples repo (#1492)
hainest Aug 21, 2023
7f1e24d
Make Symtab::parseTypesNow thread-safe (#1497)
hainest Aug 28, 2023
71f2e14
Refactor extracting CU tags from DWARF (#1495)
hainest Aug 28, 2023
f877989
Remove pd_dwarf_handler (#1496)
hainest Aug 28, 2023
50c33be
Use uniform CU checks in DwarfWalker (#1499)
hainest Aug 31, 2023
6360078
Fix responsibility inversion in Module::finalizeRanges (#1498)
hainest Sep 5, 2023
d04e892
Add newline in log message in DwarfWalker::parseModule (#1506)
hainest Sep 5, 2023
4638012
Workarounds to align decoder output with llvm-objdump (#1508)
bbiiggppiigg Sep 5, 2023
481ee34
Remove FunctionBase::setReturnType(Type*) (#1503)
hainest Sep 6, 2023
7acb767
Don't check for existing return type when parsing DWARF subprogram (#…
hainest Sep 6, 2023
d7047e2
Fix inverted logic in DwarfDyninst::is_cudie (#1505)
hainest Sep 6, 2023
6eec484
Use full filenames when handling Modules (#1501)
hainest Sep 6, 2023
212ccd3
Remove hasSpecification param from DwarfWalker::getReturnType (#1507)
hainest Sep 6, 2023
80f84e4
Remove ret_lock from SymtabAPI::FunctionBase (#1504)
hainest Sep 6, 2023
9fddc42
Unify naming of Modules (#1500)
hainest Sep 7, 2023
52acf27
Github CI: terminate PR pipeline at first failure (#1513)
hainest Sep 7, 2023
bec7e21
Github CI: execute external tests on PR (#1512)
hainest Sep 7, 2023
e4e6fbc
Refactor dwarf/dwarf_names.h (#1514)
hainest Sep 8, 2023
9a0a0a2
Parse all DWARF source files in DwarfWalker::buildSrcFiles (#1515)
hainest Sep 8, 2023
f2d2f4c
Remove DwarfWalker::version member variable (#1516)
hainest Sep 8, 2023
e57886e
Github CI: use correct directory when running external-tests on PR (#…
hainest Sep 8, 2023
782ec44
Don't create a name for artificial DIEs with a DW_AT_name (#1520)
hainest Sep 8, 2023
822c1c0
Fix Implementation for RoseOperation::extractOp (#1511)
bbiiggppiigg Sep 11, 2023
423c1bb
Fix int size of rose operations return values (#1522)
bbiiggppiigg Sep 11, 2023
633adb9
Add indirect branch support for gfx908 and gfx90a (#1519)
bbiiggppiigg Sep 14, 2023
e995682
Github CI: Build systemtap weekly (#1524)
hainest Sep 18, 2023
4fe97f3
Github CI: Build LLNL/STAT weekly (#1525)
hainest Sep 19, 2023
384377d
Github CI: Build TAU weekly (#1526)
hainest Sep 19, 2023
1c5494f
GithubCI: Allow conumer builds to be run manually (#1528)
hainest Sep 19, 2023
6c870fb
Github CI: Add weekly build of MUST (#1527)
hainest Sep 19, 2023
a66e73e
GithubCI: Re-enable consumer builds (#1529)
hainest Sep 20, 2023
4298a0a
Remove Symtab::fixup_SymbolAddr (#1530)
hainest Sep 20, 2023
39fe75f
GithubCI: allow manually running all CI workflows (#1533)
hainest Sep 21, 2023
ee70be0
Remove dwarfWalker::deallocateLocationList (#1532)
hainest Sep 21, 2023
861d427
Refactor Symtab::addSymbolToAggregate (#1534)
hainest Sep 21, 2023
9a88a32
Hide implementations of complex data structures in SymtabAPI::Symtab …
hainest Sep 22, 2023
6c217eb
Remove dwarfWalker::getHighPCLowPC (#1536)
hainest Sep 22, 2023
747f0d8
Refactor DwarfWalker::dieRanges (#1535)
hainest Sep 23, 2023
f523c56
Fix overflow of fields in instruction layout (#1476)
bbiiggppiigg Sep 28, 2023
2c4f0a1
Fix duplicate symbol entries in Symtab:everyFunction (#1542)
hainest Sep 28, 2023
50b0f4a
Use fully-qualified name in fix_global_symbol_modules_static_dwarf (#…
hainest Sep 28, 2023
1888935
Default-initialized 'std::once_flag's in symtab_impl (#1539)
hainest Sep 28, 2023
9e85525
Make a default module a class invariant in Symtab (#1538)
hainest Sep 28, 2023
19b8804
Make Symtab::getDefaultModule const (#1543)
hainest Sep 28, 2023
6cf1e39
Replace boost::multi_index_container with tbb::concurrent_unordered_s…
hainest Sep 28, 2023
8ee551c
Mark SymtabAPI::Function::removeSymbol as 'override' (#1549)
hainest Sep 29, 2023
f41e644
Add new Symtab interface for accessing modules by offset (#1545)
hainest Sep 29, 2023
5752642
Remove public Symtab API for adding line information (#1547)
hainest Sep 29, 2023
500af25
add deprecated annotation support (#1550)
kupsch Sep 29, 2023
8d221c3
GithubCI: improve error handling (#1548)
hainest Sep 29, 2023
18b0f40
Add findModulesByName(std::string const&) (#1552)
hainest Sep 29, 2023
dafddce
Add Initial Support for GFX940 (#1541)
bbiiggppiigg Oct 2, 2023
523969e
GithubCI: fix names in consumer weekly build (#1553)
hainest Oct 2, 2023
dd5dc02
fix deprecated annotation warning using clang (#1554)
kupsch Oct 2, 2023
d13e7ba
Mark Symtab::findModuleByOffset(Module*&,Offset) with DYNINST_DEPRECA…
hainest Oct 2, 2023
d1b1e0e
reorganize and cleanup Symtab.h (#1557)
kupsch Oct 3, 2023
85f3c8e
Drop Support for AMDGPU GFX900(VEGA) (#1555)
bbiiggppiigg Oct 3, 2023
9e9d257
Create unique names for unnamed partial DWARF DIEs (#1558)
hainest Oct 5, 2023
732e192
warning fix: improve logical-op handling (#1559)
kupsch Oct 6, 2023
4065d80
GithubCI: add testing on Fedora-39 (#1560)
hainest Oct 6, 2023
74fc6e5
Remove DwarfWalker::setModuleFromName (#1546)
hainest Oct 7, 2023
ebdf962
Remove Symtab::changeSymbolOffset (#1567)
hainest Oct 9, 2023
0000d48
Clean up dead code in dwarfWalker.C (#1566)
hainest Oct 9, 2023
81dc509
Improve DWARF debugging in Object::fix_global_symbol_modules_static_d…
hainest Oct 9, 2023
c9d21d5
Fix inline detection in findFuncName (#1563)
hainest Oct 9, 2023
7958fd6
Remove Module::findFunctionsByName (#1562)
hainest Oct 9, 2023
d2d4821
Remove Module::findFunctionByEntryOffset (#1561)
hainest Oct 9, 2023
64f4da8
Remove Symtab::findModuleByName(Module *&, std::string) (#1565)
hainest Oct 9, 2023
7e62e5e
Refactor Symtab::getOrCreateModule (#1568)
hainest Oct 9, 2023
b39e7a8
fix gcc 6's broken __has_x_attribute (#1569)
kupsch Oct 10, 2023
914fac2
warning fix: false positive maybe uninitialized (#1570)
kupsch Oct 10, 2023
ddd2315
Add Symtab::getContainingModule(Offset) (#1571)
hainest Oct 10, 2023
215b023
Use Symtab::getContainingModule instead of Symtab::findModuleByOffset…
hainest Oct 11, 2023
1c5f496
Refactor symtab/Module.h (#1573)
hainest Oct 11, 2023
c0222ea
Deprecate mapped_module::truncateLineFilenames (#1574)
hainest Oct 11, 2023
5835e29
Remove DWARFisms from Symtab::Module (#1575)
hainest Oct 12, 2023
c14111f
Remove MODULE_ANNOTATABLE_CLASS (#1576)
hainest Oct 12, 2023
3e6f316
Remove Module::findFunctionByEntryOffset (#1577)
hainest Oct 12, 2023
109c2d4
Reduce usage of concurrent.h (#1578)
hainest Oct 12, 2023
eb3d61d
Replace Module::getAllFunctions (#1579)
hainest Oct 12, 2023
7b9fc48
Fix naming of Modules with relative CU paths (#1580)
hainest Oct 12, 2023
356960f
Fix line information parsing for CUs with no aranges (#1581)
hainest Oct 13, 2023
85fd674
Add missing memory operand sizes and decoding in instructionAPI::Resu…
hainest Oct 15, 2023
6463b96
Handle implicit operand for call instruction to ROSE (#1583)
hainest Oct 15, 2023
9e29748
Remove mapped_module::getAddrFromLine (#1586)
hainest Oct 16, 2023
077d65c
Move entryIDs into separate data files (#1585)
hainest Oct 17, 2023
3493896
Fix redundant parsing of linemap information (#1587)
hainest Oct 17, 2023
a3137e8
Reorder enumerators in instructionAPI::Result::Result_Type (#1588)
hainest Oct 23, 2023
b73c384
Remove instructionAPI/h/RegisterIDs.h (#1589)
hainest Oct 25, 2023
2867d78
Remove BPatch_flowGraph::getLoopMinMaxSourceLines (#1591)
hainest Oct 26, 2023
9c00fd5
Remove Singleton.h (#1592)
hainest Oct 26, 2023
40c64db
Remove Pair.h and pdpair (#1593)
hainest Oct 26, 2023
ef9bf0a
Refactor common/dyn_regs.h (#1590)
hainest Oct 28, 2023
d3cdf79
Remove codeRange::operator<< (#1595)
hainest Oct 28, 2023
f4a06e0
Remove common/std_namesp.h (#1594)
hainest Oct 28, 2023
8fa3ee2
Remove Symtab::getSymbolByIndex (#1610)
hainest Oct 30, 2023
d19e06b
Remove BINEDIT_DEBUG (#1607)
hainest Oct 30, 2023
acfa3f3
Remove Symtab::newModule declaration (#1606)
hainest Oct 30, 2023
57b65e9
Remove char* ctor overload (#1605)
hainest Oct 30, 2023
0073e62
Lazily parse function ranges in Symtab::getContainingFunction (#1603)
hainest Oct 30, 2023
895520f
Clean up MachRegister class (#1604)
hainest Oct 30, 2023
695b5f1
Make SymtabAPI::errMsg thread_local (#1602)
hainest Oct 30, 2023
da1aafd
Remove dyninst.h, stringDecl.h (#1600)
hainest Oct 30, 2023
08dcfab
Remove module contains check in Symtab::create{Function,Variable} (#1…
hainest Oct 30, 2023
ad4953f
Remove Symtab::exportXML,exportBin,importBin (#1599)
hainest Oct 30, 2023
72bba13
Remove Symtab(MappedFile*) (#1598)
hainest Oct 30, 2023
0e4cc89
Remove redundant declaration of SymtabAPI::FuncRangeCollection (#1597)
hainest Oct 30, 2023
95254a1
Remove FunctionBase::ranges_lock (#1596)
hainest Oct 30, 2023
9fa5f6d
Guarantee operands in AstOperatorNode are non-null (#1609)
hainest Oct 30, 2023
febeae6
Make null pointer checks for ParseAPI::Block::_obj consistent (#1608)
hainest Oct 30, 2023
135fa2d
Remove locking before calls to convertDebugOffset (#1611)
hainest Oct 30, 2023
362d5f8
Improve name handling in MachRegister (#1612)
hainest Oct 30, 2023
209121a
Fix MachRegister bool checks (#1613)
hainest Oct 31, 2023
8b173b1
Remove extraneous variables in Symbol.C (#1615)
hainest Nov 3, 2023
ca945b1
Remove useless assert in binaryEdit::writeFile (#1616)
hainest Nov 3, 2023
eaf4a6f
Remove code protected by USE_ADDRESS_MAPS (#1617)
hainest Nov 3, 2023
d3a965a
Remove addTrapTableSpace_win and addTrapTable_win in binaryEdit.C (#1…
hainest Nov 3, 2023
0a8113f
Remove dead code binaryEdit.C (#1620)
hainest Nov 6, 2023
cf4dc13
Fix astOperatorNode semantics (#1621)
hainest Nov 6, 2023
c220378
Clean up common/Types.h (#1619)
hainest Nov 6, 2023
198e41d
Clean up dead code in common/ast.C (#1622)
hainest Nov 6, 2023
9256b31
Explicitly mark overridden member functions in Object-elf (#1624)
hainest Nov 7, 2023
4039188
Deprecate Symtab::getOrCreateModule (#1623)
hainest Nov 7, 2023
cddf972
Restructure operand decoding logic for AMDGPU (#1614)
bbiiggppiigg Nov 7, 2023
b7ca05a
Construct a Module from the CU's offset not its PC (#1626)
hainest Nov 14, 2023
dd3dfbb
Remove MachineRegister::getSubRegValue (#1631)
hainest Nov 21, 2023
d9426a1
Clean up and improve documentation of x86_32 registers (#1629)
hainest Nov 21, 2023
30f08e7
Clean up and improve documentation of x86_64 registers (#1630)
hainest Nov 21, 2023
6382220
Remove deleted x86 RegisterDictionary functions (#1632)
hainest Nov 24, 2023
5ac2236
Update x86 DWARF registers maps (#1633)
hainest Nov 27, 2023
dfc3a84
Add x86_{i386,64} memory-management and x87 control/status registers …
hainest Nov 28, 2023
3b64ef4
Synchronize x86 mnemonics with Capstone (#1634)
hainest Nov 29, 2023
8bc4c01
Add missing x86_64 control and debug registers (#1638)
hainest Nov 29, 2023
57fe4f1
Add DWARF mappings for cr8-15 and dr8-15 (#1639)
hainest Nov 29, 2023
151ade9
Add debugging functions for instructionAPI (#1640)
hainest Dec 1, 2023
c192792
Clean up includes in instructionAPI/Result.h (#1641)
hainest Dec 1, 2023
aa7b692
Set new CMake policy for upper-case <NAME>_ROOT variables (#1642)
hainest Dec 5, 2023
a40fbd3
Clean up InstructionAPI::Operation (#1643)
hainest Dec 13, 2023
0a783a2
Remove unused debug code from AMD 908,90a instruction decoder (#1645)
hainest Dec 13, 2023
c4c4ade
Fix register check in LivenessAnalyzer::isMMX (#1644)
hainest Dec 22, 2023
b4ed306
Docker: add script to build all base images (#1649)
hainest Dec 26, 2023
17673c8
Docker: Use named arguments in build scripts (#1648)
hainest Dec 26, 2023
4e09732
Remove proccontrol/dumplibpthread.asm (#1651)
hainest Dec 26, 2023
2881b8e
GithubCI : Add more Ubuntu and Fedora versions (#1652)
hainest Dec 26, 2023
38c1c6b
Remove dataflowAPI/src/templates.C (#1654)
hainest Dec 27, 2023
b3a0d44
Write to stderr in ParseAPI::parsing_printf (#1650)
hainest Dec 27, 2023
4175b2b
Move addrRange.h into stackwalk (#1655)
hainest Dec 29, 2023
dd5dbb7
Remove non-printable characters from common/lprintf.h (#1656)
hainest Dec 30, 2023
2d86be4
Remove common/machineType.h (#1657)
hainest Dec 31, 2023
2005d42
Don't use capture lambda in ParseAPI::parsing_printf_int (#1658)
hainest Jan 9, 2024
39899e5
GithubCI: Add gcc-13, clang-16,17 to multicompiler builds (#1659)
hainest Jan 9, 2024
4f1cfd0
Docker: only build base images in build_base_images.sh (#1660)
hainest Jan 9, 2024
1e1bc62
Github CI: Pass '-y' to apt when removing libomp (#1661)
hainest Jan 9, 2024
123bcf2
Fix libstdc++ noexcept requirement for Operand ctor (#1663)
hainest Jan 9, 2024
e67b1d8
Suppress -Wframe-larger-than in power_opcode_table in clang-1{3,7} (#…
hainest Jan 9, 2024
9f0ea4c
Github CI: Use gcc-13 for c++2{0,3} (#1664)
hainest Jan 10, 2024
8d9b096
GithubCI: Add weekly test for parsing all system libs in containers (…
hainest Jan 10, 2024
f0108c7
GithubCI: only build hpctoolkit@develop (#1667)
hainest Jan 10, 2024
cc5192e
GithubCI: don't fail fast for PR tests (#1666)
hainest Jan 10, 2024
2142a50
GithubCI: update systemtap weekly test build (#1676)
hainest Jan 18, 2024
e76e036
Use code region boundaries for ParseAPI::Function::less comparator (#…
batuzovk Feb 5, 2024
8bfd498
Remove unprintable characters from common/src/Timer.C (#1679)
hainest Feb 13, 2024
929734d
fix operator<< for Module* (#1682)
kupsch Feb 15, 2024
6c1dba4
correctly detect x86 LEA instructions as NOP (#1681)
kupsch Feb 19, 2024
7f4708f
IndirectAnalyzer: fix potential segfault (#1672)
ilil01 Feb 19, 2024
383e034
Remove dyninstAPI/Relocation/Transformers/Defensive.C (#1685)
hainest Feb 19, 2024
165f19c
Refactor IA_IAPI::isSyscall,isInterrupt into arch-specific files (#1684)
hainest Feb 19, 2024
9debe89
Remove unreachable code in BPatch_addressSpace::getRegisters (#1687)
hainest Feb 26, 2024
091929d
Improve syscall and interrupt instruction detection (#1686)
hainest Feb 26, 2024
5d28082
Add CMake option to control symbol visibility (#1688)
hainest Feb 26, 2024
19cccf1
Fix logic error in IA_IAPI::isInterruptOrSyscall (#1683)
hainest Feb 27, 2024
ecdc2a5
update copyright header and date (#1689)
kupsch Feb 27, 2024
443e0a2
Remove explicit check for system calls in parse_frame_one_iteration (…
hainest Feb 27, 2024
48593c3
Unify system call detection (#1692)
hainest Feb 27, 2024
2f2f73f
Unify software interrupt instruction detection (#1693)
hainest Feb 28, 2024
ff87bfc
Github CI: add unit tests (#1694)
hainest Feb 29, 2024
268b630
release 13.0.0 versions & docs (#1695)
kupsch Feb 29, 2024
e0d5940
Don't find pre-installed boost, tbb, eltutils and LibIberty
pranswarup Apr 28, 2025
b4350c3
Update Instrumenter.C
pranswarup May 9, 2025
fceecfe
SWDEV-511629: Check for null pointer (#4)
ajanicijamd Oct 24, 2025
5607882
Add a synchronized breakpoint type (#2137)
hainest Feb 3, 2026
39e608e
Add proccontrol support for threads spawned before reaching main (#2131)
hainest Feb 5, 2026
762ca3e
Fix build with external build dependencies (#10)
dgaliffiAMD Mar 25, 2026
77203e0
Improve Transformer error message (#2204) (#13)
kcossett-amd Apr 13, 2026
da38f41
include stdint.h and cstdint explicitly for newer gcc versions (#14)
lamikr Apr 20, 2026
52c7fbb
[Cherry-pick] Implement `isSharedLib` for `BPatch_object` (#15)
kcossett-amd Apr 23, 2026
42c0744
Remove boost dependency (#16)
sputhala-amd May 5, 2026
d0f9201
Add CODEOWNERS file for ROCm team (#18)
dgaliffiAMD May 5, 2026
d8c2c77
[rocprofiler-systems] Add support for ELF's `RELR` dynamic relocation…
kcossett-amd May 6, 2026
1b7d71a
Fix shell-splits CMAKE_C_FLAGS and CMAKE_CXX_FLAGS (#21)
mradosav-amd May 21, 2026
8d6f2bf
[Cherry-pick] Fix ELF boundary check in code segment selection (#20)
kcossett-amd May 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
85 changes: 85 additions & 0 deletions .cmake-format.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
parse:
additional_commands:
dyninst_library:
flags:
- BUILD_SHARED
- BUILD_STATIC
kwargs:
HEADERS: '*'
SOURCES: '*'
DEPENDS: '*'
COMPILE_DEFINITIONS: '*'
COMPILE_FEATURES: '*'
COMPILE_OPTIONS: '*'
DESTINATION: '*'
DEFAULT_VISIBILITY: '*'
INCLUDE_DIRECTORIES: '*'
LINK_LIBRARIES: '*'
LINK_OPTIONS: '*'
PROPERTIES: '*'
dyninst_add_cache_option:
kwargs:
CACHE: '*'
override_spec: {}
vartags: []
proptags: []
format:
disable: false
line_width: 90
tab_size: 2
use_tabchars: false
fractional_tab_policy: use-space
max_subgroups_hwrap: 2
max_pargs_hwrap: 6
max_rows_cmdline: 2
separate_ctrl_name_with_space: false
separate_fn_name_with_space: false
dangle_parens: false
dangle_align: child
min_prefix_chars: 4
max_prefix_chars: 10
max_lines_hwrap: 2
line_ending: unix
command_case: lower
keyword_case: upper
always_wrap: []
enable_sort: true
autosort: false
require_valid_layout: false
layout_passes: {}
markup:
bullet_char: '-'
enum_char: '*'
first_comment_is_literal: true
literal_comment_pattern: ^#
fence_pattern: ^\s*([`~]{3}[`~]*)(.*)$
ruler_pattern: ^\s*[^\w\s]{3}.*[^\w\s]{3}$
explicit_trailing_pattern: '#<'
hashruler_min_length: 10
canonicalize_hashrulers: true
enable_markup: false
lint:
disabled_codes: []
function_pattern: '[0-9a-z_]+'
macro_pattern: '[0-9A-Z_]+'
global_var_pattern: '[A-Z][0-9A-Z_]+'
internal_var_pattern: _[A-Z][0-9A-Z_]+
local_var_pattern: '[a-z][a-z0-9_]+'
private_var_pattern: _[0-9a-z_]+
public_var_pattern: '[A-Z][0-9A-Z_]+'
argument_var_pattern: '[a-z][a-z0-9_]+'
keyword_pattern: '[A-Z][0-9A-Z_]+'
max_conditionals_custom_parser: 2
min_statement_spacing: 1
max_statement_spacing: 2
max_returns: 6
max_branches: 12
max_arguments: 5
max_localvars: 15
max_statements: 50
encode:
emit_byteorder_mark: false
input_encoding: utf-8
output_encoding: utf-8
misc:
per_command: {}
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @ROCm/rocprof-sys
75 changes: 75 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Build Dyninst

on:
workflow_call:
inputs:
name:
required: true
type: string
os:
required: true
type: string
extra-libs:
required: false
type: string
extra-cmake-flags:
required: false
type: string
c-compiler:
required: true
type: string
cxx-compiler:
required: true
type: string
is-clang:
required: false
type: boolean
default: false

jobs:
build:
permissions:
packages: read
strategy:
fail-fast: false
matrix:
build-type: ['DEBUG', 'RELWITHDEBINFO', 'RELEASE']
runs-on: ubuntu-latest
container:
image: ghcr.io/dyninst/amd64/${{ inputs.os }}:latest
credentials:
username: ${{ github.actor }}
password: ${{ secrets.github_token }}
name: ${{ inputs.name }} (${{ matrix.build-type }})
steps:
# Clang doesn't allow for multiple libomp installations
- name: Clean libomp install
if: ${{ inputs.is-clang }}
run: apt remove --purge -y "libomp*"

- name: Install C compiler (${{ inputs.c-compiler }})
run: |
apt update -qq
apt install -qq --no-install-recommends -y ${{ inputs.c-compiler }}

# There is no apt package for clang++
- name: Install ${{ inputs.cxx-compiler }}
if: ${{ !inputs.is-clang }}
run: apt install -qq --no-install-recommends -y ${{ inputs.cxx-compiler }}

- name: Install extra libs (${{ inputs.extra-libs }})
if: ${{ inputs.extra-libs != '' }}
run: apt install -qq --no-install-recommends -y ${{ inputs.extra-libs }}

- name: Configure Dyninst (${{ matrix.build-type }})
shell: bash
run: |
cmake /dyninst/src \
-DCMAKE_BUILD_TYPE="${{ matrix.build-type }}" \
-DCMAKE_C_COMPILER="${{ inputs.c-compiler }}" \
-DCMAKE_CXX_COMPILER="${{ inputs.cxx-compiler }}" \
-DDYNINST_WARNINGS_AS_ERRORS=ON ${{ inputs.extra-cmake-flags }}

- name: Build Dyninst
run: |
cmake --build . --parallel 2
33 changes: 33 additions & 0 deletions .github/workflows/cmake-formatting.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@

name: CMake Formatting

on:
pull_request:
branches: [ master ]
paths:
- '**.cmake'
- '**CMakeLists.txt'
workflow_dispatch:

jobs:
cmake-formatting:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y python3-pip
python3 -m pip install cmake-format
- name: cmake-format
run: |
set +e
cmake-format -i $(find . -type f | egrep 'CMakeLists.txt|\.cmake$')
if [ $(git diff | wc -l) -gt 0 ]; then
echo -e "\nError! CMake files not formatted."
echo -e "\nRun the following to fix:"
for f in $(git diff --name-only); do echo -e " cmake-format -i $f"; done
echo
exit 1
fi
130 changes: 130 additions & 0 deletions .github/workflows/compiler-multibuild.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# 1. Build with multiple versions of gcc and clang using the ubuntu-provided compiler
# 2. Using the latest version of each compiler, build against all supported C++ standards

name: Compiler multibuild

on:
schedule:
- cron: '0 3 * * 1' # 3AM on Monday
workflow_dispatch:

jobs:
gcc-ubuntu-20_04:
strategy:
fail-fast: false
matrix:
version: [7, 8, 9, 10]
uses: ./.github/workflows/build.yaml
with:
name: gcc-${{ matrix.version }}
os: "ubuntu-20.04"
c-compiler: "gcc-${{ matrix.version }}"
cxx-compiler: "g++-${{ matrix.version }}"

gcc-ubuntu-22_04:
strategy:
fail-fast: false
matrix:
version: [11, 12]
uses: ./.github/workflows/build.yaml
with:
name: gcc-${{ matrix.version }}
os: "ubuntu-22.04"
c-compiler: "gcc-${{ matrix.version }}"
cxx-compiler: "g++-${{ matrix.version }}"

gcc-ubuntu-23_10:
strategy:
fail-fast: false
matrix:
version: [13]
uses: ./.github/workflows/build.yaml
with:
name: gcc-${{ matrix.version }}
os: "ubuntu-23.10"
c-compiler: "gcc-${{ matrix.version }}"
cxx-compiler: "g++-${{ matrix.version }}"


clang-ubuntu-20_04:
strategy:
fail-fast: false
matrix:
version: [7, 8, 9, 10, 11, 12]
uses: ./.github/workflows/build.yaml
with:
name: clang-${{ matrix.version }}
os: "ubuntu-20.04"
c-compiler: "clang-${{ matrix.version }}"
cxx-compiler: "clang++-${{ matrix.version }}"
is-clang: true
extra-libs: "libomp-${{ matrix.version }}-dev"

clang-ubuntu-22_04:
strategy:
fail-fast: false
matrix:
version: [13, 14, 15]
uses: ./.github/workflows/build.yaml
with:
name: clang-${{ matrix.version }}
os: "ubuntu-22.04"
c-compiler: "clang-${{ matrix.version }}"
cxx-compiler: "clang++-${{ matrix.version }}"
is-clang: true
extra-libs: "libomp-${{ matrix.version }}-dev"

clang-ubuntu-23_10:
strategy:
fail-fast: false
matrix:
version: [16, 17]
uses: ./.github/workflows/build.yaml
with:
name: clang-${{ matrix.version }}
os: "ubuntu-23.10"
c-compiler: "clang-${{ matrix.version }}"
cxx-compiler: "clang++-${{ matrix.version }}"
is-clang: true
extra-libs: "libomp-${{ matrix.version }}-dev"

gcc-cxx-standards-11-17:
strategy:
fail-fast: false
matrix:
std: [11, 14, 17]
uses: ./.github/workflows/build.yaml
with:
name: gcc-cxx-${{ matrix.std }}
os: "ubuntu-22.04"
c-compiler: "gcc-12"
cxx-compiler: "g++-12"
extra-cmake-flags: "-DDYNINST_CXX_LANGUAGE_STANDARD=${{ matrix.std }}"

gcc-cxx-standards-20-23:
strategy:
fail-fast: false
matrix:
std: [20, 23]
uses: ./.github/workflows/build.yaml
with:
name: gcc-cxx-${{ matrix.std }}
os: "ubuntu-23.10"
c-compiler: "gcc-13"
cxx-compiler: "g++-13"
extra-cmake-flags: "-DDYNINST_CXX_LANGUAGE_STANDARD=${{ matrix.std }}"

clang-cxx-standards:
strategy:
fail-fast: false
matrix:
std: [11, 14, 17] # clang has a bug with 20+ and operator== reflexiveness
uses: ./.github/workflows/build.yaml
with:
name: cxx-${{ matrix.std }}
os: "ubuntu-22.04"
c-compiler: "clang-15"
cxx-compiler: "clang++-15"
is-clang: true
extra-cmake-flags: "-DDYNINST_CXX_LANGUAGE_STANDARD=${{ matrix.std }}"
extra-libs: "libomp-15-dev"
Loading