209 Commits

Author SHA1 Message Date
Le Philousophe
fa450e060e PSP2: Add missing function for plugins 2023-08-29 12:45:30 +02:00
Kaloyan Chehlarski
3a31521b27 RISCOS: Add log2f to function to link 2023-08-22 13:30:34 +03:00
sluicebox
dc0ba4e14a WIN32: Re-enable Win32PluginProvider
In 2006, Win32PluginProvider was removed from Windows builds:
df5be194098e188f9cd3234af2bea34b67d19da2

Instead, SdlPluginProvider became the provider used in Window builds.
Currently, no code uses Win32PluginProvider.

The two classes are small and effectively do the same thing, but
Win32PluginProvider has the advantage of using our Windows string
conversion functions for paths, just like the rest of backend code.
We've seen problems before where SDL handles encoding differently:
0ab9653556f837ced66f73de8499170dcd3079be
2023-08-06 14:16:16 +02:00
Cameron Cawley
a12c007e92 RISCOS: Don't force the use of dynamic areas on RISC OS 5 2023-02-28 22:46:03 +00:00
Le Philousophe
57e759e05d RISCOS: Use dynamic areas for data and application space for plugins
We only use application space in 26-bits (legacy) mode.
2023-02-07 22:13:32 +00:00
Vladimir Serbinenko
4bcd4671ab KOLIBRI: Add kolibrios backend 2023-02-05 22:55:40 +01:00
Vladimir Serbinenko
bfd7f91d5c COMMON: Fix 3DS compilation with newer toolchain that emits PREL31 relocs 2022-12-13 13:41:18 +01:00
Le Philousophe
2a84d3e988 VITA: Add plugins support 2022-08-07 18:15:09 +02:00
Cameron Cawley
05a5e44729 RISCOS: Add log10f and strcoll to functions to link 2022-06-19 00:34:58 +01:00
Le Philousophe
a591c8b6bf RISCOS: Add expf to functions to link 2022-06-18 16:10:22 +02:00
Le Philousophe
b065158898 RISCOS: Don't build SDLPluginProvider: it doesn't work for us
And it fails to build with VFP because libdl is not compiled with VFP
2022-06-18 16:10:22 +02:00
Cameron Cawley
038579d0d9 PLUGINS: Improve warnings when allocation fails 2022-06-17 20:38:37 +01:00
Cameron Cawley
b862b55822 RISCOS: Ensure that functions used by plugins can be found in the main executable 2022-06-17 21:31:04 +02:00
Cameron Cawley
f9e64f2293 RISCOS: Use OS_SynchroniseCodeAreas to flush the cache 2022-06-17 21:31:04 +02:00
Le Philousophe
02808a019a RISCOS: Add an ELF plugin provider
This will allow do dynamically load plugins and not be limited by
24-bits relocations
2022-06-17 21:31:04 +02:00
Le Philousophe
87f515a6e0 PLUGINS: Force export of __dso_handle
Some toolchains (RiscOS) may not export it in certain conditions.
This list does not enforce the symbol to be here so it shouldn't fail
build on platforms without this symbol.
2022-06-17 21:31:04 +02:00
Le Philousophe
f60d229c78 PLUGINS: Implement R_ARM_PC24 relocations
These relocations are used in RiscOS even when using long calls.
As it's a relative relocation, nothing is to be done.
2022-06-17 21:31:04 +02:00
Donovan Watteau
4672ba71dd PLUGINS: Let macOS use its resource bundle as a valid plugin directory 2022-05-22 23:42:45 +01:00
Francisco Javier Trujillo Mata
9aa4485137 PSP: Update executable start position 2022-05-02 17:11:10 -05:00
Cameron Cawley
57abc6b86f PSP: Remove .MIPS.abiflags* sections from plugins 2022-04-29 13:29:25 -05:00
Le Philousophe
675695c708 PSP: Fix build failures with latest PSP toolchain
The new PSP toolchain automatically links system libraries which wasn't
the case before. The ordering of libraries builtin in GCC and our spec
file collided. This fixes the order.
PSP SDK includes time.h so it needs an exemption.
A warning was emitted about a if without curly braces which are needed.
2021-12-31 09:50:53 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh
b11c5ace90 BACKENDS: JANITORIAL: Remove 'virtual' when override is specified 2021-11-14 14:31:41 +02:00
Cameron Cawley
d540054c0a DS: Remove .ARM.exidx* and .ARM.extab* sections from plugins
Thanks to @lephilousophe for helping out with this.
2021-08-27 17:45:37 +01:00
sluicebox
006b91f45b WIN32: Fix #includes in plugin provider 2021-07-07 01:20:25 -05:00
sluicebox
7deb79efab WIN32: Make Win32Plugin UNICODE compatible 2021-06-29 12:38:01 -05:00
Orgad Shaneh
a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Cameron Cawley
a900337952 DS: Fix default search paths 2021-02-04 01:59:14 +01:00
Alexander Reim
901032db9f WII: Update linkscript and fix for linker false error message 2020-10-19 11:21:22 +02:00
Cameron Cawley
5c255b3aa9 WIN32: Add override and final keywords 2020-10-16 18:32:08 +01:00
Cameron Cawley
70aebaca5b WII: Add override and final keywords 2020-10-16 17:46:43 +01:00
Bastien Bouclet
55db1210eb 3DS: Set a Virtual Memory Address when linking the plugins
Setting the base address for the plugin elf files high in memory forces
the linker to generate veneers to turn relative jumps to the main binary
into absolute jumps. This removes the need to allocate the plugins near
the the main binary in the program address space. This also removes the
need to handle the R_ARM_CALL and R_ARM_JUMP24 relocation types.

