build: fix kernel 5.4 on macos

As part of the kernel build process there are utilities built to run on
the host system that expect linux kernel headers to be available.
Unfortunately macos/darwin doesn't have these headers.

vdso2c requires types.h so provide a minimal stub to satisfy it.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
This commit is contained in:
Kevin Darbyshire-Bryant 2020-03-13 17:56:40 +00:00
parent 32726846c8
commit 0a06fcf608
2 changed files with 28 additions and 0 deletions

View File

@ -138,6 +138,10 @@ $(STAGING_DIR_HOST)/.prepared: $(TMP_DIR)/.build
mkdir -p $(BUILD_DIR_HOST)/stamp $(STAGING_DIR_HOST)/include/sys
$(INSTALL_DATA) $(TOPDIR)/tools/include/*.h $(STAGING_DIR_HOST)/include/
$(INSTALL_DATA) $(TOPDIR)/tools/include/sys/*.h $(STAGING_DIR_HOST)/include/sys/
ifneq ($(HOST_OS),Linux)
mkdir -p $(STAGING_DIR_HOST)/include/asm
$(INSTALL_DATA) $(TOPDIR)/tools/include/asm/*.h $(STAGING_DIR_HOST)/include/asm/
endif
ln -snf lib $(STAGING_DIR_HOST)/lib64
touch $@

24
tools/include/asm/types.h Normal file
View File

@ -0,0 +1,24 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
* asm-generic/int-ll64.h
*
* Integer declarations for architectures which use "long long"
* for 64-bit types.
*/
#ifndef _ASM_GENERIC_INT_LL64_H
#define _ASM_GENERIC_INT_LL64_H
typedef __signed__ char __s8;
typedef __signed__ short __s16;
typedef __signed__ int __s32;
#ifdef __GNUC__
__extension__ typedef __signed__ long long __s64;
#else
typedef __signed__ long long __s64;
#endif
#endif /* _ASM_GENERIC_INT_LL64_H */