Skip to content

Commit 69a626e

Browse files
committed
Update FLINT linker patch for clangarm64
1 parent bf831cc commit 69a626e

4 files changed

Lines changed: 34 additions & 1 deletion

bin/build_dependencies_unix.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ cd flint-$FLINTVER
341341
echo --------------------------------------------
342342
echo " patching FLINT"
343343
echo --------------------------------------------
344-
patch -N -Z -p1 < ../../../bin/patch-flint-windows-arm64-link.diff
344+
patch -N -Z -p1 < ../../../bin/patch-flint-windows-arm64-link-$FLINTVER.diff
345345
fi
346346
if [ "$PATCH_IMMINTRIN" = "yes" ]; then
347347
echo
File renamed without changes.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
diff --git a/Makefile.in b/Makefile.in
2+
index 8185fa609..a3822f53b 100644
3+
--- a/Makefile.in
4+
+++ b/Makefile.in
5+
@@ -424,22 +424,16 @@ endif
6+
7+
ifneq ($(SHARED), 0)
8+
shared: $(FLINT_DIR)/$(FLINT_LIB_FULL)
9+
-# The following is to avoid reaching the maximum length of command line
10+
-# arguments, mainly present on MinGW.
11+
-define xxx_merged_lobj_rule
12+
-$(BUILD_DIR)/$(1)_merged.lo: $($(1)_LOBJS) | $(BUILD_DIR)
13+
- @$(LD) -r $($(1)_LOBJS) -o $(BUILD_DIR)/$(1)_merged.lo
14+
-endef
15+
-$(foreach dir, $(DIRS), $(eval $(call xxx_merged_lobj_rule,$(dir))))
16+
-MERGED_LOBJS:=$(foreach dir, $(DIRS),$(BUILD_DIR)/$(dir)_merged.lo)
17+
ifeq ($(WANT_LTO),1)
18+
SHARED_LIB_DEPS:=$(LOBJS)
19+
else
20+
-SHARED_LIB_DEPS:=$(MERGED_LOBJS)
21+
+SHARED_LINK_RSP := $(BUILD_DIR)/libflint-shared.rsp
22+
+SHARED_LIB_DEPS:=$(LOBJS)
23+
endif
24+
-$(FLINT_DIR)/$(FLINT_LIB_FULL): $(SHARED_LIB_DEPS)
25+
+$(FLINT_DIR)/$(FLINT_LIB_FULL): $(SHARED_LIB_DEPS) | $(BUILD_DIR)
26+
@echo "Building $(FLINT_LIB_FULL)"
27+
- $(CMD) $(CC) $(CFLAGS) -shared $(EXTRA_SHARED_FLAGS) $(SHARED_LIB_DEPS) -o $(FLINT_LIB_FULL) $(LDFLAGS) $(LIBS)
28+
+ @: $(file >$(SHARED_LINK_RSP))$(foreach obj,$(LOBJS),$(file >>$(SHARED_LINK_RSP),$(obj)))
29+
+ $(CMD) $(CC) $(CFLAGS) -shared $(EXTRA_SHARED_FLAGS) @$(SHARED_LINK_RSP) -o $(FLINT_LIB_FULL) $(LDFLAGS) $(LIBS)
30+
@$(RM_F) $(FLINT_LIB)
31+
@$(RM_F) $(FLINT_LIB_MAJOR)
32+
@$(LN_S) $(FLINT_LIB_FULL) $(FLINT_LIB)

bin/pyodide_build_dependencies.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ else
105105
fi
106106

107107
# Patch needed for FLINT == 3.4.0
108+
# This is https://github.com/flintlib/flint/pull/2594
108109
patch -N -Z -p1 < ../bin/patch-flint-emscripten-profiler.diff
109110

110111
./bootstrap.sh

0 commit comments

Comments
 (0)