Fixes #11555.
2020-08-27 21:14:07 +02:00
Eugene Sandulenko
aa563f0c81 ALL: Remove PS2 port 2020-08-01 15:15:49 +02:00
Bastien Bouclet
4825e9f967 3DS: Upgrade to libctru v2.0.0 2020-07-19 17:41:05 +02:00
Bastien Bouclet
f17a7a96da BASE: Fix being unable to run games when using dynamic plugins
When the plugin-engine mapping is not cached in the configuration file,
we were not scanning all the plugins to establish the mapping.

This is a regression from commit: e2d91258b7bfb989dc099f516bb31ceb44554529

This commit reverts the offending commit and implements a proper fix for
the case where there are no dynamic plugins.

Fixes #11300.
2020-01-04 17:49:32 +01:00
Cameron Cawley
e2d91258b7 PLUGINS: Fix crash when no plugins are available 2019-12-02 11:04:57 +02:00
Bastien Bouclet
34e835a20c 3DS: Implement dynamic plugins
Allows a full build to run on old generation devices
2019-12-01 17:19:50 +01:00
Cameron Cawley
f2b9f7bb76 BACKENDS: Remove the Windows CE port 2019-11-17 22:33:56 +01:00
Le Philousophe
be4dd18dbc PLUGINS: Implement NONE relocation for PPC
It's used by recent versions of GCC in .eh_frame sections
2019-10-09 13:33:11 +02:00
Cameron Cawley
bcef809e61 WINCE: Fix compilation 2019-04-15 08:06:39 +03:00
Cameron Cawley
174b0d1864 PS2: Fix compilation with latest PS2SDK 2018-09-14 02:33:16 +01:00
Adrian Frühwirth
9bee9e1ba6 JANITORIAL: Fix whitespace 2018-04-19 12:08:31 +02:00
Cameron Cawley
925025ec54 DS: Only disable forbidden symbols when necessary 2018-04-07 22:12:18 +00:00
Cameron Cawley
9111998c49 DS: Fix compilation with devkitARM r47 2018-04-07 09:30:07 +02:00
Eugene Sandulenko
940b2a20f1 Revert "COMMON: Change way the Singleton instances are instantiated"
This reverts commit eefa72afa1978a9dea10f5b1833fcc8f58a3468e.

With this patch ConfigManager is broken.
2017-07-10 21:17:41 +02:00
Thierry Crozat
eefa72afa1 COMMON: Change way the Singleton instances are instantiated
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.
2017-07-10 21:11:20 +02:00
Johannes Schickel
22a60e6c0b WIN32: Fix plugin provider build for 64bit target. 2016-02-23 22:31:30 +01:00
Eugene Sandulenko
c3ffbd884a Merge pull request #426 from sunmax/master
PS2: Pull request to master for latest PS2 code
2014-04-28 21:20:42 +03:00
Johannes Schickel
449ea100d9 WIN32: Make GPL headers consistent in themselves. 2014-02-18 02:39:40 +01:00
Johannes Schickel
3b73ceb17e WII: Make GPL headers consistent in themselves. 2014-02-18 02:39:40 +01:00