Commit Graph
203 Commits
Author SHA1 Message Date
Andre Heider 402c71860f PLUGINS: Make the file stream a member of DLObject.
No point in passing it to functions all over the place. Release the
stream when it's not required anymore.

svn-id: r52558
2010-09-05 12:53:15 +00:00
Andre Heider 3b2a9734d1 PLUGINS: Type cleanup.
Use our types, get rid of some casts.

svn-id: r52557
2010-09-05 12:52:49 +00:00
Andre Heider c4a88559a5 PLUGINS: Move platform specific code out of the generic ELF loader.
Instead overwrite pure virtual functions in a backend specific class.

svn-id: r52556
2010-09-05 12:52:17 +00:00
Andre Heider 86f4dbd956 PLUGINS: Move all ELF loader related files to its own directory.
svn-id: r52555
2010-09-05 12:51:25 +00:00
Andre Heider 13770ce9cd PLUGINS: Plugin support for the GameCube/Wii backend.
svn-id: r52553
2010-09-05 12:49:29 +00:00
Andre Heider 5986aa96f2 PLUGINS: Formatting.
svn-id: r52552
2010-09-05 12:39:28 +00:00
Andre Heider c5a189f4d5 PLUGINS: Respect the VMA when relocating.
Plugins do not have to be linked at 0x0. Some platforms have limited
relocation jump offsets, which makes 0x0 unusable.

svn-id: r52551
2010-09-05 12:38:58 +00:00
Andre Heider ee2f4ef189 PLUGINS: Properly check the ELF header.
The ELFMAG is only 4 bytes, not 6. Properly check for endianess.

svn-id: r52550
2010-09-05 12:38:38 +00:00
Andre Heider 628842d457 PLUGINS: The VMA doesn't get added to any PHDR.
svn-id: r52549
2010-09-05 12:38:18 +00:00
Andre Heider 253a0aa7f9 PLUGINS: Fix warnings.
svn-id: r52548
2010-09-05 12:37:59 +00:00
Andre Heider 07e3a42224 PLUGINS: Cleanup includes and debug output.
Use the common debug functions instead of spamming #defines.

svn-id: r52547
2010-09-05 12:37:36 +00:00
Andre Heider 2c746709aa PLUGINS: Flush only memory ranges, not everything
svn-id: r52546
2010-09-05 12:37:07 +00:00
Andre Heider ff1b64937a PLUGINS: Fix warnings and unnecessary casts.
svn-id: r52439
2010-08-29 11:14:14 +00:00
Yotam Barnoy 8fb92b9e2a PSP: made PSP compile with plugins.
Also removed criticalSection calls from elf-loader.cpp, since now streams are used so the criticalSections are automatic.

svn-id: r52206
2010-08-19 11:18:01 +00:00
Yotam Barnoy 3ece67d1b8 PLUGINS: added virtual destructor to DLObject
This could be really important. Maybe.

