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