Commit Graph

57 Commits

Author SHA1 Message Date
Michael Scire
4059dc6187 Results: Implement namespaced, type-safe results.
Because I was working on multiple things at once, this commit also:
- Adds wrappers for/linker flags to wrap CXX exceptions to make them
  abort. This saves ~0x8000 of memory in every system module.
- Broadly replaces lines of the pattern if (cond) { return ResultX; }
  with R_UNLESS(!cond, ResultX());.
- Reworks the R_TRY_CATCH macros (and the result macros in general).
2019-12-07 12:41:28 -08:00
Michael Scire
0b22af1206 libstrat: namespace remaining non-namespaced code. more new-ipc updates 2019-12-07 12:41:28 -08:00
Michael Scire
535e49a38d strat: statically allocate additional threads 2019-12-07 12:41:28 -08:00
Michael Scire
89c6fc6437 creport: update for new-ipc 2019-12-07 12:41:28 -08:00
Michael Scire
39d041466d fatal: refactor into sts namespace 2019-07-23 14:01:16 -07:00
Michael Scire
4cc2b5c38a creport: address review commentary 2019-07-15 14:35:48 -07:00
Michael Scire
00e3d874e3 creport: fix dangling reference to user_result 2019-07-15 14:35:48 -07:00
Michael Scire
803e91a8c4 creport: pass user break result directly 2019-07-15 14:35:48 -07:00
Michael Scire
227a1d938d creport: refactor to use sts:: namespace. 2019-07-15 14:35:48 -07:00
Michael Scire
2d0c881ffe strat: go all in on ncm::TitleId 2019-07-11 22:24:59 -07:00
Michael Scire
cead8a36ea stratosphere: more result cleanup 2019-06-20 02:00:59 -07:00
Thomas Guillemard
bbcb3757bd
Address comment 2019-05-28 00:26:56 +02:00
Thomas Guillemard
a33ace8996
creport: Add 32 bits stack frames parsing support
Also fix FP, SP and LR registers being set wrongly by svcGetDebugThreadParam for 32 bits processes.
2019-05-28 00:18:10 +02:00
Michael Scire
766097d0b7 creport: dump tls/name on crash (closes #310) 2019-05-25 13:33:33 -07:00
Michael Scire
41f5b39f6b stratosphere: stop using kernelAbove 2019-05-10 03:25:07 -07:00
Michael Scire
b09adb6a34 stratosphere: only hold sm sessions open when needed 2019-04-22 12:59:49 -07:00
Michael Scire
d0659377e8 creport: speed up code region detection (closes #491) 2019-04-12 23:04:12 -07:00
Michael Scire
ac07971211 stratosphere: custom exception handlers (reboot to fusee) 2019-04-12 15:28:46 -07:00
Michael Scire
03e176d7f1 atmosphere: current year is 2019 2019-04-07 19:00:49 -07:00
Michael Scire
2678735f73 stratosphere: migrate result headers to libstrat 2019-03-28 14:23:34 -07:00
Michael Scire
a0acbda9ce creport: include firmware version header 2019-02-20 14:23:38 -08:00
Michael Scire
f00dd05f82 Make stratosphere use new libnx HosVersion API 2019-02-20 14:17:51 -08:00
Michael Scire
c42fc16d8e creport: RESULT_SUCCESS is not a defined value by libnx. 2019-01-22 05:38:27 -08:00
Michael Scire
a09137c008 creport: Okay, maybe actually fix formatting. 2019-01-22 05:38:27 -08:00
Michael Scire
2a2d1bc78b creport: Fix formatting error. 2019-01-22 05:38:27 -08:00
Michael Scire
50db685274 creport: attempt to improve userbreak errcode output 2019-01-22 05:38:27 -08:00
SciresM
c530bb8910
Merge branch 'master' into fatal 2018-11-14 14:15:01 -08:00
Michael Scire
8054b2d219 Fatal: save auto-debug info to SD card. 2018-11-14 14:13:31 -08:00
Michael Scire
9714db14d2 fatal/creport: Add cpu context. 2018-11-13 20:22:54 -08:00
Michael Scire
7d729e1836 creport: Add another code region locating improvement. 2018-11-11 20:00:04 -08:00
Michael Scire
36530a5501 creport: Improve code region list (as N did in 6.1.0) 2018-11-11 19:52:19 -08:00
TuxSH
d8391078c8 Fix creport according to latest libnx release changes 2018-09-19 15:03:50 +02:00
hexkyz
28e4d4411d Add and fix copyright notices for better GPL compliance (thanks @naehrwert and @CTCaer). 2018-09-07 16:00:13 +01:00
Michael Scire
de49cfefac creport: Print Break information on UserBreak 2018-08-11 19:16:29 -07:00
Michael Scire
326d58e28c creport: tabs -> spaces 2018-08-11 19:02:12 -07:00
Michael Scire
6c8a1a39e1 creport: fix various issues, improve support (closes #187)
-Fixes a NULL deref in thread info parsing
-Heuristically uses [<buildid>] instead of rodata contents if NSO has no
name segment
-Adds full thread/code region dump for all firmwares, instead of just
5.x.
2018-08-11 18:46:41 -07:00
Michael Scire
c70420d996 creport: Actually change report paths. 2018-07-29 16:54:15 -07:00
Michael Scire
84bcaf8dc6 creport: Change report path to crash_reports 2018-07-29 16:48:33 -07:00
Michael Scire
a811b447ce creport: Pretty-print addresses whenever possible. 2018-07-27 20:34:09 -07:00
Léo Lam
e088a2f414 stratosphere: In-class initialize members
Same thing, less code, less boilerplate.
2018-07-10 09:38:18 -07:00
Michael Scire
6fd82b7947 creport: Add dying message to output report, if relevant. 2018-06-26 00:51:53 -06:00
Michael Scire
4eadeb021b creport: Complete crash report saving. 2018-06-26 00:44:58 -06:00
Michael Scire
d5b303f852 creport: Clean up bugs, now saves (empty) reports to the SD successfully 2018-06-25 22:27:33 -06:00
Michael Scire
12236eae9e creport: Fix bad constructor for ThreadInfo 2018-06-25 20:40:33 -06:00
Michael Scire
71e87e9e35 creport: fix a bunch of trivial errors 2018-06-25 10:25:14 -06:00
Michael Scire
b8e0c2855f creport: Further Skeleton Report saving. 2018-06-25 10:22:37 -06:00
Michael Scire
92bc396972 creport: Implement reading name/build id from .rodata 2018-06-25 09:50:36 -06:00
Michael Scire
f189610af8 creport: Skeleton reading of Code Regions. 2018-06-25 04:38:54 -06:00
Michael Scire
fd6fa89122 creport: fix thread_list access style 2018-06-25 04:08:42 -06:00
Michael Scire
d65255acb8 creport: Implement reading info about all threads. 2018-06-25 04:07:44 -06:00