Fix missing symbol errors in libretro PlayStation Vita build

Somehow, enabling LTO prevents these linker errors from showing up,
which is why they don't show up in GitHub Actions, but that doesn't mean
the errors can be ignored!
This commit is contained in:
刘皓 2025-03-06 20:07:58 -05:00
parent 0f684b5416
commit 24a4ae5759
No known key found for this signature in database
GPG key ID: 7901753DB465B711
2 changed files with 15 additions and 7 deletions

View file

@ -1,17 +1,14 @@
# devkitPro platforms don't have usable flockfile and funlockfile functions.
# This patch disables the use of those functions when using devkitPro.
# Disables OpenAL Soft's use of flockfile and funlockfile since not every platform we support has those functions.
# Besides, OpenAL Soft shouldn't even be using the filesystem or the standard streams.
--- a/fmt-11.1.1/include/fmt/format-inl.h
+++ b/fmt-11.1.1/include/fmt/format-inl.h
@@ -1479,7 +1479,11 @@ struct has_flockfile : std::false_type {};
@@ -1479,7 +1479,7 @@ struct has_flockfile : std::false_type {};
template <typename F>
struct has_flockfile<F, void_t<decltype(flockfile(&std::declval<F&>()))>>
+#if defined(__DEVKITPRO__)
- : std::true_type {};
+ : std::false_type {};
+#else
: std::true_type {};
+#endif
// A FILE wrapper. F is FILE defined as a template parameter to make system API
// detection work.

View file

@ -42,3 +42,14 @@
return retval;
} /* __PHYSFS_platformCalcUserDir */
--- a/src/physfs_platform_unix.c
+++ b/src/physfs_platform_unix.c
@@ -227,7 +227,7 @@ static char *readSymLink(const char *path)
break; /* out of memory. */
retval = ptr;
- rc = readlink(path, retval, len);
+ rc = -1;
if (rc == -1)
break; /* not a symlink, i/o error, etc. */