Commit graph

675 commits

Author SHA1 Message Date
Luke Serné
c79c9606bc Decompiler: Simplify comparisons between INT_OR and zero.
At -O1, gcc combines several values that all need to be compared against zero by
combining them using `INT_OR` and only comparing the combined result against
zero. With this rule, the decompiler is able to break these `INT_OR` chains
apart and simplify the individual links.
2024-05-25 14:10:05 +02:00
ghidra1
75a86e51c9 Merge remote-tracking branch 'origin/GP-0_SeparatorFix' 2024-05-20 15:12:14 -04:00
ghidra1
5aafab9ce7 Merge remote-tracking branch 'origin/GP-4566_SwitchIndirectSplit' 2024-05-02 20:05:43 -04:00
caheckman
05818c5c3a GP-4370 Internal Storage 2024-05-02 15:13:32 +00:00
caheckman
d7613fc7b6 GP-4566 Adjustment to protectSwitchPath 2024-04-29 23:53:51 +00:00
caheckman
2e0d6952fb GP-4541 Apply nolocalalias to STORE indirects 2024-04-26 23:48:59 +00:00
caheckman
3c3591f6dc GP-4514 Add check preventing multiple unlabeled switch targets 2024-04-15 19:36:38 +00:00
caheckman
4bbbba3e5a GP-4300 Full extended division in optimized division rules 2024-04-10 19:19:08 +00:00
Ryan Kurtz
42c17a20f8 Merge branch 'GP-0_ryanmkurtz_PR-5262_mehmooda_emulate' (Closes #5262,
Closes #6290, Closes #6292, Closes #5917)
2024-04-01 14:33:20 -04:00
Ryan Kurtz
1c0fc88c45 Merge branch 'GP-0_ryanmkurtz_PR-6276_ekilmer_fix-sleighexample' 2024-04-01 14:26:12 -04:00
Ryan Kurtz
84548843df Merge branch 'GP-0_ryanmkurtz_PR-6372_ekilmer_cpp-open-binary-files' 2024-04-01 14:19:06 -04:00
Ryan Kurtz
affdba0901 Merge branch 'GP-0_ryanmkurtz_PR-5382_ekilmer_fix-asan-initialize-order-fiasco' 2024-04-01 14:11:52 -04:00
Eric Kilmer
e18b424b02
decompiler-cpp: Open sla files as 'binary'
Compressed files need to be opened as binaries when reading. Fixes
opening sla files on Windows.
2024-04-01 12:28:28 -04:00
Ryan Kurtz
f5d956d5e6 Merge remote-tracking branch 'origin/GP-4031_X86SystemVABI' 2024-04-01 11:22:00 -04:00
Ryan Kurtz
ea547fad95 Merge remote-tracking branch 'origin/GP-4394_ArrayIndexFormatting'
(Closes #6019)
2024-04-01 11:20:25 -04:00
Ryan Kurtz
6b4f9b71b5 Merge remote-tracking branch 'origin/patch' 2024-04-01 11:18:56 -04:00
caheckman
b355f9b364 Test for both forward and backward slashes 2024-03-26 20:58:28 +00:00
caheckman
1a573da83d GP-4416 Truncate LoadTable as part of sanity check 2024-03-22 18:02:04 +00:00
RoboSchmied
d7cc532fe3 Fix: 132 typos
Signed-off-by: RoboSchmied <github@roboschmie.de>
2024-03-22 02:25:30 +01:00
caheckman
c674e1f2ec GP-4031 x86 System V ABI 2024-03-13 16:55:44 +00:00
Ryan Kurtz
1cc9abad50 Merge remote-tracking branch 'origin/patch' 2024-03-08 08:54:02 -05:00
Ryan Kurtz
5ecf3a1436 Merge remote-tracking branch 'origin/GP-4376_EmitMarkupDebug'
(Closes #5860)
2024-03-07 09:17:47 -05:00
caheckman
49af7f2db5 GP-4376 Add setPackedOutput to Emit 2024-03-06 22:32:06 +00:00
caheckman
ac0ed8d90b GP-4394 Add formatting to constant array indices 2024-03-05 22:41:52 +00:00
Eric Kilmer
b739e21073
Fix C++ sleighexample
* We need to link to zlib now

* The method for loading compiled sleigh files has changed
2024-03-04 11:41:14 -05:00
caheckman
ae6f7b479c GP-4303 Collapse STARTSYM, ENDSYM, NEXT2SYM, etc. into single token type 2024-02-28 22:02:46 +00:00
Ryan Kurtz
d1dc48547e Merge remote-tracking branch 'origin/GP-4285_CompressedSleigh' 2024-02-28 14:32:37 -05:00
caheckman
8fbd171cdf GP-4285 Compressed SLEIGH 2024-02-28 18:39:15 +00:00
caheckman
8af47cc7b0 GP-4369 Adjust switch variable path detection 2024-02-27 17:47:38 +00:00
Ryan Kurtz
23d471731e Merge remote-tracking branch 'origin/patch' 2024-02-27 12:04:44 -05:00
caheckman
5942e95994 GP-4332 Treat software break as non-returning call 2024-02-27 16:23:26 +00:00
Eric Kilmer
1c2323cad3
Fix ASAN static initialization order fiasco
See here for more details
https://github.com/google/sanitizers/wiki/AddressSanitizerInitializationOrderFiasco

Use the "Construct On First Use" idiom from
https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Construct_On_First_Use
2024-02-16 11:58:09 -05:00
Ryan Kurtz
3efa8ce57e Merge remote-tracking branch 'origin/GP-3961_StructureExceptions'
(Closes #5719)
2024-02-12 16:46:07 -05:00
caheckman
690459e2f1 GP-4314 Don't sanity check overridden switch 2024-02-09 18:02:11 +00:00
caheckman
a7ad4aef26 GP-3961 Error messages for setFields 2024-02-07 19:57:11 +00:00
caheckman
e655ab3cb3 GP-4226 Detect BRANCHIND used as a RETURN 2024-02-05 22:36:39 +00:00
Ryan Kurtz
bcb54cda38 Merge remote-tracking branch 'origin/GP-3941_ConditionMarkerRefactor'
into patch (Closes #5611)
2024-01-16 09:22:47 -05:00
caheckman
548d71007f Adjustments to default hidden return assignment action 2024-01-09 21:51:36 +00:00
caheckman
8f3328856c GP-3941 New boolean correlation test 2024-01-08 23:37:31 +00:00
Ryan Kurtz
2848eb56a5 Merge remote-tracking branch 'origin/GP-4169_ExtractPrimitivesException'
into patch (Closes #6047, Closes #6068)
2024-01-08 18:35:59 -05:00
caheckman
0ed3459dbf GP-4201 Check for descendants prior to normalizeReadSize 2024-01-04 22:57:33 +00:00
caheckman
021c5b7af3 GP-4169 Adjustments to extractPrimitives 2024-01-03 23:05:21 +00:00
caheckman
ff2526479e GP-4140 Strip TypeDefs when extracting primitives 2023-12-15 19:56:26 +00:00
caheckman
99d8762b9c GP-4133 Adjustment for forced indirect return 2023-12-11 22:38:21 +00:00
ghidra1
867ab256b0 Merge remote-tracking branch 'origin/GP-4102_PiecePathologyLoop' into
Ghidra_11.0 (Closes #5934)
2023-12-11 09:48:38 -05:00
ghidra1
09c821367c Merge remote-tracking branch
'origin/GP-4117_DecompilerUnpackedStructures' into Ghidra_11.0
(Closes #6004)
2023-12-11 09:48:18 -05:00
caheckman
97acbb7208 Check for null pointer when looking up endianess 2023-12-07 00:45:39 +00:00
caheckman
bd43d1b11a GP-4117 Pass structure/union alignment to decompiler 2023-12-06 23:48:52 +00:00
ghidra1
ee4c7f2041 Merge branch 'epic_GP-4009_BSimPublicRelease_SQUASHED' 2023-12-05 08:35:30 -05:00
caheckman
0865a3dfb0 GP-4009 Introduced BSim functionality including support for postgresql,
elasticsearch and h2 databases.  Added BSim correlator to Version
Tracking.
2023-12-05 08:30:51 -05:00