From: Andrew Deason Date: Mon, 24 Sep 2012 18:03:34 +0000 (-0500) Subject: LINUX: Define printf/uprintf as variadic macros X-Git-Tag: upstream/1.6.20^2~13 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=049f8eb27989a289a93a9bc109226035a20c29c2;p=packages%2Fo%2Fopenafs.git LINUX: Define printf/uprintf as variadic macros Instead of defining the string 'printf' itself, make printf (and uprintf) variadic macros. This avoids renaming printf to printk for things like '__attribute__((format(printf,X,Y)))'. Note that this is Linux-specific; compilers on other platforms may not support variadic macros. This avoids many warnings in the Linux kernel module build if we include Linux headers after AFS headers. Reviewed-on: http://gerrit.openafs.org/8150 Reviewed-by: Derrick Brashear Reviewed-by: Marc Dionne Tested-by: BuildBot (cherry picked from commit 179096d9b2c461f02236bbf670b46597ff2d4c3c) Change-Id: I5c1c80cb5bd6996b0329969e16f9359fa1dcbc91 Reviewed-on: https://gerrit.openafs.org/12365 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Reviewed-by: Stephan Wiesand --- diff --git a/src/afs/LINUX/osi_machdep.h b/src/afs/LINUX/osi_machdep.h index d9f2938de..a64a0c846 100644 --- a/src/afs/LINUX/osi_machdep.h +++ b/src/afs/LINUX/osi_machdep.h @@ -133,8 +133,8 @@ static inline long copyinstr(char *from, char *to, int count, int *length) { #define copyout(F, T, C) (copy_to_user ((char*)(T), (char*)(F), (C)) > 0 ? EFAULT : 0) /* kernel print statements */ -#define printf printk -#define uprintf printk +#define printf(args...) printk(args) +#define uprintf(args...) printk(args) #ifndef NGROUPS diff --git a/src/rx/rx_kernel.h b/src/rx/rx_kernel.h index 1351d177f..63f09304c 100644 --- a/src/rx/rx_kernel.h +++ b/src/rx/rx_kernel.h @@ -38,7 +38,11 @@ typedef struct socket *osi_socket; extern int osi_utoa(char *buf, size_t len, unsigned long val); #define osi_Assert(exp) (void)((exp) || (osi_AssertFailK( #exp , __FILE__, __LINE__), 0)) -#define osi_Msg printf)( +#ifdef AFS_LINUX20_ENV +# define osi_Msg printk)( +#else +# define osi_Msg printf)( +#endif #define osi_VMsg vprintf)( #define osi_YieldIfPossible()