Commit Graph

9576 Commits

Author SHA1 Message Date
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
fc03b30ecf Merge branch 'GP-3506_ghidra1_HandleDataOrgChange' into patch 2023-06-12 19:43:26 -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
Ryan Kurtz
8e866ffa70 Merge remote-tracking branch 'origin/GP-3266_JumpTableSizeOption' into patch 2023-06-12 17:22:11 -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
3b62fdaa95 Merge remote-tracking branch 'origin/GP-3534_emteere_CPOOL_arguments'
into patch (Closes #2148)
2023-06-12 13:01:33 -04:00
Ryan Kurtz
2e87168082 Merge branch 'GP-3526_ryanmkurtz_macho-indirect' into patch 2023-06-09 15:38:30 -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
Ryan Kurtz
655012a964 Merge remote-tracking branch
'origin/GP-3528_ghidragon_macos_dark_mode_breaks_menu_bar_colors' into
patch (Closes #4454)
2023-06-09 08:46:06 -04:00
emteere
720dce335e GP-3534 Fixed cpool invalid error, added test for cpool arguments 2023-06-09 01:40:30 +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
Ryan Kurtz
be86c87cab GP-0: Updating GhidraDev instructions 2023-06-08 08:21:59 -04:00
Ryan Kurtz
be95714f86 Merge remote-tracking branch 'origin/GP-3481_ghidra007_fixIncrementerLocation' into patch 2023-06-07 05:46:05 -04: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
Ryan Kurtz
69fa35638b Merge remote-tracking branch 'origin/GP-3481_ghidra007_addMissingIncrementerCausingInfLoop' into patch 2023-06-05 13:18:50 -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
Ryan Kurtz
6e4c0f3ca2 Merge remote-tracking branch
'origin/GP-0_d-millar_use_readUnsignedInt_for_dump_block_sizes' into
patch (Closes #5047)
2023-06-01 13:34:54 -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
ghidorahrex
af40b28931 GP-3102: Fixed disasm of default 64-bit addrsize instructions 2023-05-31 10:13:41 -04:00
Ryan Kurtz
1fcaf3c9cd Merge remote-tracking branch
'origin/GP-3509-dragonmacher-python-prompt-spacing' into patch
(Closes #5379)
2023-05-31 08:38:57 -04: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