Browse Source

mips: only define SYSCALL_ALIGN_64BIT for O32 ABIs

The 64bit register alignment issue only affects the O32 ABI, so wrap
the define accordingly.  We don't want this being used for N32 ABIs.

This doesn't directly affect the N64 ABI since these files wouldn't
even be compiled for those targets (no need for the 32bit/64bit shim).

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger 11 years ago
parent
commit
9f9d2dea17
1 changed files with 4 additions and 0 deletions
  1. 4 0
      libc/sysdeps/linux/mips/bits/uClibc_arch_features.h

+ 4 - 0
libc/sysdeps/linux/mips/bits/uClibc_arch_features.h

@@ -12,7 +12,11 @@
 #define __UCLIBC_MMAP_HAS_6_ARGS__
 #define __UCLIBC_MMAP_HAS_6_ARGS__
 
 
 /* does your target align 64bit values in register pairs ? (32bit arches only) */
 /* does your target align 64bit values in register pairs ? (32bit arches only) */
+#if _MIPS_SIM == _ABIO32
 #define __UCLIBC_SYSCALL_ALIGN_64BIT__
 #define __UCLIBC_SYSCALL_ALIGN_64BIT__
+#else
+#undef __UCLIBC_SYSCALL_ALIGN_64BIT__
+#endif
 
 
 /* does your target have a broken create_module() ? */
 /* does your target have a broken create_module() ? */
 #undef __UCLIBC_BROKEN_CREATE_MODULE__
 #undef __UCLIBC_BROKEN_CREATE_MODULE__