Commit Graph

8687 Commits

Author SHA1 Message Date
ghidra1
f9f32991be GP-3586 corrected inappropriate ELF Header warniing for non-ELF binary
import
2023-06-27 11:11:38 -04:00
ghidra1
69289358f2 GP-3543 additional vaidity checks for ELF Android relocation processing
and corrected related markup data
2023-06-14 15:41:04 -04:00
emteere
3736ae076c GP-3532 Minor 68000 function start pattern 2023-06-13 23:06:18 +00:00
ghidra1
476d98bd9f Merge branch 'GP-3543_ghidra1_ElfAndroidRelocFix' into patch 2023-06-13 18:36:34 -04:00
ghidra1
bcfc7c84d8 GP-3543 corrected ELF Android packed reloc bug and sleb128 datatype
value
2023-06-13 18:31:26 -04:00
ghidra1
d40c5165f5 GP-0 updated Change History for 10.3.1 release 2023-06-13 11:09:42 -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
ghidra1
80cf7d6ce1 Merge remote-tracking branch 'origin/GP-3532_emteere_68k_REGABI_fix'
into patch (Closes #5390)
2023-06-12 19:49:46 -04:00
ghidra1
b5123f2553 GP-3506 Corrected various issues with data organization retention and
revision/upgrade
handling for datatypes
2023-06-12 19:13:04 -04:00
Ryan Kurtz
7115d1187a Merge remote-tracking branch
'origin/GP-3541_emteere_FixPragmaCommaParse' into patch (Closes #5427)
2023-06-12 17:24:58 -04:00
Ryan Kurtz
f7cdef1d56 Merge remote-tracking branch 'origin/GP-3518_JoinDoublePrecision' into patch 2023-06-12 17:23:33 -04:00
emteere
6d428e0dc9 GP-3541 Fixed pragma parsing with embedded comma outside of parentheses 2023-06-12 21:17:24 +00: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
caheckman
d8b4f910ca GP-3266 Max jumptable entry option 2023-06-12 16:42:12 -04:00
Ryan Kurtz
1e107554cf GP-3526: Restoring Mach-O indirect symbol creation when binding info is
absent
2023-06-09 15:37:49 -04:00
Ryan Kurtz
6b2bd61588 Merge remote-tracking branch 'origin/GP-3463_ghidra007_rtti_script_improve_find_internal_vtables--SQUASHED' into patch 2023-06-09 11:14:46 -04:00
Ryan Kurtz
9fd32d487d Merge remote-tracking branch
'origin/GP-3477_ghidragon_exiting_via_menu_doesn't_save_theme_changes'
into patch (Closes #5377)
2023-06-09 11:13:35 -04:00
ghidra007
0f66077ce2 GP-3463 RecoverClassesFromRTTIScript - improved finding of special vtables to account for ones in memory blocks that do not contain real bytes. 2023-06-09 15:09:00 +00:00
ghidragon
11b9fdbe06 GP-3477 fixed issue where theme changes wern't save when exiting Ghidra
via menu action
2023-06-08 16:14:47 -04:00
ghidragon
157eef0ec9 GP-3528 fixing menu painting issues with Mac Aqua look and feel 2023-06-08 15:36:03 -04: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
ghidra007
ec8d9f018b GP-3841 rtti script - fixed increment issue caused when fixing
incrementer
2023-06-06 22:34:57 +00:00
caheckman
603cf5523f GP-3518 Additional double precision checks 2023-06-06 12:11:06 -04:00
Ryan Kurtz
a31063dcb0 GP-3519: Fixed a bug that caused PE symbol .exports files to always get
deleted after import (Closes #5348)
2023-06-06 07:34:39 -04:00
ghidra007
4c7be8be0d GP-3481 added missing incrementer causing infinite loop in some cases 2023-06-05 17:15:47 +00:00
Ryan Kurtz
0d3d65de23 GP-3445: Fixed an IllegalStateException that could occur if both "Load
Local Libraries From Disk" and "Load System Libraries From Disk" options
are used during import, and the same library is found in both local and
system directories
2023-06-05 06:55:50 -04:00
Ryan Kurtz
adf7b18547 Merge remote-tracking branch 'origin/GP-0_d-millar_maint_info_sections_template--SQUASHED' into patch 2023-06-01 13:35:49 -04:00
d-millar
de3d53be90 GP-0: template for 'maint info sections'
GP-0: template for 'maint info sections'
2023-06-01 13:16:13 -04:00
d-millar
8632891f83 GP-0: use readUnsignedInt for dump memory blocks 2023-06-01 13:15:14 -04:00
Ryan Kurtz
dd5129daa8 Merge remote-tracking branch
'origin/GP-0_ghidorarex_BytesTracePcodeEm_fix' into patch
2023-06-01 11:58:22 -04:00
ghidorahrex
8a396dfd48 GP-0: Fixed test failures in BytesTracePcodeEmulatorTest 2023-06-01 15:56:18 +00:00
Ryan Kurtz
146cf6df33 Merge remote-tracking branch 'origin/GP-3508_DynamicHashPcodeOp' into
patch (Closes #5372)
2023-06-01 06:14:29 -04:00
Ryan Kurtz
bf3e3923e8 Merge remote-tracking branch 'origin/GP-3480_PPCSmallDataAreaPointer' into patch 2023-06-01 06:12:52 -04:00
Ryan Kurtz
ea5b5e4c28 Merge remote-tracking branch 'origin/GP-3481_ghidra007_' into patch 2023-06-01 06:10:12 -04:00
Ryan Kurtz
ffdec3a2e3 Merge remote-tracking branch 'origin/GP-3467_ghidra007_rtti_script_better_mangled_string_handling--SQUASHED' into patch 2023-06-01 06:07:08 -04:00
ghidra007
ecade19183 GP-3467 rtti script fixed issue clearing/creating mangled typeinfo-name mangled string of correct length. Was breaking when more than one existing dt in string range because was only clearing first one. 2023-05-31 18:01:55 +00:00
ghidra007
81ba94a3b8 GP-3481 Fixed incorrect checks of getData and getDataContaining in rtti script and replaced api versions with non-api versions and updated checks to work with new way. 2023-05-31 15:54:12 +00: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
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