Commit Graph

17309 Commits

Author SHA1 Message Date
Shawn Hoffman
0345ff83cf hexagon: refresh comments to reflect current support
Records the decode coverage this branch adds (V66 ZReg matrix extension
and V81 valign4, both decode-only stubs) and narrows the shift-amount
KNOWN ISSUE to what is actually fixed: register-form shifts now model
the 7-bit signed shift amount, other forms may still assume positive.
2026-09-10 16:54:18 -04:00
Shawn Hoffman
d29b9c718f hexagon: model sxt7 shift amount in register-form shifts 2026-09-10 16:54:15 -04:00
Shawn Hoffman
0402ed5476 hexagon: drop redundant togglebit shift-count guard 2026-09-10 16:54:13 -04:00
Shawn Hoffman
9d4c191a46 Hexagon: add stub- and packet-coverage regression-pin tests
Two new JUnit tests pin the disassembly text emitted for representative
encodings of the recently added decoder stubs (HexagonStubCoverageTest)
and packet-context decoding (HexagonPacketCoverageTest), so a future edit
that accidentally drops or shadows a constructor will surface as a
deliberate review point rather than a silent regression.
2026-09-10 16:54:10 -04:00
Shawn Hoffman
671add87ab hexagon_hvx: add V81 valign4 stub
Adds a decode-only stub for V6_valign4.

