gcc/libgo
Ian Lance Taylor dc14e88e07 re PR other/61895 (libbacktrace crashes with bus error with empty file argv[0])
PR other/61895

runtime: Ignore small argv[0] file for backtrace.

Reportedly in some cases Docker starts processes with argv[0]
pointing to an empty file.  That would cause libgo to pass
that empty file to libbacktrace, which would then fail to do
any backtraces.  Everything should work fine if libbacktrace
falls back to /proc/self/exe.

This patch to libgo works around the problem by ignoring
argv[0] if it is a small file, or if stat fails.  This is not
a perfect fix but it's an unusual problem.

From-SVN: r213513
2014-08-02 00:54:15 +00:00
..
config ltmain.sh: Patch for Solaris. 2014-02-03 17:39:44 +00:00
go runtime: remove unused variable 2014-07-20 19:20:12 +00:00
runtime re PR other/61895 (libbacktrace crashes with bus error with empty file argv[0]) 2014-08-02 00:54:15 +00:00
testsuite runtime: introduce build targets for running benchmarks 2014-07-01 23:19:24 +00:00
LICENSE LICENSE: separate, change PATENTS text. 2010-12-06 22:27:47 +00:00
MERGE libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
Makefile.am reflect, runtime: Use libffi closures to implement reflect.MakeFunc. 2014-07-19 21:36:26 +00:00
Makefile.in reflect, runtime: Use libffi closures to implement reflect.MakeFunc. 2014-07-19 21:36:26 +00:00
PATENTS LICENSE: separate, change PATENTS text. 2010-12-06 22:27:47 +00:00
README It's a contributor license agreement, not a copyright LA. 2010-12-03 20:41:15 +00:00
README.gcc libgo/README.gcc: Mention GCCGO_RUN_ALL_TESTS. 2011-03-09 19:17:56 +00:00
aclocal.m4 Add Go frontend, libgo library, and Go testsuite. 2010-12-03 04:34:57 +00:00
config.h.in mksysinfo: Define CLONE flags. 2014-05-07 21:48:29 +00:00
configure libgo: Bump version number. 2014-07-19 10:12:01 +00:00
configure.ac libgo: Bump version number. 2014-07-19 10:12:01 +00:00
godeps.sh libgo: Generate dependencies automatically. 2011-12-03 00:16:12 +00:00
merge.sh libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
mksysinfo.sh libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +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.

The library has only been tested on GNU/Linux using glibc.  It should
not be difficult to port to other operating systems.

The library has only been tested on x86/x86_64 systems.  It should not
be difficult to port to other architectures.

Directories:

go
  A copy of the Go library from http://golang.org/, with a few
  changes for gccgo.  Notably, the reflection interface is different.

runtime
  Runtime functions, written in C, which are called directly by the
  compiler or by the library.

syscalls
  System call support.

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.