diff --git a/compiler/common_compiler_test.h b/compiler/common_compiler_test.h
index f935095..0999d09 100644
--- a/compiler/common_compiler_test.h
+++ b/compiler/common_compiler_test.h
@@ -285,7 +285,7 @@
 #elif defined(__x86_64__)
       instruction_set = kX86_64;
       // TODO: x86_64 compilation support.
-      compiler_options_->SetCompilerFilter(Runtime::kInterpretOnly);
+      compiler_options_->SetCompilerFilter(CompilerOptions::kInterpretOnly);
 #endif
 
       for (int i = 0; i < Runtime::kLastCalleeSaveType; i++) {
diff --git a/runtime/Android.mk b/runtime/Android.mk
index 1e5a681..d6d2b42 100644
--- a/runtime/Android.mk
+++ b/runtime/Android.mk
@@ -332,7 +332,7 @@
   ifeq ($$(art_target_or_host),target)
     LOCAL_SRC_FILES := $(LIBART_TARGET_SRC_FILES)
     $(foreach arch,$(ART_SUPPORTED_ARCH),
-      LOCAL_SRC_FILES_$(arch) := $$(LIBART_TARGET_SRC_FILES_$(arch))))
+      LOCAL_SRC_FILES_$(arch) := $$(LIBART_TARGET_SRC_FILES_$(arch)))
   else # host
     LOCAL_SRC_FILES := $(LIBART_HOST_SRC_FILES)
     LOCAL_IS_HOST_MODULE := true
@@ -352,7 +352,7 @@
   LOCAL_CFLAGS := $(LIBART_CFLAGS)
   LOCAL_LDFLAGS := $(LIBART_LDFLAGS)
   $(foreach arch,$(ART_SUPPORTED_ARCH),
-    LOCAL_LDFLAGS_$(arch) := $$(LIBART_TARGET_LDFLAGS_$(arch))))
+    LOCAL_LDFLAGS_$(arch) := $$(LIBART_TARGET_LDFLAGS_$(arch)))
 
   ifeq ($$(art_target_or_host),target)
     LOCAL_CLANG := $(ART_TARGET_CLANG)
diff --git a/runtime/elf_file.cc b/runtime/elf_file.cc
index f16db8b..3a17e41 100644
--- a/runtime/elf_file.cc
+++ b/runtime/elf_file.cc
@@ -290,14 +290,14 @@
 
   if (!program_header_only_) {
     if (header_->e_phoff >= Size()) {
-      *error_msg = StringPrintf("Failed to find e_phoff value %d less than %d in %s",
+      *error_msg = StringPrintf("Failed to find e_phoff value %d less than %zd in %s",
                                 header_->e_phoff,
                                 Size(),
                                 file_->GetPath().c_str());
       return false;
     }
     if (header_->e_shoff >= Size()) {
-      *error_msg = StringPrintf("Failed to find e_shoff value %d less than %d in %s",
+      *error_msg = StringPrintf("Failed to find e_shoff value %d less than %zd in %s",
                                 header_->e_shoff,
                                 Size(),
                                 file_->GetPath().c_str());
