EXTERN in a linker script doesn't work on ld 2.34, works on 2.43.1
 
 $(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)
 
        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();