Use -mword-relocations -fno-optimize-sibling-calls in libretro PlayStation Vita builds

The Vita builds of RetroArch and some libretro cores use these two
flags, supposedly to fix relocation-related bugs.

(cherry picked from commit 3c43cd5747b19bd4d9c0202fec1a68677ddbd5af)
This commit is contained in:
刘皓 2025-03-28 23:56:30 -04:00
parent 5754c8b4f1
commit afec0dc50d
No known key found for this signature in database
GPG key ID: 7901753DB465B711

View file

@ -64,6 +64,18 @@ if is_libretro
error('LTO is required when building for PowerPC architectures. Please pass either `-Db_lto=true` or `-Druby_lto=true` to Meson.') error('LTO is required when building for PowerPC architectures. Please pass either `-Db_lto=true` or `-Druby_lto=true` to Meson.')
endif endif
if is_vita
compilers['c'].has_argument('-mword-relocations', required: true)
compilers['cpp'].has_argument('-mword-relocations', required: true)
libretro_cflags += '-mword-relocations'
libretro_cppflags += '-mword-relocations'
compilers['c'].has_argument('-fno-optimize-sibling-calls', required: true)
compilers['cpp'].has_argument('-fno-optimize-sibling-calls', required: true)
libretro_cflags += '-fno-optimize-sibling-calls'
libretro_cppflags += '-fno-optimize-sibling-calls'
endif
if is_devkitarm if is_devkitarm
compilers['c'].has_argument('-march=armv6k', required: true) compilers['c'].has_argument('-march=armv6k', required: true)
compilers['cpp'].has_argument('-march=armv6k', required: true) compilers['cpp'].has_argument('-march=armv6k', required: true)