diff --git a/libc/bionic/sys_shm.cpp b/libc/bionic/sys_shm.cpp
index 6f1b8f5..f780e04 100644
--- a/libc/bionic/sys_shm.cpp
+++ b/libc/bionic/sys_shm.cpp
@@ -32,15 +32,15 @@
 #include <unistd.h>
 
 void* shmat(int id, const void* address, int flags) {
-#if __i386__
+#if defined(SYS_shmat)
+  return reinterpret_cast<void*>(syscall(SYS_shmat, id, address, flags));
+#else
   // See the kernel's ipc/syscall.c for the other side of this dance.
   void* result = nullptr;
   if (syscall(SYS_ipc, SHMAT, id, flags, &result, address, 0) == -1) {
     return reinterpret_cast<void*>(-1);
   }
   return result;
-#else
-  return reinterpret_cast<void*>(syscall(SYS_shmat, id, address, flags));
 #endif
 }
 
@@ -49,25 +49,25 @@
   // Annoyingly, the kernel requires this for 32-bit but rejects it for 64-bit.
   cmd |= IPC_64;
 #endif
-#if __i386__
-  return syscall(SYS_ipc, SHMCTL, id, cmd, 0, buf, 0);
-#else
+#if defined(SYS_shmctl)
   return syscall(SYS_shmctl, id, cmd, buf);
+#else
+  return syscall(SYS_ipc, SHMCTL, id, cmd, 0, buf, 0);
 #endif
 }
 
 int shmdt(const void* address) {
-#if __i386__
-  return syscall(SYS_ipc, SHMDT, 0, 0, 0, address, 0);
-#else
+#if defined(SYS_shmdt)
   return syscall(SYS_shmdt, address);
+#else
+  return syscall(SYS_ipc, SHMDT, 0, 0, 0, address, 0);
 #endif
 }
 
 int shmget(key_t key, size_t size, int flags) {
-#if __i386__
-  return syscall(SYS_ipc, SHMGET, key, size, flags, 0, 0);
-#else
+#if defined(SYS_shmget)
   return syscall(SYS_shmget, key, size, flags);
+#else
+  return syscall(SYS_ipc, SHMGET, key, size, flags, 0, 0);
 #endif
 }
