diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2019-09-25 11:42:19 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-10-04 21:47:47 -0400 |
commit | 8039b6257ce5288e9e38c2593ff2d5d6d316efd4 (patch) | |
tree | e621bb88c0cde7bc2ea6249fd3c9a9c32d058e7c | |
parent | 93f02b6223b8fc4d85ece389ac0520ee9cc20f2f (diff) | |
download | haskell-8039b6257ce5288e9e38c2593ff2d5d6d316efd4.tar.gz |
Add musl systems to llvm-targets
This was done in Nixpkgs, but never upstreamed. Musl is pretty much
the same as gnu, but with a different libc. I’ve used the same values
for everything.
-rw-r--r-- | aclocal.m4 | 2 | ||||
-rw-r--r-- | llvm-targets | 13 | ||||
-rwxr-xr-x | utils/llvm-targets/gen-data-layout.sh | 13 |
3 files changed, 27 insertions, 1 deletions
diff --git a/aclocal.m4 b/aclocal.m4 index e3abb07202..2072a33b36 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1977,7 +1977,7 @@ AC_DEFUN([GHC_LLVM_TARGET], [ # for the LLVM Target. Otherwise these would be # turned into just `-linux` and fail to be found # in the `llvm-targets` file. - *-android*|*-gnueabi*) + *-android*|*-gnueabi*|*-musleabi*) GHC_CONVERT_VENDOR([$2],[llvm_target_vendor]) llvm_target_os="$3" ;; diff --git a/llvm-targets b/llvm-targets index b0fe913471..97414a383f 100644 --- a/llvm-targets +++ b/llvm-targets @@ -2,23 +2,36 @@ ,("i686-unknown-windows", ("e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32", "pentium4", "")) ,("x86_64-unknown-windows", ("e-m:w-i64:64-f80:128-n8:16:32:64-S128", "x86-64", "")) ,("arm-unknown-linux-gnueabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1176jzf-s", "+strict-align")) +,("arm-unknown-linux-musleabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1176jzf-s", "+strict-align")) ,("armv6-unknown-linux-gnueabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1136jf-s", "+strict-align")) +,("armv6-unknown-linux-musleabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1136jf-s", "+strict-align")) ,("armv6l-unknown-linux-gnueabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1176jzf-s", "+strict-align")) +,("armv6l-unknown-linux-musleabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1176jzf-s", "+strict-align")) ,("armv7-unknown-linux-gnueabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", "")) +,("armv7-unknown-linux-musleabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", "")) ,("armv7a-unknown-linux-gnueabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", "")) +,("armv7a-unknown-linux-musleabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", "")) ,("armv7a-unknown-linux-gnueabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", "")) +,("armv7a-unknown-linux-musleabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", "")) ,("armv7l-unknown-linux-gnueabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", "")) +,("armv7l-unknown-linux-musleabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", "")) ,("armv7l-unknown-linux-gnueabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", "")) +,("armv7l-unknown-linux-musleabihf", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", "")) ,("aarch64-unknown-linux-gnu", ("e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128", "generic", "+neon")) +,("aarch64-unknown-linux-musl", ("e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128", "generic", "+neon")) ,("aarch64-unknown-linux", ("e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128", "generic", "+neon")) ,("i386-unknown-linux-gnu", ("e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128", "pentium4", "")) +,("i386-unknown-linux-musl", ("e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128", "pentium4", "")) ,("i386-unknown-linux", ("e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128", "pentium4", "")) ,("x86_64-unknown-linux-gnu", ("e-m:e-i64:64-f80:128-n8:16:32:64-S128", "x86-64", "")) +,("x86_64-unknown-linux-musl", ("e-m:e-i64:64-f80:128-n8:16:32:64-S128", "x86-64", "")) ,("x86_64-unknown-linux", ("e-m:e-i64:64-f80:128-n8:16:32:64-S128", "x86-64", "")) ,("x86_64-unknown-linux-android", ("e-m:e-i64:64-f80:128-n8:16:32:64-S128", "x86-64", "+sse4.2 +popcnt")) ,("armv7-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", "")) ,("aarch64-unknown-linux-android", ("e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128", "generic", "+neon")) ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", "")) +,("powerpc64le-unknown-linux-gnu", ("e-m:e-i64:64-n32:64", "ppc64le", "")) +,("powerpc64le-unknown-linux-musl", ("e-m:e-i64:64-n32:64", "ppc64le", "")) ,("powerpc64le-unknown-linux", ("e-m:e-i64:64-n32:64", "ppc64le", "")) ,("i386-apple-darwin", ("e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128", "yonah", "")) ,("x86_64-apple-darwin", ("e-m:o-i64:64-f80:128-n8:16:32:64-S128", "core2", "")) diff --git a/utils/llvm-targets/gen-data-layout.sh b/utils/llvm-targets/gen-data-layout.sh index 15fa113550..450d21903c 100755 --- a/utils/llvm-targets/gen-data-layout.sh +++ b/utils/llvm-targets/gen-data-layout.sh @@ -33,19 +33,30 @@ TARGETS=( # Linux ARM "arm-unknown-linux-gnueabihf" + "arm-unknown-linux-musleabihf" "armv6-unknown-linux-gnueabihf" + "armv6-unknown-linux-musleabihf" "armv6l-unknown-linux-gnueabihf" + "armv6l-unknown-linux-musleabihf" "armv7-unknown-linux-gnueabihf" + "armv7-unknown-linux-musleabihf" "armv7a-unknown-linux-gnueabi" + "armv7a-unknown-linux-musleabi" "armv7a-unknown-linux-gnueabihf" + "armv7a-unknown-linux-musleabihf" "armv7l-unknown-linux-gnueabi" + "armv7l-unknown-linux-musleabi" "armv7l-unknown-linux-gnueabihf" + "armv7l-unknown-linux-musleabihf" "aarch64-unknown-linux-gnu" + "aarch64-unknown-linux-musl" "aarch64-unknown-linux" # Linux x86 "i386-unknown-linux-gnu" + "i386-unknown-linux-musl" "i386-unknown-linux" "x86_64-unknown-linux-gnu" + "x86_64-unknown-linux-musl" "x86_64-unknown-linux" # Linux Android "x86_64-unknown-linux-android" @@ -53,6 +64,8 @@ TARGETS=( "aarch64-unknown-linux-android" "armv7a-unknown-linux-androideabi" # Linux ppc64le + "powerpc64le-unknown-linux-gnu" + "powerpc64le-unknown-linux-musl" "powerpc64le-unknown-linux" ######################### |