aboutsummaryrefslogtreecommitdiff
path: root/backends/plugins
AgeCommit message (Collapse)Author
2010-09-16PLUGINS: Fix function arguments in MIPS loaderYotam Barnoy
Derived virtual function wasn't overwriting base function. svn-id: r52749
2010-09-15PLUGINS: Additional plugin check for the ELF loader.Andre Heider
The ELF loader does not have access to the symbols of the main executable, it just relocates symbols to it via fixed offsets. We need to make sure that loaded plugins are from the same link process to prevent crashes. An embedded build date is used for that. svn-id: r52730
2010-09-15PLUGINS: Cleanup.Andre Heider
- Unify ELF loader handling in configure - Rename ELF_LOADER_TARGET to USE_ELF_LOADER svn-id: r52728
2010-09-06PLUGINS: Only resolve __dso_handle if loading was successful.Andre Heider
svn-id: r52612
2010-09-06PLUGINS: Formatting.Andre Heider
svn-id: r52611
2010-09-06PLUGINS: Use the C++ ABI to call dtors when unloading a plugin.Andre Heider
Avoid linking all plugins against libstdc++ to free up some memory (about ~40kb on Wii per plugin). Enable it on GameCube, Wii, DS and PSP (PS2 doesn't have __cxa_atexit support in its libc). svn-id: r52607
2010-09-06PLUGINS: used variation of ScopedPtr to clean up load() functionYotam Barnoy
svn-id: r52592
2010-09-06PLUGINS: fixed MIPS plugin loaderYotam Barnoy
Adjusted to new VMA handling and fixed a few errors which caused crashes. Also removed unneeded expansion of alignment value. svn-id: r52589
2010-09-06PLUGINS: added missing call in destructor which caused crashingYotam Barnoy
svn-id: r52588
2010-09-05PLUGINS: Added _segmentVMA to the MIPS loader.Andre Heider
Also added 2 TODOs for all loaders not respection that offset. svn-id: r52577
2010-09-05PLUGINS: Remove spurious extra allocation.Andre Heider
Elf32_Phdr.p_align is to align the memory location of the loaded segment, not to extend its size. The size of the scratch area (like .bss and .sbss) is p_memsz-p_filesz, which has to be set to zero by the loader. svn-id: r52576
2010-09-05PLUGINS: Plug some memleaks.Andre Heider
svn-id: r52575
2010-09-05PLUGINS: Move doxygen to the base class header.Andre Heider
No point in documenting it on every derived class. svn-id: r52574
2010-09-05PLUGINS: Add missing variable initialization.Andre Heider
svn-id: r52573
2010-09-05PLUGINS: Formatting.Andre Heider
Misformatted casts in an earier commit, oops. svn-id: r52572
2010-09-05PLUGINS: Set svn:keywords property on all new files.Andre Heider
svn-id: r52566
2010-09-05PLUGINS: Make the file stream a member of DLObject.Andre Heider
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-05PLUGINS: Type cleanup.Andre Heider
Use our types, get rid of some casts. svn-id: r52557
2010-09-05PLUGINS: Move platform specific code out of the generic ELF loader.Andre Heider
Instead overwrite pure virtual functions in a backend specific class. svn-id: r52556
2010-09-05PLUGINS: Move all ELF loader related files to its own directory.Andre Heider
svn-id: r52555
2010-09-05PLUGINS: Plugin support for the GameCube/Wii backend.Andre Heider
svn-id: r52553
2010-09-05PLUGINS: Formatting.Andre Heider
svn-id: r52552
2010-09-05PLUGINS: Respect the VMA when relocating.Andre Heider
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-05PLUGINS: Properly check the ELF header.Andre Heider
The ELFMAG is only 4 bytes, not 6. Properly check for endianess. svn-id: r52550
2010-09-05PLUGINS: The VMA doesn't get added to any PHDR.Andre Heider
svn-id: r52549
2010-09-05PLUGINS: Fix warnings.Andre Heider
svn-id: r52548
2010-09-05PLUGINS: Cleanup includes and debug output.Andre Heider
Use the common debug functions instead of spamming #defines. svn-id: r52547
2010-09-05PLUGINS: Flush only memory ranges, not everythingAndre Heider
svn-id: r52546
2010-08-29PLUGINS: Fix warnings and unnecessary casts.Andre Heider
svn-id: r52439
2010-08-19PSP: made PSP compile with plugins.Yotam Barnoy
Also removed criticalSection calls from elf-loader.cpp, since now streams are used so the criticalSections are automatic. svn-id: r52206
2010-08-19PLUGINS: added virtual destructor to DLObjectYotam Barnoy
This could be really important. Maybe. svn-id: r52205
2010-08-16Added doxygen comments for a few different plugin-related classesTony Puccinelli
svn-id: r52124
2010-08-16added a todo to plugins.cpp and a comment to elf32.h; Collapsed plugin ↵Tony Puccinelli
providers for a few ports into their .h files, removing the corresponding .cpp files svn-id: r52112
2010-08-13refactored NEW_PLUGIN_DESIGN_FIRST_REFINEMENT define into ONE_PLUGIN_AT_A_TIMETony Puccinelli
svn-id: r52058
2010-08-13added appropriate ifdefs throughout the plugins directoryTony Puccinelli
svn-id: r52053
2010-08-12modified DS makefile to use new plugin design where only one plugin is ↵Tony Puccinelli
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-10merged trunk into branch, reverted Cruise Singleton changesTony Puccinelli
svn-id: r51961
2010-08-07got rid of rest of leftover stuff from GP2X-WIZ elf-loader attemptTony Puccinelli
svn-id: r51846
2010-08-07refined constructors, removed destructors, got rid of unneccessary method ↵Tony Puccinelli
duplication in DLObject and its subtypes svn-id: r51845
2010-08-07added necessary files I forgot to commit yesterday (whoops...) for mips and ↵Tony Puccinelli
arm loaders svn-id: r51843
2010-08-07took out hacky 'ifdef MIPS_TARGET' statements in DLObject's methods and ↵Tony Puccinelli
instead overrode those methods in MIPSDLObject svn-id: r51827
2010-08-07modified psp to use mips-loader.cpp (and added things to backends/module.mk)Tony Puccinelli
svn-id: r51826
2010-08-07made MIPSDLObject and PS2 plugin provider that uses itTony Puccinelli
svn-id: r51818
2010-08-06got rid of gp2xwiz loader (anything useful from it is already incorporated ↵Tony Puccinelli
into the ARM loader in the plugins directory at this point) and implemented ARMDLObject as a subtype of DLObject svn-id: r51813
2010-08-06made a couple of functions in DLObject virtual, other minor fixes/changesTony Puccinelli
svn-id: r51797
2010-08-06removed unnecessary declaration of flushDataCache() in elf-loader headerTony Puccinelli
svn-id: r51794
2010-08-06got rid of unneccessary 'extern C' section in elf-loader header and ↵Tony Puccinelli
refactored arm-relocs.cpp to arm-loader.cpp svn-id: r51793
2010-08-06added loadPlugin function into DSPlugin (doesn't use a DSDLObject yet)Tony Puccinelli
svn-id: r51778
2010-08-06added DSPlugin and DS Plugin Provider (steps towards using subtypes of DLObject)Tony Puccinelli
svn-id: r51777
2010-08-06hacky way to put ELFPlugin::findSymbol in elf-provider.cpp without compiler ↵Tony Puccinelli
errors svn-id: r51775