svn-id: r52205
2010-08-19 11:17:17 +00:00
Tony Puccinelli 8f7de9974f Added doxygen comments for a few different plugin-related classes
svn-id: r52124
2010-08-16 16:32:06 +00:00
Tony Puccinelli 34b5eb3ba3 added a todo to plugins.cpp and a comment to elf32.h; Collapsed plugin providers for a few ports into their .h files, removing the corresponding .cpp files
svn-id: r52112
2010-08-16 08:41:04 +00:00
Tony Puccinelli 2cd99b449f refactored NEW_PLUGIN_DESIGN_FIRST_REFINEMENT define into ONE_PLUGIN_AT_A_TIME
svn-id: r52058
2010-08-13 05:58:11 +00:00
Tony Puccinelli 62d8126df0 added appropriate ifdefs throughout the plugins directory
svn-id: r52053
2010-08-13 02:58:52 +00:00
Tony Puccinelli 139a96182d modified DS makefile to use new plugin design where only one plugin is loaded at a time and tested successfully on the DS. Added code to prevent a crash in the case where there are no engine plugins present. Removed code for R_ARM_TARGET1 in arm-loader, as it is no longer used and was never used successfully
svn-id: r52052
2010-08-12 23:55:12 +00:00
Tony Puccinelli 682807f0e9 merged trunk into branch, reverted Cruise Singleton changes
svn-id: r51961
2010-08-10 23:21:08 +00:00
Tony Puccinelli 9cf5dedca5 got rid of rest of leftover stuff from GP2X-WIZ elf-loader attempt
svn-id: r51846
2010-08-07 22:30:18 +00:00
Tony Puccinelli de1e941370 refined constructors, removed destructors, got rid of unneccessary method duplication in DLObject and its subtypes
svn-id: r51845
2010-08-07 22:27:23 +00:00
Tony Puccinelli 68b986545a added necessary files I forgot to commit yesterday (whoops...) for mips and arm loaders
svn-id: r51843
2010-08-07 21:47:50 +00:00
Tony Puccinelli d6adeb9ccf took out hacky 'ifdef MIPS_TARGET' statements in DLObject's methods and instead overrode those methods in MIPSDLObject
svn-id: r51827
2010-08-07 06:15:57 +00:00
Tony Puccinelli 0712d41870 modified psp to use mips-loader.cpp (and added things to backends/module.mk)
svn-id: r51826
2010-08-07 05:01:43 +00:00
Tony Puccinelli 6982aed8a4 made MIPSDLObject and PS2 plugin provider that uses it
svn-id: r51818
2010-08-07 00:40:15 +00:00
Tony Puccinelli 646587f79a got rid of gp2xwiz loader (anything useful from it is already incorporated into the ARM loader in the plugins directory at this point) and implemented ARMDLObject as a subtype of DLObject
svn-id: r51813
2010-08-06 23:30:27 +00:00
Tony Puccinelli 66225374b2 made a couple of functions in DLObject virtual, other minor fixes/changes
svn-id: r51797
2010-08-06 20:09:16 +00:00
Tony Puccinelli 5696fde139 removed unnecessary declaration of flushDataCache() in elf-loader header
svn-id: r51794
2010-08-06 18:10:53 +00:00
Tony Puccinelli 026c9ba656 got rid of unneccessary 'extern C' section in elf-loader header and refactored arm-relocs.cpp to arm-loader.cpp
svn-id: r51793
2010-08-06 17:33:44 +00:00
Tony Puccinelli 4bed67767c added loadPlugin function into DSPlugin (doesn't use a DSDLObject yet)
svn-id: r51778
2010-08-06 06:54:44 +00:00
Tony Puccinelli d4a4176123 added DSPlugin and DS Plugin Provider (steps towards using subtypes of DLObject)
svn-id: r51777
2010-08-06 06:03:34 +00:00
Tony Puccinelli 415a5aaa36 hacky way to put ELFPlugin::findSymbol in elf-provider.cpp without compiler errors
svn-id: r51775
2010-08-06 01:36:47 +00:00
Tony Puccinelli 9369c769fe Fix for mixed-up ordering of '_dlHandle->close()' and 'delete _dlHandle'
svn-id: r51773
2010-08-05 23:59:34 +00:00
Tony Puccinelli 09a41c94be Moved ELFPlugin class definition into elf-provider.h
svn-id: r51767
2010-08-05 21:48:15 +00:00
Tony Puccinelli d1deaedc1a dealt with FIXME comments: removing superfluous checks, printfs, etc.
svn-id: r51765
2010-08-05 20:54:48 +00:00
Tony Puccinelli 520c0a4009 added checks for ELF_LOADER_TARGET before including the elf plugin provider
svn-id: r51716
2010-08-03 22:08:32 +00:00
Max Horn 9f5bcadaea Simplify code a bit, add several FIXMEs
svn-id: r51688
2010-08-03 12:45:12 +00:00
Tony Puccinelli 9be8f0a544 got rid of dlerr[MAXDLERRLEN]
svn-id: r51678
2010-08-03 07:52:10 +00:00
Tony Puccinelli 934c0b922c got rid of dlopen, dlclose, etc. wrappers
svn-id: r51677
2010-08-03 06:25:03 +00:00
Tony Puccinelli 145d8899df added some comments to shorts-segment-manager, moved main engine linker script for ps2 into the plugins folder as it is only used when dynamic plugins are enabled
svn-id: r51447
2010-07-28 23:17:39 +00:00
Tony Puccinelli 9d236ac4d0 added check for MIPS machine type in the 'readElfHeader' method
svn-id: r51403
2010-07-28 05:18:46 +00:00
Tony Puccinelli ff78cf6771 abstracted an ELF plugin provider
svn-id: r51400
2010-07-28 02:05:17 +00:00
Tony Puccinelli 749d47ba26 fixed incorrect header file include
svn-id: r51399
2010-07-28 01:03:17 +00:00
Tony Puccinelli e8fc5f2070 various manual tweaks to get ds port compiling from branch again after earlier merge from trunk
svn-id: r51398
2010-07-28 00:08:32 +00:00
Tony Puccinelli 58f3e81f00 Continued abstraction of generic ELF-loader, splitting off MIPS-processor specific things into their own files and testing on the PS2
svn-id: r51345
2010-07-27 06:27:45 +00:00
Tony Puccinelli 4e530debd2 moved flushDataCache function from ds-loader.cpp to elf-loader.cpp and moved arm-relocations from ds-loader.cpp to arm-relocs.cpp; deleted ds-loader.cpp
svn-id: r51289
2010-07-26 00:41:31 +00:00
Tony Puccinelli 5d8f4b5062 Finished initial abstraction of ELF-loader (works for DS)
svn-id: r51233
2010-07-24 02:07:35 +00:00
Tony Puccinelli c39ca58683 renamed MIPS loader header to match file naming conventions
svn-id: r51219
2010-07-23 20:01:54 +00:00