summaryrefslogtreecommitdiff
path: root/src/utilcode
diff options
context:
space:
mode:
authorBen Pye <ben@curlybracket.co.uk>2015-07-01 15:10:09 +0100
committerBen Pye <ben@curlybracket.co.uk>2015-07-24 16:45:35 +0100
commit9cd8273572260317c6acc126333e5a6e56aaeb06 (patch)
treef125e83a6908151322aa20940b63c64c621c1169 /src/utilcode
parentacca43b33dcd97d1dc5d92147a3047a3bdfaf1ce (diff)
downloadcoreclr-9cd8273572260317c6acc126333e5a6e56aaeb06.tar.gz
coreclr-9cd8273572260317c6acc126333e5a6e56aaeb06.tar.bz2
coreclr-9cd8273572260317c6acc126333e5a6e56aaeb06.zip
Add ARM target for CoreCLR on Linux.
c_runtime/vprintf/test1 is disabled as casting NULL to va_list is against the C specification. Fix SetFilePointer tests on 32 bit platforms. Define _FILE_OFFSET_BITS=64 so that we have long file support on 32 bit platforms. Implement context capture/restore for ARM. Link libgcc_s before libunwind on ARM so C++ exceptions work. Translate armasm to gas syntax. Specify Thumb, VFPv3, ARMv7 for the ARM target. Add ARM configuration to mscorlib build Implement GetLogicalProcessorCacheSizeFromOS in PAL. Set UNWIND_CONTEXT_IS_UCONTEXT_T from configure check.
Diffstat (limited to 'src/utilcode')
-rw-r--r--src/utilcode/md5.cpp5
-rw-r--r--src/utilcode/perflog.cpp2
-rw-r--r--src/utilcode/util_nodependencies.cpp4
3 files changed, 10 insertions, 1 deletions
diff --git a/src/utilcode/md5.cpp b/src/utilcode/md5.cpp
index 5b316122ee..039b00198f 100644
--- a/src/utilcode/md5.cpp
+++ b/src/utilcode/md5.cpp
@@ -133,7 +133,12 @@ void MD5::GetHashValue(MD5HASHDATA* phash)
//
// but our compiler has an intrinsic!
+ #if defined(_ARM_) && defined(PLATFORM_UNIX)
+ #define ROL(x, n) (((x) << (n)) | ((x) >> (32-(n))))
+ #define ROTATE_LEFT(x,n) (x) = ROL(x,n)
+ #else
#define ROTATE_LEFT(x,n) (x) = _lrotl(x,n)
+ #endif
////////////////////////////////////////////////////////////////
//
diff --git a/src/utilcode/perflog.cpp b/src/utilcode/perflog.cpp
index 14e4737d13..1ee98d460e 100644
--- a/src/utilcode/perflog.cpp
+++ b/src/utilcode/perflog.cpp
@@ -115,7 +115,7 @@ void PerfLog::PerfLogInitialize()
// the file here for writing and close in PerfLogDone().
m_hPerfLogFileHandle = WszCreateFile (
#ifdef PLATFORM_UNIX
- L"/tmp/PerfData.dat",
+ W("/tmp/PerfData.dat"),
#else
W("C:\\PerfData.dat"),
#endif
diff --git a/src/utilcode/util_nodependencies.cpp b/src/utilcode/util_nodependencies.cpp
index f29e1df50d..135e1737c5 100644
--- a/src/utilcode/util_nodependencies.cpp
+++ b/src/utilcode/util_nodependencies.cpp
@@ -211,6 +211,9 @@ CHECK_SUPPORTED:
// Returns TRUE if we are running on a 64-bit OS in WoW, FALSE otherwise.
BOOL RunningInWow64()
{
+ #ifdef PLATFORM_UNIX
+ return FALSE;
+ #else
static int s_Wow64Process;
if (s_Wow64Process == 0)
@@ -224,6 +227,7 @@ BOOL RunningInWow64()
}
return (s_Wow64Process == 1) ? TRUE : FALSE;
+ #endif
}
#endif