9844 Commits

Author SHA1 Message Date
Ryan Kurtz
c427352201 GP-0: Fixing Gradle deprecations 2026-09-25 05:25:08 -04:00
Ryan Kurtz
ffbc5acf0f Merge remote-tracking branch 'origin/GP-7136_caheckman_PerPrimitive'
(Closes #5963, Closes #8796)
2026-09-24 11:36:50 -04:00
Ryan Kurtz
d3b0351166 Merge remote-tracking branch 'origin/Ghidra_12.2' 2026-09-24 11:35:02 -04:00
caheckman
d105789b33 GP-7235 PackedDecode::skipAttribute 2026-09-24 11:13:38 -04:00
caheckman
e37c57f3d9 GP-7251 getCodePoint range check 2026-09-24 11:13:07 -04:00
Ryan Kurtz
8e9a8e7a27 GP-7298: Fixing BinaryLoader options validation (#9658) 2026-09-24 05:49:30 -04:00
Ryan Kurtz
0c855d565d Merge remote-tracking branch 'origin/GP-0-dragonmacher-test-fixes-9-23-26' 2026-09-24 05:00:17 -04:00
Ryan Kurtz
6510d43859 Merge remote-tracking branch 'origin/GP-0_ghidra007_fix_breaking_rtti_tests_demangler_issue' 2026-09-24 04:58:12 -04:00
dragonmacher
fbf91fb730 Test fixes 2026-09-23 17:35:21 -04:00
ghidra007
93c7ffa959 GP-0 updated check for Gnu demangler check to not rely on option
internals, which were changed to remove the previously checked for
string,  but instead the Options class name. This fixed the four
breaking RTTI tests.
2026-09-23 21:27:06 +00:00
caheckman
bb33bad196 GP-7136 join_per_primitive padding and shared stack 2026-09-23 15:52:15 +00:00
Ryan Kurtz
3fc7c885e3 Merge remote-tracking branch 'origin/Ghidra_12.2' 2026-09-23 09:25:19 -04:00
ghidra1
aacf846ce7 Merge remote-tracking branch 'origin/GP-7307_ghidra1_DataTypeMergeFixup'
into Ghidra_12.2 (Closes #9659, Closes #9370)
2026-09-23 08:44:02 -04:00
Ryan Kurtz
85f900b606 Merge remote-tracking branch 'origin/Ghidra_12.2' 2026-09-23 08:20:57 -04:00
dev747368
f822b7399a GP-7242 tighten up samedir path validation, no co-mingling debuginfo
Split up debug-link and build-id debug info into separate classes to
make boundary between them more obvious.

When searching for a debug file in the "same dir" search location,
ensure its not a symlink.  (user never explicitly signaled
that they trusted the directory, they only tried to import a file from
there.)
2026-09-23 08:16:25 -04:00
dev747368
6d874355c6 GP-7241 stricter validation of FSRL md5 values 2026-09-23 08:13:30 -04:00
dev747368
061ec06a79 GP-7239 limit max number of files in a filesystem 2026-09-23 08:10:55 -04:00
dev747368
b81eb22750 GP-7232 limit squashfs inode table count 2026-09-23 07:58:56 -04:00
Matthew Duggan
d817b07388 Fix display of integer arrays
In e0aae02, the `++` was dropped from the index reference in this loop, but
that means the first item on each row of an integer array is incorrectly
repeated.

Restore the ++ so the array index is incremented across the line.
2026-09-22 18:43:19 -04:00
ghidra1
6c6f274d91 GP-7307 Corrected data type merge conflict fixup 2026-09-22 18:21:35 -04:00
dragonmacher
7563507b5d Test fixes 2026-09-22 17:48:27 -04:00
Ryan Kurtz
764adb9c0f GP-0: Fixing Gradle deprecations 2026-09-22 13:01:33 -04:00
Ryan Kurtz
406685c92d Merge branch 'GP-7302_ryanmkurtz_PR-9653_unusual-thoughts_aout-txt-addr'
(Closes #9653)
2026-09-22 09:07:28 -04:00
Ryan Kurtz
5d3b44e788 Merge branch
'GP-7301_ryanmkurtz_PR-9642_Bortlesboat_fix_pyghidra-write-only-globals'
(Closes #8978, Closes #9642)
2026-09-22 08:39:27 -04:00
Ryan Kurtz
80c0a8e55e GP-7301: Bumping PyGhidra to 3.3.0 2026-09-22 08:33:30 -04:00
Ryan Kurtz
3e139719ff Merge remote-tracking branch
'origin/GP-7296-dragonmacher-find-uses-validation' (Closes #9569)
2026-09-22 04:29:37 -04:00
Ryan Kurtz
62accc3fa3 GP-7298: The ProgramLoader and ImportBatchTask now properly validate
loader options
2026-09-22 04:22:38 -04:00
dragonmacher
c1b478a2a0 GP-7296 - Added field name checking to the input dialog for Find Uses
of...
2026-09-21 14:09:55 -04:00
Henri Chain
57eca6e5b9 Let the user override the a.out text load address
The machine type in an a.out header names a processor, not an operating system,
so targets sharing one cannot be told apart from the file. In binutils BFD,
an M_386 a.out can be BSD, Linux, or Mach etc, whose TEXT_START_ADDR
is either 0, 0x1000 or 0x10000
(bfd/i386bsd.c, i386linux.c, i386lynx.c, i386dynix.c, i386aout.c, i386mach3.c).
This can't be resolved from just the a.out header, so offer it as an option
(mirroring ElfLoaderOptionsFactory).

The existing Base Address option does something different. It shifts the section
blocks, symbols and the relocation patches together, whereas text base moves
only the blocks: symbol addresses subtract the block starts, so it cancels
out, and relocations resolve against the block starts.
2026-09-19 04:30:38 +02:00
Henri Chain
be38844f4a Align a.out text base determination with binutils
The a.out format doesn't include a .text base/load address, so it has to be
derived based on magic type and platform.

This is what the N_TXTADDR macro in binutils does, and as its
comment says "This is getting very complicated. A good reason to discard a.out format
for something that specifies these fields explicitly". See:

https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=include/aout/aout64.h;hb=HEAD#l100

Most platforms load .text at 0; SunOS and NetBSD load it one page up, presumably to keep
the zero page for null pointer traps.

The a.out loader currently implements some of the logic, but differs on
SunOS 4 ZMAGIC, which loads at page 1 for executables, but 0 for shared libraries.

The only way to detect the difference is to infer it from the entrypoint
address, as binutils does: https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=include/aout/sun4.h;hb=HEAD#l54

This means a SunOS 4 executable was loaded at 0 even when it described
symbols in the 0x2000 range.

Similarly NetBSD changes to match binutils: OMAGIC, NMAGIC and CMAGIC now get 0
(netbsd.h overrides TEXT_START_ADDR, not N_TXTADDR)
2026-09-19 04:30:38 +02:00
ghidra1
676c5ef211 Merge remote-tracking branch 'origin/Ghidra_12.2' 2026-09-18 14:56:32 -04:00
ghidra1
0cb6e61d12 GP-1 Corrected GhidraOSGOStreamHandler bug 2026-09-18 14:55:22 -04:00
Bortlesboat
b125172b87 PyGhidra: keep bean properties out of script globals iteration 2026-09-18 14:45:54 -04:00
Ryan Kurtz
c45ab547da Merge remote-tracking branch 'origin/GP-7168-dragonmacher-dt-table--SQUASHED' 2026-09-18 13:39:28 -04:00
Ryan Kurtz
ec1523e6fc Merge remote-tracking branch 'origin/GP-7291-dragonmacher-gnu-demangler-global-init-function' 2026-09-18 13:37:31 -04:00
dragonmacher
6e60d7735e GP-7168 - Data Types Table - Added a table of all data types 2026-09-18 11:28:11 -04:00
dragonmacher
88f02f225e GP-6899 - Accessibility help updates 2026-09-18 06:27:19 -04:00
isabella3412
1c779da13a Updated accessibility help page 2026-09-18 06:27:16 -04:00
isabella3412
9db570ac62 Added Help file and menu shortcut for Accessibility 2026-09-18 06:27:12 -04:00
dragonmacher
c7600706cd GP-7291 - Gnu Demangler - Changed name of global initialization
functions
2026-09-17 17:47:24 -04:00
Ryan Kurtz
3da4e592f7 Merge remote-tracking branch 'origin/Ghidra_12.2' 2026-09-17 13:40:34 -04:00
Ryan Kurtz
868227c296 Merge remote-tracking branch 'origin/GP-1_ghidra1_FixElfResolveExtSyms' into Ghidra_12.2 2026-09-17 13:34:07 -04:00
ghidra1
fbe86aacaa GP-1 Correct GP-6643 regression with resolving ELF external symbols to
libraries
2026-09-17 13:32:28 -04:00
Ryan Kurtz
818cc48cfc Merge remote-tracking branch 'origin/GP-7281_ghidra1_CorrectGhidraURLErrorHandling' into Ghidra_12.2 2026-09-17 09:29:31 -04:00
Ryan Kurtz
cf97013b2a Merge remote-tracking branch 'origin/GP-7283_ghidra1_ELFPermissions'
into Ghidra_12.2 (Closes #9644)
2026-09-17 09:27:48 -04:00
Ryan Kurtz
ebd54fcf52 Merge remote-tracking branch 'origin/Ghidra_12.2' 2026-09-17 08:42:57 -04:00
Henri Chain
0da3f75f66 Place a.out symbols at their image address
loadSymbols adds n_value to the start of the block the symbol belongs to, but
n_value is an address (see https://man.freebsd.org/cgi/man.cgi?a.out(5) ),
not an offset into its segment, so we need to subtract the segment's base.

In most cases `determineTextAddr` is 0, so they are the same for the .text
segment, which is why function symbols still loaded fine. But for the
.data and .bss segments they don't, so their symbol locations ended up shifted.
2026-09-17 08:35:58 -04:00
ghidra1
d6b03b9bca GP-7283 Corrected ELF section permissions determination 2026-09-16 18:04:14 -04:00
ghidra1
7565f9cae3 GP-7281 Improved Ghidra URL connection error handling and other related
fixes
2026-09-16 13:48:00 -04:00
Ryan Kurtz
52fee929aa Merge remote-tracking branch
'origin/GP-7220_dragonmacher_PR-9556_axd1x8a_feat_vt-conflict-option'
(Closes #9556)
2026-09-16 13:13:08 +00:00