Thanks, rather than try to make this work everywhere, I decided to only build the file for x86 GNU/Linux for now, since that is the only place it is currently used. This patch bootstrapped on x86_64-pc-linux-gnu. Committed to mainline.
Ian
Index: gcc/go/gofrontend/MERGE =================================================================== --- gcc/go/gofrontend/MERGE (revision 279062) +++ gcc/go/gofrontend/MERGE (working copy) @@ -1,4 +1,4 @@ -f04751699e1a1ce98fe8bdbcce5a00f1be6a7d15 +15c7bc9f0a432bc09716758412ea41d6caa6491b The first line of this file holds the git revision number of the last merge done from the gofrontend repository. Index: libgo/Makefile.am =================================================================== --- libgo/Makefile.am (revision 278984) +++ libgo/Makefile.am (working copy) @@ -414,6 +414,13 @@ else rtems_task_variable_add_file = endif +runtime_context_asm_file = +if LIBGO_IS_X86 +if LIBGO_IS_LINUX +runtime_context_asm_file += runtime/go-context.S +endif +endif + runtime_files = \ runtime/aeshash.c \ runtime/go-assert.c \ @@ -445,7 +452,7 @@ runtime_files = \ runtime/runtime_c.c \ runtime/stack.c \ runtime/yield.c \ - runtime/go-context.S \ + $(runtime_context_asm_file) \ $(rtems_task_variable_add_file) version.go: s-version; @true