From 4d6a835dea47bdcdd67e68deb9161c4a6437d944 Mon Sep 17 00:00:00 2001 From: Laurent Vivier Date: Tue, 10 Mar 2020 11:33:43 +0100 Subject: [PATCH] linux-user: introduce parameters to generate syscall_nr.h This will be used when we'll import syscall.tbl from the kernel Add a script to remove all the dependencies to syscall_nr.h that point to source directory and not to the build directory. The list of arch will be update while the generated files are added. Signed-off-by: Laurent Vivier Reviewed-by: Richard Henderson Reviewed-by: Taylor Simpson Message-Id: <20200310103403.3284090-2-laurent@vivier.eu> Signed-off-by: Laurent Vivier --- Makefile.target | 3 ++- configure | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Makefile.target b/Makefile.target index 2d43dc586a..cb3a6fa5e7 100644 --- a/Makefile.target +++ b/Makefile.target @@ -128,7 +128,8 @@ ifdef CONFIG_LINUX_USER QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) \ -I$(SRC_PATH)/linux-user/host/$(ARCH) \ - -I$(SRC_PATH)/linux-user + -I$(SRC_PATH)/linux-user \ + -Ilinux-user/$(TARGET_ABI_DIR) obj-y += linux-user/ obj-y += gdbstub.o thunk.o diff --git a/configure b/configure index cbf864bff1..39e55a1ecf 100755 --- a/configure +++ b/configure @@ -1887,6 +1887,17 @@ fi # Remove old dependency files to make sure that they get properly regenerated rm -f */config-devices.mak.d +# Remove syscall_nr.h to be sure they will be regenerated in the build +# directory, not in the source directory +for arch in ; do + # remove the file if it has been generated in the source directory + rm -f "${source_path}/linux-user/${arch}/syscall_nr.h" + # remove the dependency files + find . -name "*.d" \ + -exec grep -q "${source_path}/linux-user/${arch}/syscall_nr.h" {} \; \ + -exec rm {} \; +done + if test -z "$python" then error_exit "Python not found. Use --python=/path/to/python" @@ -7931,6 +7942,9 @@ echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak if [ "$HOST_VARIANT_DIR" != "" ]; then echo "HOST_VARIANT_DIR=$HOST_VARIANT_DIR" >> $config_target_mak fi +if [ "$TARGET_SYSTBL_ABI" != "" ]; then + echo "TARGET_SYSTBL_ABI=$TARGET_SYSTBL_ABI" >> $config_target_mak +fi if supported_xen_target $target; then echo "CONFIG_XEN=y" >> $config_target_mak -- 2.39.2