Commit Graph

60 Commits

Author SHA1 Message Date
Ian Lance Taylor
9c26dfd08a gotest: multiple +build lines must all be true
The code that handled +build lines did not correctly require them to all
    be true.  While looking into this I discovered that multiple +build
    lines were mishandled in a different way, because the shell does not
    preseve line breaks in backquoted data.  Look for the +build token to
    tell us when we are switching from one +build line to another.
    
    Reviewed-on: https://go-review.googlesource.com/25460

From-SVN: r239100
2016-08-03 22:46:06 +00:00
Ian Lance Taylor
de41ebf5dd re PR go/68980 (ps -o cmd in gotest isn't portable)
PR 68980
    libgo/testsuite: portable ps usage in gotest
    
    gotest is using "ps" to list descendant sleep
    processes in its timeout handling, grepping
    the command name.
    
    We are currently using the "cmd" ps output
    formatter, which is non-portable. We should
    use "comm" which is part of the POSIX
    standard, and outputs only the command name
    and not the arguments.
    
    Fixes https://gcc.gnu.org/PR68980
    
    Reviewed-on: https://go-review.googlesource.com/18426

From-SVN: r232234
2016-01-11 17:55:39 +00:00
Ian Lance Taylor
aa3ba34fba gotest: fix handling of --goarch option
I managed to add a new --goarch option to gotest without noticing that
    the script already had one.  Worse, they set different variables.
    Remove the old option in favor of the new one.
    
    Reviewed-on: https://go-review.googlesource.com/16613

From-SVN: r229734
2015-11-04 01:52:40 +00:00
Ian Lance Taylor
af146490bb runtime: Remove now unnecessary pad field from ParFor.
It is not needed due to the removal of the ctx field.
    
    Reviewed-on: https://go-review.googlesource.com/16525

From-SVN: r229616
2015-10-31 00:59:47 +00:00
David Malcolm
9e531d3749 Testsuite: add dg-{begin|end}-multiline-output commands
This patch adds an easy way to write tests for expected multiline
output.  For example we can test carets and underlines for
a particular diagnostic with:

/* { dg-begin-multiline-output "" }
 typedef struct _GMutex GMutex;
                ^~~~~~~
   { dg-end-multiline-output "" } */

multiline.exp is used by prune.exp; hence we need to load it before
prune.exp via *load_gcc_lib* for the testsuites of the various
non-"gcc" support libraries (e.g. boehm-gc).

gcc/testsuite/ChangeLog:
	* lib/multiline.exp: New file.
	* lib/prune.exp: Load multiline.exp.
	(prune_gcc_output): Call into multiline.exp to handle any
	multiline output directives.
	* lib/libgo.exp: Load multiline.exp before prune.exp, using
	load_gcc_lib.

boehm-gc/ChangeLog:
	* testsuite/lib/boehm-gc.exp: Load multiline.exp before
	prune.exp, using load_gcc_lib.

libatomic/ChangeLog:
	* testsuite/lib/libatomic.exp: Load multiline.exp before
	prune.exp, using load_gcc_lib.

libgomp/ChangeLog:
	* testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
	using load_gcc_lib.

libitm/ChangeLog:
	* testsuite/lib/libitm.exp: Load multiline.exp before prune.exp,
	using load_gcc_lib.

libvtv/ChangeLog:
	* testsuite/lib/libvtv.exp: Load multiline.exp before prune.exp,
	using load_gcc_lib.

From-SVN: r228655
2015-10-09 13:55:23 +00:00
Ian Lance Taylor
a2bf11d16a libgo: If compiler can split-stack and linker can not, use -fno-split-stack.
If the compiler supports split-stack but we are using a gold linker that
    does not, as happens on PPC with current GCC but old gold, then we need
    to compile the Go code with -fno-split-stack to avoid a linker error
    avoid the inability to call from split-stack code to non-split-stack
    code.
    
    Reviewed-on: https://go-review.googlesource.com/14598

From-SVN: r227811
2015-09-15 21:15:37 +00:00
Ian Lance Taylor
44c925bdb0 libgo: don't provide ustat on arm64 GNU/Linux
This avoids linker warnings when linking against glibc, as apparently
    arm64 GNU/Linux does not support the ustat system call.
    
    Also update to automake 1.11.6, as that is the new GCC standard.
    
    Reviewed-on: https://go-review.googlesource.com/14567

From-SVN: r227777
2015-09-15 03:43:01 +00:00
Ian Lance Taylor
f999c862ec libgo/testsuite: another fix for killing the sleep process
Avoid ps padding issues.  Make sure we locate and kill just the sleep
    process.
    
    Reviewed-on: https://go-review.googlesource.com/13634

From-SVN: r227037
2015-08-20 17:10:45 +00:00
Ian Lance Taylor
d0ceffe507 libgo/testsuite: don't call kill without args
If the timeout subshell has no child processes,
    the "xargs | kill" will fail. Ensure there is
    some input for kill before calling it.
    
    Reviewed-on: https://go-review.googlesource.com/13295

From-SVN: r226719
2015-08-07 10:10:00 +00:00
Ian Lance Taylor
ca81dee392 libgo/testsuite: kill sleep process in gotest
This change modifies the "gotest" shell script
    to kill all processes, including "sleep", spawned
    by the timeout subshell. This prevents the sleep
    process from living beyond the gotest process.
    
    BACKGROUND
    
    The "gotest" shell script spawns "sleep" processes
    in the background to kill off test cases that run
    past their specified timeout. There are commands
    included that appear to kill the sleep process,
    but they only kill the parent shell, causing the
    sleep process to reparent.
    
    The orphaned sleep process can cause issues when
    gotest is run under some build systems, such as
    Ninja [0]. The particular issue with Ninja is the
    method it uses to identify terminated processes:
    it creates a pipe, passes the write end to the
    child process, and waits for EOF. In the case of
    libgo/gotest, the orphaned sleep process inherits
    the pipe FD and keeps it open for 4 minutes by
    default.
    
    [0] https://github.com/martine/ninja
    
    Reviewed-on: https://go-review.googlesource.com/12227

From-SVN: r226526
2015-08-03 18:23:42 +00:00
Ian Lance Taylor
f8d9fa9e80 libgo, compiler: Upgrade libgo to Go 1.4, except for runtime.
This upgrades all of libgo other than the runtime package to
the Go 1.4 release.  In Go 1.4 much of the runtime was
rewritten into Go.  Merging that code will take more time and
will not change the API, so I'm putting it off for now.

There are a few runtime changes anyhow, to accomodate other
packages that rely on minor modifications to the runtime
support.

The compiler changes slightly to add a one-bit flag to each
type descriptor kind that is stored directly in an interface,
which for gccgo is currently only pointer types.  Another
one-bit flag (gcprog) is reserved because it is used by the gc
compiler, but gccgo does not currently use it.

There is another error check in the compiler since I ran
across it during testing.

gotools/:
	* Makefile.am (go_cmd_go_files): Sort entries.  Add generate.go.
	* Makefile.in: Rebuild.

From-SVN: r219627
2015-01-15 00:27:56 +00:00
Kyrylo Tkachov
69aef6dcdc Add load of target-utils.exp to libatomic, libitm, libvtv, libgo testsuite drivers
* testsuite/lib/libatomic.exp: Load target-utils.exp

	* testsuite/lib/libitm.exp: Load target-utils.exp.
	Move load of target-supports.exp earlier.

	* testsuite/lib/libvtv.exp: Load target-utils.exp

From-SVN: r218664
2014-12-12 12:00:01 +00:00
Ian Lance Taylor
6f7ccafa91 runtime: GOARCH values for ppc64 BE & LE
ppc64 for BE
ppc64le for LE
issue 8654

From-SVN: r217941
2014-11-21 18:22:05 +00:00
Ian Lance Taylor
ffa98da470 runtime: introduce build targets for running benchmarks
This introduces the "bench" build target, which can be used to run
all benchmarks.

It is also possible to run subsets of benchmarks with the
"package/check" build targets by setting GOBENCH to a matching regex.

From-SVN: r212212
2014-07-01 23:19:24 +00:00
Ian Lance Taylor
9a85ed03da runtime: add the --without-libatomic configure option
This adds the --without-libatomic configure option, which is useful for building libgo
with a non-gcc compiler.

It disables libgo's dependency on libatomic. This
is useful for platforms where it is known that the libatomic runtime
functions are not required, or where the compiler automatically
provides an implementation of them.

From-SVN: r211065
2014-05-29 20:22:27 +00:00
Ian Lance Taylor
9d5eec2da6 gotest: Recognize PPC ELF v2 function pointers in text section.
From-SVN: r205000
2013-11-19 02:14:40 +00:00
Ian Lance Taylor
d5698f71bb re PR go/56017 (libgo testsuite does not support cross testing)
PR go/56017
libgo DejaGNU testsuite: Load timeout.exp before go.exp.

From-SVN: r195926
2013-02-09 23:02:09 +00:00
Ian Lance Taylor
7134cf2833 re PR go/56017 (libgo testsuite does not support cross testing)
PR go/56017
libgo: Use DejaGNU when testing a cross-compiler.

From-SVN: r195766
2013-02-05 22:22:17 +00:00
Ian Lance Taylor
10f92c9c3f re PR go/56171 (syscall FAILs on Solaris)
PR go/56171
syscall: Only run creds_test on GNU/Linux.

From-SVN: r195686
2013-02-02 15:40:14 +00:00
Ian Lance Taylor
4ccad563d2 libgo: Update to current sources.
From-SVN: r192704
2012-10-23 04:31:11 +00:00
Ian Lance Taylor
ee6440f8d8 libgo: Add no-dist and -Wno-portability to AM_INIT_AUTOMAKE.
From-SVN: r191575
2012-09-20 16:32:27 +00:00
Ian Lance Taylor
25bab91e01 gotest: Only look in data segment for ppc64, not ppc*.
From Andreas Schwab.

From-SVN: r188944
2012-06-25 16:26:27 +00:00
Ian Lance Taylor
f3ab5720f7 libgo: Use -fgo-pkgpath.
From-SVN: r187485
2012-05-14 22:08:42 +00:00
Ian Lance Taylor
bc9201591d gotest: Remove race in use of ../testdata.
From-SVN: r186781
2012-04-24 20:13:12 +00:00
Ian Lance Taylor
d25a12fc2d net, syscall: Use native endianness for GNU/Linux netlink code.
From-SVN: r186640
2012-04-20 20:11:28 +00:00
Ian Lance Taylor
8198dc134f gotest: Don't get confused by data tables named Test on PPC.
From-SVN: r186605
2012-04-20 04:49:19 +00:00
Ian Lance Taylor
ea8505da90 syscall, net: Fix GNU/Linux netlink code for big-endian systems.
From-SVN: r186123
2012-04-03 23:44:53 +00:00
Ian Lance Taylor
572a2f6886 gotest: Fix finding functions on PPC.
From-SVN: r186112
2012-04-03 18:26:57 +00:00
Ian Lance Taylor
317ea7c0f4 re PR go/48410 (weird installation dir)
PR go/48410
libgo: Don't put .gox files in version-specific directory.

From-SVN: r184223
2012-02-14 19:40:09 +00:00
Ian Lance Taylor
9d465faf92 math: Compile with -mfancy-math-387 -funsafe-optimizations on x86.
From-SVN: r184015
2012-02-08 19:38:17 +00:00
Ian Lance Taylor
df1304ee03 libgo: Update to weekly.2012-01-15.
From-SVN: r183539
2012-01-25 20:56:26 +00:00
Ian Lance Taylor
f9f9698753 compiler, runtime: Implement struct and array comparisons.
From-SVN: r182971
2012-01-06 21:47:49 +00:00
Ian Lance Taylor
2fd401c8f1 libgo: Update to weekly.2011-11-02.
From-SVN: r181964
2011-12-03 02:17:34 +00:00
Ian Lance Taylor
18c700754e libgo: Generate dependencies automatically.
From-SVN: r181955
2011-12-03 00:16:12 +00:00
Ian Lance Taylor
207c35fa9e syscall: Portability code for epoll_event on GNU/Linux.
From-SVN: r180729
2011-11-01 04:12:01 +00:00
Ian Lance Taylor
d8f412571f Update Go library to last weekly.
From-SVN: r180552
2011-10-26 23:57:58 +00:00
Ian Lance Taylor
de27caacfb Implement new syscall package.
Calls to library functions now use entersyscall and
exitsyscall as appropriate.  This is a first step toward
multiplexing goroutines onto threads.

From-SVN: r180345
2011-10-23 19:04:37 +00:00
Ian Lance Taylor
16e40fef8f Pass $(MATH_LIBS) $(NET_LIBS) when linking tests.
From-SVN: r179219
2011-09-26 22:33:31 +00:00
Ian Lance Taylor
2d778bb7ab Increase default libgo test timeout.
From-SVN: r179062
2011-09-21 23:02:31 +00:00
Ian Lance Taylor
adb0401dac Update Go library to r60.
From-SVN: r178910
2011-09-16 15:47:21 +00:00
Ian Lance Taylor
09df293c7a libgo/testsuite/gotest: Run tests in source file order.
From-SVN: r176223
2011-07-13 01:04:50 +00:00
Ian Lance Taylor
d983a802f6 libgo: Define CC_FOR_BUILD in Makefile.
From-SVN: r176182
2011-07-11 20:27:50 +00:00
Ian Lance Taylor
49fd1b338c gotest: Add external timeout if internal timeout fails.
From-SVN: r172003
2011-04-05 21:11:35 +00:00
Ian Lance Taylor
69dd762a99 gotest: Avoid echo -n.
From-SVN: r172000
2011-04-05 19:53:33 +00:00
Ian Lance Taylor
90630d1932 libgo: Support Solaris 8/9.
From Rainer Orth.

From-SVN: r171818
2011-04-01 05:11:23 +00:00
Ian Lance Taylor
de90644af8 libgo: Set name of test when using DejaGNU tests.
From-SVN: r171805
2011-03-31 23:03:20 +00:00
Ian Lance Taylor
4bce572db2 re PR go/48242 (gotest needs timeout mechanism)
PR go/48242
libgo: Add timeout for tests.

From-SVN: r171803
2011-03-31 22:36:10 +00:00
Ian Lance Taylor
f72f416913 Update to current Go library.
From-SVN: r171732
2011-03-30 15:33:16 +00:00
Ian Lance Taylor
8039ca76a5 Update to current version of Go library.
From-SVN: r171427
2011-03-24 23:46:17 +00:00
Ian Lance Taylor
5133f00ef8 Update to current version of Go library (revision 94d654be2064).
From-SVN: r171076
2011-03-16 23:05:44 +00:00