| 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. |