ports/emulators/xen-kernel/files/0003-xen-link-handle-.init.rodata.cst-sections-in-the-lin.patch
Roger Pau Monné 2213382ec7 xen-{kernel/tools}: switch back to LLVM toolchain
Backport upstream fixes to correctly build Xen using LLVM 8
toolchain.

Note the fixes are not strictly needed for xen-tools since the Xen
shim build is only ever supposed to be booted using the PVH entry
point (and not the multiboot entry points). Yet given LLD8 erratic
behaviour with orphan section placement I think it's best to ensure
proper section placement for the shim also.

Sponsored by:		Citrix Systems R&D
Reviewed by:		mat
Differential revision:	https://reviews.freebsd.org/D20816
2019-07-03 14:24:46 +00:00

53 lines
1.6 KiB
Diff

From 874fc28b72fbb49f4f304b9acd3d49afd8326042 Mon Sep 17 00:00:00 2001
From: Roger Pau Monne <roger.pau@citrix.com>
Date: Thu, 27 Jun 2019 11:33:34 +0200
Subject: [PATCH 3/4] xen/link: handle .init.rodata.cst* sections in the linker
script
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Note that those sections when not prefixed with .init are already
handled by the more general .rodata.* matching pattern in the .rodata
output section.
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
[Make .init.rodata consistent with .rodata]
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
xen/arch/arm/xen.lds.S | 3 +--
xen/arch/x86/xen.lds.S | 3 +--
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index e664c4441a..12c107f45d 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -154,8 +154,7 @@ SECTIONS
. = ALIGN(PAGE_SIZE);
.init.data : {
*(.init.rodata)
- *(.init.rodata.rel)
- *(.init.rodata.str*)
+ *(.init.rodata.*)
. = ALIGN(POINTER_ALIGN);
__setup_start = .;
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index cee7cf80dd..a73139cd29 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -219,8 +219,7 @@ SECTIONS
#endif
*(.init.rodata)
- *(.init.rodata.rel)
- *(.init.rodata.str*)
+ *(.init.rodata.*)
. = ALIGN(POINTER_ALIGN);
__setup_start = .;
--
2.20.1 (Apple Git-117)