syscall_emul: Fix undefined macro behavior

Clang's UBSAN implementation complains about macros that expand to
expressions that contain 'defined'. Explicitly set the various feature
macros to 1 or 0 to avoid this issue.

Change-Id: Iba239dacfe526c43ab9c5da5183a350fc4fdc57d
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Andreas Hansson <andreas.hansson@arm.com>
Reviewed-by: Curtis Dunham <curtis.dunham@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/3241
This commit is contained in:
Andreas Sandberg
2017-05-10 13:10:23 +01:00
parent 32d99f4319
commit 6b1069c407

View File

@@ -45,15 +45,27 @@
#ifndef __SIM_SYSCALL_EMUL_HH__
#define __SIM_SYSCALL_EMUL_HH__
#define NO_STAT64 (defined(__APPLE__) || defined(__OpenBSD__) || \
defined(__FreeBSD__) || defined(__CYGWIN__) || \
defined(__NetBSD__))
#if (defined(__APPLE__) || defined(__OpenBSD__) || \
defined(__FreeBSD__) || defined(__CYGWIN__) || \
defined(__NetBSD__))
#define NO_STAT64 1
#else
#define NO_STAT64 0
#endif
#define NO_STATFS (defined(__APPLE__) || defined(__OpenBSD__) || \
defined(__FreeBSD__) || defined(__NetBSD__))
#if (defined(__APPLE__) || defined(__OpenBSD__) || \
defined(__FreeBSD__) || defined(__NetBSD__))
#define NO_STATFS 1
#else
#define NO_STATFS 0
#endif
#define NO_FALLOCATE (defined(__APPLE__) || defined(__OpenBSD__) || \
defined(__FreeBSD__) || defined(__NetBSD__))
#if (defined(__APPLE__) || defined(__OpenBSD__) || \
defined(__FreeBSD__) || defined(__NetBSD__))
#define NO_FALLOCATE 1
#else
#define NO_FALLOCATE 0
#endif
///
/// @file syscall_emul.hh