Bump Ghidra HEAD commit 43f4fcf95
Changed files:
```
M Ghidra/Processors/68000/data/languages/68000.pspec
M Ghidra/Processors/ARM/data/languages/ARM.cspec
M Ghidra/Processors/ARM/data/languages/ARM.sinc
M Ghidra/Processors/ARM/data/languages/ARM8m_be.slaspec
M Ghidra/Processors/ARM/data/languages/ARM8m_le.slaspec
M Ghidra/Processors/ARM/data/languages/ARMCortex.pspec
M Ghidra/Processors/ARM/data/languages/ARMTHUMBinstructions.sinc
M Ghidra/Processors/ARM/data/languages/ARM_apcs.cspec
M Ghidra/Processors/ARM/data/languages/ARM_v45.cspec
M Ghidra/Processors/ARM/data/languages/ARM_v45.pspec
M Ghidra/Processors/ARM/data/languages/ARM_win.cspec
M Ghidra/Processors/ARM/data/languages/ARMinstructions.sinc
M Ghidra/Processors/ARM/data/languages/ARMneon.sinc
M Ghidra/Processors/ARM/data/languages/ARMt.pspec
M Ghidra/Processors/ARM/data/languages/ARMtTHUMB.pspec
M Ghidra/Processors/ARM/data/languages/ARMt_v45.pspec
M Ghidra/Processors/ARM/data/languages/ARMt_v6.pspec
M Ghidra/Processors/ARM/data/languages/ARMv8.sinc
A Ghidra/Processors/Hexagon/Module.manifest
A Ghidra/Processors/Hexagon/certification.manifest
A Ghidra/Processors/Hexagon/data/languages/Hexagon.opinion
A Ghidra/Processors/Hexagon/data/languages/hexagon.cspec
A Ghidra/Processors/Hexagon/data/languages/hexagon.dwarf
A Ghidra/Processors/Hexagon/data/languages/hexagon.ldefs
A Ghidra/Processors/Hexagon/data/languages/hexagon.pspec
A Ghidra/Processors/Hexagon/data/languages/hexagon.sinc
A Ghidra/Processors/Hexagon/data/languages/hexagon.slaspec
A Ghidra/Processors/Hexagon/data/languages/hexagon_float.sinc
A Ghidra/Processors/Hexagon/data/languages/hexagon_hvx.sinc
A Ghidra/Processors/Hexagon/data/languages/hexagon_left.sinc
A Ghidra/Processors/Hexagon/data/languages/hexagon_right.sinc
M Ghidra/Processors/MIPS/data/languages/mips.sinc
M Ghidra/Processors/MIPS/data/languages/mips16.sinc
M Ghidra/Processors/MIPS/data/languages/mips32.pspec
M Ghidra/Processors/MIPS/data/languages/mips32Instructions.sinc
M Ghidra/Processors/MIPS/data/languages/mips32R6.pspec
M Ghidra/Processors/MIPS/data/languages/mips32_eabi.cspec
M Ghidra/Processors/MIPS/data/languages/mips32_fp64.cspec
M Ghidra/Processors/MIPS/data/languages/mips32be.cspec
M Ghidra/Processors/MIPS/data/languages/mips32le.cspec
M Ghidra/Processors/MIPS/data/languages/mips32micro.pspec
M Ghidra/Processors/MIPS/data/languages/mips64.pspec
M Ghidra/Processors/MIPS/data/languages/mips64R6.pspec
M Ghidra/Processors/MIPS/data/languages/mips64_32_n32.cspec
M Ghidra/Processors/MIPS/data/languages/mips64_32_o32.cspec
M Ghidra/Processors/MIPS/data/languages/mips64_32_o64.cspec
M Ghidra/Processors/MIPS/data/languages/mips64be.cspec
M Ghidra/Processors/MIPS/data/languages/mips64le.cspec
M Ghidra/Processors/MIPS/data/languages/mips64micro.pspec
M Ghidra/Processors/MIPS/data/languages/mipsmicro.sinc
M Ghidra/Processors/PowerPC/data/languages/ppc_32.pspec
M Ghidra/Processors/PowerPC/data/languages/ppc_32_mpc8270.pspec
M Ghidra/Processors/PowerPC/data/languages/ppc_64.pspec
M Ghidra/Processors/Xtensa/data/languages/xtensa.pspec
M Ghidra/Processors/tricore/data/languages/tc172x.pspec
M Ghidra/Processors/tricore/data/languages/tc176x.pspec
M Ghidra/Processors/tricore/data/languages/tc29x.pspec
M Ghidra/Processors/tricore/data/languages/tricore.pspec
M Ghidra/Processors/x86/data/languages/x86-16-real.pspec
M Ghidra/Processors/x86/data/languages/x86-16.pspec
M Ghidra/Processors/x86/data/languages/x86-64-compat32.pspec
M Ghidra/Processors/x86/data/languages/x86-64.pspec
M Ghidra/Processors/x86/data/languages/x86.pspec
```
Commit details:
```
[Commit 1/7]
Hash: 84fb9e72f8065c6d27804209199631e5931cf743
Date: 2026-03-24 17:51:27 +0000
Message: GP-0: Fixed ARM disassembly test regressions
Files changed:
M Ghidra/Processors/ARM/data/languages/ARMTHUMBinstructions.sinc
M Ghidra/Processors/ARM/data/languages/ARMinstructions.sinc
[Commit 2/7]
Hash: 51471ef7737643fad7fe7eecd7a6e83236b245d0
Date: 2026-03-24 13:20:29 +0000
Message: GP-0: Corrected separator regression in PseudoDisassemblerTest
Files changed:
M Ghidra/Processors/ARM/data/languages/ARMTHUMBinstructions.sinc
[Commit 3/7]
Hash: 5636392395b9975c3dde72eb3246ba28a55cbcc0
Date: 2026-03-23 15:30:23 -0400
Message: GP-6621 Add Hexagon processor
Files changed:
A Ghidra/Processors/Hexagon/Module.manifest
A Ghidra/Processors/Hexagon/certification.manifest
A Ghidra/Processors/Hexagon/data/languages/Hexagon.opinion
A Ghidra/Processors/Hexagon/data/languages/hexagon.cspec
A Ghidra/Processors/Hexagon/data/languages/hexagon.dwarf
A Ghidra/Processors/Hexagon/data/languages/hexagon.ldefs
A Ghidra/Processors/Hexagon/data/languages/hexagon.pspec
A Ghidra/Processors/Hexagon/data/languages/hexagon.sinc
A Ghidra/Processors/Hexagon/data/languages/hexagon.slaspec
A Ghidra/Processors/Hexagon/data/languages/hexagon_float.sinc
A Ghidra/Processors/Hexagon/data/languages/hexagon_hvx.sinc
A Ghidra/Processors/Hexagon/data/languages/hexagon_left.sinc
A Ghidra/Processors/Hexagon/data/languages/hexagon_right.sinc
[Commit 4/7]
Hash: e0638c831f6ac271d663893c9d26f9f823fc6c2f
Date: 2026-03-20 17:44:03 +0000
Message: GP-0: Corrected ARMAssemblyTest failures
Files changed:
M Ghidra/Processors/ARM/data/languages/ARMneon.sinc
[Commit 5/7]
Hash: 5fbbc155a8b08c2711a8b0ef6d59a3c5ef3cf3c9
Date: 2026-03-19 09:23:37 -0400
Message: GP-5849: Fixed ARM Neon instuction collisions with vmov (immediate)
Files changed:
M Ghidra/Processors/ARM/data/languages/ARMinstructions.sinc
M Ghidra/Processors/ARM/data/languages/ARMneon.sinc
[Commit 6/7]
Hash: 44504c77804cc8aed03f6a21ada6100379cb812a
Date: 2026-03-18 09:59:22 -0400
Message: GP-6145: added missing ARM v8-m instructions
Files changed:
M Ghidra/Processors/ARM/data/languages/ARM.sinc
M Ghidra/Processors/ARM/data/languages/ARM8m_be.slaspec
M Ghidra/Processors/ARM/data/languages/ARM8m_le.slaspec
M Ghidra/Processors/ARM/data/languages/ARMTHUMBinstructions.sinc
M Ghidra/Processors/ARM/data/languages/ARMinstructions.sinc
M Ghidra/Processors/ARM/data/languages/ARMneon.sinc
M Ghidra/Processors/ARM/data/languages/ARMv8.sinc
[Commit 7/7]
Hash: fa23479747d6ae439c1bdfce16f248fa99beadaf
Date: 2026-03-18 12:09:45 +0000
Message: GP-4241: Port EmulateInstructionStateModifiers to PcodeUseropLibraryFactories.
Files changed:
M Ghidra/Processors/68000/data/languages/68000.pspec
M Ghidra/Processors/ARM/data/languages/ARM.cspec
M Ghidra/Processors/ARM/data/languages/ARM.sinc
M Ghidra/Processors/ARM/data/languages/ARMCortex.pspec
M Ghidra/Processors/ARM/data/languages/ARM_apcs.cspec
M Ghidra/Processors/ARM/data/languages/ARM_v45.cspec
M Ghidra/Processors/ARM/data/languages/ARM_v45.pspec
M Ghidra/Processors/ARM/data/languages/ARM_win.cspec
M Ghidra/Processors/ARM/data/languages/ARMinstructions.sinc
M Ghidra/Processors/ARM/data/languages/ARMt.pspec
M Ghidra/Processors/ARM/data/languages/ARMtTHUMB.pspec
M Ghidra/Processors/ARM/data/languages/ARMt_v45.pspec
M Ghidra/Processors/ARM/data/languages/ARMt_v6.pspec
M Ghidra/Processors/MIPS/data/languages/mips.sinc
M Ghidra/Processors/MIPS/data/languages/mips16.sinc
M Ghidra/Processors/MIPS/data/languages/mips32.pspec
M Ghidra/Processors/MIPS/data/languages/mips32Instructions.sinc
M Ghidra/Processors/MIPS/data/languages/mips32R6.pspec
M Ghidra/Processors/MIPS/data/languages/mips32_eabi.cspec
M Ghidra/Processors/MIPS/data/languages/mips32_fp64.cspec
M Ghidra/Processors/MIPS/data/languages/mips32be.cspec
M Ghidra/Processors/MIPS/data/languages/mips32le.cspec
M Ghidra/Processors/MIPS/data/languages/mips32micro.pspec
M Ghidra/Processors/MIPS/data/languages/mips64.pspec
M Ghidra/Processors/MIPS/data/languages/mips64R6.pspec
M Ghidra/Processors/MIPS/data/languages/mips64_32_n32.cspec
M Ghidra/Processors/MIPS/data/languages/mips64_32_o32.cspec
M Ghidra/Processors/MIPS/data/languages/mips64_32_o64.cspec
M Ghidra/Processors/MIPS/data/languages/mips64be.cspec
M Ghidra/Processors/MIPS/data/languages/mips64le.cspec
M Ghidra/Processors/MIPS/data/languages/mips64micro.pspec
M Ghidra/Processors/MIPS/data/languages/mipsmicro.sinc
M Ghidra/Processors/PowerPC/data/languages/ppc_32.pspec
M Ghidra/Processors/PowerPC/data/languages/ppc_32_mpc8270.pspec
M Ghidra/Processors/PowerPC/data/languages/ppc_64.pspec
M Ghidra/Processors/Xtensa/data/languages/xtensa.pspec
M Ghidra/Processors/tricore/data/languages/tc172x.pspec
M Ghidra/Processors/tricore/data/languages/tc176x.pspec
M Ghidra/Processors/tricore/data/languages/tc29x.pspec
M Ghidra/Processors/tricore/data/languages/tricore.pspec
M Ghidra/Processors/x86/data/languages/x86-16-real.pspec
M Ghidra/Processors/x86/data/languages/x86-16.pspec
M Ghidra/Processors/x86/data/languages/x86-64-compat32.pspec
M Ghidra/Processors/x86/data/languages/x86-64.pspec
M Ghidra/Processors/x86/data/languages/x86.pspec
```
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* CI: Create draft release by default
Handles immutable releases when uploading from multiple builds
* CI: Add publish-release job to undraft release after builds
After all build matrix jobs upload artifacts as draft releases,
this job runs to publish the release by removing the draft flag.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Bump Ghidra HEAD commit a2d77cbbb
Changed files:
```
M Ghidra/Features/Decompiler/src/decompile/cpp/Doxyfile
M Ghidra/Features/Decompiler/src/decompile/cpp/context.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/context.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/error.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/inject_sleigh.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/sleigh.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/sleigh.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.hh
M Ghidra/Processors/PowerPC/data/languages/ppc_isa.sinc
```
Commit details:
```
[Commit 1/3]
Hash: e5ee5ed77359266c5c84d54ce8ed4ae20d69b2a8
Date: 2026-03-09 21:34:46 +0000
Message: GP-6545 Switch to using deque for PcodeCacher::issued
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/error.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/sleigh.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/sleigh.hh
[Commit 2/3]
Hash: 5328fa2c6dbfbba7cc95f232f3a9635d9bd8abcb
Date: 2026-03-06 23:37:48 +0000
Message: GP-6554 Refactor ConstructState allocation in ParserContext
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/Doxyfile
M Ghidra/Features/Decompiler/src/decompile/cpp/context.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/context.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/inject_sleigh.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/sleigh.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/sleigh.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.hh
[Commit 3/3]
Hash: be9b45ce9e3e7e7b3123a5be18b25a521d745152
Date: 2026-03-08 19:28:21 +0000
Message: PowerPC: s/DataCaseBlockSetToZero/DataCacheBlockSetToZero/
Details:
This is pretty obvious typo, the actual name of the operation is "data
cache block set to zero".
Signed-off-by: Mate Kukri <km@mkukri.xyz>
Files changed:
M Ghidra/Processors/PowerPC/data/languages/ppc_isa.sinc
```
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Bump Ghidra HEAD commit 8e0fc9bc6
Changed files:
```
M Ghidra/Features/Decompiler/src/decompile/cpp/ruleaction.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/type.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/type.hh
M Ghidra/Processors/AARCH64/certification.manifest
M Ghidra/Processors/MIPS/data/languages/mips.sinc
M Ghidra/Processors/MIPS/data/languages/mips16.sinc
M Ghidra/Processors/MIPS/data/languages/mips32Instructions.sinc
M Ghidra/Processors/MIPS/data/languages/mipsmicro.sinc
M Ghidra/Processors/Xtensa/data/languages/flix.sinc
M Ghidra/Processors/Xtensa/data/languages/xtensaArch.sinc
M Ghidra/Processors/Xtensa/data/languages/xtensaInstructions.sinc
M Ghidra/Processors/Xtensa/data/languages/xtensaMain.sinc
M Ghidra/Processors/Xtensa/data/languages/xtensa_depbits.sinc
```
Commit details:
```
[Commit 1/6]
Hash: b90adfdfdd9893802408b943b4266e4990cd63e3
Date: 2026-03-06 04:53:12 -0500
Message: GP-6327: Improving Objective-C msgSend() support
Files changed:
M Ghidra/Processors/AARCH64/certification.manifest
[Commit 2/6]
Hash: cbc000b2a017f1f5cf96cf095f9cf0c026082b4c
Date: 2026-02-27 23:01:19 +0000
Message: GP-6501: Fixed up mfc0/mtc0 semantics. Added MIPS32 save/restore instructions
Files changed:
M Ghidra/Processors/MIPS/data/languages/mips.sinc
M Ghidra/Processors/MIPS/data/languages/mips16.sinc
M Ghidra/Processors/MIPS/data/languages/mips32Instructions.sinc
M Ghidra/Processors/MIPS/data/languages/mipsmicro.sinc
[Commit 3/6]
Hash: 5f35986024907e891c5e86f566506c81964a1b92
Date: 2026-02-25 19:25:16 +0000
Message: GP-6495 Assign pointer submeta based on needsResolution
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/type.cc
[Commit 4/6]
Hash: 2ad8259a29884ded954f23a1a4d92c8124dd1654
Date: 2026-02-25 13:24:42 +0000
Message: GP-6489: Fixed opcode for MIPS sdbbp16 instruction
Files changed:
M Ghidra/Processors/MIPS/data/languages/mipsmicro.sinc
[Commit 5/6]
Hash: c81657d2ae45c8c4978114f3d2e6bcd361ce54ef
Date: 2026-02-20 22:55:14 +0000
Message: GP-6486 Correct distance calculation in nearestArrayedComponent methods
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/ruleaction.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/type.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/type.hh
[Commit 6/6]
Hash: 10f2cd12db3f857280e3b01e4a5c65ace3a4d6a0
Date: 2025-10-24 19:58:31 +0000
Message: GP-6050: Renamed most Xtensa token fields to satisfy BE numbering
Files changed:
M Ghidra/Processors/Xtensa/data/languages/flix.sinc
M Ghidra/Processors/Xtensa/data/languages/xtensaArch.sinc
M Ghidra/Processors/Xtensa/data/languages/xtensaInstructions.sinc
M Ghidra/Processors/Xtensa/data/languages/xtensaMain.sinc
M Ghidra/Processors/Xtensa/data/languages/xtensa_depbits.sinc
```
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Add sanitizer and assertions CI jobs, fix UBSAN signed left shift
errors, and port the compareFinalOrder strict-weak ordering patch
to stable. Drop redundant Linux/macOS Debug builds in favor of
these more targeted checks.
* ekilmer/run-asan-v2:
Add compareFinalOrder strict-weak ordering patch to stable
Drop Debug builds on Linux and macOS in favor of sanitizer/assertions
Install LLVM explicitly in sanitizer and assertions CI jobs
Add libc++ assertions CI job for strict-weak ordering checks
Add ASAN/UBSAN CI testing and fix signed left shift UB
Port the existing HEAD patch (0007) to stable as well.
FlowBlock::compareFinalOrder returns true when both blocks have
index 0, violating strict weak ordering irreflexivity. This is
caught by the libc++ assertions CI job.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The sanitizer and assertions CI jobs provide more useful Debug-like
coverage on Linux than a plain Debug build. Keep Debug builds only for
Windows where sanitizers are not available.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use the official LLVM apt script to install clang rather than relying
on whichever version happens to ship on the runner. The version is
configured via a workflow-level LLVM_VERSION env variable (currently 21)
so bumping is a one-line change.
The assertions job also installs the matching versioned libc++-dev and
libc++abi-dev packages.
Remove CMAKE_CXX_COMPILER from the ci-assertions preset so the CXX
environment variable is respected by CMake in both CI and local use.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a ci-assertions CMake preset that builds with libc++ in debug
hardening mode (_LIBCPP_HARDENING_MODE_DEBUG), which catches STL
contract violations at runtime — most importantly strict-weak ordering
violations in comparators passed to std::sort.
Add a corresponding assertions CI job that runs HEAD-only, since new
comparator bugs from upstream Ghidra surface there first.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a sanitizer CI job that builds and tests with AddressSanitizer and
UndefinedBehaviorSanitizer using clang on Ubuntu for both stable and
HEAD release tracks.
Fix three UBSAN signed left shift errors found during sanitizer testing
by casting signed values to unsigned before left shifting:
- address.hh sign_extend(): left shift of negative value / overflow
- slghpatexpress.cc LeftShiftExpression: left shift of negative value
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Provides a sandboxed Ubuntu 24.04 environment with LLVM 21
(clang, clangd, lld, lldb, libc++), cmake, ninja, and ccache
for building and debugging the decompiler with up-to-date tooling.
While there are only minimal VSCode extensions installed by default, I
automatically install Claude Code and my own dotfiles plus additional tools
* Bump Ghidra HEAD commit e3c1b6393
Changed files:
```
M Ghidra/Features/Decompiler/src/decompile/cpp/Makefile
M Ghidra/Features/Decompiler/src/decompile/cpp/address.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/address.hh
A Ghidra/Features/Decompiler/src/decompile/cpp/bitfield.cc
A Ghidra/Features/Decompiler/src/decompile/cpp/bitfield.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/block.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/constseq.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/coreaction.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/dynamic.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/expression.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/expression.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/flow.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/funcdata.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/funcdata.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_block.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_varnode.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/grammar.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/grammar.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/grammar.y
M Ghidra/Features/Decompiler/src/decompile/cpp/jumptable.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/jumptable.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/marshal.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/op.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/opbehavior.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/opcodes.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/prettyprint.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/prettyprint.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/printc.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/printc.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/printjava.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/printlanguage.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/printlanguage.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/ruleaction.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/subflow.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/type.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/type.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/typeop.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/typeop.hh
```
Commit details:
```
[Commit 1/2]
Hash: bf1f4288aa3b317e3c097773ba4b8e7b89ae09c7
Date: 2026-02-10 19:33:46 +0000
Message: GP-5922 Integer formatting for switch cases
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/block.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/flow.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/funcdata.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_block.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/jumptable.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/jumptable.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/printc.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/printc.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/printjava.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/printlanguage.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/printlanguage.hh
[Commit 2/2]
Hash: 402d10d6cc66e1fcf3d8f36bc851ef652773e018
Date: 2025-09-05 00:01:44 +0000
Message: GP-2493 Bitfield support in the Decompiler
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/Makefile
M Ghidra/Features/Decompiler/src/decompile/cpp/address.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/address.hh
A Ghidra/Features/Decompiler/src/decompile/cpp/bitfield.cc
A Ghidra/Features/Decompiler/src/decompile/cpp/bitfield.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/constseq.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/coreaction.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/dynamic.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/expression.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/expression.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/funcdata.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_varnode.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/grammar.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/grammar.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/grammar.y
M Ghidra/Features/Decompiler/src/decompile/cpp/marshal.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/op.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/opbehavior.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/opcodes.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/prettyprint.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/prettyprint.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/printc.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/printc.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/printlanguage.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/printlanguage.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/ruleaction.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/subflow.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/type.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/type.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/typeop.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/typeop.hh
```
* Add new C++ files to CMake
* Fix more strict weak ordering issues
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Eric Kilmer <eric.kilmer@trailofbits.com>
Changed files:
```
M Ghidra/Features/Decompiler/src/decompile/cpp/address.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/constseq.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/constseq.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_op.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/ruleaction.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/typeop.cc
M Ghidra/Processors/8051/data/languages/80251.sinc
M Ghidra/Processors/AARCH64/data/languages/AARCH64.pspec
M Ghidra/Processors/AARCH64/data/languages/AARCH64neon.sinc
M Ghidra/Processors/ARM/data/languages/ARMinstructions.sinc
M Ghidra/Processors/CR16/data/languages/CR16C.sinc
M Ghidra/Processors/MIPS/data/languages/mips16.sinc
M Ghidra/Processors/PIC/data/languages/pic18_instructions.sinc
M Ghidra/Processors/PowerPC/data/languages/altivec.sinc
M Ghidra/Processors/PowerPC/data/languages/ppc_vle.sinc
M Ghidra/Processors/eBPF/data/languages/eBPF.sinc
```
Commit details:
```
[Commit 1/19]
Hash: 1660b9ca4718c9907d279653a99c6d4190a1071f
Date: 2026-02-09 15:33:05 +0000
Message: GP-6419: Fixed MIPS16 pcodetest failures
Files changed:
M Ghidra/Processors/MIPS/data/languages/mips16.sinc
[Commit 2/19]
Hash: a05ba1f778511e92abc29c933cb17da9477cc7c5
Date: 2026-02-05 23:13:56 +0000
Message: GP-6416 Add support for simplifying unequal LEFT then RIGHT shifts
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/ruleaction.cc
[Commit 3/19]
Hash: 690a23344f9de200056b8e7af4384e26f42e300b
Date: 2026-02-05 19:28:59 +0000
Message: GP-6393 Deduplicate INDIRECT storage for HeapSequence
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/constseq.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/constseq.hh
[Commit 4/19]
Hash: 6ced49d1d7fd91663e7627b11fc4e68dd06bca1c
Date: 2026-02-03 16:08:01 +0000
Message: GP-4241: Discoverable per-arch userop-lib framework and AARCH64 port.
Files changed:
M Ghidra/Processors/AARCH64/data/languages/AARCH64.pspec
[Commit 5/19]
Hash: 9a9b6cd063bc830c749804be0ab4213ec8de0010
Date: 2026-01-29 20:26:27 +0000
Message: GP-6388 Adjust getInputCast for TypeOpPtradd and TypeOpPtrsub
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/typeop.cc
[Commit 6/19]
Hash: c9be1860c181581ee192cb86e97eeec983a6bf00
Date: 2024-05-28 17:09:24 +0930
Message: AArch32: fixed ldrexd
Details:
* fixed addr src register aliased as first dest register of a double word load causing second word load at the value of first load
Files changed:
M Ghidra/Processors/ARM/data/languages/ARMinstructions.sinc
[Commit 7/19]
Hash: c0bc9a882b7e6c6d3c0549c4410a8ae1abb68f00
Date: 2024-02-08 10:19:47 +0100
Message: PowerPC VLE: Fix se_blrl flow
Details:
Opcode se_blrl is branch link register and link. Treating it as a return break flow and is wrong. Non VLE is already correct.
Files changed:
M Ghidra/Processors/PowerPC/data/languages/ppc_vle.sinc
[Commit 8/19]
Hash: e94681701a89f34cf35edc18085684a8e40fc6b7
Date: 2025-12-02 02:03:52 +0100
Message: CR16: fix CR16C TBIT instruction
Files changed:
M Ghidra/Processors/CR16/data/languages/CR16C.sinc
[Commit 9/19]
Hash: af8a3704212b157d21bfddad834f6485fdfabeb1
Date: 2025-12-02 22:00:49 +0100
Message: Fix eBPF compare-and-exchange instruction
Details:
Linux kernel's documentation tells in
https://www.kernel.org/doc/html/v6.0/bpf/instruction-set.html#atomic-operations
> The BPF_CMPXCHG operation atomically compares the value addressed by
> dst_reg + off with R0. If they match, the value addressed by
> dst_reg + off is replaced with src_reg. In either case, the value that
> was at dst_reg + off before the operation is zero-extended and loaded
> back to R0.
If the values don't match, *(dst_reg + off) is not supposed to be
modified.
Moreover, register R0 is always modified and the 32-bit instruction
truncates its value (with a zero-extension). This is also clear in the
implementation of BPF_CMPXCHG in
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/bpf/core.c?h=v6.18#n2186
case BPF_CMPXCHG:
if (BPF_SIZE(insn->code) == BPF_W)
BPF_R0 = (u32) atomic_cmpxchg(
(atomic_t *)(unsigned long) (DST + insn->off),
(u32) BPF_R0, (u32) SRC);
else if (BPF_SIZE(insn->code) == BPF_DW)
BPF_R0 = (u64) atomic64_cmpxchg(
(atomic64_t *)(unsigned long) (DST + insn->off),
(u64) BPF_R0, (u64) SRC);
Fix the semantic of the compare-and-exchange instruction accordingly.
Files changed:
M Ghidra/Processors/eBPF/data/languages/eBPF.sinc
[Commit 10/19]
Hash: ff6eb2213bca878cdcef0e9cec20e524d8d9f944
Date: 2025-12-02 16:19:37 +0100
Message: Fix disassembly of eBPF atomic instructions
Details:
eBPF ISA v3 introduced atomic instructions:
https://www.kernel.org/doc/html/v6.0/bpf/instruction-set.html#atomic-operations
These instructions are encoded using BPF_ATOMIC | BPF_W | BPF_STX
and BPF_ATOMIC | BPF_DW | BPF_STX for 32-bit and 64-bit operations,
with:
BPF_ATOMIC = 0xc0
BPF_DW = 0x18
BPF_W = 0
BPF_STX = 0x03
While Ghidra's semantic section is constructed correctly (atomic add
uses an addition ; atomic or uses or ; ...), the disassembly always
displays STXXADDW and STXXADDDW. These mnemonics come from the
deprecated name BPF_XADD = BPF_ATOMIC | BPF_ADD = 0xc0.
Replace the confusing mnemonics with the ones used by binutils and
documented in
https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=gas/doc/c-bpf.texi;h=003cb92a457985038a9abc1ffbf347f636eb0586;hb=2bc7af1ff7732451b6a7b09462a815c3284f9613#l745
Files changed:
M Ghidra/Processors/eBPF/data/languages/eBPF.sinc
[Commit 11/19]
Hash: c1f97cde08ab235c0fe9adb723971a608550fdc2
Date: 2025-12-22 19:47:24 +0100
Message: Fix missing Altivec vadduws instruction
Files changed:
M Ghidra/Processors/PowerPC/data/languages/altivec.sinc
[Commit 12/19]
Hash: c981c0b5dd19818117178f3ce4a9d8737c306e65
Date: 2025-12-16 20:07:56 +0000
Message: GP-6004: Refactored out duplicated constructors
Files changed:
M Ghidra/Processors/PIC/data/languages/pic18_instructions.sinc
[Commit 13/19]
Hash: 78859d55fdf28dfbe9dac0658948754515d44e36
Date: 2025-12-04 19:25:56 +0000
Message: GP-5905: Fixed issue with 80251 instructions referencing SPX register
Files changed:
M Ghidra/Processors/8051/data/languages/80251.sinc
[Commit 14/19]
Hash: 826834c424b631358f06899dfd0203138ba2cb7d
Date: 2025-11-25 13:32:37 +0100
Message: decompiler: Fix extreme value checks in Funcdata::replaceLessequal
Details:
Fixes https://github.com/NationalSecurityAgency/ghidra/issues/8696
The checks for extreme values when transforming <= to < were incomplete
and relied on undefined behavior, making compilers optimize them out.
Specifically, for SLESS_EQUAL, the decompiler relied on integer overflows.
For integers smaller than 8 bytes, no overflow will occur when adding 1,
resulting in a missed case and, thus, x <= INT_MAX will become x < INT_MIN.
For the signed case when subtracting one, the compiler removes the check
due to undefined behavior, resulting in another missed case.
To fix this, add helper functions for computing maximum and minimum values
for signed and unsigned varnodes and directly check for them.
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/address.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_op.cc
[Commit 15/19]
Hash: 2e3bedf7daf1c5c38cbf1c3f90b6f4cd449f7020
Date: 2025-11-04 13:50:15 +0000
Message: GP-6004: Corrected bit-pattern comments
Files changed:
M Ghidra/Processors/PIC/data/languages/pic18_instructions.sinc
[Commit 16/19]
Hash: 49c13a7ba733f2af63f3d33d83cba8103456249e
Date: 2025-09-17 10:43:57 +0200
Message: missed one
Files changed:
M Ghidra/Processors/PIC/data/languages/pic18_instructions.sinc
[Commit 17/19]
Hash: 48ca4badb7ea2eb18ffd6f9b6ede356932160067
Date: 2025-09-13 16:17:07 -0700
Message: forgot to take out this change
Files changed:
M Ghidra/Processors/PIC/data/languages/pic18_instructions.sinc
[Commit 18/19]
Hash: 7fa6bda98ee9a350be49c0b4a8f9cf8c83b39490
Date: 2025-09-10 00:58:15 -0700
Message: remove destREG to fix double inc/dec
Files changed:
M Ghidra/Processors/PIC/data/languages/pic18_instructions.sinc
[Commit 19/19]
Hash: 5e4522fc3a2a547c9b1c94ab293890bb9f767ac3
Date: 2024-04-09 16:43:13 +0930
Message: AA64: Change sha1h shift to rotate
Files changed:
M Ghidra/Processors/AARCH64/data/languages/AARCH64neon.sinc
```
---------
Co-authored-by: Eric Kilmer <eric.d.kilmer@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Add functionality to the weekly sync workflow to detect newly added or
deleted C++ source files and spec files that may require manual CMake
configuration updates. When such files are detected, the PR body will
include a warning section listing the files and instructions for
maintainers.
This addresses issue #121 where new files added to Sleigh in Ghidra
weren't being noticed, leading to missing headers that required manual
fixes later.
Changes:
- Add CategorizedChanges dataclass to track added/deleted cpp/spec files
- Add helper methods to parse git status and categorize files
- Expand IGNORED_EXTENSIONS to filter more non-relevant file types
- Set new GitHub Actions outputs: needs_manual_intervention and
intervention_details
- Update workflow to conditionally add warning section to PR body
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Reduces third-party dependencies by using native git commands and the
pre-installed gh CLI instead of the peter-evans/create-pull-request
action. Adds idempotency check to skip if PR already exists for branch.
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Bump Ghidra HEAD commit 549735683
Changed files:
```
M Ghidra/Features/Decompiler/src/decompile/cpp/ruleaction.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/sleighbase.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/slghparse.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/slghparse.y
M Ghidra/Features/Decompiler/src/decompile/cpp/subflow.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/subflow.hh
M Ghidra/Processors/RISCV/data/languages/riscv.opinion
```
Commit details:
```
[Commit 1/7]
Hash: 6208df2d50d716b4faf87d3a0c0603d45aac4cb3
Date: 2026-01-13 10:44:59 -0500
Message: GP-1 Corrected RISCV import opinion file
Files changed:
M Ghidra/Processors/RISCV/data/languages/riscv.opinion
[Commit 2/7]
Hash: 1789bb9c5e66cb1e5ad2072b73c4bf7fbc713f67
Date: 2026-01-12 21:00:06 -0500
Message: GP-1 minor doc fix
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.cc
[Commit 3/7]
Hash: 7828f235d315807d18ecb873fad34b209a02ce65
Date: 2026-01-12 21:51:54 +0000
Message: GP-6316 Increase maximum temporary size for SLEIGH to 256 bytes
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/sleighbase.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.hh
[Commit 4/7]
Hash: 4830a7ab99548aa898e861b967f48c92dd741f48
Date: 2026-01-12 19:33:12 +0000
Message: GP-6314 Reset label counter for every named section
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/slghparse.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/slghparse.y
[Commit 5/7]
Hash: 123bd5cbe6d54105c96bb8a0b5c1b81f84b29e97
Date: 2026-01-09 20:37:38 +0000
Message: GP-6310 Apply extension patch if consumption is beyond small variable
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/subflow.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/subflow.hh
[Commit 6/7]
Hash: 451334568f3200f453b6b3985b5949f72747f1c6
Date: 2026-01-09 20:15:16 +0000
Message: Let RuleShiftAnd apply in more situations
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/ruleaction.cc
[Commit 7/7]
Hash: 92091a7a2ad59309514d808c7eb890492f5c49e8
Date: 2025-12-02 10:59:10 +0100
Message: decompiler: fix bit extractions with RuleShiftAnd and RuleShiftCompare
Details:
Fixes https://github.com/NationalSecurityAgency/ghidra/issues/8717
RuleShiftAnd previously replaced the AND opcode with COPY. This,
however doesn't update the NZMask of the Varnode. As a result, following
rules may assume the NZMask after the AND operation also applies to the
Varnode being copied.
In combination with RuleShiftCompare, an expression of the form
(a & bitmask) >> const != 0, wrongfully is reduced to a != 0.
Instead of replacing the AND with COPY, we now replace the input
of the shift operation instead. This way, future rules will see
the correct NZMask.
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/ruleaction.cc
```
Bump Ghidra HEAD commit 6ef256cef
Changed files:
```
M Ghidra/Processors/AARCH64/data/languages/AARCH64.ldefs
M Ghidra/Processors/AARCH64/data/languages/AARCH64.opinion
M Ghidra/Processors/x86/data/languages/x86.opinion
```
Commit details:
```
[Commit 1/1]
Hash: ad00d5734f82266e7d58624a36075da33d8e3005
Date: 2025-12-23 19:04:43 -0500
Message: GP-3960: ElfLoader can now recognize Swift and golang
Files changed:
M Ghidra/Processors/AARCH64/data/languages/AARCH64.ldefs
M Ghidra/Processors/AARCH64/data/languages/AARCH64.opinion
M Ghidra/Processors/x86/data/languages/x86.opinion
```
Bump Ghidra HEAD commit dc5836119
Changed files:
```
M Ghidra/Features/Decompiler/src/decompile/cpp/coreaction.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/coreaction.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/expression.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/jumptable.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/jumptable.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/sleigh.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/type.cc
```
Commit details:
```
[Commit 1/4]
Hash: 19836741896fd7664c9de9519a8841f9b593ae9f
Date: 2025-12-17 19:52:07 +0000
Message: GP-6237 Move the unique crossbuild region to more significant bits
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/sleigh.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/slgh_compile.hh
[Commit 2/4]
Hash: b8e698d97804de62a7dbf6664b0e3f264725c3d9
Date: 2025-09-12 20:10:43 +0000
Message: GP-3834 Allow 256 case switch, if a LOAD is present
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/jumptable.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/jumptable.hh
M Ghidra/Features/Decompiler/src/decompile/cpp/type.cc
[Commit 3/4]
Hash: 6451d3d3135ba72a4c50f40667ad893b2c944de6
Date: 2025-12-12 00:17:12 +0000
Message: GP-6224 Don't resolve pointer if cast still required
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/coreaction.cc
M Ghidra/Features/Decompiler/src/decompile/cpp/coreaction.hh
[Commit 4/4]
Hash: 9692dd064064ee712d8a724984f1b6b2bec4bc75
Date: 2025-12-10 19:26:03 +0000
Message: GP-6201 Check for free varnodes in functionalEqualityLevel0
Files changed:
M Ghidra/Features/Decompiler/src/decompile/cpp/expression.cc
```
Bump Ghidra HEAD commit d83ea1754
Changed files:
```
A Ghidra/Processors/NDS32/Module.manifest
A Ghidra/Processors/NDS32/build.gradle
A Ghidra/Processors/NDS32/certification.manifest
A Ghidra/Processors/NDS32/data/languages/lsmw.sinc
A Ghidra/Processors/NDS32/data/languages/nds32.cspec
A Ghidra/Processors/NDS32/data/languages/nds32.dwarf
A Ghidra/Processors/NDS32/data/languages/nds32.ldefs
A Ghidra/Processors/NDS32/data/languages/nds32.opinion
A Ghidra/Processors/NDS32/data/languages/nds32.pspec
A Ghidra/Processors/NDS32/data/languages/nds32.sinc
A Ghidra/Processors/NDS32/data/languages/nds32be.slaspec
A Ghidra/Processors/NDS32/data/languages/nds32le.slaspec
A Ghidra/Processors/NDS32/data/patterns/nds32_patterns.xml
A Ghidra/Processors/NDS32/data/patterns/patternconstraints.xml
M Ghidra/Processors/RISCV/data/languages/andestar_v5.instr.sinc
M Ghidra/Processors/RISCV/data/languages/riscv.reg.sinc
```
Commit details:
```
[Commit 1/9]
Hash: d0f88bf9023ac412b50460fe9e0ac5fc76f14d90
Date: 2025-12-04 12:28:50 -0500
Message: GP-6007 Remove Decompiler dependency
Files changed:
M Ghidra/Processors/NDS32/build.gradle
[Commit 2/9]
Hash: 923ceb52d4727a2227a8b2512593ec4fb03ab0e2
Date: 2025-12-04 11:25:54 -0500
Message: GP-6007 use -l sleigh compile option with NDS32
Files changed:
M Ghidra/Processors/NDS32/build.gradle
[Commit 3/9]
Hash: ddf4ad1182577f759b1c0e7c40d8825abd65b357
Date: 2025-12-03 22:06:38 +0000
Message: GP-6007 minor fixes for Andestar v5
Files changed:
M Ghidra/Processors/RISCV/data/languages/andestar_v5.instr.sinc
M Ghidra/Processors/RISCV/data/languages/riscv.reg.sinc
[Commit 4/9]
Hash: 2efa886f5ca0996d3ea9f1865d952aa2708389b6
Date: 2025-12-03 21:36:18 +0000
Message: GP-6007 minor fixes for mfusr, mtusr and csreg space as global in cspec
Files changed:
M Ghidra/Processors/NDS32/data/languages/nds32.cspec
M Ghidra/Processors/NDS32/data/languages/nds32.sinc
[Commit 5/9]
Hash: df6e4049d4f91f8cb9c9ff3888bb5f2a15a411d8
Date: 2025-12-02 20:21:14 +0000
Message: GP-6007: Added additional floating point config instructions
Files changed:
M Ghidra/Processors/NDS32/data/languages/nds32.sinc
[Commit 6/9]
Hash: 9bdd19cc087f889a16421b7cda082e2a08653449
Date: 2025-12-02 15:30:45 +0000
Message: GP-6007: Added CSR space and CSRs
Files changed:
M Ghidra/Processors/NDS32/data/languages/lsmw.sinc
M Ghidra/Processors/NDS32/data/languages/nds32.pspec
M Ghidra/Processors/NDS32/data/languages/nds32.sinc
[Commit 7/9]
Hash: ed4ae8bfa1f6b5db8c7356b2a4253c4c647e65f4
Date: 2025-11-26 20:19:40 +0000
Message: GP-6007: Added stubs for nds32 FPU instructions
Files changed:
M Ghidra/Processors/NDS32/build.gradle
M Ghidra/Processors/NDS32/data/languages/nds32.ldefs
M Ghidra/Processors/NDS32/data/languages/nds32.sinc
M Ghidra/Processors/NDS32/data/patterns/nds32_patterns.xml
[Commit 8/9]
Hash: 71cd33572c873b1eebd322032506c259632d0d52
Date: 2025-09-22 14:37:16 +0000
Message: GP-6007: Updated NDS32 analyzer and elf relocation handler and test fixups
Files changed:
M Ghidra/Processors/NDS32/build.gradle
A Ghidra/Processors/NDS32/certification.manifest
D Ghidra/Processors/NDS32/data/buildLanguage.xml
M Ghidra/Processors/NDS32/data/languages/lsmw.sinc
M Ghidra/Processors/NDS32/data/languages/nds32.cspec
M Ghidra/Processors/NDS32/data/languages/nds32.sinc
M Ghidra/Processors/NDS32/data/languages/nds32be.slaspec
M Ghidra/Processors/NDS32/data/languages/nds32le.slaspec
D Ghidra/Processors/NDS32/data/sleighArgs.txt
[Commit 9/9]
Hash: fa7c3b1fec5e133f5147b6c541d023c646c0b170
Date: 2020-04-16 18:58:10 +0200
Message: [NDS32] Add support for the NDS32 Processor
Files changed:
A Ghidra/Processors/NDS32/Module.manifest
A Ghidra/Processors/NDS32/build.gradle
A Ghidra/Processors/NDS32/data/buildLanguage.xml
A Ghidra/Processors/NDS32/data/languages/lsmw.sinc
A Ghidra/Processors/NDS32/data/languages/nds32.cspec
A Ghidra/Processors/NDS32/data/languages/nds32.dwarf
A Ghidra/Processors/NDS32/data/languages/nds32.ldefs
A Ghidra/Processors/NDS32/data/languages/nds32.opinion
A Ghidra/Processors/NDS32/data/languages/nds32.pspec
A Ghidra/Processors/NDS32/data/languages/nds32.sinc
A Ghidra/Processors/NDS32/data/languages/nds32be.slaspec
A Ghidra/Processors/NDS32/data/languages/nds32le.slaspec
A Ghidra/Processors/NDS32/data/patterns/nds32_patterns.xml
A Ghidra/Processors/NDS32/data/patterns/patternconstraints.xml
A Ghidra/Processors/NDS32/data/sleighArgs.txt
```