From nobody Thu Sep 24 20:22:33 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1788870508; cv=none; d=zohomail.com; s=zohoarc; b=Ao6fHh99LY3e1mmtlfu4rM/PovEpe15BKhaSGt2eID171BDbMFCvquPp4sOjik/ipvtwYCLOPCYWFV8hAfz7PuXmyl2vnL5PRtOo00VjWQeFQyUUpBACpC+4l7Ao7QGmn3kWNAyxq7KC51ZkRKoy4lNlO/5FmEOVkTYTsE6KU8E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788870508; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mdmkLvp6nYkhyhtBgOM6h0nLGXstsr5K+tgDTiHWdn0=; b=WmHG46t2BTiVaNmm+ZD9/Zx3TfGWyvZ5qLYL5C+Z8HWpL048xFr4qf8IYILQ0NWwYp/aCPJ7HxGpn+buhqg6ukgftLyitC2aMTsTNbLGi/2f2t0NNTCTt+Jd4w5H37VSSIZj0yf3QRATKtyZcAaQu4ua6cF27cKbFFXxxPN3yv4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1788870508508609.6574270335432; Tue, 8 Sep 2026 05:28:28 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1411919.1642372 (Exim 4.92) (envelope-from ) id 1x3uvr-0005Jx-HQ; Tue, 08 Sep 2026 12:28:11 +0000 Received: by outflank-mailman (output) from mailman id 1411919.1642372; Tue, 08 Sep 2026 12:28:11 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3uvr-0005Jq-Ek; Tue, 08 Sep 2026 12:28:11 +0000 Received: by outflank-mailman (input) for mailman id 1411919; Tue, 08 Sep 2026 12:28:10 +0000 Received: from mx.expurgate.net ([195.190.135.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3uvq-0005Ji-6y for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 12:28:10 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x3uvp-003vKg-K6 for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 14:28:09 +0200 Received: from [10.42.69.4] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a9fff56-8faa-0a2a0a5109dd-0a2a4504afdc-10 for ; Tue, 08 Sep 2026 14:28:09 +0200 Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com) by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a9fff59-b57f-0a2a45040019-d155dd35e59f-3 for ; Tue, 08 Sep 2026 14:28:09 +0200 Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-48441a2ba1bso3290289f8f.1 for ; Tue, 08 Sep 2026 05:28:09 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883a9b49sm30406536f8f.17.2026.09.08.05.28.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Sep 2026 05:28:08 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1788870489; x=1789475289; darn=lists.xenproject.org; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=mdmkLvp6nYkhyhtBgOM6h0nLGXstsr5K+tgDTiHWdn0=; b=Iv+M570sJNy5J+otJgOl90x8LOB7DxB7o16AtGQXX4NC/dCqWr5EUoOzVIarXHRJyk 3CNmmrJNY7iYIBsdhTXvYpRJCjbo6+rvQbxR3EyqG/hYPXLsI75ege3+NIFOpg3kJlOG 2CepWT9bNJY0LZL1upOTIdTXEcnaDIfl5BX6myXOqgmEoKq6CfyVygLcPktN4OZrA5tw BiZklQ9ZeZ7KEL8sf+7rbV8Va9AbpPmp5JsmfFNVhLYozdF29fHRJ1Jeiixspvwv3hMI TojQT3OnsOd/MH1jvHNiSptQMswXLPV1GlQTZfTunEPslXQRstpK+bagA/8+hAHE0uyw E9eQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788870489; x=1789475289; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=mdmkLvp6nYkhyhtBgOM6h0nLGXstsr5K+tgDTiHWdn0=; b=NSbUDUvINktM3ezTxU2zcWbz4X2wdmdvJRh1IAEPnIHNzZOv2ws19WQvhCQ+aHrGoi 6xpGh21YmD6D/+xRE9IW16Axq6TIVcjthGodVHNdpYeEzJmAKhjArWeEY/Ytq+GlybG/ +t5RT+VoxCKiBr8yaVmPuuAgstfGNAZYi2MNh9EZMtQXqU85PgzJ78DlnI3e7PmL/qFZ wxydspBut4la2f6AL2Znue+HuOZSNvqYLxCfAShKJDOcA1nuZFroCU1WdaToXM5B3+AE cADy2nsZLQM5IEPp8nPwX8LXqcGE3VnJfkDbSMxUQk8azjespKrshmRkMGfWbNIZoWrV gbQA== X-Gm-Message-State: AFuF++lmTA7qX5Y3A2TMW8whHV9B25D3oXdL5Pcvr4jp6apCuW3hiNTQ RrgwItVMBUFG/beVZ7We05FNzWyRTMrlDO2iLYGOIphlUZA9rTUM8SbvcwhF0dddTMQV44lHldE JVJeK6Q== X-Gm-Gg: AYBFou0ZR0uLU7Xuy/rOSsSRIDwpua2E3EIlKApLE1nRcgu5M+2VT4XGsVUewHgonYb w9Knx36EpMN/VPCdZWvUvMsFKngPrNI6dubFUNThhC9p7428VYYVa8VowAhtoNTF8TDJWbLBwtM UI1qkzY6Ze9Y+OtDQLUTVtIhu4KhsPcX8Tgbc15RLB7cPAhx8daiQK9nO8wibuaq4zKTPeie6uv +J1WCW5a30zryZ+MljWyV7xEi0LlVbg2CmNBoOvsoYFlZUuiFh7IkvWRKLscmTlj0JtK1S3Ag7C 7mtCpdKctBi9wuLF4Va1BUJ5LA3jKcjy5Z0r5/P+RmyVKGmbPt5KetV61IX3LlI606cqbRkt2iU Nnlg2UjCNU501Cx+dLVIliTq6hYPVA/k4WXVmpN/c6joASveEVeiDYqq2faq4vWT+L8gumIfJLo KUjKs23IgMaUN+oG6/M0R5atKmGxVv2S24iOzgctwtyxdKZcTHG6jIfX84u3e5NEbciBwljIYnT cy6NHBsD72R+KzUL58aoItlfqErx2KfzdiPusqqZ23CZZocWDqm X-Received: by 2002:a05:6000:4819:b0:485:8c16:a347 with SMTP id ffacd0b85a97d-4858c16a542mr24404465f8f.31.1788870488852; Tue, 08 Sep 2026 05:28:08 -0700 (PDT) Message-ID: Date: Tue, 8 Sep 2026 14:28:07 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v3 1/6] x86: split xen-syms/xen.efi linking rules From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Julien Grall , Stefano Stabellini , Anthony PERARD , Michal Orzel , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= , Teddy Astie References: <153fd1b8-810a-4091-84d5-5395d83f2ee9@suse.com> Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <153fd1b8-810a-4091-84d5-5395d83f2ee9@suse.com> Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-ebf023/1788870489-50EDEB50-AAB49B68/0/0 X-purgate-type: clean X-purgate-size: 10417 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1788870511090158500 Content-Type: text/plain; charset="utf-8" Doing so, besides (hopefully) adding clarity (not the least by way of using pattern rules where possible), also avoids explicit recursive $(MAKE) invocations. For xen-syms move re-usable helper rules to a new scripts/Makefile.link. While doing so, re-order .map file creation (which can in principle fail) and check-endbr.sh invocation ahead of putting in place the final image (which is now the result of a simple rename). Also drop --source-name=3D from the tools/symbols invocation which has --empty passed, for being meaningless there. Signed-off-by: Jan Beulich Reviewed-by: Anthony PERARD --- I'd like to keep the "beautification" part, i.e. transforming to more use of Kbuild.include machinery, separate. The check-endbr.sh invocation doesn't fit neatly into this model. I was considering to move it into $(TARGET)'s rule, but that's not very nice either (both because it'd be odd [strictly speaking: wrong] for xen.efi, and because it would reduce parallelism). --- v3: Drop stale part of description. Have $(final-image-check-y) use sites pass in the intended argument. Drop leftover FORCE from xen.efi logic. Move $(obj)/efi/mkreloc dependency to correct rule. v2: Mark intermediate files as such. Don't use $(if_changed ...). --- a/xen/arch/x86/Makefile +++ b/xen/arch/x86/Makefile @@ -102,12 +102,6 @@ notes_phdrs =3D --notes endif endif =20 -syms-warn-dup-y :=3D --warn-dup -syms-warn-dup-$(CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS) :=3D -syms-warn-dup-$(CONFIG_ENFORCE_UNIQUE_SYMBOLS) :=3D --error-dup - -orphan-handling-$(call ld-option,--orphan-handling=3Dwarn) +=3D --orphan-h= andling=3Dwarn - $(TARGET): TMP =3D $(dot-target).elf32 $(TARGET): $(TARGET)-syms $(efi-y) $(obj)/boot/mkelf32 $(obj)/boot/mkelf32 $(notes_phdrs) $(TARGET)-syms $(TMP) $(XEN_IMG_OFFSET) @@ -119,31 +113,11 @@ $(TARGET): $(TARGET)-syms $(efi-y) $(obj =20 CFLAGS-$(XEN_BUILD_EFI) +=3D -DXEN_BUILD_EFI =20 -$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds - $(objtree)/tools/symbols $(all_symbols) --empty > $(dot-target).0.S - $(MAKE) $(build)=3D$(@D) $(dot-target).0.o - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) --strip-debu= g \ - $(dot-target).0.o -o $(dot-target).0 - $(NM) -pa --format=3Dsysv $(dot-target).0 \ - | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ - > $(dot-target).1.S - $(MAKE) $(build)=3D$(@D) $(dot-target).1.o - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) --strip-debu= g \ - $(dot-target).1.o -o $(dot-target).1 - $(NM) -pa --format=3Dsysv $(dot-target).1 \ - | $(objtree)/tools/symbols $(all_symbols) --sysv --sort $(syms-warn-dup-= y) \ - > $(dot-target).2.S - $(MAKE) $(build)=3D$(@D) $(dot-target).2.o - $(call compare-symbol-tables, $(dot-target).1.o, $(dot-target).2.o) - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \ - $(orphan-handling-y) $(dot-target).2.o -o $@ - $(NM) -pa --format=3Dsysv $@ \ - | $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \ - > $@.map - rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]* -ifeq ($(CONFIG_XEN_IBT),y) - $(SHELL) $(srctree)/tools/check-endbr.sh $@ -endif +LAST_LINKING_PASS :=3D 2 + +final-image-check-$(CONFIG_XEN_IBT) =3D $(SHELL) $(srctree)/tools/check-en= dbr.sh $(1) + +include scripts/Makefile.link =20 $(obj)/note.o: $(TARGET)-syms $(OBJCOPY) -O binary --only-section=3D.note.gnu.build-id $< $@.bin @@ -191,51 +165,69 @@ note_file_option ?=3D $(note_file) =20 extra-$(XEN_BUILD_PE) +=3D efi.lds ifeq ($(XEN_BUILD_PE),y) -$(TARGET).efi: $(obj)/efi/relocs-dummy.o $(obj)/efi/relocs-empty.o $(obj)/= efi/mkreloc -$(TARGET).efi: $(objtree)/prelink.o $(note_file) $(obj)/efi.lds + +.INTERMEDIATE: $(addprefix .$(TARGET).efi., \ + $(foreach n, 0 1 2, \ + $(n) alt.$(n) $(n)r.o $(n)s.o $(n)r.S= $(n)s.S)) + +.$(TARGET).efi.%.o: .$(TARGET).efi.%.S + $(call cmd,cc_o_S) + +.$(TARGET).efi.1r.S: .$(TARGET).efi.0 $(if $(relocs-dummy),.$(TARGET).efi.= alt.0) +.$(TARGET).efi.2r.S: .$(TARGET).efi.1 $(if $(relocs-dummy),.$(TARGET).efi.= alt.1) + +.$(TARGET).efi.0r.o: $(obj)/efi/relocs-dummy.o + ln -sf $< $@ + +.$(TARGET).efi.%r.S: $(obj)/efi/mkreloc + $(MKRELOC) $(filter .$(TARGET).efi.%, $^) > $@ + +.$(TARGET).efi.0s.S: + $(objtree)/tools/symbols $(all_symbols) --empty > $@ + +.$(TARGET).efi.1s.S: .$(TARGET).efi.0 +.$(TARGET).efi.2s.S: .$(TARGET).efi.1 + +.$(TARGET).efi.%s.S: + $(NM) -pa --format=3Dsysv $< \ + | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ + --source-name=3D$(TARGET).efi.S \ + > $@ + +# See above for why $(note_file) needs removing here. +efi-objs =3D $(filter-out $(note_file),$(filter %.o,$^)) + +.$(TARGET).efi.%: $(objtree)/prelink.o .$(TARGET).efi.%r.o \ + .$(TARGET).efi.%s.o $(note_file) $(obj)/efi.lds + $(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds $(efi-objs) \ + --strip-debug $(note_file_option) -o $@ + +.$(TARGET).efi.alt.%: $(objtree)/prelink.o .$(TARGET).efi.%r.o \ + .$(TARGET).efi.%s.o $(note_file) $(obj)/efi.lds + $(LD) $(call EFI_LDFLAGS,$(ALT_BASE)) -T $(obj)/efi.lds $(efi-objs) \ + --strip-debug $(note_file_option) -o $@ + +.$(TARGET).efi.2: $(objtree)/prelink.o $(obj)/efi/relocs-empty.o \ + .$(TARGET).efi.2r.o .$(TARGET).efi.2s.o $(note_file) \ + $(obj)/efi.lds + $(call compare-symbol-tables, .$(TARGET).efi.1r.o, .$(TARGET).efi.2r.o) + $(call compare-symbol-tables, .$(TARGET).efi.1s.o, .$(TARGET).efi.2s.o) + $(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds $(efi-objs) \ + $(orphan-handling-y) $(note_file_option) -o $@ + +$(TARGET).efi: .$(TARGET).efi.2 ifeq ($(CONFIG_DEBUG_INFO),y) - $(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug inf= o from $(@F)" + $(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "No debug info in $(@= F)" endif - $(objtree)/tools/symbols $(all_symbols) --source-name=3D$(@F).S --empty \ - > $(dot-target).0s.S - $(MAKE) $(build)=3D$(@D) .$(@F).0s.o - $(foreach base, $(VIRT_BASE) $(ALT_BASE), \ - $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds $< $(relocs= -dummy) \ - $(dot-target).0s.o $(note_file_option) --strip-debug \ - -o $(dot-target).$(base).0 &&) : - $(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).= 0) \ - > $(dot-target).1r.S - $(NM) -pa --format=3Dsysv $(dot-target).$(VIRT_BASE).0 \ - | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ - --source-name=3D$(@F).S \ - > $(dot-target).1s.S - $(MAKE) $(build)=3D$(@D) .$(@F).1r.o .$(@F).1s.o - $(foreach base, $(VIRT_BASE) $(ALT_BASE), \ - $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds $< --strip= -debug \ - $(dot-target).1r.o $(dot-target).1s.o $(note_file_option)= \ - -o $(dot-target).$(base).1 &&) : - $(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).= 1) \ - > $(dot-target).2r.S - $(NM) -pa --format=3Dsysv $(dot-target).$(VIRT_BASE).1 \ - | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ - --source-name=3D$(@F).S \ - > $(dot-target).2s.S - $(MAKE) $(build)=3D$(@D) .$(@F).2r.o .$(@F).2s.o - $(call compare-symbol-tables, $(dot-target).1r.o, $(dot-target).2r.o) - $(call compare-symbol-tables, $(dot-target).1s.o, $(dot-target).2s.o) - $(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds $< $(obj)/efi/re= locs-empty.o \ - $(dot-target).2r.o $(dot-target).2s.o $(orphan-handling-y) \ - $(note_file_option) -o $@ - $(NM) -pa --format=3Dsysv $@ \ - | $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \ - > $@.map + $(NM) -pa --format=3Dsysv $< \ + | $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \ + > $@.map ifeq ($(CONFIG_DEBUG_INFO),y) - $(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(OBJCOPY) -O elf64= -x86-64 $@ $@.elf + $(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(OBJCOPY) -O elf64= -x86-64 $< $@.elf endif + $(call final-image-check-y, $<) + mv $< $@ rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]* -ifeq ($(CONFIG_XEN_IBT),y) - $(SHELL) $(srctree)/tools/check-endbr.sh $@ -endif else $(TARGET).efi: FORCE rm -f $@ --- /dev/null +++ b/xen/scripts/Makefile.link @@ -0,0 +1,51 @@ +# SPDX-License-Identifier: GPL-2.0 +# =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +# Helper rules for linking xen-syms +# =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +syms-warn-dup-y :=3D --warn-dup +syms-warn-dup-$(CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS) :=3D +syms-warn-dup-$(CONFIG_ENFORCE_UNIQUE_SYMBOLS) :=3D --error-dup + +orphan-handling-$(call ld-option,--orphan-handling=3Dwarn) :=3D --orphan-h= andling=3Dwarn + +final-image-check-y ?=3D true + +.INTERMEDIATE: $(addprefix .$(TARGET)-syms.,$(foreach n,0 1 2 3,$(n) $(n).= o $(n).S)) + +.$(TARGET)-syms.%.o: .$(TARGET)-syms.%.S + $(call cmd,cc_o_S) + +.$(TARGET)-syms.0.S: + $(objtree)/tools/symbols $(all_symbols) --empty > $@ + +.$(TARGET)-syms.1.S: .$(TARGET)-syms.0 +.$(TARGET)-syms.2.S: .$(TARGET)-syms.1 +.$(TARGET)-syms.3.S: .$(TARGET)-syms.2 + +.$(TARGET)-syms.%.S: + $(NM) -pa --format=3Dsysv $< \ + | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ + $(if $(filter $(LAST_LINKING_PASS),$*), $(syms-warn-dup-y)) \ + > $@ + +.$(TARGET)-syms.%: $(objtree)/prelink.o .$(TARGET)-syms.%.o $(obj)/xen.lds + $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $(filter %.o,$^) \ + $(build_id_linker) --strip-debug -o $@ + +.$(TARGET)-syms.$(LAST_LINKING_PASS): $(objtree)/prelink.o \ + .$(TARGET)-syms.$(LAST_LINKING_PASS)= .o \ + $(obj)/xen.lds + $(call compare-symbol-tables, \ + .$(TARGET)-syms.$(shell expr $(LAST_LINKING_PASS) - 1).o, \ + .$(TARGET)-syms.$(LAST_LINKING_PASS).o) + $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $(filter %.o,$^) \ + $(build_id_linker) $(orphan-handling-y) -o $@ + +$(TARGET)-syms: .$(TARGET)-syms.$(LAST_LINKING_PASS) + $(NM) -pa --format=3Dsysv $< \ + | $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \ + > $@.map + $(call final-image-check-y, $<) + mv $< $@ + rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]* From nobody Thu Sep 24 20:22:33 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1788870538; cv=none; d=zohomail.com; s=zohoarc; b=FC2+IKl1TQTfs5jtCnl6d3KyJgt9MYald0jIDfiOLDnfNNpoFtVWZ2VsERu2VyXe9XbC94eGChk73mBOXZxeaD0k8JH3Z4TczjI4uYTq51Fqhq5bhQ6/7VyeJR0ttC6Ev/EM1YlniO4k9abYReiCVZI7kBV6a3d3o1txtRtd/M8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788870538; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Iv2vMmZDDkUbtSsBC1iLfuXEsdGTvN+CdOPuJTT4q+M=; b=Po8HrCX0ndSspETAZTqPeyw/aSbf6bEofwm+GFlPwUApQBbbDTg0lOzNX6/AIw6Hn/YdOKIMOlbrzDRxM/NfsLW9nLVoeu51VfD9MtxBkL1/CcXuCWdNI+QAdqNMOgKIInWCaTwN08HiJgcY9YuN8X5a1qhQ4WBU/QYx3VWeZTk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1788870538680920.8938424576729; Tue, 8 Sep 2026 05:28:58 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1411922.1642381 (Exim 4.92) (envelope-from ) id 1x3uwM-0005hz-TK; Tue, 08 Sep 2026 12:28:42 +0000 Received: by outflank-mailman (output) from mailman id 1411922.1642381; Tue, 08 Sep 2026 12:28:42 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3uwM-0005hr-Q4; Tue, 08 Sep 2026 12:28:42 +0000 Received: by outflank-mailman (input) for mailman id 1411922; Tue, 08 Sep 2026 12:28:41 +0000 Received: from mx.expurgate.net ([195.190.135.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3uwL-0005hU-2y for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 12:28:41 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x3uwK-00DGpw-Fm for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 14:28:40 +0200 Received: from [10.42.69.12] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a9fff6e-e002-0a2a0a5209dd-0a2a450cde94-28 for ; Tue, 08 Sep 2026 14:28:40 +0200 Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com) by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a9fff78-f479-0a2a450c0019-d1558033c9c2-3 for ; Tue, 08 Sep 2026 14:28:40 +0200 Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-49ccfbe062eso44019405e9.3 for ; Tue, 08 Sep 2026 05:28:40 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49ce591f846sm229036025e9.1.2026.09.08.05.28.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Sep 2026 05:28:39 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1788870520; x=1789475320; darn=lists.xenproject.org; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=Iv2vMmZDDkUbtSsBC1iLfuXEsdGTvN+CdOPuJTT4q+M=; b=HjVMG4sv1rvGjemFV3CtWRum+vwydICFkqV+hZ2ZNUpk/yh5g3uwCllEGLXm5F0nAq 9gzepqA9hkkoqjnjzOTyGQuBnRdGyYWEdQs8bzuzYrKPgLWzAseYdZs91NxDEAOer2xh rmV6qMudcA+SLl6wVsK40YnsdT3a83CF9vo0dQcKbxuNzG/dc8uQVo8ol4MqnENyFAJt DnVB8pR5pvJND8tV/M1Gl8Zpys66zn1k+JwEbU9KvPwL1l+3FHTqCNGNZIbSWg8E/roV Wn6joMHb4NFwCM9BS7FfnweYhqMY2xvhKrgcXLyV/xqMFoyFa1+t6xpxHDJs5c1meWn7 lDfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788870520; x=1789475320; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=Iv2vMmZDDkUbtSsBC1iLfuXEsdGTvN+CdOPuJTT4q+M=; b=JbU1Tx75gAuVajT9KSQgCA4WA/efTz2n1B5di1fGrXUtSqe/XvMZkGwAOBLOuaLXmE 4yzExDgGbGFmYpQd/gX8hllG6t48p066JO08gmJp3PhPksEFUyjeyB/wdLvpG5wzDZSh ZWIOwllzjDbSp3iVAguvWQ4hBOwWoykCh2rh6un0a/Ju+cPB2sDQBvRBR4uV2Vg9Uc7n yIPzcZ/xC0/6BkgjaiGIBAX9MqiJ/8S3PvsF+vO2wF8vGhPuheTM5ToFBtySscHOdoNM KFBX6V4cVLqC75PP/hpgPFgxCARYsWOXo3GDr7yd4ukOCqarBHP33Q0/ty96b18zF8AS hasQ== X-Gm-Message-State: AFuF++kniu2O7S75IsAF0vzR4Z6LeeFLeYCVrm9ZiSdXAk3LDNsANMdt 9/zU9hG6LJcbNDYKf2skDT01FmLWvuQofnCsewrlRjuRCwwG9pVkprfK3CP6jWCpnxgkdMkLHhS cu3TbKw== X-Gm-Gg: AYBFou0NJlrSmLtvSzAxTQR5AFTYwFkDWqONt1hOp0t3QeK7q6OtUHp5i7WxJdYH/Nd JSK4gBgtIuiI6fCIPZ91a7UtVvxvcFeKOfW9nbwk3mXlNbRgxpGxobFBlY6RHGGmcaC7Ue3IBXD 1YwKczs4l3M73f8YQCdBBkd45Am1YK2fkw8grambKP0O6azxgDucQrnWqZ7FjSRBLQgEyeu8VP+ MgTszqGlM0Zoygyfe+ajfiCGTxBuZzaY33gq1qwRByiN+YctIKf3GDE5Dd0Ioh39KtceqFB4mQ2 XnWBIBy8pjml0QwrNBhyzDzcWNSO60V50VsAD7NKxkuuIfrFk8bZh/xsLv3gKCObsckZ7N6XZRx znuiuEJbGEmH1IfEt4no87R622Hx4ihCixmE9qDL5k3sjP7/+zNoPQka6YOOk04CKi95yMssi5N WCqFSp02U09om+VBxwSJ2e8PjyTjWh1fHHI5PfmjoKYqdB4ZxYfUbLqADglgI4yobvPnsAvhpIi HnGBp14YfpPkoSwDnugq8tl4mfjgaOBwH1mAXHXPHB/PeBnKPCV X-Received: by 2002:a05:600c:314f:b0:49c:ffde:45ff with SMTP id 5b1f17b1804b1-49cffde4629mr227184785e9.17.1788870519858; Tue, 08 Sep 2026 05:28:39 -0700 (PDT) Message-ID: Date: Tue, 8 Sep 2026 14:28:38 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v3 2/6] Arm: split xen-syms linking rule From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Julien Grall , Stefano Stabellini , Anthony PERARD , Michal Orzel , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= , Bertrand Marquis , Volodymyr Babchuk References: <153fd1b8-810a-4091-84d5-5395d83f2ee9@suse.com> Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <153fd1b8-810a-4091-84d5-5395d83f2ee9@suse.com> Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-d25034/1788870520-03ED2A5B-48B8E538/0/0 X-purgate-type: clean X-purgate-size: 3878 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1788870541149158500 Content-Type: text/plain; charset="utf-8" Doing so, besides (hopefully) adding clarity (not the least by way of [re-]using pattern rules where possible), also avoids explicit recursive $(MAKE) invocations. By re-using the generic rules introduced when the respective x86 rule was split, - the .map file now isn't created after the final binary anymore, - --strip-debug is passed to $(LD) during early linking passes (for consistency the option is also explicitly added to the optional linking pass rule), - CONFIG_{SUPPRESS_DUPLICATE_SYMBOL_WARNINGS,ENFORCE_UNIQUE_SYMBOLS} are now properly respected. Orphan section checking, otoh, is getting suppressed for now, until the about a dozen warnings which would result have been taken care of. While the 4th linking step continues to be avoided when possible, a redundant invocation of $(NM) and tools/symbols (plus the assembling of the resulting .S file) is hopefully deemed acceptable. Signed-off-by: Jan Beulich Reviewed-by: Anthony PERARD Acked-by: Michal Orzel --- As for the x86 patch, I'd like to keep the "beautification" part, i.e. transforming to more use of Kbuild.include machinery, separate. --- a/xen/arch/arm/Makefile +++ b/xen/arch/arm/Makefile @@ -84,40 +84,12 @@ ifeq ($(CONFIG_ARM_64),y) ln -sf $(@F) $@.efi endif =20 -$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds - $(objtree)/tools/symbols $(all_symbols) --empty > $(dot-target).0.S - $(MAKE) $(build)=3D$(@D) $(dot-target).0.o - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \ - $(dot-target).0.o -o $(dot-target).0 - $(NM) -pa --format=3Dsysv $(dot-target).0 \ - | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ - > $(dot-target).1.S - $(MAKE) $(build)=3D$(@D) $(dot-target).1.o - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \ - $(dot-target).1.o -o $(dot-target).1 - $(NM) -pa --format=3Dsysv $(dot-target).1 \ - | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ - > $(dot-target).2.S - $(MAKE) $(build)=3D$(@D) $(dot-target).2.o - if ! { $(call compare-symbol-tables, $(dot-target).1.o, $(dot-target).2.o= ) >/dev/null; }; \ - then \ - set -e; \ - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \ - $(dot-target).2.o -o $(dot-target).2; \ - $(NM) -pa --format=3Dsysv $(dot-target).2 \ - | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ - > $(dot-target).3.S; \ - $(MAKE) $(build)=3D$(@D) $(dot-target).3.o; \ - $(call compare-symbol-tables, $(dot-target).2.o, $(dot-target).3.o); \ - else \ - ln -sf $(dot-target).2.o $(dot-target).3.o; \ - fi - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \ - $(dot-target).3.o -o $@ - $(NM) -pa --format=3Dsysv $@ \ - | $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \ - > $@.map - rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]* +LAST_LINKING_PASS :=3D 3 + +include scripts/Makefile.link + +# Suppress orphan section checking for the time being. +orphan-handling-y :=3D =20 .PHONY: include include: --- a/xen/scripts/Makefile.link +++ b/xen/scripts/Makefile.link @@ -33,6 +33,19 @@ final-image-check-y ?=3D true $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $(filter %.o,$^) \ $(build_id_linker) --strip-debug -o $@ =20 +ifneq ($(LAST_LINKING_PASS),2) + +.$(TARGET)-syms.2: $(objtree)/prelink.o .$(TARGET)-syms.2.o $(obj)/xen.lds + if ! { $(call compare-symbol-tables, .$(TARGET)-syms.1.o, .$(TARGET)-syms= .2.o) >/dev/null; }; \ + then \ + $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $(filter %.o,$^) \ + $(build_id_linker) --strip-debug -o $@; \ + else \ + ln -sf .$(TARGET)-syms.1 $@; \ + fi + +endif + .$(TARGET)-syms.$(LAST_LINKING_PASS): $(objtree)/prelink.o \ .$(TARGET)-syms.$(LAST_LINKING_PASS)= .o \ $(obj)/xen.lds From nobody Thu Sep 24 20:22:33 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1788870564; cv=none; d=zohomail.com; s=zohoarc; b=YiYY4acHQnAFdWQC4jRktADqXOxY7SUMd3MfjowPVvZNiT2hLheLpsD9uL99g9COurD/67fko4Sr4P2w3op4/w24h54YL7aBnUNlNGZwIHF1A7CkrtIx4kODrzuNkOrZdrAURbccG1VtFIXNp0Cnx65oA+wwMBi0R1c0VvL1K0o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788870564; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=QquCSsjr9+yRZ78MRMZyhAJQGwjy2mQJD5ivmHA7k+Q=; b=h0aYnbfDCah4CNG/p/OLPf6QyjR2YVQebwJL2SesjsGc844MFLLBIE4VUuVIo1KE0+VsDzrCHQVXwsYKSbpkh6mwL764u4T2mX6sAEYOmBmo5Yqz90bygE17CgZTC+KWiKKJFuv0M0Ol26ALxKj9QJi8rx2NwIqhLQEQa2ro1Bg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 17888705641781010.0357555635878; Tue, 8 Sep 2026 05:29:24 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1411932.1642389 (Exim 4.92) (envelope-from ) id 1x3uwm-0006HT-4n; Tue, 08 Sep 2026 12:29:08 +0000 Received: by outflank-mailman (output) from mailman id 1411932.1642389; Tue, 08 Sep 2026 12:29:08 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3uwm-0006HK-28; Tue, 08 Sep 2026 12:29:08 +0000 Received: by outflank-mailman (input) for mailman id 1411932; Tue, 08 Sep 2026 12:29:07 +0000 Received: from mx.expurgate.net ([194.145.224.10]) by lists.xenproject.org with esmtp (Exim 4.92) id 1x3uwl-0006HA-I5 for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 12:29:07 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x3uwk-001cW4-V1 for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 14:29:06 +0200 Received: from [10.42.69.10] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a9fff8a-8faa-0a2a0a5109dd-0a2a450aa976-14 for ; Tue, 08 Sep 2026 14:29:06 +0200 Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com) by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a9fff92-f2d2-0a2a450a0019-d1558035cda1-3 for ; Tue, 08 Sep 2026 14:29:06 +0200 Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-498028b3d5eso43792205e9.1 for ; Tue, 08 Sep 2026 05:29:06 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49d04fe7f9dsm290984285e9.0.2026.09.08.05.29.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Sep 2026 05:29:05 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1788870546; x=1789475346; darn=lists.xenproject.org; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=QquCSsjr9+yRZ78MRMZyhAJQGwjy2mQJD5ivmHA7k+Q=; b=LzdPEJUurq2/vhmczzFydOgHUPre4ooHZpKcyAWAqKYK7qrUA6E5FeIZ8Rje56V/Kj pdD24F0OpnFvN86gBPkdhenEpd1WO/Nzs6Oe0o/ARVBc2KcOjJCNi++2EpUT85Np7v2u SfUZ+/bVDfkOajRUn4/++z8CsYi2+MelO7Vxjv0IcFZDlykMfB4204sZHyphaV2Kn3xX W+qspNhslxoveTMlhHnEGzzhS2ZmFEFz+Ua+NJSzAH9yFhupdBllpNpyIiIQnuj0pE1h IO8kL2hE4h1hEh7xv0cTmb0l3pzz7rlFKBIC86GfXjyBzIf3tW/50wqFVH5VJYoWxAUC 4kog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788870546; x=1789475346; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=QquCSsjr9+yRZ78MRMZyhAJQGwjy2mQJD5ivmHA7k+Q=; b=P0/ldCAwPIJGIReR5Sl73FmNb12pDnVzmh2ZihwF0KsT6DU5fUvMmKp435Au1/MAYu +x0Mh9kS1W08RFlQKEI8nClfiXw2U5nJOhnETMjgsLYa130vFXS2iJ+lSuy0kMGFJAgI 3PgV0TgnpdU0eYckhYlwgilVtHb60tgKeygLwRyD5PWVv3+5RZl+Pi3miWKC1lTqgZWc 27B+9dPkYnoXeuODM8jJ685LFV2Xels3XKjsgcx8AXiU8I8GFxl1MKAlJGRC+iVUz5FV iQsosF7vxHV1qVTJYq0/LET3Ta1+WZTEYNnPDtm5zj4GClPXPc/3uiB2HK/5+SlTtLAu UckA== X-Gm-Message-State: AFuF++ljZhPFJbR9iWqTyU20Rjc1JqRRFOEwzoahTRC7CplB0KoBaFJ+ DszeAol5snbivxJ4O4P/gEWOaazKVVUmEYxCiwKWXEdKkB+hgegCAGlX4tyWocpGpxVUBX5U+pa 3KHQwHA== X-Gm-Gg: AYBFou3fBWd47VTl4v5+Xo9gaQsAbEOAb7RoO3mTJ6Vwe1IYy2ufgoul+PKiVtGWHOq 8kniptC51cQREx1USuJ/uflbbBhf97rDPk+PuhE0mU39iNS0Nm1050CbdgEx8O3LqnYHeuTkfT3 FebjAfxoL++1z3Hf8p8gpOUzSEJt0WQLECCnUooz3u1GasQQFkIE0w88ReeI16O3rYcCMITKoxy XcsZTgcBkpdqd91wymar8NqWa5Ay9DqTomwjS6txiOT6xexIJ8D0bqeTdhujOoeXny0Q9xYtHG+ iZ8cuAmbUdoTmT3pqAwmSWrhUz8xWOWL/vuPKo+6UDdau6gxuo0XQLs6Ekyr3qbml0sdL7yZi4Z SP4kw56F3nOfXO5iA7d1tygnKRlLatFf9U140jvPRTWe0p6gwGZFsh9sewnlDYKppMTz6WmIhPy sOudP1AC0JWPoffcG9Ne31nisye1uN2Kacg0pWqjL6IYJjXifxrjkoPxjjYGj/Qf3YAyrQi4F2m MdycDholY7nOtIjpfhwfWJYS4GIETAdxDbCnGWgmXjy2ucDS+I8 X-Received: by 2002:a05:600c:3b02:b0:49c:fa21:1c7d with SMTP id 5b1f17b1804b1-49cfa211d76mr269958855e9.18.1788870546243; Tue, 08 Sep 2026 05:29:06 -0700 (PDT) Message-ID: Date: Tue, 8 Sep 2026 14:29:04 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v3 3/6] RISC-V: split xen-syms linking rule From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Julien Grall , Stefano Stabellini , Anthony PERARD , Michal Orzel , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= , Alistair Francis , Connor Davis , Oleksii Kurochko References: <153fd1b8-810a-4091-84d5-5395d83f2ee9@suse.com> Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <153fd1b8-810a-4091-84d5-5395d83f2ee9@suse.com> Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-4011c0/1788870546-4B8D5CFC-4FE45DCB/10/73395122804 X-purgate-type: spam X-purgate-size: 2987 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1788870567202158500 Content-Type: text/plain; charset="utf-8" Doing so, besides (hopefully) adding clarity (not the least by way of [re-]using pattern rules where possible), also avoids explicit recursive $(MAKE) invocations. By re-using the generic rules introduced when the respective x86 rule was split, - the .map file now isn't created after the final binary anymore, - --strip-debug is passed to $(LD) during early linking passes (for consistency the option is also explicitly added to the optional linking pass rule), - CONFIG_{SUPPRESS_DUPLICATE_SYMBOL_WARNINGS,ENFORCE_UNIQUE_SYMBOLS} are now properly respected. Orphan section checking, otoh, is getting suppressed for now, until the about a dozen warnings which would result have been taken care of. While the 4th linking step continues to be avoided when possible, a redundant invocation of $(NM) and tools/symbols (plus the assembling of the resulting .S file) is hopefully deemed acceptable. Signed-off-by: Jan Beulich Reviewed-by: Oleksii Kurochko --- a/xen/arch/riscv/Makefile +++ b/xen/arch/riscv/Makefile @@ -31,40 +31,12 @@ obj-y +=3D vtimer.o $(TARGET): $(TARGET)-syms $(OBJCOPY) -O binary -S $< $@ =20 -$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds - $(objtree)/tools/symbols $(all_symbols) --empty > $(dot-target).0.S - $(MAKE) $(build)=3D$(@D) $(dot-target).0.o - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \ - $(dot-target).0.o -o $(dot-target).0 - $(NM) -pa --format=3Dsysv $(dot-target).0 \ - | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ - > $(dot-target).1.S - $(MAKE) $(build)=3D$(@D) $(dot-target).1.o - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \ - $(dot-target).1.o -o $(dot-target).1 - $(NM) -pa --format=3Dsysv $(dot-target).1 \ - | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ - > $(dot-target).2.S - $(MAKE) $(build)=3D$(@D) $(dot-target).2.o - if ! { $(call compare-symbol-tables, $(dot-target).1.o, $(dot-target).2.o= ) >/dev/null; }; \ - then \ - set -e; \ - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \ - $(dot-target).2.o -o $(dot-target).2; \ - $(NM) -pa --format=3Dsysv $(dot-target).2 \ - | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ - > $(dot-target).3.S; \ - $(MAKE) $(build)=3D$(@D) $(dot-target).3.o; \ - $(call compare-symbol-tables, $(dot-target).2.o, $(dot-target).3.o); \ - else \ - ln -sf $(dot-target).2.o $(dot-target).3.o; \ - fi - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \ - $(dot-target).3.o -o $@ - $(NM) -pa --format=3Dsysv $@ \ - | $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \ - > $@.map - rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]* +LAST_LINKING_PASS :=3D 3 + +include scripts/Makefile.link + +# Suppress orphan section checking for the time being. +orphan-handling-y :=3D =20 $(obj)/xen.lds: $(src)/xen.lds.S FORCE $(call if_changed_dep,cpp_lds_S) From nobody Thu Sep 24 20:22:33 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1788870593; cv=none; d=zohomail.com; s=zohoarc; b=K6CDEnSEEcS2JIyd0vW0Cyyspeh5JXopx3aJaS+LL0YHK0/1Xckv/HZj229kl1NhJIZMIoTdF59ZDE4X/gIWg9xB1LDwQtAYA/tviWvJ+Oa/N4manb+ulaqteHNjO9tCFTsaevIkLlP6+Xhhsja2X79A1mPRzmjEZffZlxZLZOU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788870593; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=3Uv3x4F3bahJVd0v49025RLOSGv5M2Xej8rLk94QGpY=; b=gPN9TWZX4jYGCKL2xSx8qh8CC7w/3HJ5QyD0VKfr7emXIHP4OoLR+IXmKpttDMHcbVCdN1tMT3gKmIGaD0MbXEN02QZDmMo/S7m8dzvp/1pXojeTDdKpLqoWhMXy7aKWX1FhbcjdcHDgC17sMJWm/327zsDEF6CdUUXvOa5uQVk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 178887059384653.22479858828183; Tue, 8 Sep 2026 05:29:53 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1411939.1642398 (Exim 4.92) (envelope-from ) id 1x3uxA-0006j0-CA; Tue, 08 Sep 2026 12:29:32 +0000 Received: by outflank-mailman (output) from mailman id 1411939.1642398; Tue, 08 Sep 2026 12:29:32 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3uxA-0006it-9V; Tue, 08 Sep 2026 12:29:32 +0000 Received: by outflank-mailman (input) for mailman id 1411939; Tue, 08 Sep 2026 12:29:31 +0000 Received: from mx.expurgate.net ([194.145.224.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3ux9-0006ij-Hp for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 12:29:31 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x3ux8-001cia-Us for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 14:29:30 +0200 Received: from [10.42.69.1] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a9fff9e-bab6-0a2a0a5309dd-0a2a4501b972-24 for ; Tue, 08 Sep 2026 14:29:30 +0200 Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com) by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a9fffaa-5984-0a2a45010019-d1558036b479-3 for ; Tue, 08 Sep 2026 14:29:30 +0200 Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-49b9320423cso51674495e9.0 for ; Tue, 08 Sep 2026 05:29:30 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49d00a5b19dsm324066855e9.2.2026.09.08.05.29.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Sep 2026 05:29:29 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1788870570; x=1789475370; darn=lists.xenproject.org; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=3Uv3x4F3bahJVd0v49025RLOSGv5M2Xej8rLk94QGpY=; b=gkTKy5dzWf7litWwAA2K1y+1s2J+xiQ01TKOHrH3XcEJzbAZHX65BhjDdY85iYBwZw gLVekH9+NMj96b6o3gc/D1uR3OrANW9GMaIOkyUfgIsj5SMFPvTGttatJA+v9+tMo4cb A7y+Zb7uG4tyhsLD+7iSIyS6JBckncOjc8k9Ua2s6GQ34zl7JL0HsprBPHgrLO/MjYYY mSlekZBoYu3fdHh7mMM6y/lVrZMkADODBDav6rrN3n/fe5WlvCF+2PvUTuXt75MustRd M2tSJTNeBvEz6gfdxyIrxpoTQcE66V3w/7ceEsTB1SegBuGEoDAmwF8HG0NwZl5zydC0 itEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788870570; x=1789475370; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=3Uv3x4F3bahJVd0v49025RLOSGv5M2Xej8rLk94QGpY=; b=fUkjdWDp/O1oBTGL2Fyc7mMpfobh2lN59bjgpu45HPW1DbWRATrpUl8tQGZhyoI5Wn MiFETXCAid/4R2ASoruYCQzsiJdJaMTP/tWFoNtcQ02ZMLULigYMtufhUoJ5bdJKiLrx t2ha1+sz+Tsql51i92AW2DfppXSaA8ltnxIE+12PUKktFhdqdSr13aGoKSrzoDIdGLLp CXvwL87DPYmrLx7r/aM04My/jbpBmqBGN3PqdFKS8UiDF2mTP2p9DeBJTkkbPlz++gEc +Au2PukY3c95YnadZ8+d060gQXF+R7/0V8usYeDFP1WSjRipW2EsM+eXfHFESDVkeRHE k9Eg== X-Gm-Message-State: AFuF++khR+dSnK2LuSqqEm8zMeD3jJISD5nOSscjUp1V+nIMotGvXq7O rlrYQYk19XmTRWfEHV3QtMDuzLZ62GZo+aRu4f1ck0Uor/hyrXXLZa/9FfGL1PGJT1s5gLArhLM ms66nGg== X-Gm-Gg: AYBFou2CXPRGNBgpAmjJJ95TOncEhAo2ehMAVnlcjeidRRf+8lADA7fKpX8IO2tWR5Q GDidX2qS3BLDOZip9neTnbVvS1dOfg0sgTl2i+g1bhmFCoiEjNWrmMSC/cNFXQ+070PxM1pb3xn gFeMPe44FXWao2FzSLx7Kx353Nc5XzwLTJFNN3fwZcsMmIQbKwed92ddyiFu811XqrqFyy8DdFS 2gUMgLBoSHs52ljxgnXQCy9f4942VtSEjp468tdKtjf2FVyChSoISrfrYOquzO8iigOaJl6ZnKf poO+gIm1eTHMrVGuV4z/Owi2wbV8TbJKomwD8bcaY6P1RTcNpck9ssatYu1p2N8lnJ29ED2LQSA 2l4R6otqHNF2jvYr2t8IEH9a9kHoB9tm6M3HbW+HqkQBUbDbRVbla1expKRYaptdwVd7hgVKc8R ooiFDn22dt9UarXLThTS1qk0UjSjlH3M3A6vCzKqoXj/5qZqVGjmuWai3mYUZ/lkYD0UJYIj13/ RRcKP819dDhx/XDMJnBAy59DhAzbaakZtkdBzsi6D4zKEuQSHP2 X-Received: by 2002:a05:600c:4e94:b0:498:943:ccc0 with SMTP id 5b1f17b1804b1-49cf81e368emr489093245e9.6.1788870570161; Tue, 08 Sep 2026 05:29:30 -0700 (PDT) Message-ID: <6502b5fe-7127-4a5c-b16e-aa1525c54201@suse.com> Date: Tue, 8 Sep 2026 14:29:28 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v3 4/6] PPC: split xen-syms linking rule From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Julien Grall , Stefano Stabellini , Anthony PERARD , Michal Orzel , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= , Timothy Pearson References: <153fd1b8-810a-4091-84d5-5395d83f2ee9@suse.com> Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <153fd1b8-810a-4091-84d5-5395d83f2ee9@suse.com> Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-d62444/1788870570-BE867757-FB2D2EE4/0/0 X-purgate-type: clean X-purgate-size: 2276 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1788870595015158500 Content-Type: text/plain; charset="utf-8" Doing so, besides (hopefully) adding clarity (not the least by way of [re-]using pattern rules where possible), also avoids explicit recursive $(MAKE) invocations. By re-using the generic rules introduced when the respective x86 rule was split, - the .map file now isn't created after the final binary anymore, - --strip-debug is passed to $(LD) during early linking passes (for consistency the option is also explicitly added to the optional linking pass rule), - CONFIG_{SUPPRESS_DUPLICATE_SYMBOL_WARNINGS,ENFORCE_UNIQUE_SYMBOLS} are now properly respected. Orphan section checking, otoh, is getting suppressed for now, until the about a dozen warnings which would result have been taken care of. Signed-off-by: Jan Beulich Reviewed-by: Anthony PERARD --- a/xen/arch/ppc/Makefile +++ b/xen/arch/ppc/Makefile @@ -11,28 +11,12 @@ obj-y +=3D tlb-radix.o $(TARGET): $(TARGET)-syms cp -f $< $@ =20 -$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds - $(objtree)/tools/symbols $(all_symbols) --empty > $(dot-target).0.S - $(MAKE) $(build)=3D$(@D) $(dot-target).0.o - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \ - $(dot-target).0.o -o $(dot-target).0 - $(NM) -pa --format=3Dsysv $(dot-target).0 \ - | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ - > $(dot-target).1.S - $(MAKE) $(build)=3D$(@D) $(dot-target).1.o - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \ - $(dot-target).1.o -o $(dot-target).1 - $(NM) -pa --format=3Dsysv $(dot-target).1 \ - | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ - > $(dot-target).2.S - $(MAKE) $(build)=3D$(@D) $(dot-target).2.o - $(call compare-symbol-tables, $(dot-target).1.o, $(dot-target).2.o) - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \ - $(dot-target).2.o -o $@ - $(NM) -pa --format=3Dsysv $@ \ - | $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \ - > $@.map - rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]* +LAST_LINKING_PASS :=3D 2 + +include scripts/Makefile.link + +# Suppress orphan section checking for the time being. +orphan-handling-y :=3D =20 $(obj)/xen.lds: $(src)/xen.lds.S FORCE $(call if_changed_dep,cpp_lds_S) From nobody Thu Sep 24 20:22:33 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1788870638; cv=none; d=zohomail.com; s=zohoarc; b=aDVyHhTpgczaffe1T7M6NMlu7TuAGKl+J14vIckvDWpH+Yusju+REL/fPC/6fxf19T21WIVTuJmoJrhKiG7RsSG2RvZRLv4URsCRfQ0XMDAzorDqH3VOLfVIhQVfhFqUNG0hlgpNcytQPV/ZBZoMN2NRPMVHag3CxbELEJS0j8E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788870638; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=kiWbQw9EwIxXGXNqk4rZjP+K/qOOMDmRGIIFqlnYnvE=; b=LBm7S6Fo8djNxRChaO4YjxkLswFIYuIgtAS8N11IdU3D8VBJHD0BTaFcHBch4KlfykYYkG0tU2JL0Zwx1SQaxiCelNiHopgx8aa4bMFj3nV5iFQ8awSLrf1yd6RzptO2OczCGX7RO60UycSzDhykxVKPmnS/cWw2wTeZkH1lwvA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1788870638700926.1776550341755; Tue, 8 Sep 2026 05:30:38 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1411949.1642409 (Exim 4.92) (envelope-from ) id 1x3uy1-0008Jf-Ox; Tue, 08 Sep 2026 12:30:25 +0000 Received: by outflank-mailman (output) from mailman id 1411949.1642409; Tue, 08 Sep 2026 12:30:25 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3uy1-0008JY-L5; Tue, 08 Sep 2026 12:30:25 +0000 Received: by outflank-mailman (input) for mailman id 1411949; Tue, 08 Sep 2026 12:30:24 +0000 Received: from mx.expurgate.net ([195.190.135.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3uxz-0008J8-Ua for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 12:30:24 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x3uxz-003vnT-9T for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 14:30:23 +0200 Received: from [10.42.69.6] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a9fffdb-bab6-0a2a0a5309dd-0a2a4506cd22-10 for ; Tue, 08 Sep 2026 14:30:23 +0200 Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com) by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a9fffdf-195a-0a2a45060019-d1558033f099-3 for ; Tue, 08 Sep 2026 14:30:23 +0200 Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-49cf4f81d86so35926895e9.2 for ; Tue, 08 Sep 2026 05:30:23 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cf7736132sm384330685e9.12.2026.09.08.05.30.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Sep 2026 05:30:22 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1788870623; x=1789475423; darn=lists.xenproject.org; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=kiWbQw9EwIxXGXNqk4rZjP+K/qOOMDmRGIIFqlnYnvE=; b=AO1iReM59fFMpshHWr5GYE7CB96aGoUN+uNe+EA/Nd3PwhBnkUIHBjDE/p6XvRJGn0 HJdvfc5bRCmyA2Ug38Fen1cRaeCRpEg2+Rov9KlsBWcdWRQhhs7/GBS3W0OF/K12G4m2 rF0AOGLYFev6Rxyjwj82I+VF0ztIDvrlPayj82garGZSbicD+7n/kVMOVDyew9L+3bF2 W5S7rSyw6U7BDFglopB1IxJldOAYKvlmKCrqcNFo6MDulHkfr3IKfIO4MpyT6IRZ/+fW 004/OnpJSjV+LL+T7q+TpA3ZDmt3JYLCIDXV2njC5Y5jZQ1eSrJC5jc6i26MOH0QVVuY CYOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788870623; x=1789475423; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=kiWbQw9EwIxXGXNqk4rZjP+K/qOOMDmRGIIFqlnYnvE=; b=NNQtvzmBOijb0qI0OgtA8jbCyD8BblF26qd/AeaIKJNFzUJ0LvfY9xurZiRTEj9J5P iwiHUFxMsPasKjLiVBfOF0eJVgictSWf3jAUB4VyAgxUaUwMhj6nFJZa0+x0l8A9jM2E NIdvLbchGKW3j2wzC8dKaTUlEs0n7IV+E5Gpa6QpiC/dPdf9gmYXPpOjI8Ud7KXSEL3d ulFBYGZPVpIrQTvyI/HsYomB1nitZiS+REAtWVgler0xphNHgk+5NHxXm5BqJuiw5cuE vxT6HVX8uKsjVRZCY6sew1nlFNw3SehROD7bH9NjeimyYSCQBuSxbABAezTwiluUmss0 /Gxw== X-Gm-Message-State: AFuF++laEPrt5Pl1aHRi2S2wxcSlmQo5vpyCiAPN8IBR8AKWDvlJOhzx yzETAoKOkU+teJLi8h3PUB3YIP1CB2J6gFZ4X3gGV4BYlF82lCCwbcoAZPUW17t1d/LY927KEi9 1NRp0eg== X-Gm-Gg: AYBFou1PDXDcitfSQ/Fuf4lN/6WpHxk9LJpEdHyGXXU7iaUckX7BK6w7a7yUBkF3xOi jezP7pQInqVpVEUXdrjAFyaA8Ue1W3CX+LkrvZwGBtxFB/86LWy3DCcL2oj3tWNTv/C83RVINRf KYQQz9GLoB45yj3/MESVh2vnUJ0yoaFQxwtfxWl51NFnGDQefIgNHlvX13YWwsMPdBM+hWaREq+ E1uUDeki5rQaYj6ZARZVODk9Tl3vFHHEiueZ9RtXM60JrBtwcuJaiI5PK6kzNt9liE5lwAAPPz+ h8w0Vge3BOG3rk4Yq+Jaa3ivgJ9VLvX9BFHNd61woTvJW6/qsbT3L5GKMVbgm+8tEEPv5zdRUDD OetI1FQtgKJwClf3IiPtO5MwO09C9rolhWm7vKMlvduHR0bDbrkwaeFfbOQWbrdJcETqcy2Y5AX Jk4eL60kFtaJ4vRFqe7a4Swdu5d2NqGoFDoI9OjIw1khVMRFWVKiuGYptwiLgdsNcky77ZJsiXx nL39k5HHj9SxEO7+2fmmookwcgQHqOxFHmwh12R2NOmcj3qEEgx X-Received: by 2002:a05:600c:3e06:b0:49c:fc6c:be1b with SMTP id 5b1f17b1804b1-49cfc6cc0e9mr231534555e9.33.1788870622577; Tue, 08 Sep 2026 05:30:22 -0700 (PDT) Message-ID: Date: Tue, 8 Sep 2026 14:30:21 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v3 5/6] build: move $(all-symbols-*) From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Julien Grall , Stefano Stabellini , Anthony PERARD , Michal Orzel , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= , Teddy Astie References: <153fd1b8-810a-4091-84d5-5395d83f2ee9@suse.com> Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <153fd1b8-810a-4091-84d5-5395d83f2ee9@suse.com> Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-16d1c6/1788870623-FDA0C77B-A0ACEED3/0/0 X-purgate-type: clean X-purgate-size: 2927 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1788870641595158500 Content-Type: text/plain; charset="utf-8" With the final linking logic now consolidated in scripts/Makefile.link, $(all-symbols-*) also doesn't need setting anymore in (and passing down from) the top level Makefile. Signed-off-by: Jan Beulich Reviewed-by: Anthony PERARD --- a/xen/Makefile +++ b/xen/Makefile @@ -465,10 +465,6 @@ ALL_OBJS-$(CONFIG_CRYPTO) +=3D crypto/buil ARCH_LIBS-y :=3D ALL_LIBS-y :=3D lib/lib.a =20 -all-symbols-y :=3D -all-symbols-$(CONFIG_LIVEPATCH) +=3D --all-symbols -all-symbols-$(CONFIG_FAST_SYMBOL_LOOKUP) +=3D --sort-by-name - include $(srctree)/arch/$(SRCARCH)/arch.mk =20 # define new variables to avoid the ones defined in Config.mk @@ -622,8 +618,7 @@ $(TARGET): outputmakefile asm-generic FO $(Q)$(MAKE) $(build)=3Darch/$(SRCARCH) include $(Q)$(MAKE) $(build)=3D. arch/$(SRCARCH)/include/asm/asm-offsets.h $(Q)$(MAKE) $(build)=3D. MKRELOC=3D$(MKRELOC) 'ALL_OBJS=3D$(ALL_OBJS-y)' \ - 'ALL_LIBS=3D$(ARCH_LIBS-y) $(ALL_LIBS-y)' \ - 'all_symbols=3D$(all-symbols-y)' $@ + 'ALL_LIBS=3D$(ARCH_LIBS-y) $(ALL_LIBS-y)' $@ =20 SUBDIRS =3D xsm arch common crypto drivers lib test define all_sources --- a/xen/arch/x86/Makefile +++ b/xen/arch/x86/Makefile @@ -183,14 +183,14 @@ ifeq ($(XEN_BUILD_PE),y) $(MKRELOC) $(filter .$(TARGET).efi.%, $^) > $@ =20 .$(TARGET).efi.0s.S: - $(objtree)/tools/symbols $(all_symbols) --empty > $@ + $(objtree)/tools/symbols $(all-symbols-y) --empty > $@ =20 .$(TARGET).efi.1s.S: .$(TARGET).efi.0 .$(TARGET).efi.2s.S: .$(TARGET).efi.1 =20 .$(TARGET).efi.%s.S: $(NM) -pa --format=3Dsysv $< \ - | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ + | $(objtree)/tools/symbols $(all-symbols-y) --sysv --sort \ --source-name=3D$(TARGET).efi.S \ > $@ =20 --- a/xen/scripts/Makefile.link +++ b/xen/scripts/Makefile.link @@ -3,6 +3,10 @@ # Helper rules for linking xen-syms # =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 +all-symbols-y :=3D +all-symbols-$(CONFIG_LIVEPATCH) +=3D --all-symbols +all-symbols-$(CONFIG_FAST_SYMBOL_LOOKUP) +=3D --sort-by-name + syms-warn-dup-y :=3D --warn-dup syms-warn-dup-$(CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS) :=3D syms-warn-dup-$(CONFIG_ENFORCE_UNIQUE_SYMBOLS) :=3D --error-dup @@ -17,7 +21,7 @@ final-image-check-y ?=3D true $(call cmd,cc_o_S) =20 .$(TARGET)-syms.0.S: - $(objtree)/tools/symbols $(all_symbols) --empty > $@ + $(objtree)/tools/symbols $(all-symbols-y) --empty > $@ =20 .$(TARGET)-syms.1.S: .$(TARGET)-syms.0 .$(TARGET)-syms.2.S: .$(TARGET)-syms.1 @@ -25,7 +29,7 @@ final-image-check-y ?=3D true =20 .$(TARGET)-syms.%.S: $(NM) -pa --format=3Dsysv $< \ - | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ + | $(objtree)/tools/symbols $(all-symbols-y) --sysv --sort \ $(if $(filter $(LAST_LINKING_PASS),$*), $(syms-warn-dup-y)) \ > $@ From nobody Thu Sep 24 20:22:33 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1788870669; cv=none; d=zohomail.com; s=zohoarc; b=Fyl8bbtqMt8j9FPOKzqEI7rTf0SpWOA2OYPDxYwAgtDWqrNW75NokNH3BLiegnA2j8A7tz0GVu6dwoYYglKXzzJN8au/sPIZVMuVLaQsXJfo2MJmovWp5A6FN05td7p3qe17oyP2D9ODLhB8rIpWp2kASdDD/Scjbgq50WgxyeE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788870669; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=PlF7Jt2csGAhocWKbAzmDtcyIGA0UXGHP2uf+mocDok=; b=jwX/uMLaNECCdJ0EXSMfYDmiugddXIlbll37UcWkwsYnGVj9dKQSRrj8U5RFECdKWQBU95+hDcSwa1VX7zt0jUK0/3oHTpz+xeZSW2ZRbjy8vC6Cbm2TErus91j9o1jlrNWsB0ORJ6HgblsrNOTNkqn/EgmKW89BKHkcRpwy4iA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1788870669726556.1474087839212; Tue, 8 Sep 2026 05:31:09 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1411955.1642417 (Exim 4.92) (envelope-from ) id 1x3uyS-0000HR-03; Tue, 08 Sep 2026 12:30:52 +0000 Received: by outflank-mailman (output) from mailman id 1411955.1642417; Tue, 08 Sep 2026 12:30:51 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3uyR-0000HK-T5; Tue, 08 Sep 2026 12:30:51 +0000 Received: by outflank-mailman (input) for mailman id 1411955; Tue, 08 Sep 2026 12:30:50 +0000 Received: from mx.expurgate.net ([195.190.135.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3uyQ-0000Fk-Nk for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 12:30:50 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x3uyQ-003w3D-43 for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 14:30:50 +0200 Received: from [10.42.69.12] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a9ffffa-bab6-0a2a0a5309dd-0a2a450ca434-0 for ; Tue, 08 Sep 2026 14:30:50 +0200 Received: from [209.85.221.48] (helo=mail-wr1-f48.google.com) by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a9ffff9-f479-0a2a450c0019-d155dd30c120-3 for ; Tue, 08 Sep 2026 14:30:50 +0200 Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-47fe89fb333so2994022f8f.3 for ; Tue, 08 Sep 2026 05:30:50 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485885c5bbdsm34120922f8f.36.2026.09.08.05.30.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Sep 2026 05:30:48 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1788870649; x=1789475449; darn=lists.xenproject.org; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=PlF7Jt2csGAhocWKbAzmDtcyIGA0UXGHP2uf+mocDok=; b=Rukwc760F112/pB7mVr4RlZaZAFSXZT8CCe+RvlGItC+x27hHBrXI+aiMI5BYTE1Ll GFXia76gp2xAPXoXj1kreQG7xn64UnAGGJZLHN/p/YPopClUDV617MRdFlkK6sdZFHB/ 0ry6n2HbzvHyclPhc2gZb1Pe8MnHuw4SfITaneZi+yzkL8CPRbkUtRou71hn921Hl6S+ fNf77PhIqSVnRkPDwDXKsgQxqS6zvHiEyO8ZJN1R8aJ2crn7unf+R/ebO8ki2sooFy84 LjsPOi9laioYsix3/J3gkCpcsf/i0z3Qjuco3A5osdH5kp7va+ptd578rI+pTL7j2GTK 2+qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788870649; x=1789475449; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=PlF7Jt2csGAhocWKbAzmDtcyIGA0UXGHP2uf+mocDok=; b=qKYrqIfnF516mUeZsu8PWtgl3DVwpJp64VvjrbUWNrldvM+ZWeWKMQBbgjLu5ioBck 4aQzKBfFJk/Rp/0JZpIhe9RJ6P9idBG+EtgMsFjz8NgedGrC4z3zafX7tOZg8Ay+zy0e Ex5vfvrtLKpLbyeHLqYZ+4Hu1mR1EpYIws3NttbYSQeIWwv9ToqdPTrVrIo2t0sLSZqT MtEnFGKgJ0AP6qEHkbZiRPlOzMes4x4/NadylptH+lI9ZqcgMSAcZOhfqu6+vGwJzrdy 5xeJX43/UHx0QpROHzvF/b5KFtMKvlMHwSncxZRhnC9DGfPFvFZQrfIHZNyUOWkGGwmw S68w== X-Gm-Message-State: AFuF++mEftARRRPzDIecj1ftVAt232gY+PBWdh4gnr7QD3oQDNowhZdx fPewZEo0Tr4hqdk6VTI8zIcpjZZWM1jbL6zRyfstxKjkoYuhRbEeUbLqQ2bEriR7e7lBJdx9r5j dWungpg== X-Gm-Gg: AYBFou2/uI9NgklcewZTFm5zB18HedkNtb3Ce+bQyeDyICdgyqZmvRnpjxQCOLkIkGM TtqLmjMt8fJwoZfwESwLDn5kdCFoc9F0V725UQuh1lMypzQJKNU78iufE71wvWl92x9SmIOilOt refzURDRG/WPdLHS/is+z4fpk9vo1wId8BbPN10z+simsm3d9l9UjBoZGcspJMeVwdr7D1BAk6R EeTffaDJY6cQ7HfwoJUhXNu2lx0oY2k2VnDhVIwABTpsrA4ywde4fgzfZ87/+BpzDOPRaun4g4w 1kGuguCXyb2owH5u/5OBnukLKWeEbT/tag+7siI7GgSCwHZBImBUJlA2IDYZr3vXiQ5Ug3V9ZXM jntEE1c8Xuf2ZTyqQEP5e8648AJ5DuyTDnjHaCLWm0XkQ6sXlbcvuiivODcysnw3zQlW3mMdiFe 2w/XpcAtJMTFlaQ9ZTC4hE39/AvQV1foTcepkBs6tBFxqOLOcAjxMPm/gNbGdDVizLfUhJWsqd1 eHPc6HazEc/gqrrNvSaXuBIJfgE6eyWOS/H6mc09qt8HKI9MOYj X-Received: by 2002:a05:600c:3e0a:b0:495:6e68:5df2 with SMTP id 5b1f17b1804b1-49cf8267a36mr375734495e9.12.1788870649394; Tue, 08 Sep 2026 05:30:49 -0700 (PDT) Message-ID: Date: Tue, 8 Sep 2026 14:30:48 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v3 6/6] build: move $(compare-symbol-tables) From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Julien Grall , Stefano Stabellini , Anthony PERARD , Michal Orzel , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: <153fd1b8-810a-4091-84d5-5395d83f2ee9@suse.com> Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <153fd1b8-810a-4091-84d5-5395d83f2ee9@suse.com> Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-d25034/1788870650-76EDAA5B-43761154/0/0 X-purgate-type: clean X-purgate-size: 1887 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1788870671922158500 Content-Type: text/plain; charset="utf-8" With the final linking logic now consolidated in scripts/Makefile.link, $(compare-symbol-tables) also doesn't need setting anymore in Kbuild.include. Signed-off-by: Jan Beulich Reviewed-by: Anthony PERARD --- v2: New. --- a/xen/scripts/Kbuild.include +++ b/xen/scripts/Kbuild.include @@ -56,19 +56,6 @@ define filechk fi endef =20 -### -# Compare the symbol tables of two object files. As diff's -I option isn't -# standardized, the name difference of the two object files needs abstract= ing -# out. -define compare-symbol-tables - ln -f $(1) $(@D)/.cst.$$$$; \ - $(OBJDUMP) -t $(@D)/.cst.$$$$ > $(1).sym; \ - ln -f $(2) $(@D)/.cst.$$$$; \ - $(OBJDUMP) -t $(@D)/.cst.$$$$ > $(2).sym; \ - rm -f $(@D)/.cst.$$$$; \ - diff -u $(1).sym $(2).sym -endef - # as-insn: Check whether assembler supports an instruction. # Usage: cflags-y +=3D $(call as-insn,CC FLAGS,"insn",option-yes,option-no) as-insn =3D $(if $(shell echo 'void _(void) { asm volatile ( $(2) ); }' \ --- a/xen/scripts/Makefile.link +++ b/xen/scripts/Makefile.link @@ -33,6 +33,18 @@ final-image-check-y ?=3D true $(if $(filter $(LAST_LINKING_PASS),$*), $(syms-warn-dup-y)) \ > $@ =20 +# Compare the symbol tables of two object files. As diff's -I option isn't +# standardized, the name difference of the two object files needs abstract= ing +# out. +define compare-symbol-tables + ln -f $(1) $(@D)/.cst.$$$$; \ + $(OBJDUMP) -t $(@D)/.cst.$$$$ > $(1).sym; \ + ln -f $(2) $(@D)/.cst.$$$$; \ + $(OBJDUMP) -t $(@D)/.cst.$$$$ > $(2).sym; \ + rm -f $(@D)/.cst.$$$$; \ + diff -u $(1).sym $(2).sym +endef + .$(TARGET)-syms.%: $(objtree)/prelink.o .$(TARGET)-syms.%.o $(obj)/xen.lds $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $(filter %.o,$^) \ $(build_id_linker) --strip-debug -o $@