diff --git a/lib/ExecutionEngine/JIT/Intercept.cpp b/lib/ExecutionEngine/JIT/Intercept.cpp
index 3e08ddb..0e4c75d 100644
--- a/lib/ExecutionEngine/JIT/Intercept.cpp
+++ b/lib/ExecutionEngine/JIT/Intercept.cpp
@@ -51,24 +51,22 @@
 #include <sys/stat.h>
 #endif
 
-/* stat functions are redirecting to __xstat with a version number.
- * On x86-64 linking with libc_nonshared.a and -Wl,--export-dynamic
- * doesn't make 'stat' available as an exported symbol, so we have to add it explicitely.*/
+/* stat functions are redirecting to __xstat with a version number.  On x86-64 
+ * linking with libc_nonshared.a and -Wl,--export-dynamic doesn't make 'stat' 
+ * available as an exported symbol, so we have to add it explicitly.
+ */
 class StatSymbols {
-	public:
-	StatSymbols() {
-		sys::DynamicLibrary::AddSymbol("stat", (void*)(intptr_t)stat);
-		sys::DynamicLibrary::AddSymbol("fstat", (void*)(intptr_t)fstat);
-		sys::DynamicLibrary::AddSymbol("fstatat", (void*)(intptr_t)fstatat);
-		sys::DynamicLibrary::AddSymbol("lstat", (void*)(intptr_t)lstat);
-		sys::DynamicLibrary::AddSymbol("stat64", (void*)(intptr_t)stat64);
-		sys::DynamicLibrary::AddSymbol("fstat64", (void*)(intptr_t)fstat64);
-		sys::DynamicLibrary::AddSymbol("fstatat64", (void*)(intptr_t)fstatat64);
-		sys::DynamicLibrary::AddSymbol("lstat64", (void*)(intptr_t)lstat64);
-		sys::DynamicLibrary::AddSymbol("atexit", (void*)(intptr_t)atexit);
-		sys::DynamicLibrary::AddSymbol("mknod", (void*)(intptr_t)mknod);
-		sys::DynamicLibrary::AddSymbol("mknodat", (void*)(intptr_t)mknodat);
-	}
+public:
+  StatSymbols() {
+    sys::DynamicLibrary::AddSymbol("stat", (void*)(intptr_t)stat);
+    sys::DynamicLibrary::AddSymbol("fstat", (void*)(intptr_t)fstat);
+    sys::DynamicLibrary::AddSymbol("lstat", (void*)(intptr_t)lstat);
+    sys::DynamicLibrary::AddSymbol("stat64", (void*)(intptr_t)stat64);
+    sys::DynamicLibrary::AddSymbol("fstat64", (void*)(intptr_t)fstat64);
+    sys::DynamicLibrary::AddSymbol("lstat64", (void*)(intptr_t)lstat64);
+    sys::DynamicLibrary::AddSymbol("atexit", (void*)(intptr_t)atexit);
+    sys::DynamicLibrary::AddSymbol("mknod", (void*)(intptr_t)mknod);
+  }
 };
 static StatSymbols initStatSymbols;
 #endif // __linux__
