aboutsummaryrefslogtreecommitdiff
path: root/emulators/xen-kernel
diff options
context:
space:
mode:
authorRoger Pau Monné <royger@FreeBSD.org>2020-08-27 07:59:22 +0000
committerRoger Pau Monné <royger@FreeBSD.org>2020-08-27 07:59:22 +0000
commit4e2c592597ec82931fd4530473542108140fa283 (patch)
treeeab5d0d7ccccd2593a2f17a9a434755ff69afc30 /emulators/xen-kernel
parentfdd28ee8d6fa8687802928e8c7133f1780fe2d7d (diff)
downloadports-4e2c592597ec82931fd4530473542108140fa283.tar.gz
ports-4e2c592597ec82931fd4530473542108140fa283.zip
Notes
Diffstat (limited to 'emulators/xen-kernel')
-rw-r--r--emulators/xen-kernel/Makefile7
-rw-r--r--emulators/xen-kernel/distinfo6
-rw-r--r--emulators/xen-kernel/files/0001-x86-use-constant-flags-for-section-.init.rodata.patch62
3 files changed, 70 insertions, 5 deletions
diff --git a/emulators/xen-kernel/Makefile b/emulators/xen-kernel/Makefile
index aaf6bae0cad2..decaae7778ea 100644
--- a/emulators/xen-kernel/Makefile
+++ b/emulators/xen-kernel/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= xen
-PORTVERSION= 4.13.1
+PORTVERSION= 4.14.0
PORTREVISION= 0
CATEGORIES= emulators
MASTER_SITES= http://downloads.xenproject.org/release/xen/${PORTVERSION}/
@@ -14,7 +14,7 @@ LICENSE= GPLv2
ONLY_FOR_ARCHS= amd64
-USES= cpe gmake python:build
+USES= cpe gmake python:build bison
# Ports build environment has ARCH=amd64 set which disables Xen automatic arch
# detection, but amd64 is not a valid arch for Xen. Hardcode x86_64 on the
@@ -25,6 +25,9 @@ STRIP= #
PLIST_FILES= /boot/xen \
lib/debug/boot/xen.debug
+# Fix build with clang 11
+EXTRA_PATCHES+= ${PATCHDIR}/0001-x86-use-constant-flags-for-section-.init.rodata.patch:-p1
+
.include <bsd.port.options.mk>
.if ${OPSYS} != FreeBSD
diff --git a/emulators/xen-kernel/distinfo b/emulators/xen-kernel/distinfo
index 1170407b1bf0..77df637dea61 100644
--- a/emulators/xen-kernel/distinfo
+++ b/emulators/xen-kernel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1590416499
-SHA256 (xen-4.13.1.tar.gz) = b97ce363e55b12c992063f4466c43cba0a6386ceb7a747b4dc670311f337ef01
-SIZE (xen-4.13.1.tar.gz) = 39024612
+TIMESTAMP = 1598458426
+SHA256 (xen-4.14.0.tar.gz) = 06839f68ea7620669dbe8b67861213223cc2a7d02ced61b56e5249c50e87f035
+SIZE (xen-4.14.0.tar.gz) = 39950576
diff --git a/emulators/xen-kernel/files/0001-x86-use-constant-flags-for-section-.init.rodata.patch b/emulators/xen-kernel/files/0001-x86-use-constant-flags-for-section-.init.rodata.patch
new file mode 100644
index 000000000000..17630f77fef3
--- /dev/null
+++ b/emulators/xen-kernel/files/0001-x86-use-constant-flags-for-section-.init.rodata.patch
@@ -0,0 +1,62 @@
+From 40a95cf571242cffed8b35a7301730e2b45c217d Mon Sep 17 00:00:00 2001
+From: Roger Pau Monne <roger.pau@citrix.com>
+To: xen-devel@lists.xenproject.org
+Cc: Jan Beulich <jbeulich@suse.com>
+Cc: Andrew Cooper <andrew.cooper3@citrix.com>
+Cc: Wei Liu <wl@xen.org>
+Cc: "Roger Pau Monné" <roger.pau@citrix.com>
+Date: Wed, 26 Aug 2020 15:37:24 +0200
+Subject: [PATCH] x86: use constant flags for section .init.rodata
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+LLVM 11 complains with:
+
+<instantiation>:1:1: error: changed section flags for .init.rodata, expected: 0x2
+.pushsection .init.rodata
+^
+<instantiation>:30:9: note: while in macro instantiation
+ entrypoint 0
+ ^
+entry.S:979:9: note: while in macro instantiation
+ .rept 256
+ ^
+
+And:
+
+entry.S:1015:9: error: changed section flags for .init.rodata, expected: 0x2
+ .section .init.rodata
+ ^
+
+Fix it by explicitly using the same flags and type in all the
+instances.
+
+Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
+---
+ xen/arch/x86/x86_64/entry.S | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
+index 8b57a00040..1e880eb9f6 100644
+--- a/xen/arch/x86/x86_64/entry.S
++++ b/xen/arch/x86/x86_64/entry.S
+@@ -967,7 +967,7 @@ GLOBAL(trap_nop)
+ GLOBAL(autogen_entrypoints)
+ /* pop into the .init.rodata section and record an entry point. */
+ .macro entrypoint ent
+- .pushsection .init.rodata
++ .pushsection .init.rodata, "a", @progbits
+ .quad \ent
+ .popsection
+ .endm
+@@ -1012,5 +1012,5 @@ autogen_stubs: /* Automatically generated stubs. */
+ vec = vec + 1
+ .endr
+
+- .section .init.rodata
++ .section .init.rodata, "a", @progbits
+ .size autogen_entrypoints, . - autogen_entrypoints
+--
+2.28.0
+