Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] No arch-specific strpbrk implementations

While cleaning up parisc_ksyms.c earlier, I noticed that strpbrk wasn't
being exported from lib/string.c. Investigating further, I noticed a
changeset that removed its export and added it to _ksyms.c on a few more
architectures. The justification was that "other arches do it."

I think this is wrong, since no architecture currently defines
__HAVE_ARCH_STRPBRK, there's no reason for any of them to be exporting it
themselves. Therefore, consolidate the export to lib/string.c.

Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

Kyle McMartin and committed by
Linus Torvalds
894b5779 c80d79d7

+1 -20
-1
arch/alpha/kernel/alpha_ksyms.c
··· 76 76 EXPORT_SYMBOL(strnlen); 77 77 EXPORT_SYMBOL(strncat); 78 78 EXPORT_SYMBOL(strstr); 79 - EXPORT_SYMBOL(strpbrk); 80 79 EXPORT_SYMBOL(strchr); 81 80 EXPORT_SYMBOL(strrchr); 82 81 EXPORT_SYMBOL(memcmp);
-1
arch/arm/kernel/armksyms.c
··· 101 101 102 102 /* string / mem functions */ 103 103 EXPORT_SYMBOL(strchr); 104 - EXPORT_SYMBOL(strpbrk); 105 104 EXPORT_SYMBOL(strrchr); 106 105 EXPORT_SYMBOL(memset); 107 106 EXPORT_SYMBOL(memcpy);
-1
arch/arm26/kernel/armksyms.c
··· 152 152 EXPORT_SYMBOL(strchr); 153 153 EXPORT_SYMBOL(strlen); 154 154 EXPORT_SYMBOL(strnlen); 155 - EXPORT_SYMBOL(strpbrk); 156 155 EXPORT_SYMBOL(strrchr); 157 156 EXPORT_SYMBOL(strstr); 158 157 EXPORT_SYMBOL(memset);
-1
arch/cris/kernel/crisksyms.c
··· 39 39 /* String functions */ 40 40 EXPORT_SYMBOL(memcmp); 41 41 EXPORT_SYMBOL(memmove); 42 - EXPORT_SYMBOL(strpbrk); 43 42 EXPORT_SYMBOL(strstr); 44 43 EXPORT_SYMBOL(strcpy); 45 44 EXPORT_SYMBOL(strchr);
-1
arch/frv/kernel/frv_ksyms.c
··· 27 27 EXPORT_SYMBOL(iounmap); 28 28 29 29 EXPORT_SYMBOL(strnlen); 30 - EXPORT_SYMBOL(strpbrk); 31 30 EXPORT_SYMBOL(strrchr); 32 31 EXPORT_SYMBOL(strstr); 33 32 EXPORT_SYMBOL(strchr);
-1
arch/h8300/kernel/h8300_ksyms.c
··· 25 25 /* platform dependent support */ 26 26 27 27 EXPORT_SYMBOL(strnlen); 28 - EXPORT_SYMBOL(strpbrk); 29 28 EXPORT_SYMBOL(strrchr); 30 29 EXPORT_SYMBOL(strstr); 31 30 EXPORT_SYMBOL(strchr);
-1
arch/i386/kernel/i386_ksyms.c
··· 19 19 EXPORT_SYMBOL(__put_user_4); 20 20 EXPORT_SYMBOL(__put_user_8); 21 21 22 - EXPORT_SYMBOL(strpbrk); 23 22 EXPORT_SYMBOL(strstr); 24 23 25 24 #ifdef CONFIG_SMP
-2
arch/m32r/kernel/m32r_ksyms.c
··· 35 35 EXPORT_SYMBOL(__delay); 36 36 EXPORT_SYMBOL(__const_udelay); 37 37 38 - EXPORT_SYMBOL(strpbrk); 39 - 40 38 EXPORT_SYMBOL(strncpy_from_user); 41 39 EXPORT_SYMBOL(__strncpy_from_user); 42 40 EXPORT_SYMBOL(clear_user);
-1
arch/m68k/kernel/m68k_ksyms.c
··· 57 57 EXPORT_SYMBOL(strnlen); 58 58 EXPORT_SYMBOL(strrchr); 59 59 EXPORT_SYMBOL(strstr); 60 - EXPORT_SYMBOL(strpbrk); 61 60 EXPORT_SYMBOL(enable_irq); 62 61 EXPORT_SYMBOL(disable_irq); 63 62 EXPORT_SYMBOL(kernel_thread);
-1
arch/m68knommu/kernel/m68k_ksyms.c
··· 26 26 EXPORT_SYMBOL(iounmap); 27 27 EXPORT_SYMBOL(dump_fpu); 28 28 EXPORT_SYMBOL(strnlen); 29 - EXPORT_SYMBOL(strpbrk); 30 29 EXPORT_SYMBOL(strrchr); 31 30 EXPORT_SYMBOL(strstr); 32 31 EXPORT_SYMBOL(strchr);
-1
arch/mips/kernel/mips_ksyms.c
··· 39 39 EXPORT_SYMBOL(strncmp); 40 40 #endif 41 41 EXPORT_SYMBOL(strlen); 42 - EXPORT_SYMBOL(strpbrk); 43 42 EXPORT_SYMBOL(strncat); 44 43 EXPORT_SYMBOL(strnlen); 45 44 EXPORT_SYMBOL(strrchr);
-1
arch/parisc/kernel/parisc_ksyms.c
··· 31 31 32 32 #include <linux/string.h> 33 33 EXPORT_SYMBOL(memset); 34 - EXPORT_SYMBOL(strpbrk); 35 34 36 35 #include <asm/atomic.h> 37 36 EXPORT_SYMBOL(__xchg8);
-1
arch/sh/kernel/sh_ksyms.c
··· 37 37 EXPORT_SYMBOL(irq_desc); 38 38 EXPORT_SYMBOL(no_irq_type); 39 39 40 - EXPORT_SYMBOL(strpbrk); 41 40 EXPORT_SYMBOL(strstr); 42 41 EXPORT_SYMBOL(strlen); 43 42 EXPORT_SYMBOL(strnlen);
-1
arch/sh64/kernel/sh_ksyms.c
··· 41 41 /* Networking helper routines. */ 42 42 EXPORT_SYMBOL(csum_partial_copy); 43 43 44 - EXPORT_SYMBOL(strpbrk); 45 44 EXPORT_SYMBOL(strstr); 46 45 47 46 #ifdef CONFIG_VT
-1
arch/sparc/kernel/sparc_ksyms.c
··· 263 263 EXPORT_SYMBOL(strncmp); 264 264 EXPORT_SYMBOL(strchr); 265 265 EXPORT_SYMBOL(strrchr); 266 - EXPORT_SYMBOL(strpbrk); 267 266 EXPORT_SYMBOL(strstr); 268 267 EXPORT_SYMBOL(page_kernel); 269 268
-1
arch/sparc64/kernel/sparc64_ksyms.c
··· 276 276 EXPORT_SYMBOL(strlen); 277 277 EXPORT_SYMBOL(__strlen_user); 278 278 EXPORT_SYMBOL(__strnlen_user); 279 - EXPORT_SYMBOL(strpbrk); 280 279 281 280 #ifdef CONFIG_SOLARIS_EMUL_MODULE 282 281 EXPORT_SYMBOL(linux_sparc_syscall);
-1
arch/v850/kernel/v850_ksyms.c
··· 43 43 EXPORT_SYMBOL (strchr); 44 44 EXPORT_SYMBOL (strlen); 45 45 EXPORT_SYMBOL (strnlen); 46 - EXPORT_SYMBOL (strpbrk); 47 46 EXPORT_SYMBOL (strrchr); 48 47 EXPORT_SYMBOL (strstr); 49 48 EXPORT_SYMBOL (memset);
-1
arch/x86_64/kernel/x8664_ksyms.c
··· 120 120 extern void * __memcpy(void *,const void *,__kernel_size_t); 121 121 122 122 EXPORT_SYMBOL(memset); 123 - EXPORT_SYMBOL(strpbrk); 124 123 EXPORT_SYMBOL(memmove); 125 124 EXPORT_SYMBOL(memcpy); 126 125 EXPORT_SYMBOL(__memcpy);
-1
arch/xtensa/kernel/xtensa_ksyms.c
··· 48 48 EXPORT_SYMBOL(strcat); 49 49 EXPORT_SYMBOL(strchr); 50 50 EXPORT_SYMBOL(strlen); 51 - EXPORT_SYMBOL(strpbrk); 52 51 EXPORT_SYMBOL(strncat); 53 52 EXPORT_SYMBOL(strnlen); 54 53 EXPORT_SYMBOL(strrchr);
+1
lib/string.c
··· 403 403 } 404 404 return NULL; 405 405 } 406 + EXPORT_SYMBOL(strpbrk); 406 407 #endif 407 408 408 409 #ifndef __HAVE_ARCH_STRSEP