Commit Graph

98 Commits

Author SHA1 Message Date
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
Tony Puccinelli
7694809b3d Began abstraction of generic ELF-loader
svn-id: r51195
2010-07-23 07:49:02 +00:00
Tony Puccinelli
90e9282bf1 Added abstracted elf32 header file to plugins directory
svn-id: r51192
2010-07-23 05:15:11 +00:00
Tony Puccinelli
07faa734ce various fixes for ds dynamic plugins
svn-id: r50732
2010-07-07 01:55:11 +00:00
Tony Puccinelli
3c6ef64243 added ds plugin-provider
svn-id: r50588
2010-07-02 01:32:14 +00:00
Johannes Schickel
09b4f7cbed Define WIN32_LEAN_AND_MEAN before including windows.h.
This will cause our code to include less functionality, but might on the other hand fasten up the compilation.

svn-id: r50346
2010-06-26 21:55:52 +00:00