Commit graph

82 commits

Author SHA1 Message Date
Ryan Kurtz
87b1dbb8dc Merge remote-tracking branch 'origin/patch' 2025-05-02 15:17:36 -04:00
ghidorahrex
a917cc0345 GP-5587: Corrected parsing of AARCH64 dsb instruction 2025-04-11 14:56:38 +00:00
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
d0fa5865c0 Merge remote-tracking branch 'origin/patch' 2025-03-04 13:06:23 -05:00
James
1bcc69aece GP-5402 aarch64 floating point comparisons and NAN 2025-03-04 09:20:45 -05: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
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
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
Dan
7dd417b6be GP-5051: Distinct qemu-system launcher. 2024-12-04 08:43:26 -05:00
Ryan Kurtz
e7e8d533be GP-5153: The MS Common Object File Format (COFF) loader now recognizes
AARCH64 binaries
2024-11-22 10:29:25 -05: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
dev747368
560d5691a7 GP-4482 Golang 1.16 + 1.15 2024-05-29 19:04:27 +00:00
dev747368
31f4e55845 GP-0 fix DWARF and Golang register mapping info for AARCH64 2024-05-07 16:16:29 +00:00
dev747368
0054de4936 GP-4579 Add golang 1.22 2024-05-03 19:08:00 +00:00
Sleigh-InSPECtor
8473b248a1 AA64: fix ld<n>r registers 2024-04-30 15:43:55 +09:30
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
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
Ryan Kurtz
bc035ba9c8 Merge remote-tracking branch 'origin/patch' 2024-04-12 13:46:17 -04:00
emteere
9c2b3670fa GP-4513 Added callfixup for __chkstk routine in windows AARCH64 binaries 2024-04-11 15:46:16 -04:00
ghidorahrex
4b00b140d7 GP-4499: Fixed AARCH64 ldst_wback subconstructor 2024-04-08 15:54:57 +00:00
Ryan Kurtz
6b4f9b71b5 Merge remote-tracking branch 'origin/patch' 2024-04-01 11:18:56 -04:00
emteere
797d1b8103 GP-3917 Adding BTIc function start pattern for AARCH64 2024-03-20 16:24:06 -04:00
Dan
289c5c90fa GP-3838: Add qemu+gdb launcher. 2024-03-01 12:36:13 -05:00
Ryan Kurtz
f6fea70d7f Merge remote-tracking branch 'origin/GP-3535_ryanmkurtz_swift--SQUASHED' 2024-02-26 11:32:49 -05:00
Ryan Kurtz
32a0cf750b GP-3535: Improved Swift support 2024-02-26 11:31:24 -05:00
Ryan Kurtz
de2a5e03db Merge remote-tracking branch
'origin/GP-3851_ghidorahrex_AARCH64_pair_overwrite_fix--SQUASHED' into
patch (Closes #5791)
2024-02-15 11:37:26 -05:00
ghidorahrex
d812c6a43d GP-3851: Fixed aarch64 pair instructions to prevent overwrite 2024-02-14 17:06:32 -05:00
caheckman
191371675a GP-3938 PrototypeModel rules 2023-11-08 19:50:55 +00:00
ghidorahrex
3d1b865543 GP-3879: Implemented lzcount in several instructions 2023-11-03 12:30:51 -04:00
James
034a0b28ad change global ranges in cspecs
GP-3863 adjust AARCH64 volatile reg range
2023-09-22 09:24:14 -04:00
Ryan Kurtz
e142f2c522 Merge remote-tracking branch 'origin/patch' 2023-08-08 07:55:14 -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
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
ghidorahrex
70a50dfcc2 GP-3478: Fixed registers in aarch64 neon mla instruction 2023-05-31 14:08:47 +00:00
ghidra1
584260ca81 GP-3472 Added __stdcall convention alias for 64-bit Windows cspecs 2023-05-23 15:34:35 -04:00
ghidra1
a4776892bd GP-1633/GP-2308 Added ProgramArchitecture to datatype managers.
Refactored ProjectDataTypeManager to extend StandaloneDataTypeManager.
Added actions to datatype tree to allow setting archive architecture.
Added use of storage translators when switching architectures.  Allow
FunctionDefinition to accept arbitrary calling convention
names and many other misc changes.
2023-04-20 14:01:39 -04:00
Ryan Kurtz
50df8a80e3 Merge remote-tracking branch 'origin/GP-3156_ghidorahrex_aarch64_msr_fix--SQUASHED' into patch 2023-03-24 12:26:02 -04:00
ghidorahrex
40b2973461 GP-3156: Updated aarch64 msr instruction with updated PState fields 2023-03-24 10:27:40 -04:00
emteere
b067451ef9 GP-3124 Added callfixup and patterns handling security_push_cookie on
windows aarch64
2023-02-24 21:48:32 +00:00
ghidorahrex
0175606ad4 GP-1790: Spec'd out new aarch64 and arm32 instructions up to v9 2022-10-14 20:04:45 -04:00
emteere
d539d5da59 GP-1790 First Scrape of v9 manual 2022-10-14 20:03:36 -04:00
emteere
b9496de7f5 GP-2504,GP-2494 Arm switch patterns moved into pattern matching, adding additional pattern, fixed issues in function start patterns and validcode precondition. Added after='ptr'. 2022-10-03 22:02:19 -04:00
emteere
627d0c0f8c GP-2355 Added aarch64 thunk pattern 2022-07-26 19:09:52 +00:00
emteere
35c013e109 GP-2355 added support for AARCH64 ilp32 2022-07-22 17:20:26 -04:00
emteere
16c7c29d54 GP-1739 Add up to 16 byte return values for AARCH64 2022-02-10 17:35:42 +00:00