aboutsummaryrefslogtreecommitdiff
path: root/backends/plugins/elf/elf-provider.cpp
AgeCommit message (Collapse)Author
2011-08-07JANITORIAL: Remove trailing empty lines.Christoph Mallon
2011-06-20ALL: Remove trailing whitespacesMax Horn
This tries to make our code a bit more compliant with our code formatting conventions. For future use, this is the command I used: git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2010-12-30PLUGINS: rename ONE_PLUGIN_AT_A_TIME define to UNCACHED_PLUGINSYotam Barnoy
ONE_PLUGIN_AT_A_TIME is too long. svn-id: r55064
2010-12-22PLUGINS: add ELF memory manager to solve fragmentationYotam Barnoy
Following lordhoto's suggestion, I implemented a simple allocator that grabs the size of the biggest available plugin in memory. This is an elegant solution to the fragmentation problem, with the caveat that memory is wasted. As such, it's not suited for the DS, so I added a #define to disable it there. svn-id: r55009
2010-11-05PLUGINS: Simplify ELF plugin providers & DLObject subclassesMax Horn
* Remove DLObject virtual methods allocSegment and freeSegment. As long as all DLObject implementations use memalign + free to allocate/release segments, there is no point in wrapping those. This enables further simplifications. * Add TemplatedELFPlugin template class. Use this instead of explicit ELFPlugin subclasses. * Rename DLObject::discard_symtab to discardSymtab svn-id: r54082
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: 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-05PLUGINS: Plug some memleaks.Andre Heider
svn-id: r52575
2010-09-05PLUGINS: Formatting.Andre Heider
Misformatted casts in an earier commit, oops. svn-id: r52572
2010-09-05PLUGINS: Move all ELF loader related files to its own directory.Andre Heider
svn-id: r52555