PR 65616 points out that you can't use gccgo to build a PIE because
go-main.c is not compiled with -fPIC.  This patch fixes that.  I could
have used -fPIE, but -fPIC is essentially the same here and seems more
flexible.  Bootstrapped and ran Go testsuite on
x86_64-unknown-linux-gnu.  Committed to mainline and GCC 5 branch.

Ian
diff -r c713e818f342 libgo/Makefile.am
--- a/libgo/Makefile.am Fri Apr 17 14:58:05 2015 -0700
+++ b/libgo/Makefile.am Fri Apr 24 09:40:23 2015 -0700
@@ -2032,6 +2032,10 @@
 libgobegin_llgo_a_SOURCES = \
        runtime/go-main.c
 
+# Use -fPIC for libgobegin so that it can be put in a PIE.
+libgobegin_a_CFLAGS = $(AM_CFLAGS) -fPIC
+libgobegin_llgo_a_CFLAGS = $(AM_CFLAGS) -fPIC
+
 libnetgo_a_SOURCES = $(go_netgo_files)
 libnetgo_a_LIBADD = netgo.o
 

Reply via email to