summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Krasin <krasin@chromium.org>2011-08-18 22:54:21 +0000
committerIvan Krasin <krasin@chromium.org>2011-08-18 22:54:21 +0000
commitfb23462889ff2dcd016a4b4169ebce94a878218e (patch)
treeab51d0c38c87d70a137d9382ccce8237c4787029
parent78affc9ea1978d707b376180ec559b62fbf9ea05 (diff)
downloadexternal_llvm-fb23462889ff2dcd016a4b4169ebce94a878218e.zip
external_llvm-fb23462889ff2dcd016a4b4169ebce94a878218e.tar.gz
external_llvm-fb23462889ff2dcd016a4b4169ebce94a878218e.tar.bz2
Add NativeClient operating system support.
This patch adds support of NativeClient (*-*-nacl) OS support to LLVM. It's already supported in autoconf/config.sub. The motivation for this change is to start upstreaming PNaCl work. The whole set of patches include llvm backends (i686, x86_64, ARM), llvm-gcc (probably, would not be upstreamed because it's deprecated) and clang (the work has been just started, the amount of changes is going to be low and the most of the work is expected to be done close to the mainline). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138005 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--autoconf/configure.ac2
-rwxr-xr-xconfigure2
-rw-r--r--include/llvm/ADT/Triple.h3
-rw-r--r--lib/Support/Triple.cpp1
4 files changed, 7 insertions, 1 deletions
diff --git a/autoconf/configure.ac b/autoconf/configure.ac
index 8a0d73b..f3e94e8 100644
--- a/autoconf/configure.ac
+++ b/autoconf/configure.ac
@@ -299,6 +299,8 @@ AC_CACHE_CHECK([type of operating system we're going to target],
llvm_cv_target_os_type="Haiku" ;;
*-*-rtems*)
llvm_cv_target_os_type="RTEMS" ;;
+ *-*-nacl*)
+ llvm_cv_target_os_type="NativeClient" ;;
*-unknown-eabi*)
llvm_cv_target_os_type="Freestanding" ;;
*)
diff --git a/configure b/configure
index ebaec68..c8ada54 100755
--- a/configure
+++ b/configure
@@ -2341,6 +2341,8 @@ else
llvm_cv_target_os_type="Haiku" ;;
*-*-rtems*)
llvm_cv_target_os_type="RTEMS" ;;
+ *-*-nacl*)
+ llvm_cv_target_os_type="NativeClient" ;;
*-unknown-eabi*)
llvm_cv_target_os_type="Freestanding" ;;
*)
diff --git a/include/llvm/ADT/Triple.h b/include/llvm/ADT/Triple.h
index a48620e..86817e9 100644
--- a/include/llvm/ADT/Triple.h
+++ b/include/llvm/ADT/Triple.h
@@ -94,7 +94,8 @@ public:
Win32,
Haiku,
Minix,
- RTEMS
+ RTEMS,
+ NativeClient
};
enum EnvironmentType {
UnknownEnvironment,
diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp
index 05e1f92..8bb7f38 100644
--- a/lib/Support/Triple.cpp
+++ b/lib/Support/Triple.cpp
@@ -110,6 +110,7 @@ const char *Triple::getOSTypeName(OSType Kind) {
case Haiku: return "haiku";
case Minix: return "minix";
case RTEMS: return "rtems";
+ case NativeClient: return "nacl";
}
return "<invalid>";