[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1392956909-22715-1-git-send-email-behanw@converseincode.com>
Date: Thu, 20 Feb 2014 20:28:29 -0800
From: behanw@...verseincode.com
To: rob@...dley.net, paul.gortmaker@...driver.com,
rdunlap@...radead.org, geert@...ux-m68k.org
Cc: akpm@...ux-foundation.org, gregkh@...uxfoundation.org,
linux-kernel@...r.kernel.org,
Jan-Simon Möller <dl9pf@....de>,
Behan Webster <behanw@...verseincode.com>
Subject: [PATCH] module: LLVMLinux: Fix section mismatch issues on alias usage
From: Jan-Simon Möller <dl9pf@....de>
Attribute aliases don't inherit the link section name when compiled with clang.
As a result, the linking section needs to be explicitly specified when building
a module. This behavior is undefined in the standard which is why it differs from
compiler to compiler.
Author: PaX Team <pageexec@...email.hu>
ML-Post: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120507/142707.html
URL: http://llvm.linuxfoundation.org
Merge: Jan-Simon Möller <dl9pf@....de>
Signed-off-by: Jan-Simon Möller <dl9pf@....de>
Signed-off-by: Behan Webster <behanw@...verseincode.com>
---
include/linux/init.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/include/linux/init.h b/include/linux/init.h
index e168880..384ec5e 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -297,13 +297,14 @@ void __init parse_early_options(char *cmdline);
#define module_init(initfn) \
static inline initcall_t __inittest(void) \
{ return initfn; } \
- int init_module(void) __attribute__((alias(#initfn)));
+ int init_module(void) __section(.init) __attribute__((alias(#initfn)));
/* This is only required if you want to be unloadable. */
#define module_exit(exitfn) \
static inline exitcall_t __exittest(void) \
{ return exitfn; } \
- void cleanup_module(void) __attribute__((alias(#exitfn)));
+ void cleanup_module(void) __section(.exit) \
+ __attribute__((alias(#exitfn)));
#define __setup_param(str, unique_id, fn) /* nothing */
#define __setup(str, func) /* nothing */
--
1.8.3.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists