Commit graph

1497 commits

Author SHA1 Message Date
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
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