The BOLT runtime is specifically hard coded for x86_64 linux or x86_64
darwin. (Using x86_64 syscalls, hardcoding syscall numbers.)
Make it very clear this is for those specific pair of systems.
Reviewed By: rafauler
Differential Revision: https://reviews.llvm.org/D148825
//
//===----------------------------------------------------------------------===//
-#if !defined(__APPLE__)
+#if !defined(__x86_64__)
+#error "For x86_64 only"
+#endif
+
+#if defined(__linux__)
#include <cstddef>
#include <cstdint>
#include <elf.h>
#endif
-#else
+#elif defined(__APPLE__)
typedef __SIZE_TYPE__ size_t;
#define __SSIZE_TYPE__ \
typedef long long int64_t;
typedef int int32_t;
+#else
+#error "For Linux or MacOS only"
#endif
// Save all registers while keeping 16B stack alignment