try to support older binutils
authornotaz <notasas@gmail.com>
Sat, 26 Oct 2024 20:42:05 +0000 (23:42 +0300)
committernotaz <notasas@gmail.com>
Sat, 26 Oct 2024 20:42:05 +0000 (23:42 +0300)
EXTERN in a linker script doesn't work on ld 2.34, works on 2.43.1

Makefile
frontend/main.c

index 80186b5..8992c29 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -473,8 +473,7 @@ target_: $(TARGET)
 
 $(TARGET): $(OBJS)
 ifeq ($(PARTIAL_LINKING), 1)
-       sed -e 's/.*/EXTERN(\0)/' frontend/libretro-extern > frontend/libretro-extern.T
-       $(LD) -o $(basename $(TARGET))1.o -r --gc-sections -T frontend/libretro-extern.T $^
+       $(LD) -o $(basename $(TARGET))1.o -r --gc-sections $(addprefix -u , $(shell cat frontend/libretro-extern)) $^
        $(OBJCOPY) --keep-global-symbols=frontend/libretro-extern $(basename $(TARGET))1.o $(basename $(TARGET)).o
        $(AR) rcs $@ $(basename $(TARGET)).o
 else ifeq ($(STATIC_LINKING), 1)
index 48006a6..963f6c8 100644 (file)
@@ -516,7 +516,9 @@ int emu_core_init(void)
        SysPrintf("Starting PCSX-ReARMed " REV "%s\n", get_build_info());
        SysPrintf("build time: " __DATE__ " " __TIME__ "\n");
 
+#ifdef HAVE_RTHREADS
        pcsxr_sthread_init();
+#endif
 #ifndef NO_FRONTEND
        check_profile();
        check_memcards();