aboutsummaryrefslogtreecommitdiff
path: root/include/linux/spinlock.h
diff options
context:
space:
mode:
authorUstyugov Roman <dr_unique@ymg.ru>2005-09-23 08:42:11 +0400
committerSam Ravnborg <sam@mars.ravnborg.org>2005-12-26 00:33:41 +0100
commitf83b5e323f57d6e1f35a839d663e91cebe985e54 (patch)
tree59e19500a8204abd8e77620b7e80138d5f7fda68 /include/linux/spinlock.h
parent4d99f93bdaa1ab49188cac67b4aae9180f8e3960 (diff)
kbuild: set correct KBUILD_MODNAME when using well known kernel symbols as module names
This patch fixes a problem when we use well known kernel symbols as module names. For example, if module source name is current.c, idle_stack.c or etc., we have a bad KBUILD_MODNAME value. For example, KBUILD_MODNAME will be "get_current()" instead of "current", or "(init_thread_union.stack)" instead of "idle_task". The trick is to define a stringify macro on the commandline - named KBUILD_STR for namespace reasons - and then to stringify the module name. There are a few uses of KBUILD_MODNAME throughout the tree but the usage is for debug and will not be harmed by this change so left untouched for now. While at it KBUILD_BASENAME was changed too. Any spinlock usage in the unix module would have created wrong section names without it. Usage in spinlock.h fixed so it no longer stringify KBUILD_BASENAME. Original patch from Ustyogov Roman - all bugs introduced by me. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'include/linux/spinlock.h')
-rw-r--r--include/linux/spinlock.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h
index 0e9682c9def..799be674794 100644
--- a/include/linux/spinlock.h
+++ b/include/linux/spinlock.h
@@ -59,8 +59,7 @@
/*
* Must define these before including other files, inline functions need them
*/
-#define LOCK_SECTION_NAME \
- ".text.lock." __stringify(KBUILD_BASENAME)
+#define LOCK_SECTION_NAME ".text.lock."KBUILD_BASENAME
#define LOCK_SECTION_START(extra) \
".subsection 1\n\t" \