The six veqhf/veqsf qfloat-accumulating predicate forms that originally
accompanied this are not added: upstream's hexagon_hvx2.sinc implements
all of them with real p-code.
2026-09-10 16:54:08 -04:00
Shawn Hoffman
42ea4784b2 hexagon_hvx: tighten vassign bit constraints
Replace the open-ended op21/op1617 patterns on the existing vassign and
Vsf/Vhf-from-qf32/qf16 constructors with the full op2123/op1620 fields,
matching the LLVM encodings exactly so neighbouring stubs don't decode
ambiguously.
2026-09-10 16:54:05 -04:00
Shawn Hoffman
8215297c83 hexagon: add V68 memw_aq decode-only stub
Acquire-load form L2_loadw_aq from V68; same iclass/op2127 family as the
existing memw_phys constructor but distinguished by op0513=0x40.
2026-09-10 13:55:39 -04:00
Shawn Hoffman
0740f82ce4 hexagon: swap min/minu operand display to match LLVM
LLVM prints min as "min(Rt, Rs)" not "min(Rs, Rt)".  Reorder the
display tokens for the four scalar/pair min and minu constructors;
pcode already evaluates min(rt, rs).
2026-09-10 13:55:37 -04:00
Shawn Hoffman
51685f00ff hexagon: drop spurious Rd5 from ictagw match list
ictagw has no destination register; Rd5 was listed in the constructor's
operand expression but never used.  Remove it so the constructor only
binds the operands it actually consumes.
2026-09-10 13:55:34 -04:00
Shawn Hoffman
80c5e9d07f hexagon: fix M2_mpyu_*_s1 typo squaring Rs instead of Rs*Rt
Both the plain and accumulating M2_mpyu :<<1 forms had zext(Rs)*zext(Rs).
Multiply by Rt as the encoding intends.
2026-09-10 13:55:32 -04:00
Shawn Hoffman
b8bcbac047 hexagon: prefix !cmp.eq/gt/gtu rather than suffix
LLVM disassembles the negated cmp constructors as "!cmp.eq Pd, Rs, Rt"
not "cmp.eq! Pd, Rs, Rt".  Quote the bang into the head token so the
display matches; pcode is unchanged.
2026-09-10 13:55:29 -04:00
Shawn Hoffman
ed3cbae4aa hexagon: fix rol pcode to compute true rotate
The rol* constructors were emitting (rs << N) | zext(rs s< 0) which only
folds the sign bit into bit 0 instead of rotating the high bits back into
the low.  Use the standard (x << N) | (x >> (W - N)) pattern so the
single-shot, accumulating, and bitwise variants all match the ISA.
2026-09-10 13:55:27 -04:00
Ryan Kurtz
3944dba4ba Merge remote-tracking branch
'origin/GP-7265_ryanmkurtz_script-error-output' into patch
(Closes #9551)
2026-09-09 13:29:17 -04:00
Ryan Kurtz
a459277c35 GP-7265: Prevent GhidraScript compilation errors from being hidden 2026-09-09 12:21:35 -04:00
Ryan Kurtz
212bd9909a Merge remote-tracking branch 'origin/GP-0-dragonmacher-script-fix' into patch 2026-09-03 13:07:10 -04:00
dragonmacher
5d75f6905b Fixed script dialog issue 2026-09-03 11:29:42 -04:00
Ryan Kurtz
5b6ef3a5cc Merge remote-tracking branch 'origin/GP-6698_ghidorahrex_superh_shift_mask--SQUASHED' into patch 2026-09-01 11:19:01 -04:00
ghidorahrex
3f16b10680 GP-6698: Fixed SuperH shift instruction bit masking 2026-09-01 10:04:51 -04:00
Ryan Kurtz
0fb5ffc31b Merge branch 'GP-7205_ryanmkurtz_x64-chained-unwind' into patch 2026-09-01 06:36:12 -04:00
Ryan Kurtz
bc3978a78e GP-7205: Certify 2026-09-01 06:31:10 -04:00
8damon
89ace222c3 Fix cyclic x64 unwind chain parsing 2026-09-01 06:20:56 -04:00
Ryan Kurtz
7940485949 Merge remote-tracking branch
'origin/GP-7027_ghidorahrex_x86_zext_upper_32_fix--SQUASHED' into patch
(Closes #9325)
2026-08-31 13:24:43 -04:00
ghidorahrex
1735e73f4e GP-7027: Fixed issue with x86 64 not zeroing out 32-bit partial regs 2026-08-31 13:02:20 -04:00
Ryan Kurtz
680e2b103a Merge remote-tracking branch
'origin/GP-7041_ghidorahrex_PR-9345_crbednarz_nds32-fmul-fdiv-match-fix'
into patch (Closes #9345)
2026-08-31 11:29:30 -04:00
Ryan Kurtz
9cfd36f755 Merge remote-tracking branch
'origin/GP-6951_ghidorahrex_PR-9082_liamwhite_sleigh-aarch64-extendreg-s'
into patch (Closes #9042, Closes #9082, Closes #9515)
2026-08-31 11:24:14 -04:00
Ryan Kurtz
75964f2f50 GP-7176: Checking for unsupported paths during library loading 2026-08-31 11:16:42 -04:00
Ryan Kurtz
6b40e4a239 GP-7173: Limiting recursion depth in OmfIteratedData.java 2026-08-31 07:10:33 -04:00
Ryan Kurtz
fef3f4c9a5 GP-7174/7175: Fixing string formatter 2026-08-31 07:02:26 -04:00
Ryan Kurtz
0423f95d0f GP-7174: Checking num_images value in AndroidBootLoaderHeader.java 2026-08-31 06:41:41 -04:00
Ryan Kurtz
2fce7f119d GP-7175: Checking count values in Mach-O BindingTable.java and
RebaseTable.java
2026-08-31 06:27:14 -04:00
Ryan Kurtz
5f2c181c3e GP-0: Upping gradle wrapper to 9.7.1 2026-08-31 04:57:23 -04:00
Ryan Kurtz
cdf9542249 GP-7171: Upgrading commons-collections4 to 4.6.0 2026-08-28 07:13:24 -04:00
Ryan Kurtz
2a6e9bacea GP-7172: Pass -- to native swift demangler to indicate end of flags 2026-08-28 06:44:28 -04:00
Ryan Kurtz
594da04843 GP-7190: Decrementing lock count when exception occurs in
domainObj.prepareToSave()
2026-08-28 05:34:13 -04:00
ghidra1
b7937a39d5 GP-7110 Additional Hexagon fixes 2026-08-27 17:59:27 -04:00
ghidra1
6845af53ff GP-1 Cleanup Hexagon file syntax 2026-08-27 13:29:45 -04:00
d-millar
4781d8c6a9 GP-0: test fix occasioned by 699c2b1 2026-08-26 11:54:03 -04:00
ghidra1
d5fe2786eb Merge remote-tracking branch 'origin/GP-7110_ghidra1_HexagonRework' into patch 2026-08-25 16:34:02 -04:00
ghidra1
ce276c838a GP-7110 Rework of Hexagon module, includes dont-care-bit fixes plus
added missing instructions
2026-08-25 16:32:29 -04:00
Ryan Kurtz
532a0e832a Merge branch 'GP-7157_ryanmkurtz_PR-9501_fefacio_fix-dlgitemtemplate-id'
into patch (Closes #9500, Closes #9501)
2026-08-20 05:29:01 -04:00
fefacio
dc4d4571db #9500 Fix DLGITEMTEMPLATE.id type 2026-08-20 05:25:50 -04:00
Ryan Kurtz
1e641d0c6e Merge remote-tracking branch
'origin/GP-7052_ghidorahrex_PR-6553_Sleigh-InSPECtor_x86_pcrel_addr32'
into patch (Closes #6553)
2026-08-19 12:56:22 -04:00
Ryan Kurtz
44ca91a905 Merge remote-tracking branch 'origin/GP-1-dragonmacher-swing-updater-delay-issue' into patch 2026-08-18 12:43:39 -04:00
Ryan Kurtz
b3ce43fc73 GP-0: Upping patch to 12.1.4 2026-08-18 12:40:13 -04:00
Ryan Kurtz
8b4c91d4d5 GP-0: Preserve file timestamps in Gradle Ghidra_12.1.3_build 2026-08-14 14:02:49 -04:00
dragonmacher
4286082207 Fixed the Swing Update Manager doubling the min delay wait time 2026-08-13 11:25:00 -04:00
Ryan Kurtz
c8c09e57ca GP-0: Adding ChangeHistory for 12.1.3 2026-08-12 11:17:27 -04:00
Ryan Kurtz
0f55c28581 Merge remote-tracking branch
'origin/GP-6620_ghidorahrex_PR-6468_Sleigh-InSPECtor_aa64_stlrb_stlrh_size'
into patch (Closes #9043, Closes #6468)
2026-08-12 08:50:43 -04:00
Ryan Kurtz
97f8ebd726 Merge remote-tracking branch
'origin/GP-7017_ghidorahrex_pinsrw_count_mask_fix--SQUASHED' into patch
(Closes #9328)
2026-08-12 08:44:25 -04:00
ghidorahrex
90015f129c GP-7017: Upped x86 version number 2026-08-12 08:36:10 -04:00