Commit Graph

99 Commits

Author SHA1 Message Date
Henrik Rydgård
fae1f4acd3 A null check and a locking simplification 2024-01-30 19:15:19 +01:00
Unknown W. Brackets
b2b61d58d4 Loader: Support HI16/16 pairs, not just LO16.
Motorstorm: Arctic Edge US uses these pairs for some VFPU loads.
Without relocating these, strange shadows show underneath vehicles.

It appears as if actual firmware pairs with any non-HI16 relocation.
2023-06-18 19:06:29 -07:00
Unknown W. Brackets
a9668bdb60 Debugger: More useful tag for section suballocs. 2023-06-18 19:04:18 -07:00
Henrik Rydgård
4dd4bf24fc Merge pull request #17561 from unknownbrackets/elf-reloc
Loader: Report on HI16/LO16 r_info mismatch
2023-06-11 23:59:52 +02:00
Unknown W. Brackets
4108eaca42 Loader: Add additional data to missing LO16 report. 2023-06-11 14:41:50 -07:00
Unknown W. Brackets
ef59b60aac Loader: Report on HI16/LO16 r_info mismatch.
Referenced in some LLVM code which checks the index specifically:
c72dea88b6/lld/ELF/Relocations.cpp (L491)

Noted by Kingcom.
2023-06-11 14:37:43 -07:00
Unknown W. Brackets
46101581c0 Core: Cleanup disasm buffer usage. 2023-04-29 09:07:25 -07:00
Unknown W. Brackets
88ba003f46 ThreadManager: Add a simple priority field.
Currently, not actually respected.
2023-02-02 17:08:24 -08:00
Unknown W. Brackets
dea9cac16c Core: Add range checks to some helpers and similar. 2023-01-09 16:56:18 -08:00
Unknown W. Brackets
9cfcbc46e6 Global: Cleanup initialization/pointer checks.
Cleaning up a lot of cases of uninitialized data, unchecked return values
for failures, and similar.
2022-12-10 21:13:36 -08:00
Henrik Rydgård
50285f6bf6 Revert "Revert "Loader: Validate offsets and truncation in ELF.""
This reverts commit 470edac18a.
2022-10-10 13:29:09 +02:00
Henrik Rydgård
6833589e38 Update elfSize to uncompressed elf size when needed. Fixes infinite loading in Wipeout.
Also minor cleanups.
2022-10-10 12:22:05 +02:00
Henrik Rydgård
470edac18a Revert "Loader: Validate offsets and truncation in ELF."
This reverts commit 4ecdce2a37.
2022-10-10 11:42:24 +02:00
Unknown W. Brackets
4ecdce2a37 Loader: Validate offsets and truncation in ELF. 2022-10-09 16:41:32 -07:00
Henrik Rydgård
ac7ca963db Make valgrind happy 2022-09-23 12:24:43 +02:00
Henrik Rydgård
e6403d7157 Split GetPointer into two versions, to help with const correctness 2022-07-24 13:26:19 +02:00
Unknown W. Brackets
cdcd77a931 Core: Correct relocation error check. 2021-06-13 10:51:51 -07:00
Henrik Rydgård
77908cb9e5 atomic include buildfix 2021-06-12 23:20:47 +02:00
Henrik Rydgård
73871b9b7e Implement new thread manager, port stuff to it. 2021-06-12 13:03:53 +02:00
Unknown W. Brackets
4f6aaea1e8 Core: Correct thread dependency in relocations.
Didn't realize it was looking at the later value before relocation.
This still remains about as much faster as before and still beneficial to
thread.
2021-04-25 16:49:52 -07:00
Unknown W. Brackets
572c20b4cd Debugger: Mark ELF sections as suballocations.
Sometimes they're named, it's helpful to see where rodata starts, etc.
2021-04-21 19:45:58 -07:00
Unknown W. Brackets
6ee944a0a6 Module: Process relocations on threads.
There's usually quite some, and using threads can halve the load time.
ELF loading isn't terribly slow, but it adds up.
2021-04-16 00:41:56 -07:00
Unknown W. Brackets
e7012f8f88 Module: Process relocations using unchecked reads.
No need to do checks twice.  Also switch the LO16 part to
Read_Instruction.
2021-04-16 00:32:42 -07:00
Unknown W. Brackets
f6ad90fab8 Module: Correctly handle modules with -1 entry.
It should not try to run, options or not.
2021-03-14 16:52:48 -07:00
Unknown W. Brackets
9ead436069 Debugger: Specifically tag relocations.
This is useful info.
2021-02-15 15:01:23 -08:00