Fix MIPS build failure caused by -Werror=undef
Commit Message
The recent change to use -Werror=undef on assembly language files
caused a build failure on MIPS. GCC defines __MIPSEB only in
big-endian mode and leaves it undefined in little endian mode (where
it defines __MIPSEL instead).
Is the following patch OK for checkin?
Tested with mips-mti-linux-gnu.
Steve Ellcey
sellcey@imgtec.com
2015-02-13 Steve Ellcey <sellcey@imgtec.com>
* sysdeps/mips/bits/endian.h (__MIPSEB): Use #ifdef instead of #if.
* sysdeps/mips/memcpy.S (__MIPSEB): Ditto.
* sysdeps/mips/memset.S (__MIPSEB): Ditto.
Comments
On Fri, 13 Feb 2015, Steve Ellcey wrote:
> The recent change to use -Werror=undef on assembly language files
> caused a build failure on MIPS. GCC defines __MIPSEB only in
> big-endian mode and leaves it undefined in little endian mode (where
> it defines __MIPSEL instead).
>
> Is the following patch OK for checkin?
OK.
On Fri, 13 Feb 2015, Steve Ellcey wrote:
> The recent change to use -Werror=undef on assembly language files
> caused a build failure on MIPS. GCC defines __MIPSEB only in
> big-endian mode and leaves it undefined in little endian mode (where
> it defines __MIPSEL instead).
[...]
> 2015-02-13 Steve Ellcey <sellcey@imgtec.com>
>
> * sysdeps/mips/bits/endian.h (__MIPSEB): Use #ifdef instead of #if.
> * sysdeps/mips/memcpy.S (__MIPSEB): Ditto.
> * sysdeps/mips/memset.S (__MIPSEB): Ditto.
>
>
> diff --git a/sysdeps/mips/bits/endian.h b/sysdeps/mips/bits/endian.h
> index 9586104..43ce009 100644
> --- a/sysdeps/mips/bits/endian.h
> +++ b/sysdeps/mips/bits/endian.h
> @@ -5,7 +5,7 @@
> # error "Never use <bits/endian.h> directly; include <endian.h> instead."
> #endif
>
> -#if __MIPSEB
> +#ifdef __MIPSEB
> # define __BYTE_ORDER __BIG_ENDIAN
> #endif
> #if __MIPSEL
^^^^^^^^^^^^
Don't we need a complementing change for __MIPSEL here then too?
Maciej
@@ -5,7 +5,7 @@
# error "Never use <bits/endian.h> directly; include <endian.h> instead."
#endif
-#if __MIPSEB
+#ifdef __MIPSEB
# define __BYTE_ORDER __BIG_ENDIAN
#endif
#if __MIPSEL
@@ -225,7 +225,7 @@
#ifdef USE_DOUBLE
# define C_ST sd
# define C_LD ld
-# if __MIPSEB
+# ifdef __MIPSEB
# define C_LDHI ldl /* high part is left in big-endian */
# define C_STHI sdl /* high part is left in big-endian */
# define C_LDLO ldr /* low part is right in big-endian */
@@ -240,7 +240,7 @@
#else
# define C_ST sw
# define C_LD lw
-# if __MIPSEB
+# ifdef __MIPSEB
# define C_LDHI lwl /* high part is left in big-endian */
# define C_STHI swl /* high part is left in big-endian */
# define C_LDLO lwr /* low part is right in big-endian */
@@ -767,7 +767,7 @@ L(ua_smallCopy_loop):
#else /* R6_CODE */
-# if __MIPSEB
+# ifdef __MIPSEB
# define SWAP_REGS(X,Y) X, Y
# define ALIGN_OFFSET(N) (N)
# else
@@ -170,14 +170,14 @@
#ifdef USE_DOUBLE
# define C_ST sd
-# if __MIPSEB
+# ifdef __MIPSEB
# define C_STHI sdl /* high part is left in big-endian */
# else
# define C_STHI sdr /* high part is right in little-endian */
# endif
#else
# define C_ST sw
-# if __MIPSEB
+# ifdef __MIPSEB
# define C_STHI swl /* high part is left in big-endian */
# else
# define C_STHI swr /* high part is right in little-endian */