This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Avoid endian.h include in MIPS string functions
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: libc-ports at sourceware dot org
- Date: Thu, 26 Apr 2012 19:24:45 +0000 (UTC)
- Subject: Avoid endian.h include in MIPS string functions
Similar to a recent SH libc change, I've applied this patch to avoid MIPS
string .S functions including <endian.h> and getting errors from C source
code from that header.
diff --git a/ChangeLog.mips b/ChangeLog.mips
index 0b4a493..3d3678b 100644
--- a/ChangeLog.mips
+++ b/ChangeLog.mips
@@ -1,5 +1,9 @@
2012-04-26 Joseph Myers <joseph@codesourcery.com>
+ * sysdeps/mips/memcpy.S: Don't include <endian.h>. Test __MIPSEB
+ instead of __BYTE_ORDER.
+ * sysdeps/mips/memset.S: Likewise.
+
* sysdeps/unix/sysv/linux/mips/kernel_rt_sigframe.h (struct
kernel_rt_sigframe): Use siginfo_t instead of struct siginfo.
diff --git a/sysdeps/mips/memcpy.S b/sysdeps/mips/memcpy.S
index ec1b98a..753f67c 100644
--- a/sysdeps/mips/memcpy.S
+++ b/sysdeps/mips/memcpy.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Hartvig Ekner <hartvige@mips.com>, 2002.
@@ -17,12 +17,11 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <endian.h>
/* void *memcpy(void *s1, const void *s2, size_t n); */
-#if __BYTE_ORDER == __BIG_ENDIAN
+#if __MIPSEB
# define LWHI lwl /* high part is left in big-endian */
# define SWHI swl /* high part is left in big-endian */
# define LWLO lwr /* low part is right in big-endian */
diff --git a/sysdeps/mips/memset.S b/sysdeps/mips/memset.S
index 1df7981..30a0ba4 100644
--- a/sysdeps/mips/memset.S
+++ b/sysdeps/mips/memset.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Hartvig Ekner <hartvige@mips.com>, 2002.
@@ -17,12 +17,11 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <endian.h>
/* void *memset(void *s, int c, size_t n). */
-#if __BYTE_ORDER == __BIG_ENDIAN
+#if __MIPSEB
# define SWHI swl /* high part is left in big-endian */
#else
# define SWHI swr /* high part is right in little-endian */
--
Joseph S. Myers
joseph@codesourcery.com