From nobody Fri Apr 12 10:46:25 2024 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGCss65Jcz5H9VC; Fri, 12 Apr 2024 10:46:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VGCss5YDxz4LX5; Fri, 12 Apr 2024 10:46:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712918785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4mhtqcJUg2tKN8yZawTrEoofIF7LvSci9DUNygjOhdo=; b=wscz3duOKEK0lTxx+Mqmi/JoGvyvj4twhVN738NxgL/874420TVjrG1jLxYqbFfcvcxplM ++9ZyoUZmO3F9gZzd2DLsj2ZK8tfVgtXMRIFkXzwgew2EhYBNSSmOVVlWCKxFoAyJIs+42 EgxzQoE3TB92HDUc3JB5nivB8SfAZyAW4mE+lf08FSuWkbTek2cxzi3wrzsBARPMWdHlN1 USmCfFotUbL5dKt3DSy8kOcCHiLef+3LZT3blT4fbZCtUV7BZlCxck7WWT4/fVpMVaj03V 1ET2ixoKg1VldFwhNuH9VzIN6ytRUac4EmnK+0AFLDJVtUOHtBnlAnZjYFPQqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712918785; a=rsa-sha256; cv=none; b=tSJxjfx2TsqRZka7wcV/fpn7qTGK7JCDxsAbWGU04goOsW6JDuvLFnJ1p/VErse0hACRTQ 7Iq/hH8JALgKPd7+AAnWD3keot52IU/F3bOnheQpUGSHvG7YbJFlcMhrEiwxNTr6P9QuJs D0Bqf7NTHK8Y4fWTeVvIyLM2heKLBQDXtN38Uxnv08fQdhTVBWYd+9XOIH0Abi35TZK/7u 0DGrDHAliV4H+1fCICYPMvKWCmignWOh0bh4WpxW8yD1JgWU5JpR8uTu05GK5cf9JT/g9Y PfFvBqBK1AafntiFzplrmMfEYVO1j0v4cwvSUMuRel2K0HKmY59WtcDcJEPtNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712918785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4mhtqcJUg2tKN8yZawTrEoofIF7LvSci9DUNygjOhdo=; b=QQTXn3DV6aWxvSpzjR5XSVxfEL2yJtc8T2m2rmc9h+NHVTXDNtMDRT95xUIKG0VEZbdL32 oS8mP8bBHtBgkXS3to+KrC8VczMNMT3LVR1TchNOq8oaR4n1jRjK8XXqExeC97+w41vhTs Uf5rTw6SrhqzEm5h3gV6Qpmqgdj/zE5mhIs0xmJCaLALBvEMDpt13lQmXtJE7D+bd2+bcR UgqdHENPaNUVgyfU506zhfhQ0dyyBCSgtYak5nvDMi3BIlhL/VHmcmImJECILyQ/xm8nWd nQWwrYwIbgcDh7W43lGBunINNPpQKfx6qKql0YP2J9uz34y8GnDs1UxpyNXyMg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGCss52hvzmmn; Fri, 12 Apr 2024 10:46:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CAkP1S014754; Fri, 12 Apr 2024 10:46:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CAkP6F014751; Fri, 12 Apr 2024 10:46:25 GMT (envelope-from git) Date: Fri, 12 Apr 2024 10:46:25 GMT Message-Id: <202404121046.43CAkP6F014751@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: 80e73db7c857 - main - {emulators,sysutils}/xen-{kernel,tools}: update to 4.8.2 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: royger X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 80e73db7c8577c8333d529939b61d22ef4b818bc Auto-Submitted: auto-generated The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/ports/commit/?id=80e73db7c8577c8333d529939b61d22ef4b818bc commit 80e73db7c8577c8333d529939b61d22ef4b818bc Author: Roger Pau Monné AuthorDate: 2024-04-12 09:23:55 +0000 Commit: Roger Pau Monné CommitDate: 2024-04-12 10:46:10 +0000 {emulators,sysutils}/xen-{kernel,tools}: update to 4.8.2 Changelog: https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.18.2 Sponsored by: Cloud Software Group Approved by: bapt (implicit) --- emulators/xen-kernel/Makefile | 13 +- emulators/xen-kernel/distinfo | 6 +- ...all-use-an-union-as-register-type-for-fun.patch | 137 --------------------- sysutils/xen-tools/Makefile | 4 +- sysutils/xen-tools/distinfo | 6 +- 5 files changed, 14 insertions(+), 152 deletions(-) diff --git a/emulators/xen-kernel/Makefile b/emulators/xen-kernel/Makefile index cb81823d89d6..0fdbe20e30a8 100644 --- a/emulators/xen-kernel/Makefile +++ b/emulators/xen-kernel/Makefile @@ -1,11 +1,11 @@ PORTNAME= xen PKGNAMESUFFIX= -kernel -DISTVERSION= 4.18.0.20240201 +DISTVERSION= 4.18.2.20240411 CATEGORIES= emulators USE_GITLAB= yes GL_ACCOUNT= xen-project -GL_TAGNAME= b1fdd7d0e47e0831ac7a99d0417385fc10d3068c +GL_TAGNAME= 2d38302c33b117aa9a417056db241aefc840c2f0 MAINTAINER= royger@FreeBSD.org COMMENT= Hypervisor using a microkernel design @@ -28,9 +28,6 @@ PLIST_FILES= /boot/xen \ lib/debug/boot/xen.debug \ lib/debug/boot/xen-debug.debug -# Workaround clang code generation bug. -EXTRA_PATCHES+= ${PATCHDIR}/v2-0001-x86-altcall-use-an-union-as-register-type-for-fun.patch:-p1 - .include .if ${OPSYS} != FreeBSD @@ -42,10 +39,12 @@ IGNORE= only supported on FreeBSD # # Build both a production and a debug hypervisor. do-build: - ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${WRKSRC} build-xen ${MAKE_ARGS} debug=y + ${ECHO} "CONFIG_DEBUG=y" > ${WRKSRC}/xen/.config + ${MAKE_CMD} -C ${WRKSRC}/xen olddefconfig ${MAKE_ARGS} + ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${WRKSRC} build-xen ${MAKE_ARGS} cp ${WRKSRC}/xen/xen ${WRKSRC}/xen/xen-debug cp ${WRKSRC}/xen/xen-syms ${WRKSRC}/xen/xen-debug-syms - ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${WRKSRC} clean-xen ${MAKE_ARGS} + ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${WRKSRC} distclean-xen ${MAKE_ARGS} ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${WRKSRC} build-xen ${MAKE_ARGS} do-install: diff --git a/emulators/xen-kernel/distinfo b/emulators/xen-kernel/distinfo index 629e0923053c..d049ee74dd8a 100644 --- a/emulators/xen-kernel/distinfo +++ b/emulators/xen-kernel/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1708622887 -SHA256 (xen-project-xen-b1fdd7d0e47e0831ac7a99d0417385fc10d3068c_GL0.tar.gz) = 4cb7ef37b51d9d1ff58272fafebfa91d48aadacdb5cc4ee6f046488234be8c1b -SIZE (xen-project-xen-b1fdd7d0e47e0831ac7a99d0417385fc10d3068c_GL0.tar.gz) = 6826601 +TIMESTAMP = 1712913898 +SHA256 (xen-project-xen-2d38302c33b117aa9a417056db241aefc840c2f0_GL0.tar.gz) = c64a6ecc1b5f74f96ecaf73daf5dac58c9db00f8afcaa0e216b3b560d48a7008 +SIZE (xen-project-xen-2d38302c33b117aa9a417056db241aefc840c2f0_GL0.tar.gz) = 6840489 diff --git a/emulators/xen-kernel/files/v2-0001-x86-altcall-use-an-union-as-register-type-for-fun.patch b/emulators/xen-kernel/files/v2-0001-x86-altcall-use-an-union-as-register-type-for-fun.patch deleted file mode 100644 index ec00a478cb23..000000000000 --- a/emulators/xen-kernel/files/v2-0001-x86-altcall-use-an-union-as-register-type-for-fun.patch +++ /dev/null @@ -1,137 +0,0 @@ -From e0d563ca60b16dfab45956f60a6c1b7b1e218ba4 Mon Sep 17 00:00:00 2001 -From: Roger Pau Monne -To: xen-devel@lists.xenproject.org -Cc: Jan Beulich -Cc: Andrew Cooper -Cc: "Roger Pau Monné" -Cc: Wei Liu -Date: Wed, 21 Feb 2024 16:55:12 +0100 -Subject: [PATCH v2] x86/altcall: use an union as register type for function - parameters -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The current code for alternative calls uses the caller parameter types as the -types for the register variables that serve as function parameters: - -uint8_t foo; -[...] -alternative_call(myfunc, foo); - -Would expand roughly into: - -register unint8_t a1_ asm("rdi") = foo; -register unsigned long a2_ asm("rsi"); -[...] -asm volatile ("call *%c[addr](%%rip)"...); - -However under certain circumstances clang >= 16.0.0 with -O2 can generate -incorrect code, given the following example: - -unsigned int func(uint8_t t) -{ - return t; -} - -static void bar(uint8_t b) -{ - int ret_; - register uint8_t di asm("rdi") = b; - register unsigned long si asm("rsi"); - register unsigned long dx asm("rdx"); - register unsigned long cx asm("rcx"); - register unsigned long r8 asm("r8"); - register unsigned long r9 asm("r9"); - register unsigned long r10 asm("r10"); - register unsigned long r11 asm("r11"); - - asm volatile ( "call %c[addr]" - : "+r" (di), "=r" (si), "=r" (dx), - "=r" (cx), "=r" (r8), "=r" (r9), - "=r" (r10), "=r" (r11), "=a" (ret_) - : [addr] "i" (&(func)), "g" (func) - : "memory" ); -} - -void foo(unsigned int a) -{ - bar(a); -} - -Clang generates the following code: - -func: # @func - movl %edi, %eax - retq -foo: # @foo - callq func - retq - -Note the truncation of the unsigned int parameter 'a' of foo() to uint8_t when -passed into bar() is lost. - -The above can be worked around by using an union when defining the register -variables, so that `di` becomes: - -register union { - uint8_t e; - unsigned long r; -} di asm("rdi") = { .e = b }; - -Which results in following code generated for `foo()`: - -foo: # @foo - movzbl %dil, %edi - callq func - retq - -So the truncation is not longer lost. Apply such workaround only when built -with clang. - -Reported-by: Matthew Grooms -Link: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277200 -Link: https://github.com/llvm/llvm-project/issues/82598 -Signed-off-by: Roger Pau Monné ---- -Changes since v1: - - Only apply the union workaround with clang. - -Seems like all gitlab build tests are OK with this approach. ---- - xen/arch/x86/include/asm/alternative.h | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/xen/arch/x86/include/asm/alternative.h b/xen/arch/x86/include/asm/alternative.h -index a1cd6a9fe5b8..3fe27ea791bf 100644 ---- a/xen/arch/x86/include/asm/alternative.h -+++ b/xen/arch/x86/include/asm/alternative.h -@@ -167,9 +167,25 @@ extern void alternative_branches(void); - #define ALT_CALL_arg5 "r8" - #define ALT_CALL_arg6 "r9" - -+#ifdef CONFIG_CC_IS_CLANG -+/* -+ * Use an union with an unsigned long in order to prevent clang from skipping a -+ * possible truncation of the value. By using the union any truncation is -+ * carried before the call instruction. -+ * https://github.com/llvm/llvm-project/issues/82598 -+ */ -+#define ALT_CALL_ARG(arg, n) \ -+ register union { \ -+ typeof(arg) e; \ -+ unsigned long r; \ -+ } a ## n ## _ asm ( ALT_CALL_arg ## n ) = { \ -+ .e = ({ BUILD_BUG_ON(sizeof(arg) > sizeof(void *)); (arg); }) \ -+ } -+#else - #define ALT_CALL_ARG(arg, n) \ - register typeof(arg) a ## n ## _ asm ( ALT_CALL_arg ## n ) = \ - ({ BUILD_BUG_ON(sizeof(arg) > sizeof(void *)); (arg); }) -+#endif - #define ALT_CALL_NO_ARG(n) \ - register unsigned long a ## n ## _ asm ( ALT_CALL_arg ## n ) - --- -2.43.0 - diff --git a/sysutils/xen-tools/Makefile b/sysutils/xen-tools/Makefile index a38f0c4d4ffa..610f426d074b 100644 --- a/sysutils/xen-tools/Makefile +++ b/sysutils/xen-tools/Makefile @@ -1,12 +1,12 @@ PORTNAME= xen PKGNAMESUFFIX= -tools -DISTVERSION= 4.18.0.20240201 +DISTVERSION= 4.18.2.20240411 PORTREVISION= 1 CATEGORIES= sysutils emulators USE_GITLAB= yes GL_ACCOUNT= xen-project -GL_TAGNAME= b1fdd7d0e47e0831ac7a99d0417385fc10d3068c +GL_TAGNAME= 2d38302c33b117aa9a417056db241aefc840c2f0 GL_TUPLE= qemu-project:qemu:v8.0.4:qemu \ qemu-project:dtc:b6910bec:dtc \ qemu-project:meson:3a9b285a:meson \ diff --git a/sysutils/xen-tools/distinfo b/sysutils/xen-tools/distinfo index 97bbb13a4006..578a854967e2 100644 --- a/sysutils/xen-tools/distinfo +++ b/sysutils/xen-tools/distinfo @@ -1,6 +1,6 @@ -TIMESTAMP = 1708623243 -SHA256 (xen-project-xen-b1fdd7d0e47e0831ac7a99d0417385fc10d3068c_GL0.tar.gz) = 4cb7ef37b51d9d1ff58272fafebfa91d48aadacdb5cc4ee6f046488234be8c1b -SIZE (xen-project-xen-b1fdd7d0e47e0831ac7a99d0417385fc10d3068c_GL0.tar.gz) = 6826601 +TIMESTAMP = 1712913938 +SHA256 (xen-project-xen-2d38302c33b117aa9a417056db241aefc840c2f0_GL0.tar.gz) = c64a6ecc1b5f74f96ecaf73daf5dac58c9db00f8afcaa0e216b3b560d48a7008 +SIZE (xen-project-xen-2d38302c33b117aa9a417056db241aefc840c2f0_GL0.tar.gz) = 6840489 SHA256 (qemu-v8.0.4.tar.bz2) = 958eae6b32046bb512b5b968f66e896258fa8c4ec5c7fdf2d780fd206c677774 SIZE (qemu-v8.0.4.tar.bz2) = 31468222 SHA256 (dtc-b6910bec.tar.bz2) = f180420b105bdd35cfee9977d6ee2ee5d6601aa2a84693c048a985a604bd2c1c