x86: work around build issue with GNU ld 2.37
authorJan Beulich <jbeulich@suse.com>
Thu, 22 Jul 2021 09:20:38 +0000 (11:20 +0200)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 27 Jul 2021 14:03:29 +0000 (15:03 +0100)
I suspect it is commit 40726f16a8d7 ("ld script expression parsing")
which broke the hypervisor build, by no longer accepting section names
with a dash in them inside ADDR() (and perhaps other script directives
expecting just a section name, not an expression): .note.gnu.build-id
is such a section.

Quoting all section names passed to ADDR() via DECL_SECTION() works
around the regression.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/xen.lds.S

index 9c6c1c8005aedc5c87eee57a7650ca94a49e4506..955d5cf4a035bc92d785aa3734172bee0ad518fc 100644 (file)
@@ -18,7 +18,7 @@ ENTRY(efi_start)
 #else /* !EFI */
 
 #define FORMAT "elf64-x86-64"
-#define DECL_SECTION(x) x : AT(ADDR(x) - __XEN_VIRT_START)
+#define DECL_SECTION(x) x : AT(ADDR(#x) - __XEN_VIRT_START)
 
 ENTRY(start_pa)