This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[Patch] Another MIPS fix for -Werror=undef
- From: "Steve Ellcey " <sellcey at imgtec dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Tue, 17 Feb 2015 11:13:49 -0800
- Subject: [Patch] Another MIPS fix for -Werror=undef
- Authentication-results: sourceware.org; auth=none
I ran into another MIPS build problem related to -Werror=undef. This one
only affects R6 builds (__mips_isa_rev > 5). In that case memcpy and memset
will check if 'PREFETCH_STORE_HINT == PREFETCH_HINT_PREPAREFORSTORE' before
PREFETCH_HINT_PREPAREFORSTORE is defined.
This patch fixes the build by moving the check down later in the file after
PREFETCH_HINT_PREPAREFORSTORE is set.
Tested with mips-img-linux-gnu. OK to checkin?
Steve Ellcey
sellcey@imgtec.com
2015-02-17 Steve Ellcey <sellcey@imgtec.com>
* sysdeps/mips/memcpy.S: Move R6 PREFETCH_STORE_HINT check.
* sysdeps/mips/memset.S: Ditto.
diff --git a/sysdeps/mips/memcpy.S b/sysdeps/mips/memcpy.S
index a9ac059..c85935b 100644
--- a/sysdeps/mips/memcpy.S
+++ b/sysdeps/mips/memcpy.S
@@ -50,15 +50,6 @@
# endif
#endif
-
-#if __mips_isa_rev > 5
-# if (PREFETCH_STORE_HINT == PREFETCH_HINT_PREPAREFORSTORE)
-# undef PREFETCH_STORE_HINT
-# define PREFETCH_STORE_HINT PREFETCH_HINT_STORE_STREAMED
-# endif
-# define R6_CODE
-#endif
-
/* Some asm.h files do not have the L macro definition. */
#ifndef L
# if _MIPS_SIM == _ABIO32
@@ -196,6 +187,14 @@
# define PREFETCH_FOR_STORE(offset, reg)
#endif
+#if __mips_isa_rev > 5
+# if (PREFETCH_STORE_HINT == PREFETCH_HINT_PREPAREFORSTORE)
+# undef PREFETCH_STORE_HINT
+# define PREFETCH_STORE_HINT PREFETCH_HINT_STORE_STREAMED
+# endif
+# define R6_CODE
+#endif
+
/* Allow the routine to be named something else if desired. */
#ifndef MEMCPY_NAME
# define MEMCPY_NAME memcpy
diff --git a/sysdeps/mips/memset.S b/sysdeps/mips/memset.S
index cf16b26..864ab07 100644
--- a/sysdeps/mips/memset.S
+++ b/sysdeps/mips/memset.S
@@ -54,13 +54,6 @@
# endif
#endif
-#if __mips_isa_rev > 5
-# if (PREFETCH_STORE_HINT == PREFETCH_HINT_PREPAREFORSTORE)
-# undef PREFETCH_STORE_HINT
-# define PREFETCH_STORE_HINT PREFETCH_HINT_STORE_STREAMED
-# endif
-# define R6_CODE
-#endif
/* Some asm.h files do not have the L macro definition. */
#ifndef L
@@ -159,6 +152,14 @@
# define PREFETCH_FOR_STORE(offset, reg)
#endif
+#if __mips_isa_rev > 5
+# if (PREFETCH_STORE_HINT == PREFETCH_HINT_PREPAREFORSTORE)
+# undef PREFETCH_STORE_HINT
+# define PREFETCH_STORE_HINT PREFETCH_HINT_STORE_STREAMED
+# endif
+# define R6_CODE
+#endif
+
/* Allow the routine to be named something else if desired. */
#ifndef MEMSET_NAME
# define MEMSET_NAME memset