ghidra1
39ef49d1d1
Merge remote-tracking branch 'origin/GP-49_external_disassembly_upgrade--SQUASHED' into Ghidra_9.2
2020-09-29 10:23:16 -04:00
ghidra1
356ea446c7
GP-49 external disassembly field can now switch based upon context (implemented for ARM/Thumb)
2020-09-29 10:22:46 -04:00
ghidra1
558844aaa9
Merge remote-tracking branch 'origin/GT-3643_ghidorahrex_arm_ldrt_bitpattern'
2020-09-22 10:26:00 -04:00
emteere
a7d5e983b7
GT_3394_emteere minor fix for Arm v6 with VFPv2 but not VFPv3. Fix
...
subconstructor matching for reg d0
2020-09-21 21:20:00 -04:00
emteere
9e0c6b9372
GT-3394 Fixing UDF instruction flow
2020-09-17 21:28:41 -04:00
ghidorahrex
3778831902
GT-3394: Created ARM v6 pspec
2020-09-17 21:28:40 -04:00
ghidorahrex
ea6cfcd08c
Revert "GT-3394: Fixed register definitions in VLDM/VSTM instructions"
...
This reverts commit 0858a9140d0f7c9c7e1f2e412d3c19a6087e5d1e.
2020-09-17 21:28:39 -04:00
ghidorahrex
cfcfff0afc
GT-3394: Fixed register definitions in VLDM/VSTM instructions
2020-09-17 21:25:50 -04:00
ghidorahrex
389387c9d3
GT-3394: Fixed ARM instruction issues
...
- Added missing THUMB instruction variants
- Corrected VFPv2/VFPv3/SIMD errors
2020-09-17 21:21:43 -04:00
ghidra1
02e017f507
Merge remote-tracking branch 'origin/GT-2567_ARM_neon_vstm'
2020-09-17 12:00:45 -04:00
emteere
ad96867b74
GT-2567 fixed vldm*/vstm* semantics
2020-09-16 21:30:12 -04:00
ghidra1
f3b4e6de16
GP-164 Added ELF ARM relocation R_ARM_PREL31 and corrected issue with
...
R_ARM_ABS32 relocation.
Fixes #2261 , Fixes #2276
2020-09-16 12:48:40 -04:00
ghidra1
da92b68bcd
GP-164 Corrected ELF ARM R_ARM_REL32 (type 3) relocation processing
2020-09-15 20:12:41 -04:00
emteere
82f58c22d2
GT-2567 adding missing neon instructions, correcting shift calculation
...
of several neon instructions, upping version number due to
sub-constructor split
2020-09-14 21:35:34 -04:00
emteere
93473d3282
GT-2567 fixed long standing issue with pointer source register
2020-09-14 20:50:39 -04:00
ghidorahrex
169b23b1e0
GT-2567: implemented vstmia/db and vldmia/db ARM neon instructions
2020-09-14 20:50:38 -04:00
ghidra1
04594f770b
Merge remote-tracking branch 'origin/GP-68_James_arm_thumb_fixes'
2020-09-11 19:45:35 -04:00
James
5e40f00351
arm fixes
2020-09-01 21:21:29 -04:00
James
31a377b6d0
fixing ARMTHUMBinstructions.sinc
2020-08-25 09:42:47 -04:00
ghidorahrex
16e98bfea6
GT-3643: Corrected ARM ldrt instruction bit-pattern
2020-07-16 10:55:58 -04:00
WorksButNotTested
b3b7bab4ca
Added secondary selectors to ARM opinion file for correctly identifying
...
ARMBE8 binaries
2020-07-14 16:12:02 -04:00
ghidorahrex
cde035d8b2
Merge remote-tracking branch
...
'origin/GT-3641_ghidorahrex_PR-2005_simeonpilgrim_arm_STREX_fix'
Fixes #2005 , fixes #2010
2020-07-14 14:27:43 -04:00
WorksButNotTested
556710d261
#1494 : Fix incorrect handling of relocations for ARM BE8 binaries
2020-07-13 18:35:22 -04:00
ghidorahrex
c5a31bb129
Merge remote-tracking branch
...
'origin/GP-23_ghidorahrex_PR-1802_vvasseur_fix_teq_in_arm_thumb'
Fixes #1802
2020-06-30 15:07:29 -04:00
Simeon Pilgrim
632a768cf3
copy hasExclusiveAccess pattern into ARM STREX instruction to be the same as the THUMB and STREXn instructions
2020-06-19 09:38:04 +12:00
emteere
44037991d2
GT-3393_ghidorahrex_ARM_missing_spaces minor format issue in ARMThumb
...
from GT-3393 changes
2020-05-11 17:08:54 -04:00
Valentin Vasseur
eed394f8a3
ARM: Fix sleigh description of teq in Thumb mode
...
teq performs a bitwise EXCLUSIVE or, not an inclusive or. (See section
A8.8.238 of the ARMv7 reference manual.)
2020-04-26 01:52:01 +02:00
ghidorahrex
0ec0e703b3
Merge remote-tracking branch 'origin/GT-3393_ghidorahrex_ARM_missing_spaces'
2020-02-24 13:58:56 -05:00
ghidorahrex
2d69b43bd1
GT-3393: Fixed formatting for Ldlist in arm thumb
2020-02-12 07:36:18 -05:00
Benjamin Levy
74fae2f644
Merge branch 'master' of
...
https://github.com/NationalSecurityAgency/ghidra into spell
2020-01-29 11:37:23 -05:00
ghidorahrex
498abf1a31
Merge remote-tracking branch 'origin/GT-3420_ghidorahrex_arm_thumb_rsb'
...
Fixes #1365
2020-01-27 07:20:35 -05:00
ghidorahrex
5ff5426ffc
Merge remote-tracking branch 'origin/GT-3408_ghidorahrex_arm_thumb_it_al_condition'
2020-01-27 07:17:57 -05:00
Benjamin Levy
a5efecea84
Fix spelling errors
2020-01-26 22:39:18 -05:00
mumbel
dce6e9f6a8
Cleaning up warnings and errors, mostly looking for:
...
temporary is written but not read in constructor
2020-01-22 19:51:45 -06:00
ghidorahrex
f92528923d
GT-3408: Corrected IT conditionals
2019-12-20 11:32:48 -05:00
ghidorahrex
7aa51fb572
GT-3420: Corrected RSB width modifier
2019-12-20 08:45:25 -05:00
ghidorahrex
d47317a9f8
GT-3408: Included support of 'al' for IT instructions, generalized
...
support for IT instructions and included the 'nv' condition although it
should never occur.
2019-12-18 14:41:05 -05:00
ghidra1
8fbdec4eca
Merge remote-tracking branch 'origin/patch'
2019-12-18 11:02:47 -05:00
emteere
67d774fa42
GT-3374_emteere several bugs and inneficiencies causing analysis to fail
...
for programs with debug info
2019-12-16 16:52:15 -05:00
ghidorahrex
d30ba7c9b1
GT-3393 ARM parameter list spaces
...
Corrected ARM subconstructors for spacing around register paramter
lists.
2019-12-13 09:35:08 -05:00
Ryan Kurtz
30140d88c7
Merge remote-tracking branch 'origin/GT-3368_ghidorahrex_PR-1277_lioncash_mul'
2019-12-04 13:58:08 -05:00
Lioncash
9a5769979c
ARM: Handle disassembly of VNMLA for F16/F32/F64
...
These Sleigh constructors were acting as constructors for VNMLS, however
the constructors actually describe the bit encoding for VNMLA, which can
result in incorrect disassembly meaning.
This corrects this so that VNMLA instructions are properly disassembled
and also don't show up as generic CDP instructions.
2019-11-24 05:25:15 -05:00
Lioncash
644f3c3449
ARM: Handle disassembly of conditional VNMLS for F32/F64
...
Similarly with VNMUL, VNMLS is also able to execute with a condition
code for single-precision and double-precision floating point variants.
Like with the previous change, we can also amend the Sleigh constructor
so that it decodes properly (the condition code for a predictable
instruction is 0xE, not 0xF).
This fixes VNMLS instructions disassembling as generic CDP instructions,
making disassembly clearer.
2019-11-24 03:01:22 -05:00
Lioncash
9670b81458
ARM: Handle disassembly of conditional VNMUL for F32/F64
...
The single-precision and double-precision variants of VNMUL support
condition codes on them in ARM mode. We can amend the Sleigh
constructors to reflect this.
We can also amend the half-precision variant to reflect that the
condition code should be 0xE in terms of value. The ARMv8 architecture
reference manual states (at F6.1.148) that if a half-precision
instruction is present and does not have a condition code of 1110, then
the behavior is considered CONSTRAINED UNPREDICTABLE.
This fixes VNMUL instructions disassembling as generic CDP instructions,
making the disassembly much clearer.
2019-11-24 03:00:48 -05:00
Lioncash
520f1c47d9
ARM: Correct Sleigh constructor for VCVT{R}<c>.S32.F32
...
Bits 23-27 are defined with a bit encoding of 0b11101, not 0b11011 (See
section F6.1.60 within the ARMv8 reference manual or section A8.8.306
within the ARMv7 reference manual).
This makes conversions from floating-point registers to signed values
disassemble/decompile more properly and not as generic CDP instructions,
making decompilation a little more informative.
2019-11-24 02:23:06 -05:00
Ryan Kurtz
e3b8a782ba
Merge remote-tracking branch 'origin/GT-3239_ryanmkurtz_PR-916_redfast00_privilaged_typo_fix'
2019-10-16 08:28:39 -04:00
ghidra1
349ef0fad2
GT-3149 Corrected bitfield packing for ARM/AARCH64 for Windows PE.
...
Imposed default Thumb context setting for PE and MSCoff ARM32 imports
with addition of v8T ARM variant. Corrected ARM pattern alignment
issues. Corrected DBViewer long value rendering.
2019-09-13 14:06:56 -04:00
ghizard
0ba928a33f
GT-2880 changes pre-certification
2019-09-05 18:35:33 -04:00
ghizard
525f0057c8
GT-2880 Adding more unaffected/killed
2019-09-05 18:27:18 -04:00
ghizard
651971c493
GT-2880 More changes to ARM processor files
2019-09-05 18:27:17 -04:00