diff options
author | Geert Uytterhoeven <geert@linux-m68k.org> | 2011-01-08 21:57:48 +0100 |
---|---|---|
committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2011-01-22 19:32:54 +0100 |
commit | f9b07897c6288d7e5fc1fd004fccb0c5f1a0e570 (patch) | |
tree | 6a998c45cde7a37643d762e621a28a4ec19f80b0 | |
parent | 1bae4ce27c9c90344f23c65ea6966c50ffeae2f5 (diff) |
m68k: Uninline strchr()
Some versions of gcc replace calls to strstr() with single-character
"needle" string parameters by calls to strchr() behind our back.
If strchr() is defined as an inline function, this causes linking errors
like
ERROR: "strchr" [drivers/target/target_core_mod.ko] undefined!
As m68k is the only architecture that has an inline strchr() and this
inline version is not an optimized asm version, uninline strchr() and use
the standard out-of-line C version in lib/string.c instead.
This also decreases the defconfig/allmodconfig kernel image sizes by a few
hundred bytes.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-rw-r--r-- | arch/m68k/include/asm/string.h | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/arch/m68k/include/asm/string.h b/arch/m68k/include/asm/string.h index 2936dda938d7..65b131282837 100644 --- a/arch/m68k/include/asm/string.h +++ b/arch/m68k/include/asm/string.h @@ -81,18 +81,6 @@ static inline char *strncpy(char *dest, const char *src, size_t n) strcpy(__d + strlen(__d), (s)); \ }) -#define __HAVE_ARCH_STRCHR -static inline char *strchr(const char *s, int c) -{ - char sc, ch = c; - - for (; (sc = *s++) != ch; ) { - if (!sc) - return NULL; - } - return (char *)s - 1; -} - #ifndef CONFIG_COLDFIRE #define __HAVE_ARCH_STRCMP static inline int strcmp(const char *cs, const char *ct) |