update-linux-headers: fix forwarding to asm-generic headers
Afer commit3efc75ad9d
("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 commit3efc75ad9d
, 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>
This commit is contained in:
parent
7604bbc2d8
commit
ef7c70f020
@ -118,7 +118,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
|
||||
|
Loading…
Reference in New Issue
Block a user