aboutsummaryrefslogtreecommitdiff
path: root/backends/plugins/elf/elf-loader.cpp
AgeCommit message (Collapse)Author
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-26PLUGINS: fixed resource leak that caused PSP to crashYotam Barnoy
The leaky file handles didn't show up when debugging using the shell since that uses the Windows file handles, of which there are many more. svn-id: r55048
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-11-04COMMON: Undo changes to common/ptr.h, remove Common::ScopedPtrCMax Horn
The deletePointer() method approach cannot work, as it is called by the destructor of the base class. A possible correct solution would be to enhance ScopedPtr with a "deleter" object like SharedPtr. But this seems overkill as long as we need it in only one place. svn-id: r54057
2010-10-31Updated with latest from trunkYotam Barnoy
svn-id: r53976
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: 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-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: 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: 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