1See ../README. 2 3This is the runtime support library for the Go programming language. 4This library is intended for use with the Go frontend. 5 6This library should not be stripped when it is installed. Go code 7relies on being able to look up file/line information, which comes 8from the debugging info using the libbacktrace library. 9 10The library has only been tested on GNU/Linux using glibc, and on 11Solaris. It should not be difficult to port to other operating 12systems. 13 14Directories: 15 16go 17 A copy of the Go library from http://golang.org/, with several 18 changes for gccgo. 19 20runtime 21 Runtime functions, written in C, which are called directly by the 22 compiler or by the library. 23 24Contributing 25============ 26 27To contribute patches to the files in this directory, please see 28http://golang.org/doc/gccgo_contribute.html . 29 30The master copy of these files is hosted at 31http://code.google.com/p/gofrontend . Changes to these files require 32signing a Google contributor license agreement. If you are the 33copyright holder, you will need to agree to the individual contributor 34license agreement at 35http://code.google.com/legal/individual-cla-v1.0.html. This agreement 36can be completed online. 37 38If your organization is the copyright holder, the organization will 39need to agree to the corporate contributor license agreement at 40http://code.google.com/legal/corporate-cla-v1.0.html. 41 42If the copyright holder for your code has already completed the 43agreement in connection with another Google open source project, it 44does not need to be completed again. 45 46Debugging 47========= 48 49This describes how to test libgo when built as part of gccgo. 50 51To test a specific package, cd to the libgo build directory 52(TARGET/libgo) and run `make PKG/check`. For example, `make 53bytes/check`. 54 55To see the exact commands that it runs, including how the compiler is 56invoked, run `make GOTESTFLAGS=--trace bytes/check`. This will 57display the commands if the test fails. If the test passes, the 58commands and other output will be visible in a file named 59check-testlog in a subdirectory with the name of the package being 60checked. In the case of bytes/check, this will create 61bytes/check-testlog. 62 63To leave the test program behind, run `make GOTESTFLAGS=--keep 64bytes/check`. That will leave a gotestNNNN/test directory in the 65libgo build directory. In that directory you can run 66`LD_LIBRARY_PATH=../../.libs ./a.out -test.short` to run the tests. 67You can run specific failing tests using a -test.run option. You can 68see the tests being run with the -test.v option. You can run the 69program under a debugger such as gdb. 70