diff --git a/bin/real-arm-linux-androideabi-gcc b/bin/7fefe5b2-2588-11e9-996b-2bbad94f2d53
similarity index 100%
rename from bin/real-arm-linux-androideabi-gcc
rename to bin/7fefe5b2-2588-11e9-996b-2bbad94f2d53
Binary files differ
diff --git a/bin/real-arm-linux-androideabi-g++ b/bin/8345f5e4-2588-11e9-ba23-c7b0d410816e
similarity index 100%
rename from bin/real-arm-linux-androideabi-g++
rename to bin/8345f5e4-2588-11e9-ba23-c7b0d410816e
Binary files differ
diff --git a/bin/arm-linux-androideabi-g++ b/bin/arm-linux-androideabi-g++
index 54944a2..5923d19 100755
--- a/bin/arm-linux-androideabi-g++
+++ b/bin/arm-linux-androideabi-g++
@@ -1,5 +1,6 @@
 #!/usr/bin/python
 
+from __future__ import print_function
 import os
 import sys
 
@@ -24,7 +25,7 @@
       compiler = os.path.basename(os.path.abspath(__file__))
     self.real_compiler = os.path.join(
         compiler_path,
-        "real-" + compiler)
+        "8345f5e4-2588-11e9-ba23-c7b0d410816e")
     self.argv0 = self.real_compiler
 
   def process_gomacc_command(self):
@@ -49,7 +50,15 @@
   def add_flags(self):
     self.args = self.prepend_flags + self.args + self.append_flags
 
+  def print_deprecation_warning(self):
+    print("Android GCC has been deprecated in favor of Clang, and will be removed from\n"
+          "Android in 2020-01 as per the deprecation plan in:\n"
+          "https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+/master/GCC_4_9_DEPRECATION.md\n\n",
+          file=sys.stderr)
+
+
   def invoke_compiler(self):
+    self.print_deprecation_warning()
     self.set_real_compiler()
     self.parse_custom_flags()
     self.process_gomacc_command()
diff --git a/bin/arm-linux-androideabi-gcc b/bin/arm-linux-androideabi-gcc
index 54944a2..e937a80 100755
--- a/bin/arm-linux-androideabi-gcc
+++ b/bin/arm-linux-androideabi-gcc
@@ -1,5 +1,6 @@
 #!/usr/bin/python
 
+from __future__ import print_function
 import os
 import sys
 
@@ -24,7 +25,7 @@
       compiler = os.path.basename(os.path.abspath(__file__))
     self.real_compiler = os.path.join(
         compiler_path,
-        "real-" + compiler)
+        "7fefe5b2-2588-11e9-996b-2bbad94f2d53")
     self.argv0 = self.real_compiler
 
   def process_gomacc_command(self):
@@ -49,7 +50,15 @@
   def add_flags(self):
     self.args = self.prepend_flags + self.args + self.append_flags
 
+  def print_deprecation_warning(self):
+    print("Android GCC has been deprecated in favor of Clang, and will be removed from\n"
+          "Android in 2020-01 as per the deprecation plan in:\n"
+          "https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+/master/GCC_4_9_DEPRECATION.md\n\n",
+          file=sys.stderr)
+
+
   def invoke_compiler(self):
+    self.print_deprecation_warning()
     self.set_real_compiler()
     self.parse_custom_flags()
     self.process_gomacc_command()
