From nobody Thu Sep 3 07:03:25 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=1787745647; cv=none; d=zohomail.com; s=zohoarc; b=DA2I9yKeq3Y7nOUA6cycsXv1yH8SMoue7ZCQokuxekqMMEU98EoBwhHigCnmcJ2COq/pisOhMUoZxkJtKrwE50c14YhBk1p4q2urz+usyHWgT22pZqP1dgvuiNTq4OB0N48Gm/DwmjFsfnj02JKtXfU4AAuHPFAaSzDA+hPo5YI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787745647; 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=fpxZNvLH3hGMzLfQMWG/zcRVETLgvOyxelfjtLNifPY=; b=Um9Uo+VFswj2YEavxvB5FC4ksmgXmF92sMremKpWljzzLtaKY4OMqVm6BXQdBIEKkUdBg9HLUcykHHyBHPMxfSjA4P/2DwlvudzzpDzvH3dkKWvBhbVkY5Cf9RvcA784jDeUPDXQROwnJcU9NfO5Ci9lvNHn6jVCy6tGiylvUF0= 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 1787745646913150.25913811452438; Wed, 26 Aug 2026 05:00:46 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1399846.1635814 (Exim 4.92) (envelope-from ) id 1wzCIv-00041n-Js; Wed, 26 Aug 2026 12:00:29 +0000 Received: by outflank-mailman (output) from mailman id 1399846.1635814; Wed, 26 Aug 2026 12:00:29 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wzCIv-00041g-H4; Wed, 26 Aug 2026 12:00:29 +0000 Received: by outflank-mailman (input) for mailman id 1399846; Wed, 26 Aug 2026 12:00:28 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wzCIu-00041V-08 for xen-devel@lists.xenproject.org; Wed, 26 Aug 2026 12:00:28 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wzCIs-003gjf-9q for xen-devel@lists.xenproject.org; Wed, 26 Aug 2026 14:00:26 +0200 Received: from [10.42.69.4] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a8ed557-2eae-0a2a0a5409dd-0a2a4504c16a-10 for ; Wed, 26 Aug 2026 14:00:26 +0200 Received: from [209.85.218.41] (helo=mail-ej1-f41.google.com) by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a8ed55a-b57f-0a2a45040019-d155da29ec46-3 for ; Wed, 26 Aug 2026 14:00:26 +0200 Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-c2022323c37so109569966b.0 for ; Wed, 26 Aug 2026 05:00:26 -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 a640c23a62f3a-c250a5d62easm471153166b.6.2026.08.26.05.00.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Aug 2026 05:00:24 -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=1787745626; x=1788350426; 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=fpxZNvLH3hGMzLfQMWG/zcRVETLgvOyxelfjtLNifPY=; b=dxbiUKv3Z3mUNZ5Ml3ROYUbSlzFmxBoWSATDmEBRcAn9k6cRjbbulb3U5bZ7jYtYP8 +a/Mnti/jjA0NikPcjhu2Mp3oye9E0m3szBLHK6KUdrcqiwG5GSyL6QbCwz864DxxqdO OiW0MTwR5BFNeZeumLJLn5mwYOYG6WUUE22cDXOd2u1qm5+aaxt8Ng21NIgowK7jt4zq qafkHVipI4WnF0vuRa7hQulCdwX1rRxOVZdC7jbkVilH7vld7pAjrsid8JyX7lVgL5Rm luRAYuigGfQIghOEHS1dIF2Npr3IqZ0h5Wa0JexSAGH/6MC/uABurMCMROBtNrU9KSwQ fSug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787745626; x=1788350426; 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=fpxZNvLH3hGMzLfQMWG/zcRVETLgvOyxelfjtLNifPY=; b=CXVQk1m9X3Fxz8vlqdAjjtPCGpGMXtVEKovqGqazGN5dNRt40XXfX+PxSP3EJpexxc W4wR9NqB/mzFC0xUZRTd6l+jKXWaPtrT/82QBn5rRgXy+zwb0vNqoG0XaHoKx5IBL5nW fskJJb+9UcYZQ+khWEaoZWQ9+2i9AFBRg7eMw+EQ2+LK1EaccdAoB7n6loNQtn4eTqVT XRK0AIwx4uRlpiqtKKpHxj07PKHG+EB7D0MzLkauZ1eozUO4KK6saxvd2dexVyORlx6y IWuXO85yNPFQQBLXFs+fORYaiWWv/5/4B2QVLfbF6X2FPEAg0VYxu+qsQji/m1ubU6+1 KYPw== X-Gm-Message-State: AFuF++m9f4BFn2bPBqb4LSCQAJOoFn02djqiTyVvXtvZGRzUewUIiJih 4YnPHL8tSaa0Od7e6kpvqHWwJTzB3HUSO9TztdamEfhk6pyojsBRB+1ArBDYIzcvwPiufpSmdQp uRCKBlA== X-Gm-Gg: AR+sD115gH7PSUdwcZR2HtpwAcjiI3jClzC3v55CAxmI92m8VbobDC/UXhbg+mp0mFl gVI2pf+cpwAtfSy6Af9DP9Hl9jIv7JzvpC3ApsSK0wFGKkIidT0MLfDwpis0xD9XT0FxEOXAeVG xbDO4eP80bHXeItj7qelTNk50VUltYxauzCNB5TC61ekKbGY8DyPaKTY6s+YliUBYZViqnTB0Y+ yVIIIhUKWMwVdgYHwPaJXoJkXfaEYYvboD0yyj18v6LRP3zh9Yg/02/kI7vgbtzoUDJC07SlVek 6xWt4pO1Lg7wWuYp0os577nx7dukgIbZUmxubQXXGdJkXB5ehBixD6TqK3D8CImPH66+AWntEnb 5kSvXEe8HcrtfZRA1nD6odkQxnC6UZxy24NRsTFbIZqll/vekoJeFIPeVU1fqZSgZtCzR+ADMLa fNoBH8I3NLt8+bXzlwbSG2khWQGPMkLcfQ198G7iIAoJpRGBzmCNavKTFv4MtiJJWk+aRkq416n SzrxSxDe2QbEfKR7RDQ9FacUXFAtL/Zf7eVRJuUhHLm2Wrs1p4Guw== X-Received: by 2002:a17:907:e1d3:20b0:c25:d03:6794 with SMTP id a640c23a62f3a-c250d036dcdmr570529266b.16.1787745625231; Wed, 26 Aug 2026 05:00:25 -0700 (PDT) Message-ID: <8e1b4212-ddb6-424a-91cf-ed80d985825c@suse.com> Date: Wed, 26 Aug 2026 14:00:22 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 1/7] 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: <9a78fdea-08ba-4e04-bfa1-ba09730a300b@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: <9a78fdea-08ba-4e04-bfa1-ba09730a300b@suse.com> Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-ebf023/1787745626-C2AC8B50-32C3FAAE/0/0 X-purgate-type: clean X-purgate-size: 10503 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1787745649455158500 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. Note that the original "rm" at the end of the rule needs limiting: Removing intermediate files (which $(MAKE) doesn't itself remove) would cause re-linking even when installing as root (when common/version.o is left unaltered, and hence an incremental build should do nothing as long as nothing else changed in the source tree). Signed-off-by: Jan Beulich --- 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). --- 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 $< + +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 FORCE + $(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 $(obj)/efi/mkreloc + ln -sf $< $@ + +.$(TARGET).efi.%r.S: + $(MKRELOC) $^ > $@ + +.$(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 + $(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 + $(final-image-check-y) + mv $< $@ + rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]* From nobody Thu Sep 3 07:03:25 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=1787745680; cv=none; d=zohomail.com; s=zohoarc; b=O5w5+SWShDzsgez7qTaeR9JclGmT+jBBOZK3ZViW7cvKoRtTZ9t4blzwYioueOeSnagPKCVzC3gIyCW9FcIEvtMGwM3q3NpMcX39LS1KNFjiRD90gZ/RDb0QnQzhrXCQ4Ji3tnPputZsApRB7Flvg9NbfRzMDeTd+d5NNPToXvk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787745680; 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=Q+1gClmmk9yATyoZyczF2GlL3Oy9KQPuz5fqFvtjMX0=; b=H5BRMAJQY1u0Fn+wtGotIGMWrknsSvqDr42LG/17rAqbLpOiilx/5TnX+eAFp+TVrMQ7+X8YK7td9LdTabJO1TUAj8mrN5AtgL23aEN96W5/4eFE47QIVCi9oikCr1roPrmZ8XRl7QjgWFBkvhf1C0P59rVCQSrxTUpVFllODxc= 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 178774568018643.84196375099066; Wed, 26 Aug 2026 05:01:20 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1399854.1635822 (Exim 4.92) (envelope-from ) id 1wzCJQ-0004Qy-RP; Wed, 26 Aug 2026 12:01:00 +0000 Received: by outflank-mailman (output) from mailman id 1399854.1635822; Wed, 26 Aug 2026 12:01:00 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wzCJQ-0004Qr-Ot; Wed, 26 Aug 2026 12:01:00 +0000 Received: by outflank-mailman (input) for mailman id 1399854; Wed, 26 Aug 2026 12:00:59 +0000 Received: from mx.expurgate.net ([195.190.135.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wzCJP-0004Qf-Nw for xen-devel@lists.xenproject.org; Wed, 26 Aug 2026 12:00:59 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wzCJO-007yRD-QD for xen-devel@lists.xenproject.org; Wed, 26 Aug 2026 14:00:58 +0200 Received: from [10.42.69.11] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a8ed573-8faa-0a2a0a5109dd-0a2a450bd9b6-38 for ; Wed, 26 Aug 2026 14:00:58 +0200 Received: from [209.85.218.54] (helo=mail-ej1-f54.google.com) by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a8ed57a-b7e8-0a2a450b0019-d155da36d8fc-3 for ; Wed, 26 Aug 2026 14:00:58 +0200 Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-c197e7e4e94so126656666b.2 for ; Wed, 26 Aug 2026 05:00:58 -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 4fb4d7f45d1cf-6a5de8d1c80sm3194925a12.10.2026.08.26.05.00.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Aug 2026 05:00:56 -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=1787745658; x=1788350458; 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=Q+1gClmmk9yATyoZyczF2GlL3Oy9KQPuz5fqFvtjMX0=; b=dVTuJhhBvxdBGBfYzXJRdhFiAZu0fEEh3y9nDc9LXsyjQHfJtLg66yqFBXzG/As4k6 kgc/E7fp5co2uKAfQHdK6O2F4lhuxyxJmQlpPgjEiBYsZT0rXSThSxyECZvkSl5lVbub zxCj6b+7T25RDquguNZiB7F6LZ4FGCEjaSmeUhxxiK24WxHI/97OLnKUdz7qKPfVsWWU ruJoubYG0rOMw9JrlRfMqIwDIEYOX+wl/y9y9yhdG3m8f5pFvf68jHk9l/vxjl6QBaeT 8IglTPDVh2jLEf3lEZlFOf8SRuhbdaW5UXX/JKMBDvCorCjIjrpNhwaciN4faWfIQSyS 0oIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787745658; x=1788350458; 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=Q+1gClmmk9yATyoZyczF2GlL3Oy9KQPuz5fqFvtjMX0=; b=lhKc8Gh4bBBimLvmoaQTySiUy49whPabaaOdFHy2klcr02H+pmpIhcr6B4sVbs4iXS OBsAGwBtf/dUPK1B7lTY5hHaLiejf4V4NWfYSmd8fQkG1nhBo0Gp3odDQpPeRZ+VikhR EZEKP8i+/FXQkfnlrC2UBS8a9WzWHNaDLgzR6a+aaE0vYGHyYdze22ttiWuEr6V1gfBc +vLsEy8WcToVaJCNGT/iU0FXMNPq9rTqrrsAnt5Efo0kOfhzYpfejss4BdO5X8RX/JS0 /07QPe53KA1o9csdtKgDO6kAVLp+/S1Ele21cNz/wlC4pirO3iNyK3n5saT6q9WYA1nf MF/g== X-Gm-Message-State: AFuF++mOXGSeNbVVE+1QvcSuvI6PJFJYKKrZalDga//Y8X9FpqAZYOUo mR9y5pREANk8bAjKmGnjZTlKJr6uRzLGLxNFzjwc/BQlU9EbqzQVq5pgFJ9+USvsdWEz7izCcx2 G1R+5dg== X-Gm-Gg: AR+sD10XiWGqZBWAlh7kwH121tfJagDTvlbCwuTOvToVMi6+Lc1mCpmeQZgHnOAYRO5 djmxDfVBkq/6FSBfk3nvtutaZpae+2ilWjFG1q8mLT5wKaz9MCU8dTU6NV5j+3M9AyLowmPU0kz 9cK8zLcZLdBK9bHv54Bdx/UJzkiKzDUF5hsCQlLGLyAbhpRbHciBKb5jIyrBSvOgz87GmGewWSA gFd7Uuf9tF/brxWtIDXWZti2cUnSjjJu2vg3JDHOZTaozXVF2YVTd/fjomjPB3BCl1UdsXhCCXF jBKOrhTNmb9Ar5rRl/7acomMYVF+Yt8bBPy9wZhqUjK1wxRwUgT7Svo7xl6DhT+B7VRH9yzmnrd qOtDtdmJwiBYgLe0AD9C4udomhfC0uk6CBdGYDZIqYOrreLTxJPWoDxi4zFmQ4RekbaIJ2BP//N +/CamZpVH8uP4IPjIL9d0czSy/+0Rzi4N6dNoRj7rbGzEkwprir5/aaKKpgCneOQhJPoR0D9aMV lWfi4Cm5ZLaPfr7Ikk2Bf00jrLqEyqm/K7U+C6/Mr0mUfMg3G9kZA== X-Received: by 2002:a17:907:d0e:b0:c1f:c7f0:b433 with SMTP id a640c23a62f3a-c250bc09ef9mr830455966b.9.1787745657993; Wed, 26 Aug 2026 05:00:57 -0700 (PDT) Message-ID: <483052d4-b70e-4005-8b10-4ecf509bf40a@suse.com> Date: Wed, 26 Aug 2026 14:00:55 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 2/7] 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: <9a78fdea-08ba-4e04-bfa1-ba09730a300b@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: <9a78fdea-08ba-4e04-bfa1-ba09730a300b@suse.com> Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-42698a/1787745658-A9EC69EA-9C085975/0/0 X-purgate-type: clean X-purgate-size: 3821 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1787745681523158500 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 --- 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 3 07:03:25 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=1787745735; cv=none; d=zohomail.com; s=zohoarc; b=gEnhppRyRtwJxQGnVnW6v+Wy55sqDtwVa6bA0YTMminrteMShWskdHiJgtrfFs/m723Dei5dIZh4iA9LRf2NU4QADuepj1yYKIf+zHw7791KYUNGPJsbOzAegKRtwOQAfXgRIn3A7v9tlj+mURtyjdnljufVBsZ5t+DStMO3mw8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787745735; 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=JoSzWl9u/xDhO1ZqChlyScExhg2WyeKTzD6iriK6Voc=; b=mLJb7UNbU1jkTWSTevCjzLyfNfUl9LZ+OyHSpVcRIcvW735VLTZvCE/MRDXoy3mHLDaOLepPHtUW+BNQiho33F9sfBM83IBwCUE6W9HTEcqGzs7fDk/godExVH8Zd4tU4/mLqbWO43GiWal3HbOaL51DlMIb+0/JFbF/+w/nWVg= 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 178774573523661.78113704396799; Wed, 26 Aug 2026 05:02:15 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1399862.1635832 (Exim 4.92) (envelope-from ) id 1wzCKR-0004xz-5S; Wed, 26 Aug 2026 12:02:03 +0000 Received: by outflank-mailman (output) from mailman id 1399862.1635832; Wed, 26 Aug 2026 12:02:03 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wzCKR-0004xq-1v; Wed, 26 Aug 2026 12:02:03 +0000 Received: by outflank-mailman (input) for mailman id 1399862; Wed, 26 Aug 2026 12:02:01 +0000 Received: from mx.expurgate.net ([195.190.135.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wzCKP-0004xi-0f for xen-devel@lists.xenproject.org; Wed, 26 Aug 2026 12:02:01 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wzCKO-007ypd-Dl for xen-devel@lists.xenproject.org; Wed, 26 Aug 2026 14:02:00 +0200 Received: from [10.42.69.12] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a8ed5b6-8faa-0a2a0a5109dd-0a2a450cc15e-12 for ; Wed, 26 Aug 2026 14:02:00 +0200 Received: from [209.85.208.48] (helo=mail-ed1-f48.google.com) by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a8ed5b8-f479-0a2a450c0019-d155d030a904-3 for ; Wed, 26 Aug 2026 14:02:00 +0200 Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-6a156627e22so3714199a12.1 for ; Wed, 26 Aug 2026 05:02:00 -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 a640c23a62f3a-c250a6fd676sm480327466b.17.2026.08.26.05.01.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Aug 2026 05:01:26 -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=1787745719; x=1788350519; 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=JoSzWl9u/xDhO1ZqChlyScExhg2WyeKTzD6iriK6Voc=; b=e/g0LNKNCWo355GYtsuRfOvg6lvT9qmGn7BviBR86tGpyzlsgocFJZGwFQajsZXkbI g/PLGjcqqyIh4it6S2sQWvCKs3+KI7rnU+OzoAAixya7ovAxwSC5AtkLRUhUgobDLMZK r8c50g/4W1ViXfpUNeZJ2kS+rjz7fbl25UaGvdnaju2tNvK38LMMpoRjvFXmkJleDBf8 x2P09Uxb2IiN2DirnxdCWC69s1uqy4Ty4jxlIr8ypAot5HmgJxFDD11ZalstdoHEsUX0 GK/1St1AEYS1duafTPh/wJaZQ2/5Dg83vPlbdowF73lzZD+IUL7E7bs3dNUUl5JlDj5j 6lLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787745719; x=1788350519; 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=JoSzWl9u/xDhO1ZqChlyScExhg2WyeKTzD6iriK6Voc=; b=DOrxEPKhM7GTK2X5PH6lQSAAiboI1pvG1lHviUbFyjD0udgGMeEnvMU6WQSwCdh5sy nQGf9IdCqlqnjjiL2EGmBlP+A4OY+ATdTIx+cj1dKWkMyTzYEnfLXOCuOuxwAC1ysCoz BmE7G7iPLXuUTwhRaNeNeIjO7ltkDxWrXhnOKnrNzBd4pfd0WALELjyxu3hEoIc8lJbG Zxee0Okp+eR2vFBe2ee5SwiwGjaUzoIVy69T2fDYLTQwK9UJlB9yixH7VaFxkzzhqTpc tsPvcjH1Jmt4J7SsVl48RemHNIuewZzfl5mjRN24PZcjahMzpRzzeZGBFhBqK8+iUvV1 4N9Q== X-Gm-Message-State: AFuF++lh4mYNEPSjK5cOWaAIXjfpGlHzBZOEScW2Ga+saQl2/5m8zxsJ b5CC+FYm/LlJn0d/0/MZ0iJYvNaOqu1AXzYGPu2rCyN2dYn34d0uEYnqYPcPqiijT23NXBbgB+M VaHTTqA== X-Gm-Gg: AR+sD135L4tCaR2nXDymVNBWAM2CvgLmDJHt4Fcjlhul1k0HqqMY8+cEYuH4QIeFx8n wPvVLzJ2zCf0Dhi/+ULv35psq+Ghy6C+5j8o4NDGPdJs/k5f2yaCLz0EWmSGoYVK/oEpUIVjXRg P8iQxWEQEE0XHCGV0QSdTtbeUipKnaW1YJCeOAkfJ179fIDtQILFuVrephIxwqpz2fAbOqOxnYK U5bEyUl5DiFNU65n2cTWPylxUGUnDibTcLZlLiubZmwoem0wyyvDXb8vJGW3DkZaHZo/Bt9PrAx kOPDy+F8KkvatndZvnUc9exVPwvgZ+9k65ib32XwmRgrZQytj8JMS3S4CA7Zc3ynQrgvtBZ+M6m FpvQfSnpzDzqufpyCwjexfSqvcuokazt5sRhw+4Z+jVXbT3KYvEwjwpAKDugogcaLxf6Y8TfehQ amUf519sdYXQf848c56vT+5vJb5Lx0PS89G01WCQqEyDpBbUHfYZSf2CmPZ5nh4NgR95tl7faIy iM+/IkBcp9LX+/W1YeaPGJC2/VodtzfHXFKxEZY4Ot6rhsFM5aU X-Received: by 2002:a17:907:a0cf:b0:c1c:49d9:4c34 with SMTP id a640c23a62f3a-c24e2db3d7bmr1737380766b.11.1787745688069; Wed, 26 Aug 2026 05:01:28 -0700 (PDT) Message-ID: <6f4b26ce-2797-4c17-bfdf-8effd2026a6a@suse.com> Date: Wed, 26 Aug 2026 14:01:24 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 3/7] 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: <9a78fdea-08ba-4e04-bfa1-ba09730a300b@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: <9a78fdea-08ba-4e04-bfa1-ba09730a300b@suse.com> Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-d25034/1787745720-014C7A5B-4E4DC9A0/0/0 X-purgate-type: clean X-purgate-size: 2927 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1787745735848158500 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 3 07:03:25 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=1787745745; cv=none; d=zohomail.com; s=zohoarc; b=Kj9kdg6rizE2VydW7lD7wS448aKwa4hlP/lp6ET4VmqyCGZn3cLqxST9Yc9G2gdDCyv24DaN7Upe6VSN6FI2F3/Gq2urxRwIL85CtHcAltbBOG26prg+U+KiSJNSObPn8N9nygeVYgLP8+8f39vsWsrhUY314mYX9hirosyrRh8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787745745; 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=z+XcKNuFMvLMilDPsUpM4PMWFJxDvjvamUF6fgbTnzs=; b=mJVZ24jMMRmLKAWzdbT+t6DAmTCNB0kaJNr9tOE4UuUIxZv65Uk5vpKWoobyveK4YgGW3ewWs+d6dvAkVqi8rBHgS11tMbiGTjyOBgr8vN796FeEW6B099kAbPCiS4J9jXzLFci0kIxb3Ny7e8/PuElhppYFTfLdIrn0wDBIUCI= 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 1787745745256457.58810024090144; Wed, 26 Aug 2026 05:02:25 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1399863.1635841 (Exim 4.92) (envelope-from ) id 1wzCKW-0005Cg-Eb; Wed, 26 Aug 2026 12:02:08 +0000 Received: by outflank-mailman (output) from mailman id 1399863.1635841; Wed, 26 Aug 2026 12:02: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 1wzCKW-0005CZ-BO; Wed, 26 Aug 2026 12:02:08 +0000 Received: by outflank-mailman (input) for mailman id 1399863; Wed, 26 Aug 2026 12:02:07 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wzCKV-0005C4-0n for xen-devel@lists.xenproject.org; Wed, 26 Aug 2026 12:02:07 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wzCKU-008IR5-Dg for xen-devel@lists.xenproject.org; Wed, 26 Aug 2026 14:02:06 +0200 Received: from [10.42.69.11] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a8ed5b5-e002-0a2a0a5209dd-0a2a450bc60c-36 for ; Wed, 26 Aug 2026 14:02:06 +0200 Received: from [209.85.218.53] (helo=mail-ej1-f53.google.com) by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a8ed5be-b7e8-0a2a450b0019-d155da35b574-3 for ; Wed, 26 Aug 2026 14:02:06 +0200 Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-c15f020a223so120064466b.1 for ; Wed, 26 Aug 2026 05:02: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 a640c23a62f3a-c250a9ef92csm466088866b.63.2026.08.26.05.01.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Aug 2026 05:01:59 -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=1787745726; x=1788350526; 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=z+XcKNuFMvLMilDPsUpM4PMWFJxDvjvamUF6fgbTnzs=; b=C9hmPpoxI9AlTed9Xf+JSawc5A6n9bvRgg8l6eMnmbCSh9ROchlGqu2ZUhXSTGTJgp DKKQL9UheUFiJTc98R3ccNFhmYkLnVoDnz1DFJPgOg5KRt4mw3qcZ1l7ZGlpNehI44US 6CyETH9km4ogkp65fbBJNU3gsIJZK0O1bkwTmhHRUDNn1ExCAG0HWBCqLP70utKUqSf3 47dTfffBsIH5reOczd0mF552VdpsKvoU5PTn/P47pGV/QHoH+m1G6rpOOoKtTezpm0b3 Eir0SQG4vju/QblKcgZzYWFELSoiYv+YjMQJCg/ODqof5UxElr7H9EgYrAU1bR5koBLq NvyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787745726; x=1788350526; 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=z+XcKNuFMvLMilDPsUpM4PMWFJxDvjvamUF6fgbTnzs=; b=a8bwdnFJo9BEqOZMPVaNjN+JdBR0Q0oHxzcXRnrwTKVXuaBug+FKqhpIDiB7eUZKUC qia1wPK3DwrZaJVv/q7o4G3M5ON2zjRWPK3ZFn9M3oJcJOY37WOVyZKndEq48kwn3/Mz EAX7nev7mOf6IF16dML5ArE2IJ6RXQ8e0ALisTn65kOwfZWUsoKogArtJgZx+klMXHfM oWnY1M2LFV2YDexVugUtCXUW7jg+5AbG13EV7fetQPCXXiCPKVmMRVNEIC8ujmH5ZRL6 I0xIQ6t1eQunxpBRHqqsvva8oKr3zbROYzyd2TgbYATBp6Mn7//akFMgteKfEPJf5hB4 w/rA== X-Gm-Message-State: AFuF++l+p6qRjnQGyPgAlkIDCfyGti+RsSV2wg65c2HMOJ1cGRjScU3h 2cy6wxtCAfne7Rg2n8zYLMo1gsr9mawMHjHyuNqv9tx+xyjqJCdzq5UOVPeXj7XFFBuBYYe+TN1 rcZ3cZg== X-Gm-Gg: AR+sD100UlYY/kVQ6eVbtJgUqJedOjOmEyJLxs+LLeG/kcGjQKD03kSLxNsLvinev+k gwcBTva9JTnIEEGAuNUfeQktBd7ZcHai4fQEQVc5HYyWzq8/NybHDi5DzNCLWrDSs2xD5Bt3M4c lfr3fSKk3NdJh3ISluuoElVN8GTnMBYdZClJhE2XfsCEAXnE5VQjoh3pACgl3odcjS5UuqN2aK3 VtzWkgyrTFRbpUcNnP24sC/x2ZNVDI4otq6FUhiCkyfEQMmf3DVnAuFPSjCBMBY1lOiCQfqdUtr VAR//E/hz7m2CXOMfOiJFYdWh7P1YV0WA398xL+I8SsSewZzLORjhLAr0kYVKmKkqYkSizYJSAk 1lS5FDC1/dnCRaET7kbvkhEsQToh+ceG6905xdvSQmCtlXskpt7IcuW2YjQQORcRdGgE/5uIOh5 2B3lxn7WWIVHD4rZv9Xh4wek6oAwQU3b7a1RWIdzeUwWRlSpkBiAlfej9r+WTEM1If3saVUpYpZ jK27Yavtpi2a7Fi/ZuR3q6n056YV/r+eiw3PbttU59zIjBVlc8rguhCFR+87iY= X-Received: by 2002:a17:907:6093:b0:c08:417e:3696 with SMTP id a640c23a62f3a-c250c318ec5mr740932566b.20.1787745723171; Wed, 26 Aug 2026 05:02:03 -0700 (PDT) Message-ID: <85bc5cc5-285e-481f-bacd-8421abae169c@suse.com> Date: Wed, 26 Aug 2026 14:01:57 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 4/7] 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: <9a78fdea-08ba-4e04-bfa1-ba09730a300b@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: <9a78fdea-08ba-4e04-bfa1-ba09730a300b@suse.com> Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-42698a/1787745726-196C29EA-0485E033/0/0 X-purgate-type: clean X-purgate-size: 2219 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1787745745855158500 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 --- 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 3 07:03:25 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=1787745797; cv=none; d=zohomail.com; s=zohoarc; b=Y4dwh8ptXWRg3azcwgLRcKQMiR2Wa3wXy7l0LwI9eDMkFNdpXjTA+xCNfndYBQ0V8iYlmS2Xs4O5Kgeas9DuU0FKD7NDHU4pu5Hl6SPRNEeURCaUtYHgvUL/yclze0c8QWdYciw6F7DUfJgXH+7D2wS1+7v14mZEoDsY1LFabQI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787745797; 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=/YkZgeYdj2H9TEbe6ZemxBOWAqqSLB5TfcHMI7phaMk=; b=h5ttUv+jA6m3giiH4ENW8nMgN2+73zqGjFcDKGe1hQh3CA/gth3Mwcc8JQs6f+i183O52yoAXGca3MUsqy4SglZbKNWmsneAKg7cSFU+zVLMr3nKiDMSGuOK3VgWPFSp1aqf7eGDv+jFELbajBv6LHbe20/Ijv8QliENJ6vJQXI= 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 1787745797489850.5499187395542; Wed, 26 Aug 2026 05:03:17 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1399876.1635851 (Exim 4.92) (envelope-from ) id 1wzCLO-0005w9-NM; Wed, 26 Aug 2026 12:03:02 +0000 Received: by outflank-mailman (output) from mailman id 1399876.1635851; Wed, 26 Aug 2026 12:03:02 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wzCLO-0005w2-JO; Wed, 26 Aug 2026 12:03:02 +0000 Received: by outflank-mailman (input) for mailman id 1399876; Wed, 26 Aug 2026 12:03:01 +0000 Received: from mx.expurgate.net ([194.145.224.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wzCLN-0005vl-BE for xen-devel@lists.xenproject.org; Wed, 26 Aug 2026 12:03:01 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wzCLM-005gag-O8 for xen-devel@lists.xenproject.org; Wed, 26 Aug 2026 14:03:00 +0200 Received: from [10.42.69.5] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a8ed5f0-bab6-0a2a0a5309dd-0a2a4505b254-26 for ; Wed, 26 Aug 2026 14:03:00 +0200 Received: from [209.85.218.54] (helo=mail-ej1-f54.google.com) by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a8ed5f4-4cb1-0a2a45050019-d155da36dd5e-3 for ; Wed, 26 Aug 2026 14:03:00 +0200 Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-c15b1da6b82so98913666b.1 for ; Wed, 26 Aug 2026 05:03:00 -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 a640c23a62f3a-c250a6fda4fsm525644466b.16.2026.08.26.05.02.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Aug 2026 05:02:58 -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=1787745780; x=1788350580; 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=/YkZgeYdj2H9TEbe6ZemxBOWAqqSLB5TfcHMI7phaMk=; b=YMu/bwNAIX72vNbbQg76rUE2gD8L/kMqn1ngtkqKJIvLBhfsWdSSmks3NInit92Clt RkSD4btiaXj+I7UpKPyASy9xdkJ7vJxxxvifBSnj0y27S+RDPOWYW9Vef6R6dmEXQxbe cGM8ydTaxq5F/mbOMfhCouhTpYmtZrr6RTvo+q7YI6XMx+r29rrSptEJlyo148pUkDyW c88hIqXai0TrJAEBkyxAVn9xBytcwODAL/qV/+XzQVUkBR2b1Mc/ULJ4PmKMP+n/q6zY ydmrOgf/iO6Yn2gj9ywe1B+eBVEhbffDSnytREv+gEVRryhPgh3ipv5a7vb3Ov2vSjNn 2gyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787745780; x=1788350580; 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=/YkZgeYdj2H9TEbe6ZemxBOWAqqSLB5TfcHMI7phaMk=; b=rL/qhNQAMh9MLyT/1rHRQA3QyghumcHrairMWEZYktjZZFA2eGe5gEaShrhFQuSzVY Sq7JmQm/XMfrP+qbhY6ZOGwo2Zt4KFJq4PEj0Z3D068gKAGinrogO2J9WDJ0NLZcbe/P Hi9p7OVtgux7sZtP5/MxeUaQ2HfL5vUeMw6ofNiuDfoCgHYWScn+5tN7jup2RIPcoRUl IjqNDvPyB36Ylh/6LZv8o9iyYO5/LEH7YEPtRcAuuYy/ZhXuQBD2Wk1qtyverEKtHRHP +7HbKwtrIhEE6mxfHWb0s9On+29F13jOiT6fnvAjVQlPY1si9Dy4g8htFtgtFKLx6eXx 21wQ== X-Gm-Message-State: AFuF++kyaVlcbsKmjbA5BigLTuVFDgTdXgWCPtNaMOXCp8+48mfBz3ef vjBREf4CeeWfZHOZr3nm/W3ztAW2mAXksWHgQiQDyBsakJlnbH6IVl6Nlu/0BuGnJa88PMNlw3a J6bF+hQ== X-Gm-Gg: AR+sD11blJ3nwkjBacoi2CU3E6J/zrhBRfOxNRoReW5bIvDz4WjU1k5mPuB+Bj+S+az iuW4bN9HrH5hZZ6XEWUkTkoRaoQZJ+VTYcKd4Dnl7XzqTBAgwnlf05Bp5/dtHIT5mCAzagN7oAW CPWBCY/24zUvkj13fwuwZiEivnf/VV5hEGFh5n8UmMmOabjbkX9rKP7NIR0uF3UUIkp+aTrSmYc r76vWxBbN1QTYgZcpn1XwQA+pyJ1QuzWzybEU28iAucTxrKHrLaBb09Nxf6CzSPmm90ubybfZk3 OvDu/oKFxaLxmcG4Ro2pig3ciJfrUlruJx4PGtjUMHQPc5XloZF/0HvWHDyQE4cSOupsHUiwGQ6 4FCg858Zrzpg5DO+098KhQzzqR/rgT7ufaZ7OVScorghHDGiLjZj9c8G+D39iSpIukvqYM5e7ql iFaalnWzja3hrnf+AUnqrvaMlvpg/czB78wyfWvGr9c68t4/msSq0S6RDnMPJCeQfyv+bgE49+N CLTQTcOGsZqFQRPtQQ3AmHBGVIKgUQCYbAQ3r+h6hSzO7gwCD7e X-Received: by 2002:a17:907:6089:b0:c25:31b4:5f15 with SMTP id a640c23a62f3a-c2531b46428mr72923166b.1.1787745779652; Wed, 26 Aug 2026 05:02:59 -0700 (PDT) Message-ID: Date: Wed, 26 Aug 2026 14:02:57 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 5/7] 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: <9a78fdea-08ba-4e04-bfa1-ba09730a300b@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: <9a78fdea-08ba-4e04-bfa1-ba09730a300b@suse.com> Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-c201ff/1787745780-728B62A1-213CE5E7/0/0 X-purgate-type: clean X-purgate-size: 2842 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1787745798678158500 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 --- 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) $^ > $@ =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 3 07:03:25 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=1787745833; cv=none; d=zohomail.com; s=zohoarc; b=lhPDhpWrkoIBrmsDS8xbmuBb9NdarPhJUk2G/tELijxkoQXIiJNCJwXv7NF3gQ91/M4g/atkSoe3EyN4KK2ywXbcdYOSIr+XmiHvTZiQ0ymEfT0ld89HU8UPH3lye0R7JvChUvg0AfiNgq+Ypoi4Y9VAHA9omZAY0yH97tgLyZc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787745833; 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=eso5Vy60QRY0iW7T/56aNIKLGvEodCAr0Gzsj7Z1ZWc=; b=nYj7gE+sF6j09yYSpDl2TrLQRWovODCjoZ62zPN983m0TliOVDfPkgUDmnQBhdyV0/FipaCpuyThJ21ZwYa74/qTUax574sExBIvEPzOlxa5FuuQcnvh6EObXmI+DI8TYc9tJIOGTn6y4u5RK1aVsdwLrhCuUtYyg55YBBlVaaE= 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 1787745833622229.41634757464863; Wed, 26 Aug 2026 05:03:53 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1399880.1635859 (Exim 4.92) (envelope-from ) id 1wzCLq-0006Mu-U3; Wed, 26 Aug 2026 12:03:30 +0000 Received: by outflank-mailman (output) from mailman id 1399880.1635859; Wed, 26 Aug 2026 12:03:30 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wzCLq-0006Mn-Qw; Wed, 26 Aug 2026 12:03:30 +0000 Received: by outflank-mailman (input) for mailman id 1399880; Wed, 26 Aug 2026 12:03:30 +0000 Received: from mx.expurgate.net ([194.145.224.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wzCLp-0006LQ-SV for xen-devel@lists.xenproject.org; Wed, 26 Aug 2026 12:03:29 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wzCLp-005gjq-9H for xen-devel@lists.xenproject.org; Wed, 26 Aug 2026 14:03:29 +0200 Received: from [10.42.69.3] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a8ed60a-bab6-0a2a0a5309dd-0a2a4503df2c-16 for ; Wed, 26 Aug 2026 14:03:29 +0200 Received: from [209.85.208.41] (helo=mail-ed1-f41.google.com) by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a8ed611-fae8-0a2a45030019-d155d029e8d1-3 for ; Wed, 26 Aug 2026 14:03:29 +0200 Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-6a3efa2b38aso1560130a12.2 for ; Wed, 26 Aug 2026 05:03:29 -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 a640c23a62f3a-c250a9ef382sm383284966b.58.2026.08.26.05.03.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Aug 2026 05:03:27 -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=1787745809; x=1788350609; 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=eso5Vy60QRY0iW7T/56aNIKLGvEodCAr0Gzsj7Z1ZWc=; b=gNWPHhPOxtKB2VsKod/QIJZGUiOYy6tRBBcyroD8BRBhy/mdqKQKb0FCukZrPo2EiJ DBOIAvBsi6o+xLNRbKUH8pwFE33VFRCRQozyNwiMxGsnuygNOjPaHSGi0hfl7S06KEch WnolD2j49+4S65kWVY6t9/+QHc4TUEd3ISp04lMO4pLDFdnDK3puoqFNtN6k+X145LbW mezmqoax6CxNeSPpObwkKvuR0MLC/gw+hBLVGhARR0pr/8UDaPDaOYRnBTatJAIh/Fe+ 7lWPD3iPeh4qoiljq4EtT55f1kegi+ZpGmopwhNuLRh4n5NHnuJWBi5KTWdG65N2e0k5 0yuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787745809; x=1788350609; 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=eso5Vy60QRY0iW7T/56aNIKLGvEodCAr0Gzsj7Z1ZWc=; b=mabWoP1RixgoOXrA9WRU6qEf+7KpW2O9mIEMX+eSPnvXpVWsjiG4JZuUpBCnl0e5Dx Q6B5kanZEbLVpQPLi1Md6on0Ctfy47kM0RmgeEVmdC6dftckLlrckDBdUkoptDzIYhjQ uecI36E0g/uOiz64IhNQ3nPJtzJc7ZET29oQjsSfdVHM934S28h/kXEK4BA+NBEuRD7T T7CNr6wIfsU31/YM8nOO3Mp+5WKUHAbQ1GiXyCUB7rw1qQxJ6s9qPfhC+BiFNQN+KAqf Up6RFOnSI2PdAtpGQq0euSasdRRrl1en2j2Y8TC1ZKC2SN8mSW0YK1TNpII6D3dAHUac y6Hg== X-Gm-Message-State: AFuF++kY/OZ0fkmhvI5bJn1C/dRnvtk5y4/U3lrTFrRHIDoY2Q+MY3mg 2/PSwxSnDEM3PUlFPJwKwUSUUgAzsF7J8FwJb003LkSa9mEVH369KxN4kaD2JlPvJEi8wVAkryV 9syNOZg== X-Gm-Gg: AR+sD13TggQZFM41bLP12WyYv9hAwclVjpTF1xbfu5B+OFz1DHt/PtFOsFzMRpuJ9jw hfSCs78bqx+CrO57Iti4mkG5d+ZyaVRZ9wKbBSSFLcr676GYNVEvWnl+Kz1UFXrx58guPN6GG2L MWPzLaU8Fuv8tar7pI0UaTTA1NuPivALEYfb9nwNBTFsHE/20F61dS+HqqDaDPfNqep0R1YxzHv hJhdkdH6rb2UF8c0tGu5M9pmgcVCyhE5FbLZy/8k10utjUyP+ecBwJZBAakFcLDgz7gYwsUhTbX 5mvYhH6vCpz/jBRY0fbm8KgvSU6GkWwn0xfTgWPVuQwxdcOC7A2oKeB+Ct9jEhWOxRyFzYlpALG DxWYkLT/yaUxo8iQMiV6fYYPD6KQFuyoDY11oIZh9G23vAOr6MLnIFBrLqfUyVvzS3nBIl7QrH7 rNQL/wfccvxomMOsxMsiUIkwF/H2W2En5zxkUQcszNvYyPXkk9ZvH4ap/bgZaEYQJnuoJ7/3SYZ WWwC4aW/Pq8xYrhJN59GFVxyRhoH5A2QzCL3KCXQQ/UxaWMqdO9vw== X-Received: by 2002:a17:906:730e:b0:c1f:bda0:a771 with SMTP id a640c23a62f3a-c250c363aa9mr755151166b.13.1787745808567; Wed, 26 Aug 2026 05:03:28 -0700 (PDT) Message-ID: Date: Wed, 26 Aug 2026 14:03:26 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 6/7] 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: <9a78fdea-08ba-4e04-bfa1-ba09730a300b@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: <9a78fdea-08ba-4e04-bfa1-ba09730a300b@suse.com> Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-33051d/1787745809-766FB4E9-64F4D46B/0/0 X-purgate-type: clean X-purgate-size: 1830 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1787745834637158500 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 --- 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 $@ From nobody Thu Sep 3 07:03:25 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=1787745869; cv=none; d=zohomail.com; s=zohoarc; b=n9hLoP4UFVgDX5k5WyIjcWfO2b0qAJ+Z2ee9enZFzMT/rxI2LpjdfQtsEhQ2YVLrpJxKt7mCV9DUdRrdRpGgiJmUZk4cS96dmWm7IekDN6lD431RrIoxCOsS3uTW2ILVXzxpKm7zZGNhSj7LN9oNx5FNWMllUaayigl1fdBQLwA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787745869; 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=PVJaUDGprniCHOdS15F0kmtFEIvAxLzg9FMvZh5Wvbg=; b=V0OVmOBvASROo32HwJ1LyCSNCp3uLvy4fwzBvE6RuT3xEv4SxSUXBujDcvuSLJa2TjwUb4B+zn3WZRNqaiVKribVbAIxAOdIzL/Y4u6vuQzd7fnTCLA4rPxh5bLXF6rmS37pEijecWtlYVvpjGYQ3yaMBhOIrIi/ASS3/Lx72aI= 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 1787745869904367.0510377165757; Wed, 26 Aug 2026 05:04:29 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1399887.1635867 (Exim 4.92) (envelope-from ) id 1wzCMc-0006ss-5P; Wed, 26 Aug 2026 12:04:18 +0000 Received: by outflank-mailman (output) from mailman id 1399887.1635867; Wed, 26 Aug 2026 12:04:18 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wzCMc-0006sl-2J; Wed, 26 Aug 2026 12:04:18 +0000 Received: by outflank-mailman (input) for mailman id 1399887; Wed, 26 Aug 2026 12:04:16 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wzCMa-0006sa-8e for xen-devel@lists.xenproject.org; Wed, 26 Aug 2026 12:04:16 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wzCMZ-00BxmO-LJ for xen-devel@lists.xenproject.org; Wed, 26 Aug 2026 14:04:15 +0200 Received: from [10.42.69.1] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a8ed637-e002-0a2a0a5209dd-0a2a4501ae1e-46 for ; Wed, 26 Aug 2026 14:04:15 +0200 Received: from [209.85.208.49] (helo=mail-ed1-f49.google.com) by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a8ed63f-5984-0a2a45010019-d155d031f188-3 for ; Wed, 26 Aug 2026 14:04:15 +0200 Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-6a3fda88184so1394525a12.3 for ; Wed, 26 Aug 2026 05:04:15 -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 4fb4d7f45d1cf-6a5de5f7bb8sm4136250a12.0.2026.08.26.05.04.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Aug 2026 05:04:09 -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=1787745855; x=1788350655; 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=PVJaUDGprniCHOdS15F0kmtFEIvAxLzg9FMvZh5Wvbg=; b=KMdC/QqtF/Y8eVryPDTB3FtPMsr/0rIrycpSjMbG8pcfShOJl0EitJWIoXerHerVwS zvI4gRXylX0o+TeUqqjMRP1Uk4LiGb+9enl3fDciv7WRabYiFRehBlN0Ap3a6j9sK5yL cEi9+no7YdU2cL8HQwUPL2l1W3MwW++DNtji5ssJPxHZj67f/R9re2AiEkJJNr+MZqqa SApyPylbrc/jgl7Aw9NCHwXKga8tfHc/VLjCMGdf2NpIsXFXRGsGjxdzEUK+EzqnZ5Ks tYJL4UycAmxz6HwlP4yqX0f7ghzxCu7tL/Wx0bE//VjDwpsyKbrtbeby7Z9Zh1kazdpT /Q+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787745855; x=1788350655; 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=PVJaUDGprniCHOdS15F0kmtFEIvAxLzg9FMvZh5Wvbg=; b=idlsWV5xeuFn6Vg2qXYSU454l0ZHxptWsJXX1D0ch2qtdVilylR+34oQKhfgBIHsGE lTcvTkB49XMhl9CANskBniun5LBVZkAB7DEomVtK4XSptP0H8DXO+lAiXJoCyzfMenld LxpO9V7RI2JKYEpKPkTtSZX/XJ1tBmeyvaP9LrVsY0nxA92LMtd+gDW0Tq8dfj/cm5eu b+udMjn0KOF3zkPqWzfV7l6ps5Jrycv6OOLM7e1Yolf/UlwLzvkb6m1gY3lKbtspE4FZ tEZHBM1wH+kYtB2nZ0XFjoTtIQ9+lDtFuFBjj4bIK7E96EX1h3DvXYv+g+hvvKavL7kf j0Bg== X-Gm-Message-State: AFuF++lG5+VAC6V9Iqa0HHdmxCYyjcv8AVAe732ZZ6CIG5Ds1L1StUQr gkABZNhtWjHi8xulz7O+GDMr2Rg0HcNxrw73nL/ydgJbu31UAoHcz8zf37TENe++4mYPCLMFzwl OArQ7TQ== X-Gm-Gg: AR+sD12miPAVgvDgs6DihHvYRqSzDyNIRZHeJtBYd6AcXh/D5qzybz90m5G4F22VeKt c/yvgpvYFeqLizklDiKTzjwvOJK9Ff5arsG7GLNtcx7at+gTteqn8M2vGXk2WurvKWg9UyMx86E 3XLzNh425WoiGbO2/R6HwcgpI7st2lVWRA0IfOg9q9OocJJHi6hD9kKttZM4ZRoSutQXCCqRTeR pQE/1yGJ4pdXM+9UPel+uAFd59IsVnqXTlkFM22CEWTIWdDCv3dJYmd1BK9pHfpxAnWyVbd9BVh Xynxdk5WJO37mIC/nKCxDUCraRksRSwzXuqiDuDSvvI4wTjNxh6Srl+pEuXytuycT3jeojcNfCa Ib6/ZReSt0OGr4bX3FuN2VYm8TCYlIJEEluCndRvj6sv1OQ2nLc/WO0YmNLewD9Pkpc4nzwmv5t 6nM4/b5MGHALoP04Mvor+kMcRzqnl2Qqnta/fe/SuFXmiMm6GjT8mkhmbIFNLKdUjV0Ouzh3SlD 0E9CPR0ZHNTtAJEyuDz4WBNR+j9oMKCBxY83CFcFURpHdRAKz17zpKS4wR+LxU= X-Received: by 2002:a05:6402:190c:b0:6a1:29ca:681e with SMTP id 4fb4d7f45d1cf-6a5df5e18c6mr7616941a12.7.1787745850414; Wed, 26 Aug 2026 05:04:10 -0700 (PDT) Message-ID: Date: Wed, 26 Aug 2026 14:04:08 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 7/7] RISC-V: place .sdata / .srodata / .riscv.attributes 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: <9a78fdea-08ba-4e04-bfa1-ba09730a300b@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: <9a78fdea-08ba-4e04-bfa1-ba09730a300b@suse.com> Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-d62444/1787745855-BD341757-289A1949/0/0 X-purgate-type: clean X-purgate-size: 1611 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1787745870983158500 Content-Type: text/plain; charset="utf-8" Of the short-data sections, only .sbss is presently mentioned in the linker script. Place them next to, but ahead of their "normal" data sections. .riscv.attributes can go towards the tail of the image, next to (ahead of) debug info. Signed-off-by: Jan Beulich Reviewed-by: Oleksii Kurochko --- Seeing where .sbss lives, does positioning really not matter at all? I would have expected that short-data sections want to live close together, and specifically close to .text / .init.text (seeing that such data is accessed using AUIPC). I'm puzzled that the psABI doesn't even mention them, hence leaving it open how exactly they are to be used. What remains to eliminate orphan section warnings is the placement of .note.GNU-stack (which perhaps wants dealing with on all of Arm, PPC, and RISC-V together, ideally unifying with x86) and (odd at the first glance, but dealt with on x86 as well, i.e. may again want unifying) that of a number of .rela.* sections. --- a/xen/arch/riscv/xen.lds.S +++ b/xen/arch/riscv/xen.lds.S @@ -44,6 +44,8 @@ SECTIONS =20 BUGFRAMES =20 + *(.srodata) + *(.srodata.*) *(.rodata) *(.rodata.*) VPCI_ARRAY @@ -92,6 +94,7 @@ SECTIONS SCHEDULER_ARRAY HYPFS_PARAM =20 + *(.sdata .sdata.*) *(.data .data.*) CONSTRUCTORS } :text @@ -162,6 +165,8 @@ SECTIONS /* Section for the device tree blob (if any). */ .dtb : { *(.dtb) } :text =20 + .riscv.attributes : { *(.riscv.attributes) } :text + DWARF2_DEBUG_SECTIONS =20 DISCARD_SECTIONS