aboutsummaryrefslogtreecommitdiff
path: root/backends/plugins
AgeCommit message (Collapse)Author
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
2010-08-05Fix for mixed-up ordering of '_dlHandle->close()' and 'delete _dlHandle'Tony Puccinelli
svn-id: r51773
2010-08-05Moved ELFPlugin class definition into elf-provider.hTony Puccinelli
svn-id: r51767