@@ -36,6 +36,7 @@ AC_DEFUN([AC_CONFIG_KERNEL], [
3636 AC_SHASH_DESC_FLAGS
3737 AC_DCORE_IOVA_VM_CTX_VFIO_DEVICE
3838 AC_DCORE_IOVA_VM_CTX_PAGE_ARRAY
39+ AC_VFIO_DMA_UNMAP
3940 AC_VPRINTK_EMIT_5_ARG
4041 AC_FTRACE_REGS_OPS
4142 AC_DEVNODE_CONST
@@ -45,16 +46,12 @@ AC_DEFUN([AC_CONFIG_KERNEL], [
4546 AC_KFREE_SENSITIVE
4647 AC_GET_USER_PAGES_REMOTE_6_ARG
4748 AC_GET_USER_PAGES_REMOTE_7_ARG
49+ AC_GET_USER_PAGES_REMOTE_8_ARG
4850 AC_UP_DOWN_READ
4951 AC_MAX_PAGE_ORDER
5052 AC_SUPPORT_LIVE_MIGRATION
5153 AC_HRTIMER_SETUP
5254 AC_KERNEL_WAIT
53- AS_IF ( [ test "$LINUX_OBJ" != "$LINUX"] , [
54- KERNEL_MAKE="$KERNEL_MAKE O=$LINUX_OBJ"
55- ] )
56-
57- AC_SUBST ( KERNEL_MAKE )
5855] )
5956
6057dnl #
@@ -271,7 +268,14 @@ AC_DEFUN([AC_KERNEL_TMP_BUILD_DIR], [
271268 cd $build_dir
272269 $1
273270 AS_IF ( [ test -s confdefs.h] , [
274- cat confdefs.h >>$build_dir_root/confdefs.h
271+ # Multiple background jobs may try to append to the shared confdefs.h.
272+ # Take a simple lock to avoid interleaved writes.
273+ confdefs_lockdir="$build_dir_root/.confdefs.lockdir"
274+ while ! mkdir "$confdefs_lockdir" 2>/dev/null; do
275+ sleep 0.05
276+ done
277+ cat confdefs.h >>"$build_dir_root/confdefs.h"
278+ rmdir "$confdefs_lockdir"
275279 ] )
276280 cd $build_dir_root
277281 rm -rf $build_dir
@@ -293,23 +297,6 @@ AC_DEFUN([AC_KERNEL_TRY_COMPILE_MODULE],
293297 [ $3 ] , [ $4 ] )
294298] )
295299
296- dnl #
297- dnl # AC_KERNEL_COMPILE_IFELSE / like AC_COMPILE_IFELSE
298- dnl # $1: contents to be filled in conftest.c
299- dnl # $2: user defined commands. It "AND" the make command to check the result. If true, expands to $4. Otherwise $5.
300- dnl # $3: run it if make & $3 pass.
301- dnl # $4: run it if make & $3 fail.
302- dnl # $5: contents to be filled in conftest.h. Could be null.
303- dnl #
304- AC_DEFUN ( [ AC_KERNEL_COMPILE_IFELSE] , [
305- m4_ifvaln ( [ $1 ] , [ AC_KERNEL_CONFTEST_C([ $1 ] )] )
306- m4_ifvaln ( [ $5 ] , [ AC_KERNEL_CONFTEST_H([ $5 ] )] , [ AC_KERNEL_CONFTEST_H([ ] )] )
307- AS_IF (
308- [ AC_TRY_COMMAND(eval $CC $CFLAGS) > /dev/null && AC_TRY_COMMAND([ $2 ] )] ,
309- [ $3 ] ,
310- [ _AC_MSG_LOG_CONFTEST m4_ifvaln ( [ $4 ] ,[ $4 ] ) ]
311- )
312- ] )
313300dnl #
314301dnl # AC_KERNEL_TRY_COMPILE like AC_TRY_COMPILE
315302dnl # $1: Prologue for conftest.c. including header files, extends, etc
@@ -318,8 +305,10 @@ dnl # $3: run it if compile pass.
318305dnl # $4: run it if compile fail.
319306dnl #
320307AC_DEFUN ( [ AC_KERNEL_TRY_COMPILE] ,
321- [ AC_KERNEL_COMPILE_IFELSE(
308+ target='conftest.o'
309+ [ AC_KERNEL_COMPILE_MODULE_IFELSE(
322310 [ AC_LANG_SOURCE ( [ AC_KERNEL_LANG_PROGRAM([ [ $1 ] ] , [ [ $2 ] ] )] ) ] ,
311+ [ $target] ,
323312 [ test -s conftest.o || test -s .tmp_conftest.o] ,
324313 [ $3 ] , [ $4 ] )
325314] )
@@ -423,15 +412,6 @@ AC_DEFUN([AC_KERNEL_TEST_HEADER_FILE_EXIST], [
423412 ] )
424413] )
425414
426- dnl #
427- dnl # AC_KERNEL_CHECK_HEADERS
428- dnl # check whether header file(s) is(are) present
429- dnl # $1: header filei(s) to check
430- dnl #
431- AC_DEFUN ( [ AC_KERNEL_CHECK_HEADERS] , [
432- AC_CHECK_HEADERS ( [ $1 ] ,[ AS_TR_CPP ( [ HAVE_$1 ] ) =1] ,,[ -] )
433- ] )
434-
435415dnl #
436416dnl # AC_KERNEL_DO_BACKGROUND
437417dnl # $1: contents to be executed
0 commit comments