Commit graph

1650 commits

Author SHA1 Message Date
dev747368
36c6c8ef77 GP-2432 golang api snapshot, generics, closures, gcwritebarrier
Apply golang runtime function signatures from info stored in json api
snapshot files.

The api snapshot files are created by a custom go helper program that
uses the go compiler parser to parse the go toolchain source tree and
writes the discovered function and type info into a json file.

The go-api-parser helper program is based off of work contributed by
github user monoidic via issue #6367.

Updates generic functions to take a generic dictionary RTTI
parameter (mostly to allow correct assignment of other parameters).

Updates closure functions to take a closure context parameter.  Closure
contexts are passed via a register that is not involved in normal
parameter passing.

Tweaks the signature of gcWriteBarrier functions so that they don't mess
up decompilation of functions that use them.
2025-03-07 16:44:48 +00:00
Ryan Kurtz
6a8724a984 Merge remote-tracking branch 'origin/patch' 2025-03-05 10:24:32 -05:00
Ryan Kurtz
57784ead36 Merge remote-tracking branch 'origin/GP-5411_emteere_PPCpltThunk' into patch 2025-03-05 10:18:52 -05:00
Ryan Kurtz
d0fa5865c0 Merge remote-tracking branch 'origin/patch' 2025-03-04 13:06:23 -05:00
Ryan Kurtz
4a8b802178 GP-5449: Certify 2025-03-04 13:03:10 -05:00
lmulert@emproof.de
334eecbd16 Fix tricore relocation 24REL handling 2025-03-04 12:58:16 -05:00
Ryan Kurtz
45552147ec Merge remote-tracking branch
'origin/GP-5402_James_aarch64_fp_comparisons--SQUASHED' into patch
(Closes #7479, Closes #7855)
2025-03-04 10:10:09 -05:00
James
1bcc69aece GP-5402 aarch64 floating point comparisons and NAN 2025-03-04 09:20:45 -05:00
emteere
208f6f3ed1 GP-5411 Added plt thunk patterns, pre-fill of edit thunk GUI, loosened
thunk address calculation for more complicated thunks
2025-03-03 22:37:45 +00:00
Ryan Kurtz
58e19e947c Merge remote-tracking branch
'origin/GP-5424_ghidracadabra_PR-6601_Sleigh-InSPECtor_x86_pushf_popf'
(Closes #6601)
2025-02-27 14:00:58 -05:00
James
74066cdf78 GP-5424 updated x86 version numbers 2025-02-26 20:29:50 +00:00
Sleigh-InSPECtor
6e8ef8deb1 x86: PUSHF/POPF address size fixes (64-bit mode) 2025-02-26 20:18:13 +00:00
Ryan Kurtz
9a7a06f5f6 Merge remote-tracking branch
'origin/GP-5191_James_x86_fpu_ip_updates--SQUASHED' (Closes #7205,
Closes #7508)
2025-02-26 12:47:39 -05:00
James
f8b0d83b16 GP-5191 x86 fpu ip updates 2025-02-25 12:19:27 -05:00
Ryan Kurtz
fbf4ecb188 Merge remote-tracking branch 'origin/patch' 2025-02-25 11:57:11 -05:00
ghidra1
8e09813393 GP-5406 Correct ELF import issue for MIPS debug file which fails on
.reginfo data read
2025-02-25 09:57:25 -05:00
Ryan Kurtz
a60ef336ea Merge remote-tracking branch 'origin/patch' 2025-02-25 07:06:13 -05:00
ghidra1
4b4d2f00d1 GP-5413 Improve error handling for x86 ELF GOT allocation failure during
relocation processing.
2025-02-24 18:15:30 -05:00
Ryan Kurtz
0855e61d74 Merge remote-tracking branch 'origin/patch' 2025-02-19 10:28:05 -05:00
Ryan Kurtz
0966be0995 Merge remote-tracking branch
'origin/GP-5386_ghidorahrex_ARM_thumb_strt_patch' into patch
(Closes #7514)
2025-02-19 10:17:34 -05:00
Ryan Kurtz
2e9f555aa9 Merge remote-tracking branch
'origin/GP-4649_ghidorahrex_PR-6542_Sleigh-InSPECtor_aarch32_vdup' into
patch (Closes #6542)
2025-02-19 10:12:35 -05:00
ghidra1
405e6126c2 Merge remote-tracking branch 'origin/patch' 2025-02-18 15:14:53 -05:00
ghidorahrex
a2af457dea GP-5386: Added missing ARM thumb strt instruction 2025-02-18 14:03:42 +00:00
Ryan Kurtz
b7548c55cd Merge remote-tracking branch
'origin/GP-5286_ghidorahrex_PR-6470_Sleigh-InSPECtor_aa64_ldnr_regs'
(Closes #6470)
2025-02-13 14:06:10 -05:00
emteere
5bcfb5f02c GP-5365 Fixed MIPS 64-bit packed relocations 2025-02-10 22:38:46 +00:00
Ryan Kurtz
ccae2f85ad Merge remote-tracking branch 'origin/patch' 2025-02-06 07:55:48 -05:00
ghidorahrex
115353d34c GP-5268: Implemented ARM NEON vld4 instruction 2025-02-06 07:49:28 -05:00
Ryan Kurtz
e14fede14f Merge remote-tracking branch 'origin/GP-5183_ghintern_x86_x64_cspecs--SQUASHED' 2025-02-06 07:11:36 -05:00
ghintern
69dd166c3a GP-5183 Fixes to x86 and x64 cspecs 2025-02-04 21:37:27 +00:00
Sleigh-InSPECtor
065ef72288 AArch32: fixed vdup
* 8byte vector duplication to 16byte performed bitwise AND (destructive) instead of OR of the 8byte shifted results, causing all 16byte vector duplications to be 0
* non-thumb constraints were used in a thumb instruction, added thumb specific constraints and separated them using TMode ctx field
2025-02-04 16:36:32 +00:00
Ryan Kurtz
d23e67a088 GP-0: Cleaning up certain types of javadoc errors 2025-02-03 06:13:50 -05:00
Ryan Kurtz
9f1aac6886 Merge remote-tracking branch 'origin/Ghidra_11.3' 2025-01-28 09:33:43 -05:00
ghidorahrex
dddc9afa9c GP-0: Fixed x86 AVX512 OpMask operand spacing 2025-01-28 09:22:55 -05:00
Ryan Kurtz
f1f8827878 Merge remote-tracking branch 'origin/Ghidra_11.3' 2025-01-22 13:51:58 -05:00
Ryan Kurtz
0844ff6cca Merge remote-tracking branch 'origin/GP-4660_ghidorahrex_avx_512_writemask_fix' into Ghidra_11.3 2025-01-22 13:29:59 -05:00
ghidorahrex
0d65798f10 GP-4660: Added writemask pcode for most AVX-512 instructions 2025-01-22 18:28:25 +00:00
Ryan Kurtz
421cb0a691 Merge remote-tracking branch
'origin/GP-5267_ghidracadabra_PR-6520_Sleigh-InSPECtor_x86_sspd'
(Closes #6520)
2025-01-21 13:13:54 -05:00
Ryan Kurtz
ef103c8754 Merge remote-tracking branch
'origin/GP-5181_ghidorahrex_ARM_VFPv2_missing_fix' into Ghidra_11.3
(Closes #7259)
2025-01-21 07:10:05 -05:00
James
c7be8e9629 GP-5267 updated language version 2025-01-17 18:21:07 +00:00
Sleigh-InSPECtor
1574864072 x86: Fix overlap issue with INCSS/RDSSP 2025-01-17 18:13:59 +00:00
Dan
a8fae1fe5b GP-4643: Add a JIT-accelerated p-code emulator (API/scripting only) 2025-01-03 10:27:38 -05:00
Ryan Kurtz
4475cedf18 Merge remote-tracking branch 'origin/GP-5196_ghidragon_address_expression_and_symbol_names_in_address_input--SQUASHED' 2025-01-02 03:45:41 -05:00
ghidragon
b1d257150c GP-5196 Adding support for expressions and symbol names in address fields 2024-12-31 16:00:39 -05:00
dev747368
2860c29383 GP-4870 add support for golang 1.23
Also fix namespace issue for interface, slices, ptrs, arrays, etc.Remove GoFuncID enum as it mutates between versionsFix stack storage logic for DWARF variables.
2024-12-26 18:26:48 -05:00
Ryan Kurtz
ed2bc8c717 Merge remote-tracking branch 'origin/GP-5189_VarargsFilterRange' 2024-12-10 11:58:39 -05:00
caheckman
e3aa064061 GP-5189 Add range attributes to VarargsFilter 2024-12-10 16:39:22 +00:00
Ryan Kurtz
e1e54a4d89 GP-5182: The builtin int type in Swift binaries has been changed from 8
bytes to 4 bytes. The Swift Demangler now demangles the Swift.Int type
to __int64 (or __int32) to avoid conflicts with non-Swift structures and
functions that may be found in the program.
2024-12-09 16:58:19 -05:00
ghidorahrex
f83d1142c0 GP-5181: Fixed missing ARM VFPv2 instructions 2024-12-06 16:51:23 +00:00
Ryan Kurtz
8cfb6dd9c7 Merge remote-tracking branch
'origin/GP-5051_Dan_qemuSysVsQemuUser--SQUASHED' (Closes #7095)
2024-12-04 10:59:49 -05:00
Dan
7dd417b6be GP-5051: Distinct qemu-system launcher. 2024-12-04 08:43:26 -05:00