Age | Commit message (Collapse) | Author |
|
|
|
This reverts commit eefa72afa1978a9dea10f5b1833fcc8f58a3468e.
With this patch ConfigManager is broken.
|
|
This fixes tons of warnings with clang from a recent xcode version on
macOS (and possibly other systems) complaining that an instantiation
of _singleton is required but no definition is available.
|
|
PS2: Pull request to master for latest PS2 code
|
|
|
|
|
|
|
|
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'
This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
|
|
|
|
Silences the clang warning:
static data member specialization of '_singleton' must
originally be declared in namespace 'Common'; accepted as a C++0x
extension [-Wc++0x-extensions]
Wrapping "namespace Common {}" around the macro assignment causes clang
to complain about a spurious semicolon, and removing the semicolon at
the end of the macro causes some editors to misbehave.
Changing the requirement of using the macro in one namespace (the
global) to another (Common) seems a small price to pay to
silence a warning.
|
|
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]*$//'
|
|
|
|
Affects:
* PS2
* GPH
* ELF
* MOTO
* IPHONE
* N64
* DINGUX
* WINCE
* PSP
|
|
svn-id: r55850
|
|
ONE_PLUGIN_AT_A_TIME is too long.
svn-id: r55064
|
|
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
|
|
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
|
|
memory manager
uint32 is all we need since we only handle ELF32 anyway.
svn-id: r55012
|
|
loader is enabled.
This should fix compilation on desktop systems, where for example memalign
is not present.
svn-id: r55011
|
|
svn-id: r55010
|
|
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
|
|
* 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
|
|
svn-id: r54081
|
|
svn-id: r54060
|
|
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
|
|
This merge was extremely difficult to carry out. It wasn't entirely SVN's fault -- there were several merges to the branch that were done by hand. Please check for any issues and regressions. Also note that the DS makefile was not copied over since the "one at a time" plugin mode currently has too much fragmentation ie. it doesn't work.
svn-id: r54051
|
|
svn-id: r54046
|
|
svn-id: r53976
|
|
Caused crash in some games. The problem was referring to the right segment. R_MIPS_32 relocations can be found in the Shorts segment, but still need to refer to the main segment if the symbol is found there.
svn-id: r52750
|
|
Derived virtual function wasn't overwriting base function.
svn-id: r52749
|
|
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
|
|
- Unify ELF loader handling in configure
- Rename ELF_LOADER_TARGET to USE_ELF_LOADER
svn-id: r52728
|
|
svn-id: r52612
|
|
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
|
|
svn-id: r52592
|
|
Adjusted to new VMA handling and fixed a few errors which caused crashes. Also removed unneeded expansion of alignment value.
svn-id: r52589
|
|
svn-id: r52588
|
|
Also added 2 TODOs for all loaders not respection that offset.
svn-id: r52577
|
|
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
|
|
svn-id: r52575
|
|
No point in documenting it on every derived class.
svn-id: r52574
|
|
svn-id: r52573
|
|
Misformatted casts in an earier commit, oops.
svn-id: r52572
|
|
svn-id: r52566
|
|
No point in passing it to functions all over the place. Release the
stream when it's not required anymore.
svn-id: r52558
|
|
Use our types, get rid of some casts.
svn-id: r52557
|
|
Instead overwrite pure virtual functions in a backend specific class.
svn-id: r52556
|
|
svn-id: r52555
|