45 lines
1.6 KiB
Diff
45 lines
1.6 KiB
Diff
|
|
From 579464905cd757f219344d657f8929ecfa33c0e2 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Peng Fan <fanpeng@loongson.cn>
|
||
|
|
Date: Fri, 28 Jul 2023 09:58:05 +0800
|
||
|
|
Subject: [PATCH 2/3] libjccjit: do not link objects contained same element
|
||
|
|
|
||
|
|
Signed-off-by: Peng Fan <fanpeng@loongson.cn>
|
||
|
|
Signed-off-by: ticat_fp <fanpeng@loongson.cn>
|
||
|
|
---
|
||
|
|
gcc/jit/Make-lang.in | 9 +++++++--
|
||
|
|
1 file changed, 7 insertions(+), 2 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/gcc/jit/Make-lang.in b/gcc/jit/Make-lang.in
|
||
|
|
index 6e10abfd0..7f53304d9 100644
|
||
|
|
--- a/gcc/jit/Make-lang.in
|
||
|
|
+++ b/gcc/jit/Make-lang.in
|
||
|
|
@@ -157,18 +157,23 @@ LIBGCCJIT_EXTRA_OPTS = $(LIBGCCJIT_VERSION_SCRIPT_OPTION) \
|
||
|
|
endif
|
||
|
|
endif
|
||
|
|
|
||
|
|
+# Only link objects from $(EXTRA_GCC_OBJS) that's not already
|
||
|
|
+# included in libbackend.a ($(EXTRA_OBJS)).
|
||
|
|
+EXTRA_GCC_OBJS_EXCLUSIVE = $(foreach _obj1, $(EXTRA_GCC_OBJS), \
|
||
|
|
+ $(if $(filter $(_obj1), $(EXTRA_OBJS)),, $(_obj1)))
|
||
|
|
+
|
||
|
|
# We avoid using $(BACKEND) from Makefile.in in order to avoid pulling
|
||
|
|
# in main.o
|
||
|
|
$(LIBGCCJIT_FILENAME): $(jit_OBJS) \
|
||
|
|
libbackend.a libcommon-target.a libcommon.a \
|
||
|
|
$(CPPLIB) $(LIBDECNUMBER) \
|
||
|
|
$(LIBDEPS) $(srcdir)/jit/libgccjit.map \
|
||
|
|
- $(EXTRA_GCC_OBJS) $(jit.prev)
|
||
|
|
+ $(EXTRA_GCC_OBJS_EXCLUSIVE) $(jit.prev)
|
||
|
|
@$(call LINK_PROGRESS,$(INDEX.jit),start)
|
||
|
|
+$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ -shared \
|
||
|
|
$(jit_OBJS) libbackend.a libcommon-target.a libcommon.a \
|
||
|
|
$(CPPLIB) $(LIBDECNUMBER) $(EXTRA_GCC_LIBS) $(LIBS) $(BACKENDLIBS) \
|
||
|
|
- $(EXTRA_GCC_OBJS) \
|
||
|
|
+ $(EXTRA_GCC_OBJS_EXCLUSIVE) \
|
||
|
|
$(LIBGCCJIT_EXTRA_OPTS)
|
||
|
|
@$(call LINK_PROGRESS,$(INDEX.jit),end)
|
||
|
|
|
||
|
|
--
|
||
|
|
2.33.0
|
||
|
|
|