mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-21 00:42:16 +00:00
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>
This commit is contained in:
parent
1bae4ce27c
commit
f9b07897c6
@ -81,18 +81,6 @@ static inline char *strncpy(char *dest, const char *src, size_t n)
|
|||||||
strcpy(__d + strlen(__d), (s)); \
|
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
|
#ifndef CONFIG_COLDFIRE
|
||||||
#define __HAVE_ARCH_STRCMP
|
#define __HAVE_ARCH_STRCMP
|
||||||
static inline int strcmp(const char *cs, const char *ct)
|
static inline int strcmp(const char *cs, const char *ct)
|
||||||
|
Loading…
Reference in New Issue
Block a user