Commit Graph

60 Commits

Author SHA1 Message Date
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
Unknown W. Brackets
363d1dbe19 Fix some misc. warnings. 2013-02-18 08:44:59 -08:00
Arthur Blot
062b2320a2 Load ELFs at the correct place 2013-01-04 20:10:41 +01:00
Arthur Blot
e4ce0592c1 Make previous code cleaner 2013-01-02 19:42:15 +01:00
Arthur Blot
1519600441 Implemented sceKernelLoadModuleByID, better logs 2013-01-02 19:42:15 +01:00
Arthur Blot
8ed8f57a7f Hopefully fix all the ELF loading issues 2012-12-28 01:07:19 +01:00
Arthur Blot
a7af13b523 Implemented classic segment relocations 2012-12-27 21:32:12 +01:00
Henrik Rydgard
7720dc3f60 Various warning, logging, jit fixes 2012-11-17 19:56:28 +01:00