From a5aec8730ae678f47fa71559b8f3a3aea066161a Mon Sep 17 00:00:00 2001
From: notaz <notasas@gmail.com>
Date: Mon, 16 Dec 2024 00:35:53 +0200
Subject: [PATCH] vita: try to fix alloc

libretro/pcsx_rearmed#856
---
 Makefile          | 8 ++++++--
 Makefile.libretro | 1 +
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 52275723..e0c69350 100644
--- a/Makefile
+++ b/Makefile
@@ -475,8 +475,12 @@ target_: $(TARGET)
 
 $(TARGET): $(OBJS)
 ifeq ($(PARTIAL_LINKING), 1)
-	$(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
+	$(LD) -o $(basename $(TARGET))1.o -r --gc-sections \
+		$(addprefix -u ,$(shell cat frontend/libretro-extern)) \
+		$(addprefix -u ,$(EXTRA_EXTERN_SYMS)) $^
+	$(OBJCOPY) --keep-global-symbols=frontend/libretro-extern \
+		$(addprefix -G ,$(EXTRA_EXTERN_SYMS)) \
+		$(basename $(TARGET))1.o $(basename $(TARGET)).o
 	$(AR) rcs $@ $(basename $(TARGET)).o
 else ifeq ($(STATIC_LINKING), 1)
 	$(AR) rcs $@ $^
diff --git a/Makefile.libretro b/Makefile.libretro
index dc9aefa5..c8f99f93 100644
--- a/Makefile.libretro
+++ b/Makefile.libretro
@@ -348,6 +348,7 @@ else ifeq ($(platform), vita)
 	NO_MMAP := 1
 	NO_POSIX_MEMALIGN := 1
 	HAVE_PHYSICAL_CDROM = 0
+	EXTRA_EXTERN_SYMS += _newlib_vm_size_user
 
 # CTR(3DS)
 else ifeq ($(platform), ctr)
-- 
2.39.5