diff options
| author | Jason Baron <jbaron@redhat.com> | 2011-01-07 13:36:58 -0500 | 
|---|---|---|
| committer | Steven Rostedt <rostedt@goodmis.org> | 2011-01-07 23:36:59 -0500 | 
| commit | 2d75af2f2a7a6103a6d539a492fe81deacabde44 (patch) | |
| tree | 283f6f7acc28936e25656502e77e10909fde7d6f /include/linux/dynamic_debug.h | |
| parent | 870915e047a2da695be118d32dd5a900f0c3e933 (diff) | |
| download | olio-linux-3.10-2d75af2f2a7a6103a6d539a492fe81deacabde44.tar.xz olio-linux-3.10-2d75af2f2a7a6103a6d539a492fe81deacabde44.zip  | |
dynamic debug: Fix build issue with older gcc
On older gcc (3.3) dynamic debug fails to compile:
include/net/inet_connection_sock.h: In function `inet_csk_reset_xmit_timer':
include/net/inet_connection_sock.h:236: error: duplicate label declaration `do_printk'
include/net/inet_connection_sock.h:219: error: this is a previous declaration
include/net/inet_connection_sock.h:236: error: duplicate label declaration `out'
include/net/inet_connection_sock.h:219: error: this is a previous declaration
include/net/inet_connection_sock.h:236: error: duplicate label `do_printk'
include/net/inet_connection_sock.h:236: error: duplicate label `out'
Fix, by reverting the usage of JUMP_LABEL() in dynamic debug for now.
Cc: <stable@kernel.org>
Reported-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Tested-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Jason Baron <jbaron@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'include/linux/dynamic_debug.h')
| -rw-r--r-- | include/linux/dynamic_debug.h | 18 | 
1 files changed, 4 insertions, 14 deletions
diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index a90b3892074..1c70028f81f 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -44,34 +44,24 @@ int ddebug_add_module(struct _ddebug *tab, unsigned int n,  extern int ddebug_remove_module(const char *mod_name);  #define dynamic_pr_debug(fmt, ...) do {					\ -	__label__ do_printk;						\ -	__label__ out;							\  	static struct _ddebug descriptor				\  	__used								\  	__attribute__((section("__verbose"), aligned(8))) =		\  	{ KBUILD_MODNAME, __func__, __FILE__, fmt, __LINE__,		\  		_DPRINTK_FLAGS_DEFAULT };				\ -	JUMP_LABEL(&descriptor.enabled, do_printk);			\ -	goto out;							\ -do_printk:								\ -	printk(KERN_DEBUG pr_fmt(fmt),	##__VA_ARGS__);			\ -out:	;								\ +	if (unlikely(descriptor.enabled))				\ +		printk(KERN_DEBUG pr_fmt(fmt),	##__VA_ARGS__);		\  	} while (0)  #define dynamic_dev_dbg(dev, fmt, ...) do {				\ -	__label__ do_printk;						\ -	__label__ out;							\  	static struct _ddebug descriptor				\  	__used								\  	__attribute__((section("__verbose"), aligned(8))) =		\  	{ KBUILD_MODNAME, __func__, __FILE__, fmt, __LINE__,		\  		_DPRINTK_FLAGS_DEFAULT };				\ -	JUMP_LABEL(&descriptor.enabled, do_printk);			\ -	goto out;							\ -do_printk:								\ -	dev_printk(KERN_DEBUG, dev, fmt, ##__VA_ARGS__);		\ -out:	;								\ +	if (unlikely(descriptor.enabled))				\ +		dev_printk(KERN_DEBUG, dev, fmt, ##__VA_ARGS__);	\  	} while (0)  #else  |