mirror of
https://github.com/lifting-bits/sleigh
synced 2026-06-21 13:56:12 +00:00
eeee4453c8
* Bump Ghidra HEAD commit 94164bd6e Changed files: ``` M Ghidra/Features/Decompiler/src/decompile/cpp/architecture.cc M Ghidra/Features/Decompiler/src/decompile/cpp/bfd_arch.cc M Ghidra/Features/Decompiler/src/decompile/cpp/block.cc M Ghidra/Features/Decompiler/src/decompile/cpp/block.hh M Ghidra/Features/Decompiler/src/decompile/cpp/blockaction.cc M Ghidra/Features/Decompiler/src/decompile/cpp/blockaction.hh M Ghidra/Features/Decompiler/src/decompile/cpp/consolemain.cc 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/cpool.cc M Ghidra/Features/Decompiler/src/decompile/cpp/cpool.hh M Ghidra/Features/Decompiler/src/decompile/cpp/database.cc M Ghidra/Features/Decompiler/src/decompile/cpp/error.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_op.cc M Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_varnode.cc M Ghidra/Features/Decompiler/src/decompile/cpp/ghidra_arch.cc M Ghidra/Features/Decompiler/src/decompile/cpp/ghidra_arch.hh M Ghidra/Features/Decompiler/src/decompile/cpp/ghidra_process.cc M Ghidra/Features/Decompiler/src/decompile/cpp/ifacedecomp.cc M Ghidra/Features/Decompiler/src/decompile/cpp/ifaceterm.cc M Ghidra/Features/Decompiler/src/decompile/cpp/interface.cc M Ghidra/Features/Decompiler/src/decompile/cpp/jumptable.cc M Ghidra/Features/Decompiler/src/decompile/cpp/loadimage.cc M Ghidra/Features/Decompiler/src/decompile/cpp/marshal.cc M Ghidra/Features/Decompiler/src/decompile/cpp/marshal.hh M Ghidra/Features/Decompiler/src/decompile/cpp/modelrules.cc M Ghidra/Features/Decompiler/src/decompile/cpp/multiprecision.cc M Ghidra/Features/Decompiler/src/decompile/cpp/op.cc M Ghidra/Features/Decompiler/src/decompile/cpp/op.hh M Ghidra/Features/Decompiler/src/decompile/cpp/override.cc M Ghidra/Features/Decompiler/src/decompile/cpp/pcoderaw.cc M Ghidra/Features/Decompiler/src/decompile/cpp/raw_arch.cc M Ghidra/Features/Decompiler/src/decompile/cpp/ruleaction.cc M Ghidra/Features/Decompiler/src/decompile/cpp/semantics.cc M Ghidra/Features/Decompiler/src/decompile/cpp/semantics.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/slghparse.cc M Ghidra/Features/Decompiler/src/decompile/cpp/slghparse.hh M Ghidra/Features/Decompiler/src/decompile/cpp/slghparse.y M Ghidra/Features/Decompiler/src/decompile/cpp/slghpatexpress.cc M Ghidra/Features/Decompiler/src/decompile/cpp/slghpattern.cc M Ghidra/Features/Decompiler/src/decompile/cpp/slghscan.cc M Ghidra/Features/Decompiler/src/decompile/cpp/slghsymbol.cc M Ghidra/Features/Decompiler/src/decompile/cpp/slghsymbol.hh M Ghidra/Features/Decompiler/src/decompile/cpp/translate.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/userop.cc M Ghidra/Features/Decompiler/src/decompile/cpp/variable.cc M Ghidra/Features/Decompiler/src/decompile/cpp/variable.hh M Ghidra/Features/Decompiler/src/decompile/cpp/varnode.cc M Ghidra/Features/Decompiler/src/decompile/cpp/varnode.hh A Ghidra/Features/Decompiler/src/decompile/unittests/testmultiprec.cc M Ghidra/Processors/8051/certification.manifest M Ghidra/Processors/8051/data/languages/8051.ldefs A Ghidra/Processors/8051/data/languages/cip-51.pspec M Ghidra/Processors/8051/data/languages/keil-cx51.cspec M Ghidra/Processors/AARCH64/certification.manifest M Ghidra/Processors/AARCH64/data/languages/AARCH64.ldefs M Ghidra/Processors/AARCH64/data/languages/AARCH64.opinion D Ghidra/Processors/AARCH64/data/languages/AARCH64_swift.cspec M Ghidra/Processors/AARCH64/data/languages/AppleSilicon.ldefs M Ghidra/Processors/MIPS/certification.manifest M Ghidra/Processors/MIPS/data/languages/mips.ldefs M Ghidra/Processors/MIPS/data/languages/mips.sinc A Ghidra/Processors/MIPS/data/languages/mips32_16e.pspec A Ghidra/Processors/MIPS/data/languages/mips64_16e.pspec M Ghidra/Processors/MIPS/data/languages/mips_dsp.sinc M Ghidra/Processors/TI_MSP430/data/languages/TI_MSP430.cspec M Ghidra/Processors/x86/certification.manifest M Ghidra/Processors/x86/data/languages/avx.sinc M Ghidra/Processors/x86/data/languages/avx512.sinc M Ghidra/Processors/x86/data/languages/cet.sinc M Ghidra/Processors/x86/data/languages/fma.sinc M Ghidra/Processors/x86/data/languages/ia.sinc D Ghidra/Processors/x86/data/languages/x86-64-swift.cspec M Ghidra/Processors/x86/data/languages/x86.ldefs M Ghidra/Processors/x86/data/languages/x86.opinion ``` Commit details: ``` [Commit 1/14] Hash: 6fe164d65107354f22314fd0db8b894b8b1c2fdf Date: 2026-05-19 14:14:19 +0000 Message: GP-6847 fix musl issue with _exit function for Decompiler Files changed: M Ghidra/Features/Decompiler/src/decompile/cpp/ghidra_process.cc [Commit 2/14] Hash: 47b4d28cb0fdffdceea659a1e8d465c74fdb9e98 Date: 2026-05-18 13:45:39 -0400 Message: GP-6697: Fixed MIPS signed immediates Files changed: M Ghidra/Processors/MIPS/data/languages/mips.sinc M Ghidra/Processors/MIPS/data/languages/mips_dsp.sinc [Commit 3/14] Hash: 3a479c9f7ebee2f8dd91e01b1dca9b04cae1b992 Date: 2026-05-17 19:48:41 -0400 Message: GP-6347: SourceLanguage modules and new extension points Files changed: M Ghidra/Processors/AARCH64/certification.manifest M Ghidra/Processors/AARCH64/data/languages/AARCH64.ldefs M Ghidra/Processors/AARCH64/data/languages/AARCH64.opinion D Ghidra/Processors/AARCH64/data/languages/AARCH64_swift.cspec M Ghidra/Processors/AARCH64/data/languages/AppleSilicon.ldefs M Ghidra/Processors/x86/certification.manifest D Ghidra/Processors/x86/data/languages/x86-64-swift.cspec M Ghidra/Processors/x86/data/languages/x86.ldefs M Ghidra/Processors/x86/data/languages/x86.opinion [Commit 4/14] Hash: 4661fc0bed1a46096a462a1d39f07674fb931c32 Date: 2026-05-04 21:48:44 +0000 Message: GP-6788 Keep track of immediate COPY propagation Files changed: M Ghidra/Features/Decompiler/src/decompile/cpp/block.cc M Ghidra/Features/Decompiler/src/decompile/cpp/block.hh M Ghidra/Features/Decompiler/src/decompile/cpp/blockaction.cc M Ghidra/Features/Decompiler/src/decompile/cpp/blockaction.hh 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/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_op.cc M Ghidra/Features/Decompiler/src/decompile/cpp/op.cc M Ghidra/Features/Decompiler/src/decompile/cpp/op.hh M Ghidra/Features/Decompiler/src/decompile/cpp/ruleaction.cc M Ghidra/Features/Decompiler/src/decompile/cpp/variable.cc M Ghidra/Features/Decompiler/src/decompile/cpp/variable.hh M Ghidra/Features/Decompiler/src/decompile/cpp/varnode.cc M Ghidra/Features/Decompiler/src/decompile/cpp/varnode.hh [Commit 5/14] Hash: 4e6ba952eacbf27143edb324a343172de9bc1533 Date: 2026-04-24 20:54:00 +0000 Message: GP-6757 Additional memory fixes Files changed: M Ghidra/Features/Decompiler/src/decompile/cpp/architecture.cc M Ghidra/Features/Decompiler/src/decompile/cpp/cpool.cc M Ghidra/Features/Decompiler/src/decompile/cpp/cpool.hh M Ghidra/Features/Decompiler/src/decompile/cpp/database.cc M Ghidra/Features/Decompiler/src/decompile/cpp/ghidra_arch.cc M Ghidra/Features/Decompiler/src/decompile/cpp/ghidra_arch.hh M Ghidra/Features/Decompiler/src/decompile/cpp/ghidra_process.cc M Ghidra/Features/Decompiler/src/decompile/cpp/marshal.cc M Ghidra/Features/Decompiler/src/decompile/cpp/multiprecision.cc M Ghidra/Features/Decompiler/src/decompile/cpp/pcoderaw.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.hh M Ghidra/Features/Decompiler/src/decompile/cpp/slghparse.y M Ghidra/Features/Decompiler/src/decompile/cpp/slghpattern.cc M Ghidra/Features/Decompiler/src/decompile/cpp/slghscan.cc M Ghidra/Features/Decompiler/src/decompile/cpp/slghsymbol.cc M Ghidra/Features/Decompiler/src/decompile/cpp/slghsymbol.hh M Ghidra/Features/Decompiler/src/decompile/cpp/translate.cc M Ghidra/Features/Decompiler/src/decompile/cpp/userop.cc A Ghidra/Features/Decompiler/src/decompile/unittests/testmultiprec.cc [Commit 6/14] Hash: 10029bf53d01b0d8af61c6e0c270cc0281650b31 Date: 2026-04-28 16:34:16 +0000 Message: GP-6675: Fixed up some instruction definitions Files changed: M Ghidra/Processors/x86/data/languages/ia.sinc M Ghidra/Processors/x86/data/languages/x86.ldefs [Commit 7/14] Hash: cfaee5f04f142e54f5d6d772a1c07019beaab0b0 Date: 2025-09-02 12:06:29 -0700 Message: Sleigh engine memory fixes Files changed: M Ghidra/Features/Decompiler/src/decompile/cpp/marshal.cc M Ghidra/Features/Decompiler/src/decompile/cpp/marshal.hh M Ghidra/Features/Decompiler/src/decompile/cpp/semantics.hh M Ghidra/Features/Decompiler/src/decompile/cpp/slghpatexpress.cc M Ghidra/Features/Decompiler/src/decompile/cpp/slghsymbol.cc M Ghidra/Features/Decompiler/src/decompile/cpp/slghsymbol.hh [Commit 8/14] Hash: dc38904b1627b83b2ed9064ec44ed8c11d956c1f Date: 2026-04-20 21:52:06 +0000 Message: GP-6757 unique_ptr protections Files changed: M Ghidra/Features/Decompiler/src/decompile/cpp/architecture.cc M Ghidra/Features/Decompiler/src/decompile/cpp/bfd_arch.cc M Ghidra/Features/Decompiler/src/decompile/cpp/block.cc M Ghidra/Features/Decompiler/src/decompile/cpp/consolemain.cc M Ghidra/Features/Decompiler/src/decompile/cpp/database.cc M Ghidra/Features/Decompiler/src/decompile/cpp/error.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/ifacedecomp.cc M Ghidra/Features/Decompiler/src/decompile/cpp/ifaceterm.cc M Ghidra/Features/Decompiler/src/decompile/cpp/interface.cc M Ghidra/Features/Decompiler/src/decompile/cpp/jumptable.cc M Ghidra/Features/Decompiler/src/decompile/cpp/loadimage.cc M Ghidra/Features/Decompiler/src/decompile/cpp/modelrules.cc M Ghidra/Features/Decompiler/src/decompile/cpp/override.cc M Ghidra/Features/Decompiler/src/decompile/cpp/raw_arch.cc M Ghidra/Features/Decompiler/src/decompile/cpp/semantics.cc M Ghidra/Features/Decompiler/src/decompile/cpp/sleigh.cc M Ghidra/Features/Decompiler/src/decompile/cpp/slghpatexpress.cc M Ghidra/Features/Decompiler/src/decompile/cpp/slghpattern.cc M Ghidra/Features/Decompiler/src/decompile/cpp/slghsymbol.cc M Ghidra/Features/Decompiler/src/decompile/cpp/translate.cc M Ghidra/Features/Decompiler/src/decompile/cpp/userop.cc [Commit 9/14] Hash: 67e0516f62f33bfa833bdc883bb8ea63d64c79e9 Date: 2026-05-07 17:16:49 +0000 Message: GP-6655: Create ldefs for 16e mode, so it appears in Dynamic Listing - Disassemble As Files changed: M Ghidra/Processors/MIPS/certification.manifest M Ghidra/Processors/MIPS/data/languages/mips.ldefs A Ghidra/Processors/MIPS/data/languages/mips32_16e.pspec A Ghidra/Processors/MIPS/data/languages/mips64_16e.pspec [Commit 10/14] Hash: 8a09a052583f60432b68bcadcdc5adfb5fbf16e5 Date: 2026-05-07 16:37:12 +0000 Message: GP-6798: Corrected CIP-51 language definition Files changed: M Ghidra/Processors/8051/certification.manifest M Ghidra/Processors/8051/data/languages/8051.ldefs A Ghidra/Processors/8051/data/languages/cip-51.pspec M Ghidra/Processors/8051/data/languages/keil-cx51.cspec [Commit 11/14] Hash: 4fac3553a866ade6c280cd33c9cfc58497a27be6 Date: 2026-05-05 15:37:34 -0400 Message: GP-6776 additional fixes Files changed: M Ghidra/Processors/TI_MSP430/data/languages/TI_MSP430.cspec [Commit 12/14] Hash: 9e547d2b51a04dad3a4f102d416ceab1fb79e3f9 Date: 2026-04-28 22:47:16 +0000 Message: GP-5525 More targeted data-type warnings Files changed: 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_varnode.cc M Ghidra/Features/Decompiler/src/decompile/cpp/type.cc M Ghidra/Features/Decompiler/src/decompile/cpp/type.hh [Commit 13/14] Hash: 329d7bae86061e106c64044dce3637fd6ba0646f Date: 2026-04-06 17:17:48 -0700 Message: address PR feedback Details: Fixes issues raised by @GhidorahRex. Adds new bug fx for MASKMOVQ. Files changed: M Ghidra/Processors/x86/data/languages/ia.sinc [Commit 14/14] Hash: b16f1556d26163d6fdc28bfe9dbac3c010b68ba9 Date: 2026-04-01 10:47:29 -0700 Message: fix various bugs in the x86 processor spec Details: Specifically: * ARPL uses CF instead of ZF for conditional RPL adjustment * DAA/DAS incorrect CF computation and missing result flags * SHR by-1 OF flag unconditionally set to 0 * RDTSCP incorrectly restricted to 64-bit mode only * SYSEXIT uses wrong register mapping * FCMOVNBE condition logic error * FYL2X/FYL2XP1 missing log2 computation * CVTPD2DQ uses trunc() instead of round() * SUBB MMX missing byte lane [8,8] * PSLLD/PSLLQ XMM use per-element shift count * PCMPxSTRx missing implicit EAX/EDX inputs and EFLAGS outputs * CET WRSSQ/WRUSSQ duplicate 0x0F byte in encoding * FMA VEX_W0 missing on PS YMM 231-form constructors * VTESTPS YMM sign bit offset errors * AVX-512 VANDPS YMM dead variable * AVX-512 VMOVHLPS copies src2 to both halves * AVX-512 VMOVHPD load form dead variable * VPSUBSW ZMM form multiple errors * CVTPD2PI uses trunc() instead of round() * PSRAD XMM uses full 128-bit shift count * VMULPS YMM missing 8th element * FPREM/FPREM1 broken remainder computation * FDECSTP clears wrong condition code bit * VMCLEAR incorrectly restricted to 64-bit mode * SYSCALL does not model RCX and R11 clobber * VRANGESS missing imm8 operand * VFPCLASSSD/VFPCLASSSS missing imm8 operand * AVX-512 VUCOMISD/VUCOMISS missing EFLAGS computation * MASKMOVDQU incorrectly assigns to XmmReg1 * DAS has same CF computation and missing flags issues as DAA * XGETBV/XSETBV ignore ECX selector Files changed: M Ghidra/Processors/x86/data/languages/avx.sinc M Ghidra/Processors/x86/data/languages/avx512.sinc M Ghidra/Processors/x86/data/languages/cet.sinc M Ghidra/Processors/x86/data/languages/fma.sinc M Ghidra/Processors/x86/data/languages/ia.sinc ``` * Add new unittest file --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Eric Kilmer <eric.kilmer@trailofbits.com>