Re: [PATCH] m68k: remove arch specific non-optimized memcmp()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 7, 2011 at 01:57, Greg Ungerer <gerg@xxxxxxxxxxxx> wrote:
m68k: remove arch specific non-optimized memcmp()

The m68k arch implements its own memcmp() function. It is not optimized
in any way (it is the most strait forward coding of memcmp you can get).
Remove it and use the kernels standard memcmp() implementation.

This also goes part of the way to fixing a regression caused by commit
ea61bc461d09e8d331a307916530aaae808c72a2 ("m68k/m68knommu: merge MMU and
non-MMU string.h"), which breaks non-coldfire non-mmu builds (which is
the 68x328 and 68360 families). They currently have no memcmp() function
defined, since there is none in the m68knommu/lib functions.

Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx>

Go ahead!

Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>

---
Âarch/m68k/include/asm/string.h | Â Â4 +---
Âarch/m68k/lib/string.c     |  11 -----------
Â2 files changed, 1 insertions(+), 14 deletions(-)

diff --git a/arch/m68k/include/asm/string.h b/arch/m68k/include/asm/string.h
index 65b1312..ffc3c3f 100644
--- a/arch/m68k/include/asm/string.h
+++ b/arch/m68k/include/asm/string.h
@@ -102,11 +102,9 @@ static inline int strcmp(const char *cs, const char *ct)

Â#define __HAVE_ARCH_MEMMOVE
Âextern void *memmove(void *, const void *, __kernel_size_t);
+#endif /* CONFIG_COLDFIRE */

-#define __HAVE_ARCH_MEMCMP
-extern int memcmp(const void *, const void *, __kernel_size_t);
Â#define memcmp(d, s, n) __builtin_memcmp(d, s, n)
-#endif /* CONFIG_COLDFIRE */

Â#define __HAVE_ARCH_MEMSET
Âextern void *memset(void *, int, __kernel_size_t);
diff --git a/arch/m68k/lib/string.c b/arch/m68k/lib/string.c
index 4253f87..d399c5f 100644
--- a/arch/m68k/lib/string.c
+++ b/arch/m68k/lib/string.c
@@ -243,14 +243,3 @@ void *memmove(void *dest, const void *src, size_t n)
   Âreturn xdest;
Â}
ÂEXPORT_SYMBOL(memmove);
-
-int memcmp(const void *cs, const void *ct, size_t count)
-{
- Â Â Â const unsigned char *su1, *su2;
-
- Â Â Â for (su1 = cs, su2 = ct; count > 0; ++su1, ++su2, count--)
- Â Â Â Â Â Â Â if (*su1 != *su2)
- Â Â Â Â Â Â Â Â Â Â Â return *su1 < *su2 ? -1 : +1;
- Â Â Â return 0;
-}
-EXPORT_SYMBOL(memcmp);

Gr{oetje,eeting}s,

            Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
             Â Â -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux