Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
filesystems
openafs
ef7b8c5.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ef7b8c5.diff of Package openafs
From ef7b8c578790d84c89f09c3236f1718725770e75 Mon Sep 17 00:00:00 2001 From: Cheyenne Wills <cwills@sinenomine.net> Date: Wed, 07 Feb 2024 14:51:23 -0700 Subject: [PATCH] cf: Add function prototypes for linux conftest The Linux 6.8 commit: 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f) added the compiler flags -Wmissing-declarations and -Wmissing-prototypes as defaults for all kernel modules builds. This change causes configure to fail for various Linux kernel tests. Update the template used to create the conftest.c file to provide a function declaration for conftest(). Use a 'static' attribute when defining functions used within tests. Note: 2 configure tests (LINUX_INIT_WORK_AS_DATA and LINUX_IOP_CREATE_TAKES_MODE_T) defined nested functions. Relocate the nested functions to outside the body of conftest() to avoid compiler errors due to nested function definitions. Reviewed-on: https://gerrit.openafs.org/15614 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Andrew Deason <adeason@sinenomine.net> Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> (cherry picked from commit 1440843b80e28db908bd8c264b8adbfb2c95b4d9) Change-Id: I38acb7b0cb08dec8e9bca5f3792fbf981884a74c Reviewed-on: https://gerrit.openafs.org/15683 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Andrew Deason <adeason@sinenomine.net> Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> --- diff --git a/src/cf/linux-test1.m4 b/src/cf/linux-test1.m4 index 7bb5a67..010a446 100644 --- a/src/cf/linux-test1.m4 +++ b/src/cf/linux-test1.m4 @@ -16,7 +16,7 @@ /* end confdefs.h */ #include <linux/module.h> $1 - +void conftest(void); void conftest(void) { $2 @@ -201,7 +201,7 @@ CPPFLAGS="$CPPFLAGS -Werror" AC_TRY_KBUILD( [$4 - $5 op($6) { return ($5)0; };], + static $5 op($6) { return ($5)0; };], [static struct $1 ops; ops.$2 = op;], AS_VAR_SET([ac_linux_operation], [yes]), AS_VAR_SET([ac_linux_operation], [no])) diff --git a/src/cf/linux-test4.m4 b/src/cf/linux-test4.m4 index 3596b6a..7889c90 100644 --- a/src/cf/linux-test4.m4 +++ b/src/cf/linux-test4.m4 @@ -400,9 +400,9 @@ AC_CHECK_LINUX_BUILD([whether INIT_WORK has a _data argument], [ac_cv_linux_init_work_has_data], [#include <linux/kernel.h> -#include <linux/workqueue.h>], -[ -void f(struct work_struct *w) {} +#include <linux/workqueue.h> +static void f(struct work_struct *w) {}], +[ struct work_struct *w; int *i; INIT_WORK(w,f,i);], @@ -493,7 +493,7 @@ AC_CHECK_LINUX_BUILD([whether kmem_cache_create constructor takes a void pointer], [ac_cv_linux_kmem_cache_create_ctor_takes_void], [#include <linux/slab.h> - void _ctor(void *v) { };], + static void _ctor(void *v) { };], [kmem_cache_create(NULL, 0, 0, 0, _ctor);], [KMEM_CACHE_CTOR_TAKES_VOID], [define if kmem_cache_create constructor takes a single void ptr], @@ -667,7 +667,7 @@ AC_CHECK_LINUX_BUILD([whether 4.11+ inode.i_op->getattr takes a struct path argument], [ac_cv_linux_iop_getattr_takes_path_struct], [#include <linux/fs.h> - int _getattr(const struct path *path, struct kstat *stat, u32 request_mask, + static int _getattr(const struct path *path, struct kstat *stat, u32 request_mask, unsigned int sync_mode) {return 0;}; struct inode_operations _i_ops;], [_i_ops.getattr = _getattr;], @@ -692,10 +692,10 @@ AC_DEFUN([LINUX_IOP_CREATE_TAKES_UMODE_T], [ AC_CHECK_LINUX_BUILD([whether inode.i_op->create takes a umode_t argument], [ac_cv_linux_iop_create_takes_umode_t], - [#include <linux/fs.h>], + [#include <linux/fs.h> + static int _create(struct inode *i, struct dentry *d, umode_t m, struct nameidata *n) + {return 0;};], [static struct inode_operations _i_ops; - int _create(struct inode *i, struct dentry *d, umode_t m, struct nameidata *n) - {return 0;}; _i_ops.create = _create;], [IOP_CREATE_TAKES_UMODE_T], [define if inode.i_op->create takes a umode_t argument],
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor