On Thu, May 14, 2020 at 12:43 PM Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote: > > > This libgo patch builds the syscall test with -static. This avoids > > problems finding libgo.so when running the test as root, which invokes > > the test as a child process in various limited environments. This > > fixes GCC PR 95061. Bootstrapped and ran Go tests on > > x86_64-pc-linux-gnu. Committed to mainline. > > this patch broke the syscall test on Solaris: > > ld: fatal: library -lpthread: not found > ld: fatal: library -lm: not found > ld: fatal: library -lc: not found > ld: fatal: library -lc: not found > collect2: error: ld returned 1 exit status > FAIL: syscall > > There are no static versions of system libraries.
Sorry about that. The issue only arises on GNU/Linux, so committed this patch after testing to at least fix the problem on Solaris. Ian
49f993428fa6bc5921a473d4476db81698147519 diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index b63bb3bd547..4776f78e5fa 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -93b3d88515db85e203d54f382200b84b56b0ae4c +cae8d4c388d4cc701c7f8fc221c9f6431760d93a The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/libgo/Makefile.am b/libgo/Makefile.am index eff0e00e787..0bbe54cfe1b 100644 --- a/libgo/Makefile.am +++ b/libgo/Makefile.am @@ -967,9 +967,11 @@ endif # Also use -fno-inline to get better results from the memory profiler. runtime_pprof_check_GOCFLAGS = -static-libgo -fno-inline +if LIBGO_IS_LINUX # Use -static for the syscall tests, because otherwise when # running as root the re-execs ignore LD_LIBRARY_PATH. syscall_check_GOCFLAGS = -static +endif extra_go_files_runtime_internal_sys = version.go runtime/internal/sys.lo.dep: $(extra_go_files_runtime_internal_sys)