diff --git a/go/README b/go/README
index 6d4d0b0..f6f9456 100644
--- a/go/README
+++ b/go/README
@@ -1,52 +1,55 @@
 See ../README.
 
-The frontend is written in C++.
+The frontend is written in C++.  It can only be used in conjunction
+with a full compiler backend.  Currently the backend interface has
+been implemented with GCC (known as gccgo) and with LLVM (known as
+GoLLVM).
 
 The frontend lexes and parses the input into an IR specific to this
 frontend known as gogo.  It then runs a series of passes over the
 code.
 
-Finally it converts gogo to gcc's GENERIC.  A goal is to move the gcc
-support code into a gcc-interface subdirectory.  The gcc code will be
-put under the GPL.  The rest of the frontend will not include any gcc
-header files.
+Finally it converts gogo to the backend IR.  This is done via the
+interface described in backend.h.  The backend must implement that
+interface.  When used with GCC, the interface is implemented in
+gcc/go/go-gcc.cc.
 
-Issues to be faced in this transition:
+Source locations are represented using the interface described in
+go-linemap.h.  The backend is expected to provide a header file
+go-location.h that defines a Location type.
 
-* Representation of source locations.
-  + Currently the frontend uses gcc's source_location codes, using the
-    interface in libcpp/line-map.h.
+The frontend does not start by itself.  It expects something to call
+go_create_gogo passing in a Backend and a Linemap, as well as other
+options.  Then it expects something to call go_parse_input_files
+passing in the input files.  Finally, a call to go_write_globals will
+cause all global definitions to be written out via the Backend
+interface.
 
-* Handling of error messages.
-  + Currently the frontend uses gcc's error_at and warning_at
-    functions.
-  + Currently the frontend uses gcc's diagnostic formatter, using
-    features such as %<%> for appropriate quoting.
-  + Localization may be an issue.
+The backend is expected to provide the functions defined at the
+bottom of go-diagnostics.h: go_be_error_at, etc.  These will be used
+for error messages.
 
-This compiler works, but the code is a work in progress.  Notably, the
-support for garbage collection is ineffective and needs a complete
-rethinking.  The frontend pays little attention to its memory usage
-and rarely frees any memory.  The code could use a general cleanup
-which we have not had time to do.
+This compiler works, but the code is a work in progress.  The frontend
+pays little attention to its memory usage and rarely frees any memory.
+The code could use a general cleanup which we have not had time to do.
 
 Contributing
 =============
 
 To contribute patches to the files in this directory, please see
-http://golang.org/doc/gccgo_contribute.html .
+https://golang.org/doc/gccgo_contribute.html .
 
 The master copy of these files is hosted at
-http://code.google.com/p/gofrontend .  Changes to these files require
+https://go.googlesource.com/gofrontend .  There is a mirror at
+https://github.com/golang/gofrontend .  Changes to these files require
 signing a Google contributor license agreement.  If you are the
 copyright holder, you will need to agree to the individual contributor
-license agreement at
-http://code.google.com/legal/individual-cla-v1.0.html.  This agreement
-can be completed online.
+https://cla.developers.google.com/about/google-individual .  This
+agreement can be completed online.
 
 If your organization is the copyright holder, the organization will
 need to agree to the corporate contributor license agreement at
-http://code.google.com/legal/corporate-cla-v1.0.html.
+https://cla.developers.google.com/about/google-corporate .
 
 If the copyright holder for your code has already completed the
 agreement in connection with another Google open source project, it
