63 lines
2.6 KiB
Diff
63 lines
2.6 KiB
Diff
From e185104a10a37174d13d981fa1febafbb7e651aa Mon Sep 17 00:00:00 2001
|
|
From: Paolo Bonzini <pbonzini@redhat.com>
|
|
Date: Mon, 3 Jun 2024 13:49:49 +0200
|
|
Subject: [PATCH 050/100] update-linux-headers: fix forwarding to asm-generic
|
|
headers
|
|
|
|
RH-Author: Paolo Bonzini <pbonzini@redhat.com>
|
|
RH-MergeRequest: 245: SEV-SNP support
|
|
RH-Jira: RHEL-39544
|
|
RH-Acked-by: Thomas Huth <thuth@redhat.com>
|
|
RH-Acked-by: Bandan Das <bdas@redhat.com>
|
|
RH-Acked-by: Vitaly Kuznetsov <vkuznets@redhat.com>
|
|
RH-Commit: [50/91] 3c98a7fe790d943bb5ff8dca1da83f5944ec3e2e (bonzini/rhel-qemu-kvm)
|
|
|
|
Afer commit 3efc75ad9d9 ("scripts/update-linux-headers.sh: Remove
|
|
temporary directory inbetween", 2024-05-29), updating linux-headers/
|
|
results in errors such as
|
|
|
|
cp: cannot stat '/tmp/tmp.1A1Eejh1UE/headers/include/asm/bitsperlong.h': No such file or directory
|
|
|
|
because Loongarch does not have an asm/bitsperlong.h file and uses the
|
|
generic version. Before commit 3efc75ad9d9, the missing file would
|
|
incorrectly cause stale files to be included in linux-headers/. The files
|
|
were never committed to qemu.git, but were wrong nevertheless. The build
|
|
would just use the system version of the files, which is opposite to
|
|
the idea of importing Linux header files into QEMU's tree.
|
|
|
|
Create forwarding headers, resembling the ones that are generated during a
|
|
kernel build by scripts/Makefile.asm-generic, if a file is only installed
|
|
under include/asm-generic/.
|
|
|
|
Reviewed-by: Thomas Huth <thuth@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
(cherry picked from commit ef7c70f020ca1fe9e7c98ea2cd9d6ba3c5714716)
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
---
|
|
scripts/update-linux-headers.sh | 9 ++++++++-
|
|
1 file changed, 8 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/scripts/update-linux-headers.sh b/scripts/update-linux-headers.sh
|
|
index f084bee72e..78c0f2c43e 100755
|
|
--- a/scripts/update-linux-headers.sh
|
|
+++ b/scripts/update-linux-headers.sh
|
|
@@ -119,7 +119,14 @@ for arch in $ARCHLIST; do
|
|
rm -rf "$output/linux-headers/asm-$arch"
|
|
mkdir -p "$output/linux-headers/asm-$arch"
|
|
for header in kvm.h unistd.h bitsperlong.h mman.h; do
|
|
- cp "$hdrdir/include/asm/$header" "$output/linux-headers/asm-$arch"
|
|
+ if test -f "$hdrdir/include/asm/$header"; then
|
|
+ cp "$hdrdir/include/asm/$header" "$output/linux-headers/asm-$arch"
|
|
+ elif test -f "$hdrdir/include/asm-generic/$header"; then
|
|
+ # not installed as <asm/$header>, but used as such in kernel sources
|
|
+ cat <<EOF >$output/linux-headers/asm-$arch/$header
|
|
+#include <asm-generic/$header>
|
|
+EOF
|
|
+ fi
|
|
done
|
|
|
|
if [ $arch = mips ]; then
|
|
--
|
|
2.39.3
|
|
|