Commit Graph

1589 Commits

Author SHA1 Message Date
Ryan Kurtz
c175cfa23c Merge remote-tracking branch
'origin/GP-4714_ghidracadabra_PR-6523_Sleigh-InSPECtor_x86_cmov_alias'
(Closes #6523)
2024-07-08 10:42:35 -04:00
Ryan Kurtz
8f03dc8145 Merge remote-tracking branch 'origin/patch' 2024-07-08 10:38:49 -04:00
ghizard
fdd8ff2391 GP-4752 - Change AARCH64 Windows cspec stack alignment from 4 to 8 2024-07-06 10:55:34 +00:00
Luke Serné
7b243aaa5a 68000: Update condition flags for ext instruction 2024-07-03 19:05:32 +02:00
Rubens Brandão
7dd6e04b0a
fix SparcV9 compared value
The Comparison include one extra `7`, what overflow the 32bits value and is never true.
2024-07-03 09:58:12 -03:00
Ryan Kurtz
d58923419c GP-4729: More OmfLoader refactoring. Initial Omf51Loader framework. 2024-07-03 07:45:09 -04:00
Ryan Kurtz
c1f8312c56 Merge remote-tracking branch 'origin/GP-4719_ghidra1_StandaloneDTMUndoRedo--SQUASHED' 2024-07-01 14:46:43 -04:00
ghidra1
ff032bee4b GP-4719 Added support for undo/redo for datatype archives. 2024-07-01 13:52:07 -04:00
ghidra1
1c7232d5a6 Merge remote-tracking branch
'origin/GP-4737_ghidra1_ElfArmHandleUnresolvedRelocSymbol'
(Closes #6673)
2024-07-01 13:40:19 -04:00
ghidra1
036ef9d0db GP-4737 - Improve ELF relocation handling of unresolved symbol 2024-07-01 13:06:54 -04:00
ghidra1
28846ef279 GP-0 Corrected formatting issue 2024-06-26 16:55:02 -04:00
Sleigh-InSPECtor
ff317b039d x86: Fix evaluation order of CMOV 2024-06-24 19:24:50 +00:00
Ryan Kurtz
21a3896018 Merge remote-tracking branch 'origin/GP-4682_ghidra1_eBPFAnalysis--SQUASHED' 2024-06-24 13:50:03 -04:00
ghidra1
eb5e6a323a GP-4682 cleanup eBPF analyzers and BPF helper function identification 2024-06-24 12:39:52 -04:00
Ryan Kurtz
ebfd108dde Merge remote-tracking branch 'origin/patch' 2024-06-10 14:36:35 -04:00
Ryan Kurtz
f36a902831 Merge remote-tracking branch
'origin/GP-4585_ghidorahrex_6805_branch_conditional_fix' into patch
(Closes #6482)
2024-06-10 14:33:22 -04:00
Ryan Kurtz
930e36c405 Merge remote-tracking branch
'origin/GP-2881_ghidorahrex_PR-4485_Mistranger_z80_undocumented_registers'
into patch (Closes #4485)
2024-06-10 14:27:32 -04:00
ghidra1
1a07f05e1d Merge remote-tracking branch 'origin/Ghidra_11.1' 2024-06-06 20:03:48 -04:00
ghidra1
b1a67cce48 GP-3878 Corrected ELF x86 32-bit PLT processing issue 2024-06-06 19:29:38 -04:00
Ryan Kurtz
c19facf226 Merge remote-tracking branch 'origin/Ghidra_11.1' 2024-06-04 13:00:32 -04:00
ghidorahrex
1e8ae0f7c7 GP-0: Removed evexMode and extended vexMode to be 2 bits 2024-06-04 16:28:24 +00:00
ghidra1
90dec6007d GP-0 Tweaked AVX KWriteMask operand concatenation 2024-06-04 11:26:49 -04:00
ghidorahrex
9c17d474e9 GP-2881: Fixed build.gradle 2024-06-03 20:16:10 +00:00
ghidra1
500f02763c Merge remote-tracking branch 'origin/Ghidra_11.1' 2024-06-03 13:59:53 -04:00
ghidra1
7652fc2d61 GP-0 minor old language revision 2024-06-03 13:48:28 -04:00
Sleigh-InSPECtor
0a99c5f5b4 x86: opsize override prefix not handled for 16-bit MOVSX/MOVZX
(Closes #6525)
2024-06-03 13:26:34 -04:00
James
66f3a50f36 GP-2630 added comment 2024-06-03 13:26:34 -04:00
Sleigh-InSPECtor
6e0bd30a74 Fix issue with 0x82 alias in 64-bit mode. (Closes #6510) 2024-06-03 13:26:34 -04:00
Grouzy
587fd67b03 fix pcode generated for STR wrap, required STR in ifdef, fix STR
(Closes #6156)
2024-06-03 13:26:34 -04:00
ghidorahrex
c7b0a0f65a GP-1561: Updated x86 to support AVX-512 (Closes #4704, Closes #6458,
Closes #2209)
2024-06-03 13:26:34 -04:00
dev747368
560d5691a7 GP-4482 Golang 1.16 + 1.15 2024-05-29 19:04:27 +00:00
Ryan Kurtz
35434613b8 Merge remote-tracking branch
'origin/GP-4498_ghidorahrex_PR-6013_mumbel_superh_fixes' into
Ghidra_11.1 (Closes #5967, Closes #6013)
2024-05-28 07:55:56 -04:00
ghidorahrex
492743608c GP-2881: Fixed up several instructions 2024-05-24 14:40:23 +00:00
cybermind
4c3fbfda47 Support for Z80 undocumented registers 2024-05-24 14:34:58 +00:00
Ryan Kurtz
b5c0490313 Merge remote-tracking branch
'origin/GP-4552_ghidorahrex_PR-6456_rbran_tricore_stda_fix' into
Ghidra_11.1 (Closes #6456)
2024-05-16 13:59:25 -04:00
Sleigh-InSPECtor
62c623cbcd AArch32: fixed ldaexd
* fixed addr src register aliased as first dest register of a double word load causing second word load at the value of first load
2024-05-16 18:09:04 +09:30
Sleigh-InSPECtor
45781680c4 AArch32: fixed sha1su1.32
* fixed destructive left shifts on 32-bit values before zext
2024-05-16 13:37:25 +09:30
Sleigh-InSPECtor
614d50fcfa AArch32: fixed sha1su0.32
* fixed destructive 64-bit left shift on a 64-bit value before zext
2024-05-16 12:08:49 +09:30
Sleigh-InSPECtor
4d83de9f06 x86: Add missing float-to-integer cast operation to CVTSD2SI/CVTSD2SI 2024-05-15 17:37:42 +09:30
ghidorahrex
0e481512a8 GP-4585: Fixed 6805 branch conditionals 2024-05-08 18:57:45 +00:00
Ryan Kurtz
197a18a77e Merge remote-tracking branch
'origin/GP-4377_ghidorahrex_68000_fix_signed_byte--SQUASHED' into
Ghidra_11.1 (Closes #6260, Closes #4191)
2024-05-07 12:31:30 -04:00
dev747368
31f4e55845 GP-0 fix DWARF and Golang register mapping info for AARCH64 2024-05-07 16:16:29 +00:00
ghidorahrex
3ad1f908a4 GP-4377: Fixed m68000 byte operand width and floating point width 2024-05-07 10:49:01 -04:00
Ryan Kurtz
c7fcf1fff0 Merge remote-tracking branch 'origin/GP-4579_dev747368_add_golang_1_22' into Ghidra_11.1 2024-05-06 12:47:42 -04:00
dev747368
0054de4936 GP-4579 Add golang 1.22 2024-05-03 19:08:00 +00:00
ghidra1
da37568e9a Merge remote-tracking branch
'origin/GP-4407_James_MCS96_POP_ZR--SQUASHED' (Closes #6181)
2024-05-03 11:22:52 -04:00
James
0e7b8e2053 GP-4407 exported temporary with value 0 instead of constant 0 for ZR 2024-05-03 09:26:57 -04:00
ghidra1
3434cfb699 Merge remote-tracking branch 'origin/GP-4576_James_fix_rcr_rcl_x86-64'
(Closes #6423)
2024-05-02 20:07:39 -04:00
ghidra1
1d2eaec0c0 Merge remote-tracking branch 'origin/GP-4370_InternalStorage' 2024-05-02 19:55:45 -04:00
ghidra1
d9d8e82bf6 Merge remote-tracking branch 'origin/patch' 2024-05-02 19:55:23 -04:00
ghidra1
3da9abdd77 Merge remote-tracking branch 'origin/GP-3723_ghidorahrex_PIC16_movlb_variant' into patch 2024-05-02 19:49:33 -04:00
caheckman
05818c5c3a GP-4370 Internal Storage 2024-05-02 15:13:32 +00:00
James
91014dccb6 GP-4576 fixed rcr and rcl in x86-64 2024-05-02 14:10:28 +00:00
dev747368
63512f3759 GP-4465 get Golang analysis working on AARCH64, AppleSilicon + MachO
Inspired by PR #6157 (by seekbytes), adds support for Apple MachO AARCH64 binaries to existing golang analyzer.
2024-04-24 11:04:54 -04:00
Rubens Brandão
cf21550bc8
Fix tricore instruction st.da circular addr mode
At the manual https://www.infineon.com/dgdl/tc_v131_instructionset_v138.pdf?fileId=db3a304412b407950112b409b6dd0352
It defines word as 32bits, and the instruction define a memory write of word len `(M(EA0, word) = A[a];`, so those are two 4bytes writes and not 2bytes writes
2024-04-23 10:30:29 -03:00
Ryan Kurtz
190f1eaa1e Merge remote-tracking branch 'origin/GP-4474_emteere_PPC_blrl_PIC' 2024-04-16 12:14:53 -04:00
Ryan Kurtz
894d55ccb4 Merge remote-tracking branch 'origin/GP-4513_emteere_WinAARCH64_chkstk' 2024-04-16 12:12:11 -04:00
emteere
aa035fa7be GP-4513 Simplified callfixup 2024-04-15 16:25:55 -04:00
emteere
631056a5cc GP-4474 Added PPC LE patterns 2024-04-15 15:53:05 -04:00
emteere
d934e7aace GP-4474 Add pattern to automatically set callfixup on blrl PIC related
routine
2024-04-15 15:35:51 -04:00
Ryan Kurtz
bc035ba9c8 Merge remote-tracking branch 'origin/patch' 2024-04-12 13:46:17 -04:00
Ryan Kurtz
388a4d7c2b Merge remote-tracking branch 'origin/GP-4499_ghidorahrex_aarcht64_ldst_wback_fix' into patch 2024-04-12 13:43:52 -04:00
emteere
9c2b3670fa GP-4513 Added callfixup for __chkstk routine in windows AARCH64 binaries 2024-04-11 15:46:16 -04:00
Ryan Kurtz
2237d2ac9e Merge remote-tracking branch 'origin/patch' 2024-04-10 10:35:11 -04:00
emteere
154ccaae96 GP-4507 added Tricore p0/p8 to .cspec prefersplit list 2024-04-10 10:16:57 -04:00
ghidorahrex
3169948bc8 GP-3723: Added PIC16F MOVLB variant instruction 2024-04-09 13:00:58 +00:00
ghidorahrex
4b00b140d7 GP-4499: Fixed AARCH64 ldst_wback subconstructor 2024-04-08 15:54:57 +00:00
Ryan Kurtz
3e35b4d4a7 Merge remote-tracking branch 'origin/patch' 2024-04-03 14:36:07 -04:00
ghidra1
6705f25da2 GP-0 Additional ELF relocation handler change 2024-04-01 17:10:27 -04:00
ghidra1
01087ba0a8 GP-0 Minor revision to ELF relocation handlers 2024-04-01 17:09:44 -04:00
emteere
4af7788201 GP-4479 fix decompiling of V850 binaries not using GP and TP registers
as constants when when computing memory references
2024-04-01 16:23:06 -04:00
Ryan Kurtz
f5d956d5e6 Merge remote-tracking branch 'origin/GP-4031_X86SystemVABI' 2024-04-01 11:22:00 -04:00
Ryan Kurtz
6b4f9b71b5 Merge remote-tracking branch 'origin/patch' 2024-04-01 11:18:56 -04:00
Ryan Kurtz
f0aaf4ebbb Merge remote-tracking branch 'origin/GP-3917_emteere_AddBTIcToFunctionStarts' into patch 2024-04-01 11:08:25 -04:00
emteere
bb5f35216e GP-4468 tricore calling convention extension="inttype" fix 2024-03-29 12:18:09 -04:00
dev747368
d566cde70e GP-0 fix dwarf sparc register mappings 2024-03-28 16:26:47 +00:00
Ryan Kurtz
c131adc670 Merge remote-tracking branch
'origin/GP-4464_dev747368_PR-6301_Ninja3047_fix-sparc-dwarf'
(Closes #6301)
2024-03-27 13:26:26 -04:00
Ryan Kurtz
0f3351ab6a Merge branch 'GP-0_ryanmkurtz_PR-6345_RoboSchmied_endianness-typo' 2024-03-27 07:27:47 -04:00
dev747368
03cf1b7cd8 GP-4464 PR-6301 certify file 2024-03-26 19:26:07 +00:00
Ryan Kurtz
a56712d4ab Merge remote-tracking branch
'origin/GP-4401_ghidracadabra_PR-4120_flk0_master' (Closes #4120)
2024-03-25 10:14:37 -04:00
James
697718ff35 GP-4401 code review changes 2024-03-25 14:04:37 +00:00
RoboSchmied
d7cc532fe3 Fix: 132 typos
Signed-off-by: RoboSchmied <github@roboschmie.de>
2024-03-22 02:25:30 +01:00
emteere
797d1b8103 GP-3917 Adding BTIc function start pattern for AARCH64 2024-03-20 16:24:06 -04:00
Ryan Kurtz
211e15bef5 Merge remote-tracking branch 'origin/patch' 2024-03-20 13:16:06 -04:00
mumbel
83b45b995c MIPS patterns
sync possible function start with function start
correct bit pattern for all bits in instr_index
2024-03-20 13:11:20 -04:00
James
000085a82f add/subtract with carry tweaks 2024-03-18 21:53:05 +00:00
James
68270ac6d9 minor tweaks 2024-03-18 17:14:15 +00:00
flk0
3c11e8f59f Correct errors in the MSP430 SLEIGH specification
This patch modifies the SLEIGH specification of MSP430 (but not the MSP430X extension) to produce pcode that more accurately reflects the actual behaviour of the instruction set. These changes were derived by testing the Ghidra emulation of MSP430 instructions against the behaviour of an MSP430FR5994 dev board.

The changes include:
    Unaligned (odd) word memory accesses and writes now properly round down rather than accessing unaligned memory. This affects instructions that depend on the stack pointer, which can be misaligned.

    The PC register can now never become misaligned (it's low bit is effectively zero).

    Accesses of the PC register now properly reflect the address of the next instruction.

    Instructions that use the status register (SR) as a general source register have been modified to prevent changes to the status codes (embedded in SR) to clobber the value of SR prior to its use in the operation. There is more work to be done to correct the behaviour of instructions where SR is used as the destination register.

    Instructions of the form MNEM @reg+ X(reg) where the source and dest use the same register now accurately reflect the source increment in the calculation of the dest value. [These instruction behaves as: fetch source, increment source, fetch dest]

    The implementation of the V flag for ADDC, SUBC, and related emulated instructions now reflects comparing the src and dest signs (without the carry) with the result sign (which includes the carry). [The original implementation adds the carry to either the source or dest prior to scarry]

    Added an implementation of the decimal add instructions that may be clunky, but accurately performs the operations.

    The RRC instruction now clears the V flag.

    A new table has been added for single operand instructions, as tbl_bzero was incorrectly applied (single operand instructions use the as (not ad) token for the dest).

    The carry flag was inverted for DEC and DECD.

    Corrections for corner case instructions: PUSH/POP SP, PUSH/CALL X(SP), BR @reg+.
2024-03-15 20:00:10 +00:00
Ryan Kurtz
86b7d45ba8 Merge remote-tracking branch 'origin/patch' 2024-03-14 12:53:10 -04:00
Ryan Kurtz
786efaf0a0 Merge remote-tracking branch 'origin/GP-4419_ghidorahrex_ppc_lwax_fix' into patch 2024-03-14 12:48:00 -04:00
caheckman
c674e1f2ec GP-4031 x86 System V ABI 2024-03-13 16:55:44 +00:00
Ryan Kurtz
362f571b19 Merge remote-tracking branch 'origin/patch' 2024-03-13 09:41:45 -04:00
Ryan Kurtz
9a990e536c Merge remote-tracking branch 'origin/GP-4418_ghidorahrex_PR-5756_esaulenka_fix_Tricore_DEXTR' into patch 2024-03-13 09:34:16 -04:00
ghidra1
193e7221fd Merge remote-tracking branch 'origin/patch' 2024-03-13 09:04:01 -04:00
Ryan Kurtz
524dd901c5 Merge remote-tracking branch 'origin/GP-4397_ghidra1_ElfPPC_ADDR16_LO_HA' into patch 2024-03-13 08:32:20 -04:00
ghidorahrex
18b1d5b6a1 GP-4419: Fixed pcode for ppc lwax instruction 2024-03-11 15:50:45 +00:00
William Tan
2428fc5b04
add dwarf register mapping for sparc 2024-03-08 10:45:06 -05:00
Ryan Kurtz
812d47c6ac Merge remote-tracking branch
'origin/GP-3110_emteere_PR-1449_mumbel_tricoreanalyzer' (Closes #1449)
2024-03-08 09:05:51 -05:00
Ryan Kurtz
e1054e0bc9 Merge remote-tracking branch
'origin/GP-4381_ghidorahrex_PR-6266_AltimorTASDK_x86_FDIVP_fix'
(Closes #6266)
2024-03-08 09:03:08 -05:00
Ryan Kurtz
1cc9abad50 Merge remote-tracking branch 'origin/patch' 2024-03-08 08:54:02 -05:00