6264 Commits

Author SHA1 Message Date
Ryan Kurtz
8e9a8e7a27 GP-7298: Fixing BinaryLoader options validation (#9658) 2026-09-24 05:49:30 -04:00
dragonmacher
fbf91fb730 Test fixes 2026-09-23 17:35:21 -04: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
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
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
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
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
c440947ad5 GP-0: Javadoc fixes 2026-09-16 06:02:42 -04:00
ghidragon
ff5d7a12d6 GP-6779 Refactoring DataTypeManagers/Archives 2026-09-14 14:36:34 -04:00
Ryan Kurtz
71b052c70d Merge remote-tracking branch 'origin/Ghidra_12.2' 2026-09-14 10:48:51 -04:00
Ryan Kurtz
02d0a0d243 Merge remote-tracking branch 'origin/GP-3627_ghidraffe_CopyGhidraURLInProjectWindow' 2026-09-14 04:38:01 -04:00
ghidra1
e5c87cc09f GP-7269 Changed ProgramLocator to preserve original URL and disabled
Felix URL proxy handler mechanism.
2026-09-11 15:51:41 -04:00
ghidra1
4b5022ecc1 GP-3627 Copy GhidraURL action revisions 2026-09-11 12:58:13 -04:00
Ryan Kurtz
3064b743f6 Merge remote-tracking branch 'origin/Ghidra_12.2' 2026-09-11 11:11:53 -04:00
ghidra1
a9cfc37b4c GP-6796 Corrected Clear Server Allow List enablement 2026-09-11 09:55:24 -04:00
Ryan Kurtz
5644926863 GP-0: Javadoc fix 2026-09-11 07:10:08 -04:00
Ryan Kurtz
16900f59aa Merge remote-tracking branch 'origin/Ghidra_12.2' 2026-09-09 13:39:03 -04:00
Ryan Kurtz
f704da1487 Merge remote-tracking branch 'origin/patch' into Ghidra_12.2 2026-09-09 13:36:56 -04:00
Ryan Kurtz
a459277c35 GP-7265: Prevent GhidraScript compilation errors from being hidden 2026-09-09 12:21:35 -04:00
Ryan Kurtz
f36a757c10 Merge remote-tracking branch 'origin/GP-7225_ryanmkurtz_ExternalSymbolResolver' 2026-09-09 04:46:55 -04:00
Ryan Kurtz
04c4a20293 Merge remote-tracking branch 'origin/Ghidra_12.2' 2026-09-08 12:17:57 -04:00
Ryan Kurtz
3ea6ddc75b GP-7225: ExternalSymbolResolverAnalyzer is now added based on
Library.UNKNOWN being present
2026-09-08 10:48:28 -04:00