gcc/libgo
Ian Lance Taylor c0401cf78c runtime: copy internal locking code from Go 1.7 runtime
Remove the old locking code written in C.
    
    Add a shell script mkrsysinfo.sh to generate the runtime_sysinfo.go
    file, so that we can get Go copies of the system time structures and
    other types.
    
    Tweak the compiler so that when compiling the runtime package the
    address operator does not cause local variables to escape.  When the gc
    compiler compiles the runtime, an escaping local variable is treated as
    an error.  We should implement that, instead of this change, when escape
    analysis is turned on.
    
    Tweak the compiler so that the generated C header does not include names
    that start with an underscore followed by a non-upper-case letter,
    except for the special cases of _defer and _panic.  Otherwise we
    translate C types to Go in runtime_sysinfo.go and then generate those Go
    types back as C types in runtime.inc, which is useless and painful for
    the C code.
    
    Change entersyscall and friends to take a dummy argument, as the gc
    versions do, to simplify calls from the shared code.
    
    Reviewed-on: https://go-review.googlesource.com/30079

From-SVN: r240657
2016-09-30 13:45:08 +00:00
..
config libgo: Update libtool support to files in current GCC trunk. 2014-11-12 03:51:36 +00:00
go runtime: copy internal locking code from Go 1.7 runtime 2016-09-30 13:45:08 +00:00
runtime runtime: copy internal locking code from Go 1.7 runtime 2016-09-30 13:45:08 +00:00
testsuite runtime/internal/sys: new package, API copied from Go 1.7 2016-09-11 13:23:27 +00:00
LICENSE LICENSE: separate, change PATENTS text. 2010-12-06 22:27:47 +00:00
MERGE libgo: update to Go 1.7.1 release 2016-09-10 13:14:00 +00:00
Makefile.am runtime: copy internal locking code from Go 1.7 runtime 2016-09-30 13:45:08 +00:00
Makefile.in runtime: copy internal locking code from Go 1.7 runtime 2016-09-30 13:45:08 +00:00
PATENTS LICENSE: separate, change PATENTS text. 2010-12-06 22:27:47 +00:00
README libgo/README: Minor updates. 2015-03-13 18:53:13 +00:00
README.gcc libgo/README.gcc: Mention GCCGO_RUN_ALL_TESTS. 2011-03-09 19:17:56 +00:00
VERSION libgo: update to Go 1.7.1 release 2016-09-10 13:14:00 +00:00
aclocal.m4 libgo: don't provide ustat on arm64 GNU/Linux 2015-09-15 03:43:01 +00:00
config.h.in runtime: copy internal locking code from Go 1.7 runtime 2016-09-30 13:45:08 +00:00
configure runtime: copy internal locking code from Go 1.7 runtime 2016-09-30 13:45:08 +00:00
configure.ac runtime: copy internal locking code from Go 1.7 runtime 2016-09-30 13:45:08 +00:00
godeps.sh libgo: change build procedure to use build tags 2016-08-06 00:36:33 +00:00
match.sh libgo: don't unset in shell script 2016-08-13 02:52:42 +00:00
merge.sh libgo: update to go1.7rc3 2016-07-22 18:15:38 +00:00
mkrsysinfo.sh runtime: copy internal locking code from Go 1.7 runtime 2016-09-30 13:45:08 +00:00
mksysinfo.sh libgo: separate mksysinfo inputs into separate Makefile targets 2016-09-27 21:32:50 +00:00
mvifdiff.sh runtime: introduce mvifdiff.sh script to replace GCC's move-if-change 2014-12-01 01:06:29 +00:00
sysinfo.c runtime: copy internal locking code from Go 1.7 runtime 2016-09-30 13:45:08 +00:00

README

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.