diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index d966638c2ea7dc94e4543d67a7d026ffeb0ba970..79349d792ee6d74ffb94a0548ee3238dada41c22 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -1,4 +1,4 @@
-28c9053b3d507bef7bd56cb01c6b22deea354cdd
+17bef47f464983fd8513f88f3f159d28e2423e79
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
diff --git a/gcc/go/gofrontend/gogo.cc b/gcc/go/gofrontend/gogo.cc
index d39a4fb51aac1df14504fb10486e2dc82107b87b..f6a8e7ad8eb16afb9442e6ef9956ab238739df36 100644
--- a/gcc/go/gofrontend/gogo.cc
+++ b/gcc/go/gofrontend/gogo.cc
@@ -2589,9 +2589,11 @@ Gogo::define_global_names()
   if (this->is_main_package())
     {
       // Every Go program has to import the runtime package, so that
-      // it is properly initialized.
+      // it is properly initialized.  We can't use
+      // predeclared_location here as it will cause runtime functions
+      // to appear to be builtin functions.
       this->import_package("runtime", "_", false, false,
-			   Linemap::predeclared_location());
+			   this->package_->location());
     }
 
   for (Bindings::const_declarations_iterator p =