gcc/libgo/go
Ian Lance Taylor 3619ab8bd4 runtime: fix isSystemGoroutine for gccgo
The gc toolchain decides whether a goroutine is a system goroutine by
    comparing startpc to a list of saved special PCs.  In gccgo that
    approach does not work as startpc is often a thunk that invokes the
    real function with arguments, so the thunk address never matches the
    saved special PCs.
    
    This patch fixes gccgo's understanding of system goroutines.  Since
    there are only a limited number of them, we simply change each one to
    mark itself as special.
    
    This fixes stack dumps and functions like runtime.NumGoroutine to
    behave more like gc.  It also fixes the goprint test in the gc
    testsuite.
    
    Reviewed-on: https://go-review.googlesource.com/43156

From-SVN: r247931
2017-05-11 20:55:41 +00:00
..
archive libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
bufio libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
builtin libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
bytes Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
cmd libgo: update to Go 1.8.1 release 2017-04-17 22:10:58 +00:00
compress libgo: update to go1.8rc2 2017-01-23 22:18:42 +00:00
container libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
context libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
crypto Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
database/sql libgo: update to final Go 1.8 release 2017-02-17 15:43:39 +00:00
debug libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
encoding libgo: update to Go 1.8.1 release 2017-04-17 22:10:58 +00:00
errors libgo: update to go1.7rc3 2016-07-22 18:15:38 +00:00
exp Correct gcc/go/gofrontend/lex.cc and libgo/aclocal.m4 to the versions in the gofrontend repo... 2016-11-18 04:15:46 +00:00
expvar libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
flag libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
fmt libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
go Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
golang_org/x syscall, golang_org/x/net/lif: fixes for gccgo on Solaris 2017-01-18 03:37:52 +00:00
hash libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
html libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
image libgo: update to Go 1.8.1 release 2017-04-17 22:10:58 +00:00
index/suffixarray libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
internal libgo: update to Go 1.8.1 release 2017-04-17 22:10:58 +00:00
io libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
log libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
math Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
mime Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
net Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
os Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
path Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
plugin libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
reflect Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
regexp libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
runtime runtime: fix isSystemGoroutine for gccgo 2017-05-11 20:55:41 +00:00
sort libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
strconv libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
strings libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
sync libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
syscall Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
testing libgo: update to final Go 1.8 release 2017-02-17 15:43:39 +00:00
text libgo: update to Go 1.8.1 release 2017-04-17 22:10:58 +00:00
time Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
unicode libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00