Re: [PATCH/RFC 2/2] lib: string: Make all calls to strnicmp into calls to strncasecmp
On Wed, Aug 27 2014, Dan Carpenter wrote: > On Wed, Aug 27, 2014 at 11:13:16AM +0200, Rasmus Villemoes wrote: >> Anyway, I was also planning on sending tree-wide patches doing >> s/strnicmp/strncasecmp/, and then removing the hack from string.h, but I >> first wanted to get feedback on the first patch and maybe some guidance >> on how to properly deal with the module issue (e.g., does the kernel >> need to export a strnicmp symbol forever?). > > Once we remove the in kernel users then we can remove the function. > Don't worry about out of tree modules. OK, that makes everything simpler. Any objections to the first patch? Andrew, could you take it through your tree? Thanks, Rasmus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH/RFC 2/2] lib: string: Make all calls to strnicmp into calls to strncasecmp
On Wed, Aug 27 2014, Dan Carpenter dan.carpen...@oracle.com wrote: On Wed, Aug 27, 2014 at 11:13:16AM +0200, Rasmus Villemoes wrote: Anyway, I was also planning on sending tree-wide patches doing s/strnicmp/strncasecmp/, and then removing the hack from string.h, but I first wanted to get feedback on the first patch and maybe some guidance on how to properly deal with the module issue (e.g., does the kernel need to export a strnicmp symbol forever?). Once we remove the in kernel users then we can remove the function. Don't worry about out of tree modules. OK, that makes everything simpler. Any objections to the first patch? Andrew, could you take it through your tree? Thanks, Rasmus -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH/RFC 2/2] lib: string: Make all calls to strnicmp into calls to strncasecmp
On Wed, Aug 27, 2014 at 11:13:16AM +0200, Rasmus Villemoes wrote: > Anyway, I was also planning on sending tree-wide patches doing > s/strnicmp/strncasecmp/, and then removing the hack from string.h, but I > first wanted to get feedback on the first patch and maybe some guidance > on how to properly deal with the module issue (e.g., does the kernel > need to export a strnicmp symbol forever?). Once we remove the in kernel users then we can remove the function. Don't worry about out of tree modules. regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH/RFC 2/2] lib: string: Make all calls to strnicmp into calls to strncasecmp
On Wed, Aug 27 2014, Dan Carpenter wrote: > On Wed, Aug 27, 2014 at 09:36:02AM +0200, Rasmus Villemoes wrote: >> The previous patch made strnicmp into a wrapper for strncasecmp. This >> patch makes all in-tree users of strnicmp call strncasecmp directly, >> while still making sure that the strnicmp symbol can be used by >> out-of-tree modules. It should be considered a temporary hack until >> all in-tree callers have been converted. >> >> Signed-off-by: Rasmus Villemoes > > Won't GCC just do the right thing without this second patch? > Not without LTO, I think. gcc can't really know how strnicmp is implemented, so it has to emit a call to it. Anyway, I was also planning on sending tree-wide patches doing s/strnicmp/strncasecmp/, and then removing the hack from string.h, but I first wanted to get feedback on the first patch and maybe some guidance on how to properly deal with the module issue (e.g., does the kernel need to export a strnicmp symbol forever?). Rasmus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH/RFC 2/2] lib: string: Make all calls to strnicmp into calls to strncasecmp
On Wed, Aug 27, 2014 at 09:36:02AM +0200, Rasmus Villemoes wrote: > The previous patch made strnicmp into a wrapper for strncasecmp. This > patch makes all in-tree users of strnicmp call strncasecmp directly, > while still making sure that the strnicmp symbol can be used by > out-of-tree modules. It should be considered a temporary hack until > all in-tree callers have been converted. > > Signed-off-by: Rasmus Villemoes Won't GCC just do the right thing without this second patch? regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH/RFC 2/2] lib: string: Make all calls to strnicmp into calls to strncasecmp
The previous patch made strnicmp into a wrapper for strncasecmp. This patch makes all in-tree users of strnicmp call strncasecmp directly, while still making sure that the strnicmp symbol can be used by out-of-tree modules. It should be considered a temporary hack until all in-tree callers have been converted. Signed-off-by: Rasmus Villemoes --- include/linux/string.h | 2 +- lib/string.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/linux/string.h b/include/linux/string.h index d36977e..e6edfe5 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -41,7 +41,7 @@ extern int strcmp(const char *,const char *); extern int strncmp(const char *,const char *,__kernel_size_t); #endif #ifndef __HAVE_ARCH_STRNICMP -extern int strnicmp(const char *, const char *, __kernel_size_t); +#define strnicmp strncasecmp #endif #ifndef __HAVE_ARCH_STRCASECMP extern int strcasecmp(const char *s1, const char *s2); diff --git a/lib/string.c b/lib/string.c index 92c33e1..d171554 100644 --- a/lib/string.c +++ b/lib/string.c @@ -59,6 +59,7 @@ int strncasecmp(const char *s1, const char *s2, size_t len) EXPORT_SYMBOL(strncasecmp); #endif #ifndef __HAVE_ARCH_STRNICMP +#undef strnicmp int strnicmp(const char *s1, const char *s2, size_t len) { return strncasecmp(s1, s2, len); -- 2.0.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH/RFC 2/2] lib: string: Make all calls to strnicmp into calls to strncasecmp
The previous patch made strnicmp into a wrapper for strncasecmp. This patch makes all in-tree users of strnicmp call strncasecmp directly, while still making sure that the strnicmp symbol can be used by out-of-tree modules. It should be considered a temporary hack until all in-tree callers have been converted. Signed-off-by: Rasmus Villemoes li...@rasmusvillemoes.dk --- include/linux/string.h | 2 +- lib/string.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/linux/string.h b/include/linux/string.h index d36977e..e6edfe5 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -41,7 +41,7 @@ extern int strcmp(const char *,const char *); extern int strncmp(const char *,const char *,__kernel_size_t); #endif #ifndef __HAVE_ARCH_STRNICMP -extern int strnicmp(const char *, const char *, __kernel_size_t); +#define strnicmp strncasecmp #endif #ifndef __HAVE_ARCH_STRCASECMP extern int strcasecmp(const char *s1, const char *s2); diff --git a/lib/string.c b/lib/string.c index 92c33e1..d171554 100644 --- a/lib/string.c +++ b/lib/string.c @@ -59,6 +59,7 @@ int strncasecmp(const char *s1, const char *s2, size_t len) EXPORT_SYMBOL(strncasecmp); #endif #ifndef __HAVE_ARCH_STRNICMP +#undef strnicmp int strnicmp(const char *s1, const char *s2, size_t len) { return strncasecmp(s1, s2, len); -- 2.0.4 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH/RFC 2/2] lib: string: Make all calls to strnicmp into calls to strncasecmp
On Wed, Aug 27, 2014 at 09:36:02AM +0200, Rasmus Villemoes wrote: The previous patch made strnicmp into a wrapper for strncasecmp. This patch makes all in-tree users of strnicmp call strncasecmp directly, while still making sure that the strnicmp symbol can be used by out-of-tree modules. It should be considered a temporary hack until all in-tree callers have been converted. Signed-off-by: Rasmus Villemoes li...@rasmusvillemoes.dk Won't GCC just do the right thing without this second patch? regards, dan carpenter -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH/RFC 2/2] lib: string: Make all calls to strnicmp into calls to strncasecmp
On Wed, Aug 27 2014, Dan Carpenter dan.carpen...@oracle.com wrote: On Wed, Aug 27, 2014 at 09:36:02AM +0200, Rasmus Villemoes wrote: The previous patch made strnicmp into a wrapper for strncasecmp. This patch makes all in-tree users of strnicmp call strncasecmp directly, while still making sure that the strnicmp symbol can be used by out-of-tree modules. It should be considered a temporary hack until all in-tree callers have been converted. Signed-off-by: Rasmus Villemoes li...@rasmusvillemoes.dk Won't GCC just do the right thing without this second patch? Not without LTO, I think. gcc can't really know how strnicmp is implemented, so it has to emit a call to it. Anyway, I was also planning on sending tree-wide patches doing s/strnicmp/strncasecmp/, and then removing the hack from string.h, but I first wanted to get feedback on the first patch and maybe some guidance on how to properly deal with the module issue (e.g., does the kernel need to export a strnicmp symbol forever?). Rasmus -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH/RFC 2/2] lib: string: Make all calls to strnicmp into calls to strncasecmp
On Wed, Aug 27, 2014 at 11:13:16AM +0200, Rasmus Villemoes wrote: Anyway, I was also planning on sending tree-wide patches doing s/strnicmp/strncasecmp/, and then removing the hack from string.h, but I first wanted to get feedback on the first patch and maybe some guidance on how to properly deal with the module issue (e.g., does the kernel need to export a strnicmp symbol forever?). Once we remove the in kernel users then we can remove the function. Don't worry about out of tree modules. regards, dan carpenter -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/