Commit graph

67 commits

Author SHA1 Message Date
Henrik Rydgård
42bdf3e19b ELF loading potential out-of-bounds fix 2017-06-07 00:22:37 +02:00
Henrik Rydgård
9ce874d2cf Typo fix, MOBILE_DEVICE 2017-05-25 00:31:00 +02:00
Henrik Rydgård
875e7f0372 Throw in a few more checks in ElfReader 2017-05-24 20:45:29 +02:00
Henrik Rydgård
e981139e71 Some constification in ElfReader, sanity checks in sceKernelMutex. Might help #9718 a little bit, though probably not the Elf issue (and if the workarea pointer is bad, it's not likely the game will limp along for much longer) 2017-05-24 10:52:19 +02:00
Florent Castelli
373db56a16 blackberry: Remove! 2016-10-11 17:40:32 +02:00
Henrik Rydgard
853ea02201 Minor cleanups in elfreader 2016-09-18 23:11:41 +02:00
Henrik Rydgard
4197148dc4 Add some paranoid checks hoping to fix crashes reported in Google Play developer console. 2016-04-09 18:27:35 +02:00
Henrik Rydgard
b998131581 Move the symbol map to the heap, deallocate it when no game is running. 2015-10-31 23:01:19 +01:00
Henrik Rydgard
bb57aa69d1 Somewhat better check to prevent some homebrew from loading into kernel memory. 2015-07-02 23:07:07 +02:00
Henrik Rydgård
04ce8a63e5 Workaround issue where some homebrew (like moppi-flower) would erroneously load into kernel ram where it won't fit 2015-07-02 15:55:09 +02:00
Lioncash
f830d5dec7 Core: Mark some functions as const 2014-12-03 15:16:11 -05:00
Unknown W. Brackets
71e8c0f6e0 Sum all .bss* sections when counting bss size. 2014-08-17 14:25:58 -07:00
Unknown W. Brackets
3ccc0d1e47 Don't count strings as text in module info. 2014-08-17 14:25:57 -07:00
Unknown W. Brackets
892980ada1 Blackberry buildfix. 2014-08-17 14:25:56 -07:00
Unknown W. Brackets
337a8553aa Add module name to ELF allocations.
Makes debugging it easier.
2014-08-17 14:25:56 -07:00
Unknown W. Brackets
7c37d64717 Load kernel modules into kernel memory.
This way they don't eat up user memory space.
2014-08-17 14:25:55 -07:00
Unknown W. Brackets
1d310ad8bb Allocate module memory from top/bottom per request. 2014-08-17 14:25:54 -07:00
Unknown W. Brackets
4a94a30ba6 Calculate the module info data/text/bss size. 2014-07-13 19:53:00 -07:00
Unknown W. Brackets
ec94498342 When scanning or relocating, check replacements.
Just to make sure we don't wrongly detect the length or unresolve a var
wrong etc.
2014-06-23 08:18:56 -07:00
Unknown W. Brackets
4706876809 Add memchecks for ELF loading.
Helps in games that use modules.
2014-05-04 01:22:57 -07:00
sum2012
8cd5720b0b Remove report 2014-02-07 04:31:51 +08:00
sum2012
1c3adb42f2 Fix Diabolik: The Original Sin crash
This commit orignal want fix #3326 by @unknownbrackets
2014-02-06 20:40:18 +08:00
Unknown W. Brackets
2b10fbae1e Small tweaks to rel2 logging. 2013-12-08 22:34:36 -08:00
Henrik Rydgard
32f479b0a6 Assorted log spam reductions.
Also let Java know of some important events. Not used for anything yet.
2013-12-04 17:43:00 +01:00
Unknown W. Brackets
eac8b1a84d Scan for functions even without a .text section.
It's possible this may be wrong, but every game I've seen loads the funcs
in this area.  Sometimes there's data after the funcs before the stubs,
but it's better than no funcs.
2013-12-01 19:43:40 -08:00
Kingcom
5844d0107b Rewrite SymbolTable 2013-11-27 13:33:30 +01:00
Unknown W. Brackets
33d6ee77cb Add a some more defines for ELF values.
Mostly flags and stuff.
2013-11-17 02:14:35 -08:00
Henrik Rydgard
6be534ca18 Merge branch 'warnings' of https://github.com/unknownbrackets/ppsspp into unknownbrackets-warnings
Conflicts:
	Core/ELF/ElfReader.cpp
2013-11-15 19:11:51 +01:00
Henrik Rydgard
77ef79892e Remove wrong alignment check on relocations. Add a comment. 2013-11-15 18:47:27 +01:00
Unknown W. Brackets
b9feae3b62 Don't require 32-bit relocs to be aligned.
Also, report these situations more, who knows what games they could break.
2013-11-15 08:19:29 -08:00
Henrik Rydgard
5e3fd4f1fa Turn down reloc logging a bit more 2013-11-14 23:07:22 +01:00
Henrik Rydgard
003cb41db5 Oops, that was too much logging on startup. 2013-11-14 12:32:59 +01:00
Henrik Rydgard
9d4ece0f58 Robustify the ELF loader a little - it didn't like unaligned addresses.. 2013-11-14 11:44:14 +01:00
Unknown W. Brackets
ba69eba53c Just log and continue when EI_CLASS is wrong.
Users with emulator-only patches or etc. shouldn't necessarily have to
not be able to play the game anymore, as long as the problem is surfaced.
2013-10-12 10:03:27 -07:00
Kingcom
7f1fca8e74 Check e_ident of elf header 2013-10-05 10:05:55 +02:00
adrian17
06a015983a Fixed some doubled semicolons 2013-08-25 19:43:18 +02:00
Unknown W. Brackets
109ad17ac6 Use a typesafe struct for opcodes.
Also, correctly read delayslots using Read_Instruction on ARM.
2013-08-24 15:36:24 -07:00
Unknown W. Brackets
083fa71c1a Fix 26-bit reloc truncation (was 30 bit...)
Hopefully didn't affect anything?
2013-08-22 23:21:54 -07:00
Unknown W. Brackets
a217cefa11 Tone down some less needed reporting. 2013-08-21 08:40:29 -07:00
Unknown W. Brackets
c8716d9a02 Fix a few minor typos + small reporting change. 2013-08-12 23:02:39 -07:00
Henrik Rydgard
30e18e9344 Log level changes 2013-07-30 01:09:12 +02:00
Unknown W. Brackets
d9d66c46e9 Avoid a possibly uninitialized var. 2013-07-26 22:50:56 -07:00
tpunix
94ef18025f bugfix of LoadRelocations2 2013-07-16 18:17:12 +08:00
Unknown W. Brackets
cc647ed910 Add logging of more relocation errors. 2013-06-01 09:29:38 -07:00
Henrik Rydgård
6db586e12f Merge pull request #2015 from tpunix/master
Module load bug fix
2013-06-01 08:25:08 -07:00
tpu
934196109e WriteVarSymbol bug fix 2013-06-01 22:43:23 +08:00
Unknown W. Brackets
06c19622d5 Fix some init/type warnings. 2013-05-31 23:14:29 -07:00
tpu
cf8309b783 add relocate type 0x700000a1 support 2013-05-31 18:34:47 +08:00
Unknown W. Brackets
acac847af2 Cleanup sceKernelGetModuleIdByAddress().
Actual firmware seems to accept any address in the range, and also
correct the error result.

Now people won't think this is broken anymore.
2013-04-10 21:03:43 -07:00
Henrik Rydgard
60189663db ELF relocation: check that sectionToModify >= 0. 2013-03-23 13:26:55 +01:00