Commit Graph

1588 Commits

Author SHA1 Message Date
Ryan Kurtz
1e0145401b Merge remote-tracking branch 'origin/patch' 2024-01-19 14:55:46 -05:00
ghidorahrex
6481044958 GP-4249: Renamed pcodeops for x87 fbstp and fbld instructions 2024-01-19 19:51:23 +00:00
Ryan Kurtz
4f4933843a Merge remote-tracking branch
'origin/GP-3787_ghidorahrex_PowerPC_VLE_branch_CR_operand--SQUASHED'
into patch (Closes #5246)
2024-01-19 14:50:32 -05:00
ghidorahrex
8371098d19 GP-3787: Added CR operand to PowerPC VLE conditional branches 2024-01-19 19:32:27 +00:00
Ryan Kurtz
96ae825dce Merge remote-tracking branch 'origin/patch' 2024-01-19 14:16:03 -05:00
Ryan Kurtz
45b0d98108 Merge remote-tracking branch 'origin/GP-4228_ghidra1_X86_64_ElfGotAllocation' into patch 2024-01-19 14:09:10 -05:00
Ryan Kurtz
738b176be6 Merge remote-tracking branch
'origin/GP-3788_ghidorahrex_powerpc_vle_loadstoreHW_idx' into patch
(Closes #5245)
2024-01-19 13:55:21 -05:00
ghidra1
7d9c1c748a GP-4228 Corrected X86-64 ELF GOT allocation for object module import for
R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX relocations
2024-01-18 15:04:12 -05:00
Ryan Kurtz
9b7c60efe2 Merge remote-tracking branch 'origin/patch' 2024-01-18 07:42:01 -05:00
Ryan Kurtz
363ee48dfa Merge remote-tracking branch
'origin/GP-3789_ghidorahrex_PowerPC_move_legacy_instructions' into patch
(Closes #5243)
2024-01-18 06:59:19 -05:00
Ryan Kurtz
8a76c1bb57 Merge remote-tracking branch
'origin/GP-4163_ghidorahrex_PR-6033_jiegec_loongarch_csr_reg_fix' into
patch (Closes #6033)
2024-01-18 06:57:17 -05:00
James
e7f5a8a5a1 GP-4152 msp430 ELF relocation fixes 2024-01-17 19:09:10 -05:00
ghidra1
325c48e904 GP-4152 added ability for ELF extension to specify default image base 2024-01-17 19:08:21 -05:00
James
1e82a772c5 GP-4152 msp430 improvements 2024-01-17 19:08:03 -05:00
marcus hall
df3726dec7 clamps instruction should put result in ar, not just a temporary. 2024-01-12 10:39:17 -07:00
marcus hall
a7cc025eb9 Fix branch sense in "bany" instruction. Add special cases for "sext" of bytes. 2024-01-12 10:05:58 -07:00
Ryan Kurtz
676e60f71b Merge remote-tracking branch
'origin/GP-4183_dev747368_PR-6072_astrelsky_golang_1.21' (Closes #6072)
2024-01-10 12:00:51 -05:00
dev747368
5e18efdd0d GP-4183 add golang 1.21 support 2024-01-10 16:36:47 +00:00
Ryan Kurtz
a9aedc10f5 Merge remote-tracking branch 'origin/patch' 2024-01-05 12:37:08 -05:00
Ryan Kurtz
8de91023dc Merge remote-tracking branch 'origin/GP-4104_ghidorahrex_hcs12_call_ppage_fix--SQUASHED' into patch 2024-01-05 12:31:15 -05:00
ghidorahrex
bc7402b1fa GP-4104: Fixed address offset in HCS12 PPAGE calculation 2024-01-05 10:10:55 -05:00
Ryan Kurtz
1542fc9b52 Merge remote-tracking branch
'origin/GP-4180_ghidra1_ELFSectionRelativeSymbols--SQUASHED'
(Closes #6025)
2024-01-04 09:12:01 -05:00
Ryan Kurtz
c809cf1740 Merge branch 'GP-0_ryanmkurtz_PR-5965_rndtrash_ppc' 2024-01-04 08:57:11 -05:00
Ryan Kurtz
c3b4f5eda0 GP-0: Formatting/Certify. Also removing untested code. 2024-01-04 08:52:58 -05:00
ghidra1
82c2716ba4 GP-4180 revised ELF section symbol extension support for MIPS 2024-01-03 17:55:57 -05:00
Ryan Kurtz
23516964e3 CoffLoader improvements 2024-01-02 11:15:21 -05:00
Ryan Kurtz
fb165bd2c5 Merge remote-tracking branch 'origin/patch' 2023-12-22 15:24:13 -05:00
ghidorahrex
e8151da0fc GP-3181: Fixed HC05 ldefs and calling conventions for HC05/HCS08 2023-12-22 18:36:28 +00:00
Ryan Kurtz
dfc8e6b63d Merge remote-tracking branch 'origin/Ghidra_11.0' 2023-12-19 07:52:56 -05:00
Jiajie Chen
554b7f198e GP-0 Fix csrxchg definition for LoongArch 2023-12-19 10:23:31 +08:00
Jiajie Chen
ef6469d8cc GP-0 Add missing csr77 to LoongArch 2023-12-19 10:23:06 +08:00
ghidra1
d156a09c29 Merge remote-tracking branch 'origin/GP-3804_loongarch_relocations--SQUASHED' into Ghidra_11.0 2023-12-18 12:59:18 -05:00
ghidorahrex
b6ca0ff46a GP-3804: Added Loongarch elf relocations 2023-12-18 12:58:28 -05:00
ghidra1
04b9f0258c Merge remote-tracking branch 'origin/GP-3068_emteere_AddPPC_e500mc' into Ghidra_11.0 2023-12-18 12:52:43 -05:00
Ryan Kurtz
05070bcd9d Merge remote-tracking branch 'origin/Ghidra_11.0' 2023-12-18 10:00:35 -05:00
ghidra1
0b535fcf82 GP-0 update to __rustcall param join handling 2023-12-15 21:09:18 -05:00
Ryan Kurtz
e05c1d1600 Merge remote-tracking branch 'origin/GP-4149_James_frame_descriptor_entry_16_bit' 2023-12-15 17:10:24 -05:00
emteere
ec023b3ffe GP-3068 Adding in pure 32-bit PPC e500mc processor spec 2023-12-15 02:55:39 +00:00
James
d39a5e8365 GP-4149 frame descriptor entry fix and msp430 improvements 2023-12-14 20:22:16 +00:00
ghidorahrex
c497b8a52b GP-3999: Reformatted sleigh for ppc vlee_rlwi(nm/mi) instructions 2023-12-14 15:17:39 -05:00
Alexey Esaulenko
7a8a9534ee PowerPC: additional MPC55xx float-point instructions 2023-12-14 15:17:37 -05:00
Alexey Esaulenko
cf373686d1 PowerPC: e_rlwinm fix remove unreachable block warning 2023-12-14 15:17:35 -05:00
Alexey Esaulenko
62561121aa PowerPC: float compare should set great that flag, but not overflow 2023-12-14 15:17:33 -05:00
Alexey Esaulenko
f4c042544a PowerPC: XOR can be used in VLE mode 2023-12-14 15:17:31 -05:00
ghidra1
11516a1682 Merge branch 'GP-4139_ghidra1_DemangledFunctionSourceType' into Ghidra_11.0 2023-12-14 15:05:22 -05:00
ghidra1
d4c854ddbc GP-4139 Improve demanglers function signature source type applied.
Renamed rustcall to __rustcall.  Minor fix to legacy rust demangling for
namespaces.
2023-12-14 14:54:28 -05:00
ghidra1
fb7d2f4227 Merge remote-tracking branch 'origin/GP-4055_ghidorahrex_avr8_des_hflag'
into Ghidra_11.0 (Closes #5235)
2023-12-14 08:55:59 -05:00
ghidra1
72bb0e4626 Merge remote-tracking branch
'origin/GP-4054_ghidorahrex_PR-5213_mikenawrocki_pic24_doend_offset'
into Ghidra_11.0 (Closes #5213)
2023-12-14 08:54:09 -05:00
mumbel
111f897f61 superh fixes 2023-12-11 16:27:54 -06:00
James
ea7dedde14 GP-3875 fixed mips ei and di handling of zero register 2023-12-11 19:16:46 +00:00
ghidra1
9b53f58010 GP-4118 Corrected failure caused by bad ELF GOT allocation during x86-64
object module import (Closes #5961)
2023-12-06 16:52:06 -05:00
ghidra1
714b1b1350 Merge branch 'GP-2412_Rust-final' 2023-12-01 16:06:03 -05:00
1635321
921247f640 GP-2412: Improved support for Rust binaries 2023-12-01 16:04:52 -05:00
dev747368
272c6a4d1f GP-2109 Golang analyzer improvements, gostrings.
Add GolangStringAnalyzer.

Improved recovery of function signatures (from method and interfacemetadata, also via stack trace info).

Golang package paths are used as Ghidra namespace.

Propagate RTTI from some built-in runtime alloc methods.
2023-11-30 18:59:13 +00:00
Ryan Kurtz
9b0e95bccf Merge remote-tracking branch 'origin/patch' 2023-11-30 11:20:06 -05:00
Ryan Kurtz
f819a00d45 Merge remote-tracking branch
'origin/GP-3784_ghidorahrex_x86_reimplement_test_registers' into patch
(Closes #5662)
2023-11-30 11:17:43 -05:00
ghidorahrex
ec60b7da13 GP-3784: Reimplemented x86 test register support. 2023-11-30 15:20:38 +00:00
Ryan Kurtz
d686733b35 Merge remote-tracking branch
'origin/GP-4049_emteere_RemovePCValueDependence' (Closes #5891)
2023-11-30 09:59:45 -05:00
Ryan Kurtz
f934dc9529 Merge remote-tracking branch 'origin/GP-3948_emteere_MipsTrapTEQ' 2023-11-30 09:57:41 -05:00
Ryan Kurtz
2965ec9a26 Merge remote-tracking branch 'origin/GP-4018_emteere_MXCSR_x86register--SQUASHED' 2023-11-30 08:26:00 -05:00
Ryan Kurtz
0e9c36b513 Merge remote-tracking branch 'origin/patch' 2023-11-30 08:23:00 -05:00
Ryan Kurtz
738fde68d0 Merge remote-tracking branch
'origin/GP-3387_Ghidorahrex_PR-5205_edmcman_68000_fint' into patch
(Closes #5205)
2023-11-30 08:19:50 -05:00
emteere
7cf82f82f5 GP-4049 removed incorrect dependence on PC having a value in superh and
68000
2023-11-30 01:36:50 +00:00
emteere
78bbf89075 GP-3948 MIPS TEQ zero,zero changed to trap always 2023-11-30 00:52:36 +00:00
emteere
4a68bdc58e GP-4018 added MXCSR x86 mmx status register to compiler spec globals list 2023-11-29 16:43:18 -05:00
ghidorahrex
28e4ce3d45 GP-3387: Added rounding mode to fint pcodeop 2023-11-29 16:37:12 +00:00
Edward J. Schwartz
38ef50b1b7 Use pcode op for fint instead of undefined 2023-11-29 16:34:33 +00:00
Edward J. Schwartz
85ff068e20 Fix sleigh for fint/fintrz
Without additional machinery, fint can't be precisely modeled because the rounding mode is controlled by the state.  fintrz always rounds to zero.  I think whoever implemented fint probably meant to implement fintrz.
2023-11-29 16:34:32 +00:00
Ryan Kurtz
cc23b93d06 Merge remote-tracking branch 'origin/GP-3786_ghidorahrex_6x09_stu_fix'
(Closes #5671)
2023-11-29 11:09:58 -05:00
ghidra1
37a2f5e478 GP-1062 Update Xtensa sinc file allocations 2023-11-21 17:29:17 -05:00
ghidorahrex
79d775e6a5 GP-4055: Corrected AVR 8 Hflag usage in DES instruction 2023-11-21 14:06:23 +00:00
Mike Nawrocki
2003baa523 PIC24: Fix DOEND register offset
Based on the datasheet: https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/70117F.pdf Table 3-3 (p 38)

DOEND should start at offset 0x3E
2023-11-20 16:15:33 +00:00
roblabla
80d92aa32f GP-0: Remove executable bit on various non-executable files
(Closes #5943)
2023-11-20 08:57:02 -05:00
Ryan Kurtz
7df3fd39c8 Merge remote-tracking branch
'origin/GP-1062_ghidorahrex_PR-1407_and_5442_Xtensa' (Closes #1407,
Closes #5442)
2023-11-20 06:53:50 -05:00
ghidra1
e65bede08b GP-0 Corrected loongarch ilp32f pentry sizing issue. Improved cspec
parse error reporting to include line number.
2023-11-17 10:33:36 -05:00
Ivan Kuzmenko
d543ca8e3d Add support for PowerPC COFF Relocations 2023-11-17 07:32:11 +03:00
ghidorahrex
21e74c4d42 GP-4047: Fixed RISC-V custom instruction sleigh patterns 2023-11-16 16:53:58 +00:00
Ryan Kurtz
7c686cbfb7 Merge remote-tracking branch 'origin/GP-3938_PrototypeModelRules' 2023-11-15 06:30:05 -05:00
Ryan Kurtz
86da74d01a GP-3211: Fixing compilation error 2023-11-14 12:46:59 -05:00
Ryan Kurtz
0f09d6fed3 Merge remote-tracking branch 'origin/GP-3211_ghidorahrex_loongson_proc'
(Closes #5083)
2023-11-14 12:20:33 -05:00
Ryan Kurtz
b0f3d99545 Merge remote-tracking branch 'origin/patch' 2023-11-09 13:12:14 -05:00
ghidra1
bb4a9ccbb1 GP-0 Corrected incorrect retained MIPS relocation length for 32-bit
R_MIPS_JUMP_SLOT
2023-11-09 12:24:49 -05:00
Ryan Kurtz
ddf36db434 Merge branch 'GP-0_ryanmkurtz_PR-5315_Ninja3047_fix-ppc-cfa-value' 2023-11-09 12:15:09 -05:00
caheckman
191371675a GP-3938 PrototypeModel rules 2023-11-08 19:50:55 +00:00
Ryan Kurtz
b50503eada Merge remote-tracking branch 'origin/patch' 2023-11-03 13:08:14 -04:00
Ryan Kurtz
f95470590e Merge remote-tracking branch
'origin/GP-3879_ghidorahrex_fix_clz_cls_instr--SQUASHED' into patch
(Closes #5790)
2023-11-03 13:03:34 -04:00
Ryan Kurtz
50eaaea01e Merge remote-tracking branch
'origin/GP-3677_ghidorahrex_x86_pop_sp_fix--SQUASHED' into patch
(Closes #4282)
2023-11-03 12:59:58 -04:00
ghidorahrex
3d1b865543 GP-3879: Implemented lzcount in several instructions 2023-11-03 12:30:51 -04:00
ghidorahrex
6d7dc046f0 GP-3677: Fixed pop instructions with stack-pointer-based operands 2023-11-03 12:30:13 -04:00
ghidra1
1ba77f6902 Merge remote-tracking branch 'origin/patch' 2023-10-30 10:55:43 -04:00
ghidra1
6f37dc4007 GP-0 Added missing x86 old language v2-v3 translators and corrected old
language file parse bug
2023-10-30 10:54:16 -04:00
Ryan Kurtz
7820e9b203 Merge remote-tracking branch 'origin/patch' 2023-10-27 19:11:17 -04:00
ghidra1
87bd074603 GP-0 Removed use of obsolete MODULE DEPENDENCY from Module.manifest 2023-10-27 18:22:40 -04:00
emteere
0a3ebd1887 GP-1062 fixed commented out depbits line 2023-10-23 23:03:13 +00:00
emteere
5edfc517d8 GP-1062 Doctored default calling convention to be compatible with CALL0
in most cases.  minor comment fixes
2023-10-23 22:59:48 +00:00
ghidra1
348fb5becd GP-3956 corrected ST and MM addressing and overlap 2023-10-20 14:54:18 -04:00
Ryan Kurtz
fae64a82c0 Merge remote-tracking branch 'origin/patch' 2023-10-13 07:16:42 -04:00
James
106ec7c244 GP-3915 adjust callfixup in x86-64-win.cspec 2023-10-05 16:42:34 +00:00
Ryan Kurtz
4443aea353 Merge remote-tracking branch 'origin/patch' 2023-10-03 11:05:47 -04:00
Ryan Kurtz
3410dd5936 Merge remote-tracking branch 'origin/GP-3724_ghidorahrex_arm_idx_cbz' into patch 2023-10-03 11:00:03 -04:00
Ryan Kurtz
54e0ab1a38 Merge remote-tracking branch 'origin/Ghidra_10.4' 2023-09-28 13:40:51 -04:00
ghidra1
ebaaed7d53 GP-0 added callfixup for get_pc_thunk.bp 2023-09-27 13:39:51 -04:00
Ryan Kurtz
98b162ad9d Merge remote-tracking branch 'origin/Ghidra_10.4' 2023-09-22 09:31:17 -04:00
James
034a0b28ad change global ranges in cspecs
GP-3863 adjust AARCH64 volatile reg range
2023-09-22 09:24:14 -04:00
emteere
ef76cd31c0 GP-3211 fixed cssrd->csrrd cssrw->csrrw 2023-09-21 01:29:43 +00:00
emteere
4795e5c5a4 GP-3211 added initial analyzer 2023-09-21 00:15:42 +00:00
emteere
e509a08beb GP-3211 lower case names, changed PC size to match address space 2023-09-20 18:44:35 +00:00
William Tan
0b3801a5a5
typo: setMinpeculativeOffset -> setMinSpeculativeOffset 2023-09-20 13:24:01 -04:00
James
f030ecb874 GP-3822 eliminate some unnecessary LOAD ops (Discussion #5433) 2023-09-18 17:33:57 -04:00
emteere
69caba1dcb GP-3845 Fixed creation of undefined data type for PPC read/write
references
2023-09-15 18:58:11 +00:00
emteere
141484c3a2 GP-3211 break should not continue to disassemble by default. added
compued goto to break instruction
2023-09-12 19:57:09 +00:00
ghidorahrex
1ba4d49e5c GP-3211: Fixed issue with gdb external tool naming in loongarch 2023-09-12 15:13:58 +00:00
Alexey Esaulenko
07a0796987 Fix Tricore DEXTR instruction 2023-09-08 11:26:23 +04:00
emteere
3ad1c1ea29 GP-3211 Added function start patterns, fixed issues with compile, fixed
issues with .cspec load in 32-bit
2023-09-07 23:18:11 +00:00
ghidorahrex
f32cee2268 GP-3211: Moved privileged instructions 2023-09-07 17:38:36 +00:00
ghidorahrex
c3820d33b4 GP-3211: Code review fixes to rename files 2023-09-07 17:36:04 +00:00
ghidorahrex
9409cd5d28 GP-3211: Even more loongarch code review fixes! 2023-09-06 21:34:31 +00:00
ghidorahrex
aa754f482b GP-3211: Code review fix 2023-09-06 16:53:44 +00:00
emteere
e0a9e5df57 Patterns should apply to LE, BE 2023-09-01 18:14:41 +00:00
emteere
3bad7422c6 GP-1062 compacted and fixed issues with function start patterns 2023-09-01 18:14:00 +00:00
emteere
9d5ed9a6d1 GP-1062 fixing issues 2023-09-01 04:34:49 +00:00
ghidorahrex
f55d6b0f3b GP-1062 revisions made to combined PR 1407 and 5442 (includes merge
changes by ghidra1)
2023-08-31 17:03:06 -04:00
Austin Tyler Conn
d8c578d99d PR 5442 revisions to original PR 1407 2023-08-31 16:11:44 -04:00
Sebastian Schmidt
245627846e Add Tensilica Xtensa processor support 2023-08-31 16:11:42 -04:00
emteere
574fe8a36a GP-3805 added more arm function start patterns 2023-08-30 19:42:57 +00:00
ghidorahrex
81fb89e259 GP-3211: Code review fix-up 2023-08-30 14:30:36 +00:00
ghidra1
93abf20b49 Merge remote-tracking branch 'origin/patch' 2023-08-29 10:12:15 -04:00
emteere
c977c05768 GP-3746 remove LDS/STS instructions only on AVRtiny 2023-08-29 10:05:30 -04:00
ghidra1
e83e62d01d GP-3792 correct ELF RISCV branch/jump relocations 2023-08-28 11:45:17 -04:00
P4ulBr4ndt
abd1ffa7d3
Fix tricore TC176X CAN_MO addresses 2023-08-28 13:09:04 +02:00
P4ulBr4ndt
b2af9b6486
Fix tricore TC176X CAN_MO addresses 2023-08-28 13:05:38 +02:00
ghidorahrex
c37276f08b GP-3789: Moved legacy PPC 400 instructions out of main PPC 2023-08-25 16:26:25 +00:00
ghidorahrex
32d827c9bd GP-3786: Fixed 6x09 STU instruction to store U register 2023-08-25 14:36:48 +00:00
ghidorahrex
6c37abb4fd GP-3788: Fixed PowerPC VLE load/store SD4 operand display 2023-08-25 14:07:28 +00:00
ghidra1
514564292f Merge remote-tracking branch 'origin/patch' 2023-08-24 18:13:42 -04:00
ghidra1
9ccc5f9cee GP-3707 corrected RISCV_ElfRelocationContext infinite loop 2023-08-24 15:52:26 -04:00
Ryan Kurtz
5184648bf8 Merge remote-tracking branch
'origin/GP-3752_James_graph_ast_script_and_fixup' (Closes #5657)
2023-08-23 13:05:55 -04:00
ghidra1
0233f35d1f GP-3707 corrected array index bug in RISCV_ElfRelocationContext 2023-08-21 18:19:02 -04:00
ghidorahrex
2853f487a8 GP-3211: Code review fixes 2023-08-21 15:25:15 +00:00
James
03b63f7b95 GP-3729 arm vcvt fixes 2023-08-18 18:00:24 +00:00
James
3a43696001 GP-3752 added callfixup in x86win.cspec and updated GraphASTScript 2023-08-17 20:56:53 +00:00
Ryan Kurtz
c9f281942a Merge remote-tracking branch
'origin/GP-3707_ghidra1_PR-3816_jnohlgard_ElfRISCV_Relocations'
(Closes #3816)
2023-08-16 12:50:12 -04:00
Ryan Kurtz
08a25714de Merge remote-tracking branch 'origin/GP-3733_ghidracadabra_PR-5208_jobermayr_fxsave' 2023-08-16 12:39:19 -04:00
Ryan Kurtz
1d16c0c8b2 Merge remote-tracking branch 'origin/patch' 2023-08-16 12:21:01 -04:00
ghidra1
065e5b01e8 GP-3707 revised and implemented missing RISCV ELF relocations.
Corrected ElfRelocation to maintain signed addend value.
2023-08-16 08:26:29 -04:00
Gary Hayward
1ba91ebb51 GP-3707 ELF RISCV relocation processing improvements 2023-08-15 13:24:23 -04:00
ghidorahrex
b9075dd4e1 GP-3724: Added cbz instruction to arm manual index file 2023-08-15 16:35:26 +00:00
1635321
7878721fbf GP-3320 Updated cspec files with callfixes for modern gcc 2023-08-15 12:04:58 -04:00
ghidorahrex
8936bf9d55 GP-3211: Initial commit of Loongarch Processor Module 2023-08-14 16:38:16 +00:00
Dan
647b4a42ac GP-3453: Add mips:3000 to mips.ldefs 2023-08-09 14:27:04 -04:00
Ryan Kurtz
e142f2c522 Merge remote-tracking branch 'origin/patch' 2023-08-08 07:55:14 -04:00
Ryan Kurtz
5888ac64e1 Merge remote-tracking branch
'origin/GP-3652_ghidorahrex_PR-5428_rbran_fix_rotate' into patch
(Closes #5428)
2023-08-08 07:53:08 -04:00
ghidra1
6f5ded53f2 GP-3707 Add additional ELF RISCV relocations and some cleanup 2023-08-07 12:04:06 -04:00
Joakim Nohlgård
353a79840d Implement handling of relocations R_RISCV_CALL, R_RISCV_HI20,
R_RISCV_LO12, R_RISCV_RVC_BRANCH, R_RISCV_RVC_JUMP, R_RISCV_BRANCH,
R_RISCV_JAL
2023-08-07 11:46:10 -04:00
Johannes Obermayr
56d2d08c67 5208: Simplify _fxsave and _fxsave64 in Decompiler 2023-08-04 14:51:13 +02:00
Ryan Kurtz
57561c6e78 Merge remote-tracking branch 'origin/patch' 2023-07-27 13:58:30 -04:00
Ryan Kurtz
784c7ee4cf Merge remote-tracking branch 'origin/GP-3655_ghidorahrex_x86_lidt_fix'
into patch (Closes #5577)
2023-07-27 13:55:37 -04:00
Ryan Kurtz
aa3173cd21 Merge remote-tracking branch
'origin/GP-3556_ghidorahrex_6x09_pshu_fix--SQUASHED' into patch
(Closes #5467)
2023-07-27 13:53:52 -04:00
ghidorahrex
ccc1d78fc1 GP-3556: Fixed ordering of 6x09 push operations 2023-07-27 09:19:09 -04:00
ghidorahrex
2e650401d3 GP-3652: Added comments 2023-07-25 13:23:03 +00:00
Rubens Brandao
fb9ed7cc48 AARCH64 fcadd and fcmla export contants 2023-07-20 14:01:58 +00:00
Rubens Brandao
e0bd90eb7d Fix AARCH64 fcmla_rotate export len 2023-07-20 14:01:28 +00:00
Rubens Brandao
64551b3cca Fix AARCH64 fcadd_rotate export len 2023-07-20 14:00:45 +00:00
ghidorahrex
7fa8853897 GP-3655: Fixed lidt/sidt/sgdt instruction disassembly 2023-07-20 13:46:10 +00:00
Ryan Kurtz
edc6c52094 Merge remote-tracking branch 'origin/patch' 2023-07-18 07:14:39 -04:00
ghidorahrex
f0f65b9ab1 GP-3642: Regression fix for 6x09 compare macro 2023-07-17 13:34:28 +00:00
Ryan Kurtz
1e9fcddaa3 GP-3630: Adding support for Mach-O/DyldCache ARM64_32 processor.
Also, made other usability improvements to the DyldCacheLoader (options,
entry point, program tree)
2023-07-14 15:49:30 -04:00
ghidra1
f8ec071906 Merge remote-tracking branch 'origin/patch' 2023-07-10 19:54:55 -04:00
ghidra1
c3cc2630f2 Merge remote-tracking branch
'origin/GP-3606_ghidorahrex_6x09_flags_and_stack_fixes' into patch
(Closes #5508)
2023-07-10 19:43:40 -04:00
ghidra1
9b5f8599dc Merge remote-tracking branch
'origin/GP-3621_ghidorahrex_6x09_leftshift_flag_fix' into patch (Closes
#5523)
2023-07-10 19:37:52 -04:00
ghidorahrex
8cd3a31afa GP-3621: Fixed 6x09 left-shift instruction flags 2023-07-10 14:29:37 +00:00
Ryan Kurtz
d932173a25 Merge remote-tracking branch
'origin/GP-3219_ghidorahrex_m68k_multiple_read_fix--SQUASHED'
(Closes #2492)
2023-07-06 12:11:23 -04:00
Ryan Kurtz
5b9dfc92dd Merge remote-tracking branch 'origin/patch' 2023-07-06 11:16:27 -04:00
Ryan Kurtz
9bc71eace0 Merge remote-tracking branch
'origin/GP-3599_emteere_OneByteFunctionsAndPPC' into patch
(Closes #5441)
2023-07-06 11:01:10 -04:00
Ryan Kurtz
1c786c0849 Merge remote-tracking branch 'origin/GP-3582_emteere_ARM_AddtlBranchRetWaffleFix--SQUASHED' into patch 2023-07-06 10:58:24 -04:00
ghidra1
75fb5bf79b Merge remote-tracking branch 'origin/GP-0_ghidra1_x86compat32fix' into patch 2023-07-06 09:09:01 -04:00
emteere
5b393764c6 GP-3582 Fix arm Branch/Return waffle if correct function boundaries not created and LR is detected as a constant 2023-07-05 14:18:55 -04:00
Ryan Kurtz
22e5c1a48b Merge remote-tracking branch 'origin/patch' 2023-07-05 13:58:34 -04:00
ghidra1
784208dad8 GP-3610 Corrected NPE and GOT allocation issue which could prevent
import of object modules GOT PCREL relocations
2023-07-05 13:35:31 -04:00
ghidra1
ccad2abbd8 GP-0 revised x86-64 ldef entry for compat32 variant and change opinion
entries to give preference to default variant
2023-07-05 10:58:20 -04:00
ghidorahrex
61d14e722b GP-3219: Refactored several 68k instructions to remove dup mem accesses. 2023-07-03 14:16:03 -04:00
ghidorahrex
17c571a393 GP-3606: Fixed 6x09 sub/cmp flags and 2-byte stack push/pop ordering 2023-07-03 18:14:45 +00:00
Ryan Kurtz
9194036c52 Merge remote-tracking branch 'origin/patch' 2023-07-03 11:05:14 -04:00
Dan
aa67e04592 GP-0: Fix x86 importers / tests. 2023-07-03 10:39:25 -04:00
emteere
b7ede746d0 GP-3599 Fix for function bodies including one byte of non-disassembled
data.  PowerPC disassembly from computed branch.
2023-06-30 22:42:47 +00:00
Ryan Kurtz
f49bb0b025 Merge remote-tracking branch 'origin/patch' 2023-06-29 07:12:05 -04:00
Ryan Kurtz
5759352c43 Merge remote-tracking branch 'origin/GP-3583_Dan_fixWoW64--SQUASHED' into patch 2023-06-29 06:31:32 -04:00
Dan
0c39626b73 GP-3583: Fix race in module arch detection. Set longMode bit. Add compat32 ldef. 2023-06-28 13:56:09 -04:00
Ryan Kurtz
c3fef96e7b Merge remote-tracking branch 'origin/patch' 2023-06-28 07:35:39 -04:00
Ryan Kurtz
d481a845fb Merge remote-tracking branch
'origin/GP-3525_ghidorahrex_6x09_leaxy_fix--SQUASHED' into patch
(Closes #5414)
2023-06-28 07:31:13 -04:00
ghidorahrex
52d4aaf285 GP-3525: Fixed 6x09 leax/leay instructions updating zero flag 2023-06-27 14:03:14 -04:00
Ryan Kurtz
450c3a4091 Merge remote-tracking branch 'origin/patch' 2023-06-21 13:02:17 -04:00
Ryan Kurtz
d5559a477c Merge remote-tracking branch
'origin/GP-3524_ghidorahrex_arm_thumb_vdup_fix' into patch
(Closes #5420)
2023-06-21 12:52:06 -04:00
Ryan Kurtz
9d7809902d Merge remote-tracking branch 'origin/GP-2425_dev747368_golang_duffzero_duffcopy' 2023-06-16 13:24:50 -04:00
Ryan Kurtz
10588a7a3b Merge remote-tracking branch 'origin/GP-3537_pic24_le' 2023-06-16 09:46:44 -04:00
Ryan Kurtz
da9a9ecb4e Merge remote-tracking branch
'origin/GP-3449_ghizard_32-bit_Win_8-byte_type_alignment'

Conflicts:
	Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/DataOrganizationImpl.java
2023-06-15 16:31:26 -04:00
dev747368
b5422faefb GP-2425 more better duffzero / duffcopy function info 2023-06-14 16:30:44 +00:00
Ryan Kurtz
e2f4565e5e Merge remote-tracking branch 'origin/patch' 2023-06-14 07:46:41 -04:00
emteere
3736ae076c GP-3532 Minor 68000 function start pattern 2023-06-13 23:06:18 +00:00
ghidra1
855a607699 Merge remote-tracking branch 'origin/patch' 2023-06-12 20:31:15 -04:00
ghidra1
5970699db1 Merge remote-tracking branch
'origin/GP-2955_ghidorahrex_PR-4795_Phlosioneer_m68k-pea-fix' into patch
(Closes #4795)
2023-06-12 20:19:58 -04:00
ghidra1
d5db5b643a Merge remote-tracking branch
'origin/GP-2779_ghidorahrex_PR-4808_Phlosioneer_m68k-movem-pc-fix' into
patch (Closes #4807, Closes #4808)
2023-06-12 20:17:06 -04:00
ghidra1
de6ff8440d Merge remote-tracking branch 'origin/GP-3478_ghidorahrex_aarch64_neon_mla_fix' into patch 2023-06-12 20:11:31 -04:00
ghidra1
6269f69c76 Merge remote-tracking branch
'origin/GP-2963_Ghidorahrex_PR-4838_c64cryptoboy_fix-6502-tsx' into
patch (Closes #4838)
2023-06-12 20:05:39 -04:00
ghidra1
de1071846a Merge remote-tracking branch
'origin/GP-3009_ghidorahrex_PR-4825_fenugrec_8048_allfixes' into patch
(Closes #2423, Closes #4825)
2023-06-12 19:59:41 -04:00
emteere
164ed51304 GP-3532 Reverted 68000 register calling convention change, added new
68000_register cspec.  Added function start patterns
2023-06-12 20:58:20 +00:00
James
35e46d773b GP-3537 improve le in PIC24.sinc 2023-06-09 21:13:42 +00:00
emteere
ca697fcaaf GP-3009 Setting of context for correct disassembly in either bank. Set
Ports to volatile so they aren't simplified away in the decompiler.
2023-06-08 18:50:04 +00:00
ghidorahrex
7a145a75e4 GP-3524: Fixed ARM Thumb vdup instruction to use correct registers 2023-06-07 19:07:48 +00:00
Ryan Kurtz
b82cbebc45 Merge remote-tracking branch 'origin/GP-3504_dev747368_golang_1_19_1_20' 2023-06-01 06:20:06 -04:00
Ryan Kurtz
d91a60f201 Merge remote-tracking branch 'origin/patch' 2023-06-01 06:17:13 -04:00
Ryan Kurtz
bf3e3923e8 Merge remote-tracking branch 'origin/GP-3480_PPCSmallDataAreaPointer' into patch 2023-06-01 06:12:52 -04:00
dev747368
11c434f3a0 GP-3504 add support for Golang 1.19, 1.20 binaries 2023-05-31 17:19:58 +00:00
Ryan Kurtz
2a507c0308 Merge remote-tracking branch 'origin/GP-3327_isabella3412_Adding_Manual_Indices_for_Coldfire_Instructions--SQUASHED' 2023-05-31 11:35:26 -04:00
Ryan Kurtz
f6bf4f670e Merge remote-tracking branch 'origin/GP-3296_isabella3412_PowerPC_Index_Fix' 2023-05-31 11:30:43 -04:00
Ryan Kurtz
08911bb149 Merge remote-tracking branch 'origin/patch' 2023-05-31 11:30:04 -04:00
Ryan Kurtz
e3429a57db Merge remote-tracking branch
'origin/GP-3102_ghidorahrex_x86-64_popf_pushf--SQUASHED' into patch
(Closes #4980)
2023-05-31 11:20:14 -04:00
isabella3412
5968d77869 GP-3327 Adding manual indices for Coldfire instructions 2023-05-31 14:58:28 +00:00
Phlosioneer
058fa90387 Issue 4807 Fix movem PC instruction bug on 68000
The `movem` instruction's `(d16, PC)` addressing mode has an instruction
word, a mask word, and then an extension word. The addressing mode
uses the value of PC incremented to the extension word, in this case
`instr_start + 4`. The sleigh code incorrectly uses `instr_start + 2`.
The issue is present for both `movem.w` and `movem.l` variants. This
PR fixes the `PC` offset to `+4`.

See 68000 reference manual page 2-13 for PC indirect addressing mode,
and 4-128 for MOVEM documentation.

Partially addresses #4807.
2023-05-31 14:31:37 +00:00
ghidorahrex
af40b28931 GP-3102: Fixed disasm of default 64-bit addrsize instructions 2023-05-31 10:13:41 -04:00
ghidorahrex
70a50dfcc2 GP-3478: Fixed registers in aarch64 neon mla instruction 2023-05-31 14:08:47 +00:00
David Youd
2d497a0d5c fix to TSX instruction 2023-05-31 13:14:48 +00:00
fenugrec
2b05e1f5f2 8048 : improve display of JBx opcode
instead of e.g. "JB0x5", they will render as "JB5".
2023-05-31 12:34:24 +00:00
fenugrec
bb08f67417 8048: fix JMPP @A extra dereference
JMPP was doing two indirections : one in PData and then one again in
AddrInd, where there should only be one.

MCS-48 docs :

> The contents of the Program Memory location addressed by the
Accumulator
is used as the new page offset of the Program Counter.

i.e.
(PC 0 – 7) <- ((A))

Previous implementation caused disasm / decompiler errors such as
"Low-level Error: Could not find op at target address"

refs:
https://github.com/NationalSecurityAgency/ghidra/discussions/4818
2023-05-31 12:34:23 +00:00
fenugrec
97b0984426 8048: support > 4kB address space
MCS-48 just barely supports 12 bits of program counter space (4kB), but
many real-world applications use software banking to expand this,
e.g. via IO pins driving extra address lines to the external ROM.

This patch allows up to 16-bit addresses. To use this feature, simply
select the special instruction (typically ORL Pp or ANL Pp) and set a
manual Fallthrough address to the correct bank.
2023-05-31 12:34:22 +00:00
fenugrec
3fbf16b056 8048: make DBF a context register
See GH #2423

The SEL MB0/MB1 opcodes set a DBF register but this had no effect, therefore JMP and CALL
destinations didn't take into account DBF.
This is essentially @esaulenka 's patch from
3756e1bcee

but separated from the DFB->DBF typo change, and sets the width of the new
context register to be 1 bit (doesn't need to be 2 bits)

This greatly improves analysis. The only downside is that to manually
override DBF on a single instruction, it needs to be cleared first, then
disassembled again after setting the desired DBF.
2023-05-31 12:34:21 +00:00
fenugrec
7c2b8ca27d 8048: typo in "DFB" register name , should be DBF
MCS-48 Assembly language manual #9800255D :
'
DBF designate memory bank flip-flop
'
2023-05-31 12:34:20 +00:00
fenugrec
5ea567f65b 8048: fix movp, movp3, jmpp
the correct syntax for [x,y] bitranges has y= # number of bits. These
three instructions affect the lower 8 bits of PC, not 7.

From MCS-48 docs:
'
MOVP A,@A
(PC: 0-7)<-(A)
(A)<-((PC))

Move data in program memory location addressed by A into A. Program
counter is restored.
'

There is similar wording for MOVP3 and JMPP.

Fixes #4810 on GH
2023-05-31 12:34:19 +00:00
Phlosioneer
b1c54e36e1 Fix pea SP instruction bug on 68000 processor
The `pea` instruction adjusts `SP`, but the address may be `SP`-based.
Ghidra was evaluating the effective address after adjusting `SP`, but
the address should be evaluated before `SP` is changed. For example,
`pea (SP)` should result in a pointer to the previous stack entry,
rather than a pointer to itself.
2023-05-30 16:49:29 +00:00
isabella3412
d7d80b134e GP-3296 Updated PowerISA Instruction Index with new manual 2023-05-25 18:18:55 +00:00
caheckman
ce520cc940 GP-3480 Mark PPC r13 as unaffected 2023-05-24 14:35:59 -04:00
Ryan Kurtz
359f56131b Merge remote-tracking branch 'origin/patch' 2023-05-24 08:43:20 -04:00
ghidra1
584260ca81 GP-3472 Added __stdcall convention alias for 64-bit Windows cspecs 2023-05-23 15:34:35 -04:00
ghizard
9cb6a7a12e GP-3449 - Fix Win32 8-byte type alignment and update test utils 2023-05-23 15:16:52 -04:00
Ryan Kurtz
a87044c521 Merge remote-tracking branch 'origin/patch' 2023-05-18 11:06:01 -04:00
Ryan Kurtz
0cae3ab0f5 Merge remote-tracking branch
'origin/GP-3325_ghidorahrex_PR-4886_Ninja3047_fix-ppc-stmvsprw' into
patch (Closes #4886)
2023-05-18 11:02:54 -04:00
Ryan Kurtz
f8ebb729ef Merge remote-tracking branch
'origin/GP-3432_ghidorahrex_PR-4887_Ninja3047_ppc_vle_eieio' into patch
(Closes #4887)
2023-05-18 10:58:25 -04:00
Ryan Kurtz
033d2a2ec6 Merge remote-tracking branch
'origin/GP-3434_ghidorahrex_ppc_vle_e_sthu_fix' (Closes #5247)
2023-05-15 08:40:12 -04:00
Ryan Kurtz
ce5f6b4417 Merge remote-tracking branch
'origin/GP-3435_ghidra1_PR-5292_dukesilverrr_R_AARCH64_MOVW_UABS_G_Relocs'
(Closes #3545, Closes #3546, Closes #5292)
2023-05-15 06:04:08 -04:00
ghidorahrex
9dc6e6e29d GP-3434: Fixed PPC VLE e_sthu mnemonic display 2023-05-12 17:51:08 +00:00
William Tan
4dd7d296a5
fix call_frame_cfa value for ppc 2023-05-09 11:16:46 -04:00
ghidra1
4b7188c3e4 Merge remote-tracking branch
'origin/GP-3398_ghidorahrex_PR-1723_saruman9_fix_call_with_segment_reg'
into Ghidra_10.3 (Closes #1715, Closes #1723)
2023-05-08 14:54:47 -04:00
ghidra1
d8d5817d7e Merge remote-tracking branch
'origin/GP-3326_ghidorahrex_PR-5194_edmcman_coldfire_halt_decode' into
Ghidra_10.3 (Closes #5194)
2023-05-08 14:19:12 -04:00
ghidra1
ff8f0d7782 Merge remote-tracking branch
'origin/GP-3341_ghidorahrex_ppc_branch_link_fix' into Ghidra_10.3
(Closes #5218)
2023-05-08 14:16:50 -04:00
William Tan
9c694ebfd1
move around mbar/eieio 2023-05-05 11:13:03 -04:00
William Tan
eebdca2668
move mbar from a2 to ppc_embedded, remove duplicate eieio 2023-05-05 11:13:03 -04:00
William Tan
8277a6312b
fix: also decode eieio (mbar 0) for VLE 2023-05-05 11:13:02 -04:00
saruman9
1402d0dc61 [x86] Align stack while Far Call
Push CS register onto the stack according to operand and address sizes.

Fix #1715.
2023-05-05 12:58:48 +00:00
ryan
90d486493e Add support for R_AARCH64_MOVW_UABS_G* relocations 2023-05-04 19:36:11 +00:00
ghidorahrex
1df6c993b9 GP-3372: Reverted x86 66 90 bytes back to nop 2023-05-01 16:01:42 +00:00