I have committed a patch to update libgo to the weekly.2011-12-14 release. As usual I am only including the changes to files that are specific to the gccgo frontend. In this case the math package has changed somewhat and I've adapted gccgo to call the libc math functions in several cases. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline.
Ian
Index: go-lang.c =================================================================== --- go-lang.c (revision 183096) +++ go-lang.c (working copy) @@ -88,6 +88,9 @@ go_langhook_init (void) { build_common_tree_nodes (false, false); + /* I don't know why this has to be done explicitly. */ + void_list_node = build_tree_list (NULL_TREE, void_type_node); + /* We must create the gogo IR after calling build_common_tree_nodes (because Gogo::define_builtin_function_trees refers indirectly to, e.g., unsigned_char_type_node) but before calling @@ -97,9 +100,6 @@ go_langhook_init (void) build_common_builtin_nodes (); - /* I don't know why this is not done by any of the above. */ - void_list_node = build_tree_list (NULL_TREE, void_type_node); - /* The default precision for floating point numbers. This is used for floating point constants with abstract type. This may eventually be controllable by a command line option. */