64 Commits

Author SHA1 Message Date
PabloMK7
e2778a45cf Fix macro change in libctru 2023-10-31 18:38:40 +01:00
PabloMK7
c055fb6f5e
Merge 3GX plugin loader fork (#1916)
This commit adds all the changes made to the 3GX plugin loader fork of Luma3DS. The most important features are:

- Add 3GX plugin loader support. New service added to rosalina: plg:ldr
- Add svcControlProcess, svcControlMemoryUnsafe and improve svcMapProcessMemoryEx (breaking change)
- Allow applications to override certain configurations depending on their needs:
    - Disable core2 thread redirection
    - Disable game patching for the next app
    - Force New 3DS speedup
    - Force next application in a specific memory mode
    - Block the opening of the Rosalina menu
- Add GDB commands to list all process handles and catch all SVC (latter is for IDA Pro as gdb client supports it)
- Other changes necessary for plugins to work properly. Please check changed files in this PR for more details. 

---------

Co-authored-by: PabloMK7 <hackyglitch@gmail.com>
Co-authored-by: Nanquitas <nath.doidi@gmail.com>
Co-authored-by: TuxSH <1922548+TuxSH@users.noreply.github.com>
2023-07-14 20:08:07 +02:00
TuxSH
e5e09c1e13 gdb: use 'swbreak' for bkpt too 2022-06-03 22:18:10 +01:00
TuxSH
188d86cb7f gdb: always pass current thread ID when stopping 2022-04-09 21:26:47 +01:00
TuxSH
01ebbf114c Restore extended-remote support & map <GDB PID>-><1 + 3DS PID> (breaking change)
Once more, the "official" gdb client is the one than is the least compliant to its very own stub specs (compared to, say, IDA)
2022-04-09 19:28:33 +01:00
TuxSH
cb4a23a2ba gdb: fix handling of bkpt instructions 2020-12-03 21:48:16 +00:00
TuxSH
b02d0346fd rosalina: add hidden debug info menu 2020-05-17 22:48:26 +01:00
TuxSH
71cddef78f rosalina: cleanup variable names 2020-05-15 20:00:13 +01:00
TuxSH
8b10906d90 newlib... 2020-05-10 18:54:51 +01:00
TuxSH
5924f60d06 gbd: fix address lookup limit on lower fw 2020-04-28 02:45:48 +01:00
TuxSH
7dfa83b8c0 rosalina: fix gdb/input redir hanging if no internet & fix recovering from failures 2020-04-27 21:58:40 +01:00
TuxSH
b313a4aa2f rosalina: remove all remaining refs to __syscalls (which we don't init) 2020-04-26 12:07:17 +01:00
TuxSH
31891efbca Current year is 2020 2020-04-25 13:42:10 +01:00
TuxSH
58f3edda12 ARM => Arm 2020-04-25 13:17:23 +01:00
Lioncash
7e14c83bdd rosalina/gdb/server: Prevent potential null dereference case
While unlikely to commonly occur, this is a trivially avoidable case.
2019-08-13 02:54:12 -04:00
TuxSH
fde3b70d03 Fix info os cfwversion/memory by adding null terminator to xml files (thanks @fincs) 2019-06-28 23:44:09 +02:00
TuxSH
f4851cd533 fixed inverted condition in hio.c 2019-06-18 23:58:47 +02:00
TuxSH
39287d43e3 Fix null deref when connecting to port 4003 but force debug next app hasn't been selected 2019-06-18 00:02:32 +02:00
TuxSH
e989309771 Fix "disable debugger" finally 2019-06-16 22:06:05 +02:00
TuxSH
2c8a1eb5c6 gdb hio: lseek returns 64-bit 2019-05-04 17:08:32 +02:00
TuxSH
23c40aeb8e gdb hio: add type l 2019-05-04 16:30:34 +02:00
TuxSH
c7c832a0dd Relicense gdbstub (with permission of contributors) 2019-05-03 21:06:10 +02:00
TuxSH
6423d0c1b3 gdb: fix hang when "debug next application" is used more than once 2019-05-01 19:37:46 +02:00
TuxSH
8b56098d64 Fix TIO encoding bug 2019-04-28 15:04:42 +02:00
TuxSH
d357db25f2 gdb TIO: fix mode and flags being swapped 2019-04-28 02:06:31 +02:00
TuxSH
9b3cc5391b tio fixes 2019-04-27 23:23:36 +02:00
TuxSH
54eeb97b24 Add GDB target IO support (called Host I/O by gdb), not working yet 2019-04-27 16:50:47 +02:00
TuxSH
5d3585a33d fix gdb control C regression 2019-04-21 18:00:29 +02:00
TuxSH
eef22f8701 Fix "debug next process" with hbldr homebrew 2019-04-18 22:58:53 +02:00
TuxSH
9e1a9f2842 Implement HBLDR_DebugNextApplicationByForce
also prevent port 4003 (next application) from being extended-remote
2019-04-18 22:28:23 +02:00
TuxSH
89e42a457c gdb: hio: fix error parsing 2019-04-17 23:53:27 +02:00
TuxSH
17ca09346d gdb: fix multiple extended-remote issues, also fix possible race condtions 2019-04-17 23:12:29 +02:00
TuxSH
06bcb39721 always save errdisp to file; hio changes 2019-04-17 00:18:12 +02:00
TuxSH
4c9fe186d7 gdb: hio support (untested yet) 2019-04-14 21:48:15 +02:00
TuxSH
e11cc090b2 gdb: add support to run new processes
Only titleId [mediaType [launchFlags]] is supported, and the launched title shouldn't rely on APT and all 3 parameters should be hex-encoded.

usage example, with titleId+mediaType:
(gdb) set remote file-exec 0004013000003702
(gdb) r 0
2019-04-13 19:18:47 +02:00
TuxSH
763a1de8d3 gdb: add extended-remote support, implement vAttach 2019-04-12 23:40:51 +02:00
TuxSH
e57b546dd4 gdb: rework meaning of selected/used 2019-04-10 23:38:10 +02:00
TuxSH
bd670cf87c gdb: add GDB_FindAllocatedContextByPid 2019-04-10 23:17:49 +02:00
TuxSH
1e0996c395 gdb: simply gdbstate 2019-04-09 23:59:05 +02:00
TuxSH
63736d7873 Refactor process detaching code 2019-03-31 22:58:36 +02:00
TuxSH
fb800bd4c9 Add support to force-debug applications before they start running code 2019-03-31 20:01:16 +02:00
TuxSH
ea14d8a186 gdb: avoid race conditions 2019-03-31 01:14:40 +01:00
TuxSH
cd18b85632 gdb: refactor port/ctx alloc 2019-03-31 00:24:45 +01:00
TuxSH
d28e961adc Use <string.h> & <3ds/exheader.h>, fix some bugs, etc.
also fix all warnings and use -Werror
2019-03-15 23:03:23 +01:00
TuxSH
4b40dd52f4 Give a proper build system for each sysmodule, k11ext, arm11.
Previously, these Makefiles didn't correctly track header changes.
The project doesn't build as a whole, future commits will fix it.
2019-03-15 23:03:19 +01:00
TuxSH
020236742f Fix gdbstub UB with IO 2019-03-15 22:37:04 +01:00
TuxSH
a7100a1e7f Fix implicit fallthrough in debug.c 2019-02-28 19:08:39 +01:00
BuildTools
1c7b55ee1e Bump copyright year 2019-02-24 18:04:32 -07:00
TuxSH
1600171ffa Bump copyright year 2018-06-14 18:13:57 +02:00
TuxSH
76d274cfe2
getmemregions: userland never exceeds 0x40000000 2018-01-19 01:42:53 +01:00