Commit graph

12 commits

Author SHA1 Message Date
Johannes Schickel
121687d2ed BACKENDS: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Christoph Mallon
23a0f5318c JANITORIAL: Remove trailing empty lines. 2011-08-07 13:53:33 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Yotam Barnoy
8f36a5f887 PLUGINS: single plugin model now saves plugin filename to config file
After searching for the right plugin once, the filename will be saved to the config file under the domain 'plugin_files'. The key is the gameid and the value is the plugin file. The backup mechanism is searching plugin by plugin.

svn-id: r55061
2010-12-29 15:25:21 +00:00
Yotam Barnoy
6817d4b300 PLUGINS: add ELF memory manager to solve fragmentation
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-12-22 14:48:51 +00:00
Max Horn
7ace85e636 PLUGINS: Simplify ELF plugin providers & DLObject subclasses
* 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-05 01:20:34 +00:00
Andre Heider
2596143e2b PLUGINS: Additional plugin check for the ELF loader.
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-15 07:44:08 +00:00
Andre Heider
41834499ed PLUGINS: Cleanup.
- Unify ELF loader handling in configure
- Rename ELF_LOADER_TARGET to USE_ELF_LOADER

svn-id: r52728
2010-09-15 07:43:16 +00:00
Andre Heider
ae408db07f PLUGINS: Use the C++ ABI to call dtors when unloading a plugin.
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-06 20:34:00 +00:00
Andre Heider
d8b85ffcb8 PLUGINS: Formatting.
Misformatted casts in an earier commit, oops.

svn-id: r52572
2010-09-05 21:58:45 +00:00
Andre Heider
c4a88559a5 PLUGINS: Move platform specific code out of the generic ELF loader.
Instead overwrite pure virtual functions in a backend specific class.

svn-id: r52556
2010-09-05 12:52:17 +00:00
Andre Heider
86f4dbd956 PLUGINS: Move all ELF loader related files to its own directory.
svn-id: r52555
2010-09-05 12:51:25 +00:00
Renamed from backends/plugins/elf-provider.h (Browse further)