Projects
Mega:24.03
gcc
_service:tar_scm:libjccjit-do-not-link-objects-...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:libjccjit-do-not-link-objects-contained-same-element.patch of Package gcc
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
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2