summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshinyquagsire23 <mtinc2@gmail.com>2021-11-05 19:56:39 -0700
committershinyquagsire23 <mtinc2@gmail.com>2021-11-05 19:56:39 -0700
commit1b75688d9a3cd9828f556e7c68bc65bb0268a68f (patch)
tree2e192c073bcc677ef3579ac11e28069cc263b02e
parent04d90cff950e7a4b0505fdee9209d97bf4b8b77a (diff)
Fix issue on MacOS where wine32on64 will crash with Bus Error 10 on linking, due to passing too many arguments
-rw-r--r--arm7/Makefile3
-rw-r--r--arm9/Makefile3
2 files changed, 4 insertions, 2 deletions
diff --git a/arm7/Makefile b/arm7/Makefile
index d142c079..67a07f26 100644
--- a/arm7/Makefile
+++ b/arm7/Makefile
@@ -180,7 +180,8 @@ $(BUILD_DIR)/$(LD_SCRIPT): $(LD_SPEC) $(LD_TEMPLATE)
$(MAKELSF) $< $(LD_TEMPLATE) $@
$(ROM): $(O_FILES) $(BUILD_DIR)/$(LD_SCRIPT) $(BIN_FILES)
- $(LD) $(LDFLAGS) $(BUILD_DIR)/$(LD_SCRIPT) -o $(ELF) $(O_FILES) $(BIN_FILES)
+ echo "$(O_FILES) $(BIN_FILES)" > $(ELF).objlist
+ $(LD) $(LDFLAGS) $(BUILD_DIR)/$(LD_SCRIPT) -o $(ELF) @$(ELF).objlist
$(OBJCOPY) --update-section arm7=$@ -j arm7 $(foreach ov,$(OVERLAYS),--update-section $(ov)=$(BUILD_DIR)/$(ov).sbin -j $(ov)) $(ELF) 2>/dev/null
# Make sure build directory exists before compiling anything
diff --git a/arm9/Makefile b/arm9/Makefile
index e3c573b7..b98cd0fa 100644
--- a/arm9/Makefile
+++ b/arm9/Makefile
@@ -224,7 +224,8 @@ $(BUILD_DIR)/$(LD_SCRIPT): $(LD_SPEC) $(LD_TEMPLATE)
$(MAKELCF) $(MAKELCF_FLAGS) $^ $@
$(ROM): $(BUILD_DIR)/$(LD_SCRIPT) $(O_FILES) $(STATIC_LIBS)
- cd $(BUILD_DIR) && LM_LICENSE_FILE=../../$(LM_LICENSE_FILE) $(WINE) ../../$(MWLDARM) $(LDFLAGS) $(LIBS) -o ../../$(ELF) $(LD_SCRIPT) $(O_FILES:$(BUILD_DIR)/%=%)
+ echo "$(O_FILES:$(BUILD_DIR)/%=%)" > $(ELF).objlist
+ cd $(BUILD_DIR) && LM_LICENSE_FILE=../../$(LM_LICENSE_FILE) $(WINE) ../../$(MWLDARM) $(LDFLAGS) $(LIBS) -o ../../$(ELF) $(LD_SCRIPT) @../../$(ELF).objlist
$(OBJCOPY) $(foreach ov,arm9 $(OVERLAYS),--update-section $(ov)=$(BUILD_DIR)/$(ov).sbin -j $(ov)) $(ELF) 2>/dev/null
ifeq ($(SHIFTED),0)