| See ../README. | |
| This is the runtime support library for the Go programming language. | |
| This library is intended for use with the Go frontend. | |
| This library should not be stripped when it is installed. Go code | |
| relies on being able to look up file/line information, which comes | |
| from the debugging info using the libbacktrace library. | |
| The library has only been tested on GNU/Linux using glibc, and on | |
| Solaris. It should not be difficult to port to other operating | |
| systems. | |
| Directories: | |
| go | |
| A copy of the Go library from http://golang.org/, with several | |
| changes for gccgo. | |
| runtime | |
| Runtime functions, written in C, which are called directly by the | |
| compiler or by the library. | |
| Contributing | |
| ============ | |
| To contribute patches to the files in this directory, please see | |
| http://golang.org/doc/gccgo_contribute.html . | |
| The master copy of these files is hosted at | |
| http://code.google.com/p/gofrontend . Changes to these files require | |
| signing a Google contributor license agreement. If you are the | |
| copyright holder, you will need to agree to the individual contributor | |
| license agreement at | |
| http://code.google.com/legal/individual-cla-v1.0.html. This agreement | |
| can be completed online. | |
| If your organization is the copyright holder, the organization will | |
| need to agree to the corporate contributor license agreement at | |
| http://code.google.com/legal/corporate-cla-v1.0.html. | |
| If the copyright holder for your code has already completed the | |
| agreement in connection with another Google open source project, it | |
| does not need to be completed again. | |
| Debugging | |
| ========= | |
| This describes how to test libgo when built as part of gccgo. | |
| To test a specific package, cd to the libgo build directory | |
| (TARGET/libgo) and run `make PKG/check`. For example, `make | |
| bytes/check`. | |
| To see the exact commands that it runs, including how the compiler is | |
| invoked, run `make GOTESTFLAGS=--trace bytes/check`. This will | |
| display the commands if the test fails. If the test passes, the | |
| commands and other output will be visible in a file named | |
| check-testlog in a subdirectory with the name of the package being | |
| checked. In the case of bytes/check, this will create | |
| bytes/check-testlog. | |
| To leave the test program behind, run `make GOTESTFLAGS=--keep | |
| bytes/check`. That will leave a gotestNNNN/test directory in the | |
| libgo build directory. In that directory you can run | |
| `LD_LIBRARY_PATH=../../.libs ./a.out -test.short` to run the tests. | |
| You can run specific failing tests using a -test.run option. You can | |
| see the tests being run with the -test.v option. You can run the | |
| program under a debugger such as gdb. |