Commit graph

18243 commits

Author SHA1 Message Date
Ryan Kurtz
e44be6f91f Merge branch
Some checks failed
Build Ghidra / build (ubuntu-latest) (push) Failing after 3s
Dependency Submission / dependency-submission (push) Failing after 3s
'GP-0_ryanmkurtz_PR-9512_sylvesterkaczmarek_fix_2445-sleigh-64-bit-constraint'
(Closes #9512, Closes #2445)
2026-08-20 07:01:17 -04:00
Ryan Kurtz
0985b10010 GP-0: Certify 2026-08-20 06:59:49 -04:00
Ryan Kurtz
22e5bb6330 Merge remote-tracking branch 'origin/patch' 2026-08-20 05:31:40 -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
b33536d0ba Merge remote-tracking branch 'origin/patch' 2026-08-19 13:01:08 -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
32fd8755ae Merge remote-tracking branch 'origin/GP-7151_emteere_PR-9516_mi11ione_fix-symbolic-propogator-unsigned-folds' 2026-08-19 12:44:18 -04:00
Sylvester Kaczmarek
9f09424660 Use unsigned comparisons for equality range checks
Apply Long.compareUnsigned for PatternValue bounds and strengthen the regression coverage across the signed long boundary.
2026-08-19 14:42:05 +01:00
Ryan Kurtz
b662f0ccdb Merge remote-tracking branch 'origin/GP-7145-dragonmacher-dt-diff-view'
(Closes #9502)
2026-08-18 12:49:58 -04:00
Ryan Kurtz
caebfc9812 Merge remote-tracking branch
'origin/GP-7150_emteere_PR-9513_CBongo_fix-minstoreloadoffset-setter'
(Closes #9513)
2026-08-18 12:47:42 -04:00
Ryan Kurtz
afd6bfba47 Merge remote-tracking branch 'origin/patch' 2026-08-18 12:46:27 -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
mi11ione
66a6bb6c7d Fix signedness of SymbolicPropogator constant folds 2026-08-17 20:17:22 -07:00
dragonmacher
5e9056b387 GP-7145 - Added an action to compare two data types 2026-08-17 17:36:58 -04:00
Ryan Kurtz
52bb03d247 Merge remote-tracking branch 'origin/GP-7143-dragonmacher-xrefs-field-improvements--SQUASHED' 2026-08-17 04:52:26 -04:00
Ryan Kurtz
cc1d6705f0 Merge remote-tracking branch 'origin/patch' 2026-08-17 04:52:07 -04:00
Chris Bongaarts
5e7bd205ec Fix setMinStoreLoadOffset assigning wrong field
In `ConstantPropagationContextEvaluator`, `setMinStoreLoadOffset` assigns `maxSpeculativeOffset` instead of `minStoreLoadOffset`.

The setter is chained **last** in `ConstantPropagationAnalyzer.flowConstants`:

```java
new ConstantPropagationContextEvaluator(monitor)
    .setTrustWritableMemory(...)
    .setMinSpeculativeOffset(minSpeculativeRefAddress)
    .setMaxSpeculativeOffset(maxSpeculativeRefAddress)
    .setMinStoreLoadOffset(minStoreLoadRefAddress)     // <-- clobbers maxSpeculativeOffset
    .setCreateComplexDataFromPointers(...)
```

so there are two consequences:

1. **`maxSpeculativeOffset` is overwritten** with `minStoreLoadRefAddress`, discarding the value
   `setMaxSpeculativeOffset` installed on the line before. `evaluateConstant` uses
   `maxSpeculativeOffset` as an end-of-memory rejection window; with the default options that
   window shrinks from the computed value to 4.
2. **`minStoreLoadOffset` never receives the option value.** It stays at its constructor default
   of 4, which makes the user-visible analysis option "Min absolute reference"
   (`MINSTORELOADREFADDRESS`) inert.

The three-argument constructor assigns both fields correctly, which is why this has gone
unnoticed: the bug is only reachable through the fluent form - which is the form the analyzer
itself uses.

This affects the base `ConstantPropagationAnalyzer` and every per-processor subclass that repeats
the same chain (MIPS, ARM, PowerPC, x86, SH4, PIC16, 68K, Hexagon, RISC-V, Sparc, NDS32,
LoongArch, and the Toy analyzer).

I noticed this on a 16-bit target, where "Min absolute reference" is exactly the option a user has
to lower to get zero-page references; the option appears to do nothing.

The javadoc on the setter is also corrected; it was duplicated from `setMaxSpeculativeOffset`.
2026-08-16 18:33:29 -05:00
Sylvester Kaczmarek
c73b325818 #2445 Fix 64-bit token equality range checks
Treat a PatternValue range whose maximum wrapped through the signed long representation as a wrapping interval. This allows full-width 64-bit token fields, whose maximum bit pattern is represented as -1, to accept valid equality constants instead of reporting an impossible constraint.

Add focused regression coverage for ordinary, full-width, and wrapped ranges.
2026-08-16 21:38:22 +01:00
Ryan Kurtz
8b4c91d4d5 GP-0: Preserve file timestamps in Gradle 2026-08-14 14:02:49 -04:00
dragonmacher
39fb0015b4 GP-7143 - Xrefs Field - Show full xref count 2026-08-14 12:40:01 -04:00
Ryan Kurtz
1bc38d195a Merge remote-tracking branch
'origin/GP-7137_dragonmacher_PR-9489_JohannesLks_preserve-register-order'
(Closes #9489, Closes #928)
2026-08-14 12:29:07 -04:00
dragonmacher
e728c307b7 GP-7137 - Updated the register picker and the Register Provider to use a
natural sort
2026-08-14 11:35:25 -04:00
Ryan Kurtz
358fcc6f4b Merge remote-tracking branch 'origin/patch' 2026-08-13 11:25:50 -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
b0f7919d43 Merge remote-tracking branch 'origin/GP-7114-dragonmacher-find-plate-comment--SQUASHED' 2026-08-13 11:24:14 -04:00
Ryan Kurtz
d5f144c24d Merge remote-tracking branch
'origin/GP-7132_ryanmkurtz_path-traversal--SQUASHED' (Closes #9482)
2026-08-13 11:09:21 -04:00
Ryan Kurtz
ca002c5904 GP-7132: Improved path traversal checks 2026-08-13 11:04:19 -04:00
Ryan Kurtz
2424807f3c GP-0: Minor change to pyghidra_launcher.py to better find python in a
virtual environment on MSYS2 (#9496)
2026-08-13 09:09:45 -04:00
dragonmacher
cccc0a6990 GP-7114 - Search Text - Fixed searching of clipped text; fixed plate comment searching 2026-08-12 19:01:15 -04:00
Ryan Kurtz
5f97b9b573 Merge remote-tracking branch 'origin/GP-7138_ryanmkurtz_Z3-tests'
(Closes #9464)
2026-08-12 12:44:27 -04:00
Ryan Kurtz
a539321eb1 GP-7138: Skip Z3 tests on unsupported testing platforms 2026-08-12 12:27:40 -04:00
Ryan Kurtz
c8c09e57ca GP-0: Adding ChangeHistory for 12.1.3 2026-08-12 11:17:27 -04:00
Ryan Kurtz
699c2b1aa8 Merge remote-tracking branch
'origin/GP-7090_emteere_PR-9407_0xFE4415_addr_table' (Closes #9407)
2026-08-12 09:01:47 -04:00
Ryan Kurtz
a47562f359 Merge remote-tracking branch 'origin/patch' 2026-08-12 08:58:18 -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
ghidorahrex
31ffc98d3b GP-7017: Fixed masking for several PEXT* and PINS* instructions 2026-08-12 08:32:45 -04:00
Ryan Kurtz
52e06667d0 Merge remote-tracking branch
'origin/GP-7133_ghidorahrex_MIPS_16e_ldefs_fix' into patch
(Closes #9432)
2026-08-12 08:27:28 -04:00
Ryan Kurtz
5174cc7ab4 Merge remote-tracking branch
'origin/GP-6767_ghidorahrex_x86_shift_rotate_flag_fix--SQUASHED' into
patch (Closes #9330)
2026-08-12 08:24:23 -04:00
Ryan Kurtz
23c874c647 Merge remote-tracking branch
'origin/GP-7018_ghidorahrex_x86_mov_sreg_opsize_fix' into patch
(Closes #9326)
2026-08-12 07:27:47 -04:00
emteere
75a3b5a028 GP-7090 PR and additional test case for split AdressTable from
references and address table sizes
2026-08-11 15:39:39 -04:00
JohannesLks
34b446a328 #928 Correct register sorting 2026-08-11 14:35:32 -04:00
Ryan Kurtz
b7b8d798be Merge remote-tracking branch 'origin/patch' 2026-08-11 11:46:06 -04:00
Ryan Kurtz
cd0d718e48 GP-7134: Upgrading log4j to 2.26.1 2026-08-11 11:40:53 -04:00
ghidra1
f488ae3e56 Merge remote-tracking branch 'origin/GP-7023_emteere_AARCH64SwitchFix' into patch 2026-08-11 10:21:07 -04:00
Ryan Kurtz
01c6da74e5 Merge remote-tracking branch 'origin/GP-7126_caheckman_SmallFields' 2026-08-11 06:16:26 -04:00
emteere
8fe0f54f13 GP-7023 Fix switch detection code for instructions with internal pcode
branching like AARCH64 CSEL instruction.
2026-08-10 18:25:06 -04:00