LINUX-5.16: Use linux/stdarg.h if available 44/14844/3
authorCheyenne Wills <cwills@sinenomine.net>
Tue, 16 Nov 2021 17:55:30 +0000 (10:55 -0700)
committerBenjamin Kaduk <kaduk@mit.edu>
Wed, 17 Nov 2021 01:49:41 +0000 (20:49 -0500)
Global use of the compiler option '-isystem' was removed from the top
level Makefile with Linux commit ('isystem: delete global -isystem
compile option' 04e85bbf7). This results with an error due to not
finding "stdarg.h" when building the openafs kernel module.

 .../src/rx/rx_kcommon.h:143:12: fatal error: stdarg.h: No such file or
                                 directory
   143 | #  include "stdarg.h"
       |            ^~~~~~~~~~

Linux-5.15, introduced a copy of stdarg.h as 'linux/stdarg.h' in commit
('isystem: ship and use stdarg.h' c0891ac15)

Add a test for the linux/stdarg.h include file and if available, use
"linux/stdarg.h" instead of "stdarg.h" within the Linux kernel module.

Change-Id: I5215182c8240034bd739688a88a9410b74f93c8f
Reviewed-on: https://gerrit.openafs.org/14844
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

src/cf/linux-kernel-header.m4
src/rx/rx_kcommon.h

index c7f989e..8507eaa 100644 (file)
@@ -9,4 +9,5 @@ AC_CHECK_LINUX_HEADER([semaphore.h])
 AC_CHECK_LINUX_HEADER([seq_file.h])
 AC_CHECK_LINUX_HEADER([sched/signal.h])
 AC_CHECK_LINUX_HEADER([uaccess.h])
+AC_CHECK_LINUX_HEADER([stdarg.h])
 ])
index 6a640e6..8d8a330 100644 (file)
@@ -140,7 +140,11 @@ struct coda_inode_info {
 # if defined(AFS_FBSD_ENV)
 #  include "machine/stdarg.h"
 # else
-#  include "stdarg.h"
+#  if defined(HAVE_LINUX_STDARG_H)
+#   include "linux/stdarg.h"
+#  else
+#   include "stdarg.h"
+#  endif
 # endif
 #endif
 #ifdef KERNEL