summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoritz Angermann <moritz.angermann@gmail.com>2020-07-07 10:54:21 +0800
committerMoritz Angermann <moritz.angermann@gmail.com>2020-07-07 10:54:21 +0800
commitc58ea25c581c8209ed774153d4aa671ef73faf86 (patch)
treef7b274865c539f578acfd4d0b708dfa736a1b2d0
parentefa72a2cc69ecef3087d9893ce6746bd2c41fc08 (diff)
downloadhaskell-wip/angerman/more-rtsSymbols.tar.gz
AArch32 symbols only on aarch32.wip/angerman/more-rtsSymbols
-rw-r--r--rts/RtsSymbols.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/rts/RtsSymbols.c b/rts/RtsSymbols.c
index 84c09748e9..ff32932ea9 100644
--- a/rts/RtsSymbols.c
+++ b/rts/RtsSymbols.c
@@ -1071,7 +1071,8 @@
/* SymI_NeedsProto(__popcountti2) */ \
/* These functions return the number of bits set in a. */\
SymI_NeedsProto(__bswapsi2) \
- SymI_NeedsProto(__bswapdi2) \
+ SymI_NeedsProto(__bswapdi2)
+#define RTS_LIBGCC_SYMBOLS_aarch32 \
/* armv6l */\
/* TODO: should check for __ARM_EABI__ */\
SymI_NeedsProto(__aeabi_d2f) \
@@ -1142,12 +1143,12 @@
SymI_NeedsProto(__floatsitf) \
SymI_NeedsProto(__floatunsitf)
-#if defined(__GNUC__) && SIZEOF_VOID_P <= 4 && !defined(_ABIN32)
+#if defined(__GNUC__) && SIZEOF_VOID_P <= 4 && defined(arm_HOST_OS)
+#define RTS_LIBGCC_SYMBOLS RTS_LIBGCC_SYMBOLS_32 RTS_LIBGCC_SYMBOLS_aarch32
+#elif defined(__GNUC__) && SIZEOF_VOID_P <= 4 && !defined(_ABIN32)
#define RTS_LIBGCC_SYMBOLS RTS_LIBGCC_SYMBOLS_32
#elif defined(__GNUC__) && SIZEOF_VOID_P == 8 && defined(aarch64_HOST_OS)
-#define RTS_LIBGCC_SYMBOLS \
- RTS_LIBGCC_SYMBOLS_64 \
- RTS_LIBGCC_SYMBOLS_aarch64
+#define RTS_LIBGCC_SYMBOLS RTS_LIBGCC_SYMBOLS_64 RTS_LIBGCC_SYMBOLS_aarch64
#elif defined(__GNUC__) && SIZEOF_VOID_P == 8
#define RTS_LIBGCC_SYMBOLS RTS_LIBGCC_SYMBOLS_64
#else