From 176b63e7113b82c140a4ecb2620024526c2c42e3 Mon Sep 17 00:00:00 2001 From: Dan Kortschak Date: Sun, 17 Jul 2022 08:43:55 +0930 Subject: [PATCH 01/25] crypto/internal/nistec,debug/gosym: fix typos Change-Id: I228a23754656b41843573bd4217de4df46c9df36 Reviewed-on: https://go-review.googlesource.com/c/go/+/417954 Run-TryBot: Ian Lance Taylor TryBot-Result: Gopher Robot Reviewed-by: Jenny Rakoczy Reviewed-by: Ian Lance Taylor Auto-Submit: Ian Lance Taylor --- src/crypto/internal/nistec/p224_sqrt.go | 2 +- src/debug/gosym/symtab.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/crypto/internal/nistec/p224_sqrt.go b/src/crypto/internal/nistec/p224_sqrt.go index ac4d761bf555f..9a35cea6aac4e 100644 --- a/src/crypto/internal/nistec/p224_sqrt.go +++ b/src/crypto/internal/nistec/p224_sqrt.go @@ -19,7 +19,7 @@ var p224MinusOne = new(fiat.P224Element).Sub( func p224SqrtCandidate(r, x *fiat.P224Element) { // Since p = 1 mod 4, we can't use the exponentiation by (p + 1) / 4 like // for the other primes. Instead, implement a variation of Tonelli–Shanks. - // The contant-time implementation is adapted from Thomas Pornin's ecGFp5. + // The constant-time implementation is adapted from Thomas Pornin's ecGFp5. // // https://github.com/pornin/ecgfp5/blob/82325b965/rust/src/field.rs#L337-L385 diff --git a/src/debug/gosym/symtab.go b/src/debug/gosym/symtab.go index 4e63f1cdf705e..afc67198c3ffe 100644 --- a/src/debug/gosym/symtab.go +++ b/src/debug/gosym/symtab.go @@ -86,7 +86,7 @@ func (s *Sym) ReceiverName() string { // Find the first dot after pathend (or from the beginning, if there was // no slash in name). l := strings.Index(name[pathend:], ".") - // Find the last dot after pathend (or the beginnng). + // Find the last dot after pathend (or the beginning). r := strings.LastIndex(name[pathend:], ".") if l == -1 || r == -1 || l == r { // There is no receiver if we didn't find two distinct dots after pathend. From bb1749ba3bfaa6912d79904dad5e29e6ea624d29 Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Fri, 8 Jul 2022 09:41:14 -0700 Subject: [PATCH 02/25] cmd/compile: improve GOAMD64=v1 violation test Add more opcodes that are only available in >v1 modes. This test will now correctly detect the regression in -race mode for #53743. Change-Id: Icfbb1384e4333d7b4ff167c9ebcb6f4c7aeb6134 Reviewed-on: https://go-review.googlesource.com/c/go/+/416477 Reviewed-by: Than McIntosh Run-TryBot: Keith Randall TryBot-Result: Gopher Robot Reviewed-by: Keith Randall --- .../compile/internal/amd64/versions_test.go | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/src/cmd/compile/internal/amd64/versions_test.go b/src/cmd/compile/internal/amd64/versions_test.go index 2ac6e95c91a5c..b6411a1cb0d2f 100644 --- a/src/cmd/compile/internal/amd64/versions_test.go +++ b/src/cmd/compile/internal/amd64/versions_test.go @@ -242,12 +242,31 @@ var featureToOpcodes = map[string][]string{ // go tool objdump doesn't include a [QL] on popcnt instructions, until CL 351889 // native objdump doesn't include [QL] on linux. "popcnt": {"popcntq", "popcntl", "popcnt"}, - "bmi1": {"andnq", "andnl", "andn", "blsiq", "blsil", "blsi", "blsmskq", "blsmskl", "blsmsk", "blsrq", "blsrl", "blsr", "tzcntq", "tzcntl", "tzcnt"}, - "bmi2": {"sarxq", "sarxl", "sarx", "shlxq", "shlxl", "shlx", "shrxq", "shrxl", "shrx"}, - "sse41": {"roundsd"}, - "fma": {"vfmadd231sd"}, - "movbe": {"movbeqq", "movbeq", "movbell", "movbel", "movbe"}, - "lzcnt": {"lzcntq", "lzcntl", "lzcnt"}, + "bmi1": { + "andnq", "andnl", "andn", + "blsiq", "blsil", "blsi", + "blsmskq", "blsmskl", "blsmsk", + "blsrq", "blsrl", "blsr", + "tzcntq", "tzcntl", "tzcnt", + }, + "bmi2": { + "sarxq", "sarxl", "sarx", + "shlxq", "shlxl", "shlx", + "shrxq", "shrxl", "shrx", + }, + "sse41": { + "roundsd", + "pinsrq", "pinsrl", "pinsrd", "pinsrb", "pinsr", + "pextrq", "pextrl", "pextrd", "pextrb", "pextr", + "pminsb", "pminsd", "pminuw", "pminud", // Note: ub and sw are ok. + "pmaxsb", "pmaxsd", "pmaxuw", "pmaxud", + "pmovzxbw", "pmovzxbd", "pmovzxbq", "pmovzxwd", "pmovzxwq", "pmovzxdq", + "pmovsxbw", "pmovsxbd", "pmovsxbq", "pmovsxwd", "pmovsxwq", "pmovsxdq", + "pblendvb", + }, + "fma": {"vfmadd231sd"}, + "movbe": {"movbeqq", "movbeq", "movbell", "movbel", "movbe"}, + "lzcnt": {"lzcntq", "lzcntl", "lzcnt"}, } // Test to use POPCNT instruction, if available From df38614bd7f233f36a3f5ac07f0ec9029043243f Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Tue, 19 Jul 2022 15:35:51 -0700 Subject: [PATCH 03/25] test: use go tool from tree, not path Some of our tests do exec.Command("go", "tool", "compile", ...) or similar. That "go" is selected from PATH. When run.go is started from the command line (but not from all.bash), the first "go" is whatever happens to be first in the user's path (some random older version than tip). We really want all these tests to use the "go" tool from the source tree under test. Add GOROOT/bin to the front of the path to ensure that the tools we use come from the source tree under test. Change-Id: I609261a4add8cd5cb228316752d52b5499aec963 Reviewed-on: https://go-review.googlesource.com/c/go/+/418474 Run-TryBot: Keith Randall Reviewed-by: Keith Randall Reviewed-by: Ian Lance Taylor TryBot-Result: Gopher Robot --- test/run.go | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/test/run.go b/test/run.go index cb1622ccc9763..b2902f190c357 100644 --- a/test/run.go +++ b/test/run.go @@ -58,7 +58,7 @@ type envVars struct { } var env = func() (res envVars) { - cmd := exec.Command("go", "env", "-json") + cmd := exec.Command(goTool(), "env", "-json") stdout, err := cmd.StdoutPipe() if err != nil { log.Fatal("StdoutPipe:", err) @@ -710,6 +710,22 @@ func (t *test) run() { if tempDirIsGOPATH { cmd.Env = append(cmd.Env, "GOPATH="+t.tempDir) } + // Put the bin directory of the GOROOT that built this program + // first in the path. This ensures that tests that use the "go" + // tool use the same one that built this program. This ensures + // that if you do "../bin/go run run.go" in this directory, all + // the tests that start subprocesses that "go tool compile" or + // whatever, use ../bin/go as their go tool, not whatever happens + // to be first in the user's path. + path := os.Getenv("PATH") + newdir := filepath.Join(runtime.GOROOT(), "bin") + if path != "" { + path = newdir + string(filepath.ListSeparator) + path + } else { + path = newdir + } + cmd.Env = append(cmd.Env, "PATH="+path) + cmd.Env = append(cmd.Env, runenv...) var err error From 244c8b050093ec546311707760afaafabcbf2fef Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Wed, 20 Jul 2022 12:46:33 -0700 Subject: [PATCH 04/25] cmd/cgo: allow cgo to pass strings or []bytes bigger than 1<<30 There's no real reason to limit to 1<<30 bytes. Maybe it would catch some mistakes, but probably ones that would quickly manifest in other ways. We can't use the fancy new unsafe.Slice function because this code may still be generated for people with 1.16 or earlier in their go.mod file. Use unsafe shenanigans instead. Fixes #53965 Fixes #53958 Change-Id: Ibfa095192f50276091d6c2532e8ccd7832b57ca8 Reviewed-on: https://go-review.googlesource.com/c/go/+/418557 Run-TryBot: Keith Randall Reviewed-by: Ian Lance Taylor Reviewed-by: Keith Randall TryBot-Result: Gopher Robot --- src/cmd/cgo/out.go | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go index d6740028da916..119eca2be79e8 100644 --- a/src/cmd/cgo/out.go +++ b/src/cmd/cgo/out.go @@ -1653,10 +1653,18 @@ const cStringDef = ` // freed, such as by calling C.free (be sure to include stdlib.h // if C.free is needed). func _Cfunc_CString(s string) *_Ctype_char { + if len(s)+1 <= 0 { + panic("string too large") + } p := _cgo_cmalloc(uint64(len(s)+1)) - pp := (*[1<<30]byte)(p) - copy(pp[:], s) - pp[len(s)] = 0 + sliceHeader := struct { + p unsafe.Pointer + len int + cap int + }{p, len(s)+1, len(s)+1} + b := *(*[]byte)(unsafe.Pointer(&sliceHeader)) + copy(b, s) + b[len(s)] = 0 return (*_Ctype_char)(p) } ` @@ -1670,8 +1678,13 @@ const cBytesDef = ` // if C.free is needed). func _Cfunc_CBytes(b []byte) unsafe.Pointer { p := _cgo_cmalloc(uint64(len(b))) - pp := (*[1<<30]byte)(p) - copy(pp[:], b) + sliceHeader := struct { + p unsafe.Pointer + len int + cap int + }{p, len(b), len(b)} + s := *(*[]byte)(unsafe.Pointer(&sliceHeader)) + copy(s, b) return p } ` From c4a6d3048bb89f372662083695f957f22973e4a6 Mon Sep 17 00:00:00 2001 From: Cherry Mui Date: Thu, 21 Jul 2022 15:11:13 -0400 Subject: [PATCH 05/25] cmd/dist: enable race detector test on S390X The support was added but the test was not enabled. Enable it. Fixes #53981. Change-Id: I81ea73ea4ebc1013c35cb70ae88b096e02497887 Reviewed-on: https://go-review.googlesource.com/c/go/+/418914 Run-TryBot: Cherry Mui Reviewed-by: Ian Lance Taylor TryBot-Result: Gopher Robot --- src/cmd/dist/test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go index 846d0c0d85e71..976e8346ba8ac 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go @@ -1720,7 +1720,7 @@ func (t *tester) runPrecompiledStdTest(timeout time.Duration) error { func raceDetectorSupported(goos, goarch string) bool { switch goos { case "linux": - return goarch == "amd64" || goarch == "ppc64le" || goarch == "arm64" + return goarch == "amd64" || goarch == "ppc64le" || goarch == "arm64" || goarch == "s390x" case "darwin": return goarch == "amd64" || goarch == "arm64" case "freebsd", "netbsd", "openbsd", "windows": From 076c3d7f077ff0f8d02675b66b9794bbff8d2147 Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Thu, 21 Jul 2022 17:09:35 -0400 Subject: [PATCH 06/25] net/http: remove accidental heading in Head documentation This short sentence was missing a period at the end, which caused it to be interpreted as a heading. It also gained a '# ' prefix as part of new gofmt formatting applied in CL 384268. This change makes it a regular sentence as originally intended. Updates #51082. Change-Id: I100410cca21e4f91130f1f3432327bb6d66b12a2 Reviewed-on: https://go-review.googlesource.com/c/go/+/418959 Run-TryBot: Dmitri Shuralyov Reviewed-by: Dmitri Shuralyov TryBot-Result: Gopher Robot Auto-Submit: Dmitri Shuralyov Reviewed-by: Ian Lance Taylor --- src/net/http/client.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/net/http/client.go b/src/net/http/client.go index 490349f7bd01a..992817c0f5fed 100644 --- a/src/net/http/client.go +++ b/src/net/http/client.go @@ -896,7 +896,7 @@ func (c *Client) PostForm(url string, data url.Values) (resp *Response, err erro // 307 (Temporary Redirect) // 308 (Permanent Redirect) // -// # Head is a wrapper around DefaultClient.Head +// Head is a wrapper around DefaultClient.Head. // // To make a request with a specified context.Context, use NewRequestWithContext // and DefaultClient.Do. From 2d655fb15a50036547a6bf8f77608aab9fb31368 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Sat, 16 Jul 2022 15:51:25 -0700 Subject: [PATCH 07/25] unsafe: document when Sizeof/Offsetof/Alignof are not constant They are not constant if their arguments have types that are variable size. Fixes #53921 Change-Id: I2d46754c27f55a281331c099a11ea3cd85ec4e89 Reviewed-on: https://go-review.googlesource.com/c/go/+/417917 Auto-Submit: Ian Lance Taylor Run-TryBot: Ian Lance Taylor Run-TryBot: Ian Lance Taylor Reviewed-by: Dmitri Shuralyov Reviewed-by: Rob Pike TryBot-Result: Gopher Robot Reviewed-by: Ian Lance Taylor --- src/unsafe/unsafe.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/unsafe/unsafe.go b/src/unsafe/unsafe.go index da15902b29359..5051b3ee9fe2e 100644 --- a/src/unsafe/unsafe.go +++ b/src/unsafe/unsafe.go @@ -189,13 +189,18 @@ type Pointer *ArbitraryType // For instance, if x is a slice, Sizeof returns the size of the slice // descriptor, not the size of the memory referenced by the slice. // For a struct, the size includes any padding introduced by field alignment. -// The return value of Sizeof is a Go constant. +// The return value of Sizeof is a Go constant if the type of the argument x +// does not have variable size. +// (A type has variable size if it is a type parameter or if it is an array +// or struct type with elements of variable size). func Sizeof(x ArbitraryType) uintptr // Offsetof returns the offset within the struct of the field represented by x, // which must be of the form structValue.field. In other words, it returns the // number of bytes between the start of the struct and the start of the field. -// The return value of Offsetof is a Go constant. +// The return value of Offsetof is a Go constant if the type of the argument x +// does not have variable size. +// (See the description of [Sizeof] for a definition of variable sized types.) func Offsetof(x ArbitraryType) uintptr // Alignof takes an expression x of any type and returns the required alignment @@ -206,7 +211,9 @@ func Offsetof(x ArbitraryType) uintptr // within that struct, then Alignof(s.f) will return the required alignment // of a field of that type within a struct. This case is the same as the // value returned by reflect.TypeOf(s.f).FieldAlign(). -// The return value of Alignof is a Go constant. +// The return value of Alignof is a Go constant if the type of the argument +// does not have variable size. +// (See the description of [Sizeof] for a definition of variable sized types.) func Alignof(x ArbitraryType) uintptr // The function Add adds len to ptr and returns the updated pointer From 774fa58d1d3c9926709e108afdf83af7010bde72 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Fri, 22 Jul 2022 11:10:23 -0400 Subject: [PATCH 08/25] A+C: delete AUTHORS and CONTRIBUTORS In 2009, Google's open-source lawyers asked us to create the AUTHORS file to define "The Go Authors", and the CONTRIBUTORS file was in keeping with open source best practices of the time. Re-reviewing our repos now in 2022, the open-source lawyers are comfortable with source control history taking the place of the AUTHORS file, and most open source projects no longer maintain CONTRIBUTORS files. To ease maintenance, remove AUTHORS and CONTRIBUTORS from all repos. For #53961. Change-Id: I332327afb49c45d54e71e018193fb18b09e5d91a Reviewed-on: https://go-review.googlesource.com/c/go/+/419114 Reviewed-by: David Chase Run-TryBot: Russ Cox TryBot-Result: Gopher Robot --- AUTHORS | 1505 ------------------------- CONTRIBUTORS | 2965 -------------------------------------------------- 2 files changed, 4470 deletions(-) delete mode 100644 AUTHORS delete mode 100644 CONTRIBUTORS diff --git a/AUTHORS b/AUTHORS deleted file mode 100644 index 0507e048385ae..0000000000000 --- a/AUTHORS +++ /dev/null @@ -1,1505 +0,0 @@ -# This is the official list of Go authors for copyright purposes. -# This file is distinct from the CONTRIBUTORS files. -# See the latter for an explanation. - -# Since Go 1.11, this file is not actively maintained. -# To be included, send a change adding the individual or -# company who owns a contribution's copyright. - -# Names should be added to this file as one of -# Organization's name -# Individual's name -# Individual's name -# See CONTRIBUTORS for the meaning of multiple email addresses. - -# Please keep the list sorted. - -10x Genomics, Inc. -A Medium Corporation -Aamir Khan -Aaron France -Aaron Stein -Aaron Torres -Aarti Parikh -Abe Haskins -Abhinav Gupta -Adam Eijdenberg -Adam Harvey -Adam Kisala -Adam Medzinski -Adam Shannon -Adam Thomason -Adam Woodbeck -Aditya Mukerjee -Adrian Hesketh -Adrian Nos -Adrian O'Grady -Adrien Bustany -Adrien Petel -Aécio Júnior -Aeneas Rekkas (arekkas) -Afanasev Stanislav -Agis Anastasopoulos -Agniva De Sarker -Ahmed W. Mones -Ahmet Soormally -Ahmy Yulrizka -Aiden Scandella -Ainar Garipov -Aishraj Dahal -Akhil Indurti -Akihiro Suda -Akshat Kumar -Alan Shreve -Albert Nigmatzianov -Albert Strasheim -Albert Yu -Alberto Bertogli -Alberto Donizetti -Alberto García Hierro -Aleksandar Dezelin -Aleksandr Lukinykh -Alekseev Artem -Alessandro Arzilli -Alessandro Baffa -Alex A Skinner -Alex Brainman -Alex Browne -Alex Carol -Alex Jin -Alex Myasoedov -Alex Plugaru -Alex Schroeder -Alex Sergeyev -Alexander Demakin -Alexander Döring -Alexander F Rødseth -Alexander Guz -Alexander Kauer -Alexander Kucherenko -Alexander Larsson -Alexander Menzhinsky -Alexander Morozov -Alexander Neumann -Alexander Orlov -Alexander Pantyukhin -Alexander Reece -Alexander Surma -Alexander Zhavnerchik -Alexander Zolotov -Alexandre Cesaro -Alexandre Fiori -Alexandre Normand -Alexandre Parentea -Alexandre Viau -Alexei Sholik -Alexey Borzenkov -Alexey Neganov -Alexey Palazhchenko -Alexey Semenyuk -Alexis Hildebrandt -Ali Rizvi-Santiago -Aliaksandr Valialkin -Alif Rachmawadi -Allan Simon -Alok Menghrajani -Aman Gupta -Amazon.com, Inc -Amir Mohammad Saied -Amr Mohammed -Amrut Joshi -Anand K. Mistry -Anders Pearson -André Carvalho -Andre Nathan -Andreas Auernhammer -Andreas Litt -Andrei Korzhevskii -Andrei Tudor Călin -Andrei Vieru -Andrew Austin -Andrew Balholm -Andrew Benton -Andrew Bonventre -Andrew Braunstein -Andrew Bursavich -Andrew Ekstedt -Andrew Etter -Andrew Harding -Andrew Lutomirski -Andrew Pogrebnoy -Andrew Pritchard -Andrew Radev -Andrew Skiba -Andrew Szeto -Andrew Wilkins -Andrew Williams -Andrey Mirtchovski -Andrey Petrov -Andrii Soldatenko -Andrii Soluk -Andriy Lytvynov -Andrzej Żeżel -Andy Balholm -Andy Davis -Andy Finkenstadt -Andy Lindeman -Andy Maloney -Andy Pan -Andy Walker -Anfernee Yongkun Gui -Angelo Bulfone -Anh Hai Trinh -Anit Gandhi -Anmol Sethi -Anschel Schaffer-Cohen -Anthony Alves -Anthony Canino -Anthony Eufemio -Anthony Martin -Anthony Sottile -Anthony Starks -Anthony Voutas -Anthony Woods -Antoine Martin -Antonin Amand -Antonio Antelo -Antonio Bibiano -Antonio Troina -Apisak Darakananda -Apsalar -Aram Hăvărneanu -Areski Belaid -Ariel Mashraki -Arlo Breault -ARM Ltd. -Arnaud Ysmal -Arne Hormann -Arnout Engelen -Aron Nopanen -Arthur Khashaev -Artyom Pervukhin -Arvindh Rajesh Tamilmani -Ashish Gandhi -Atin Malaviya -Ato Araki -Audrey Lim -Audrius Butkevicius -Augusto Roman -Aulus Egnatius Varialus -Aurélien Rainone -awaw fumin -Awn Umar -Axel Wagner -Ayanamist Yang -Aymerick Jéhanne -Azat Kaumov -Baiju Muthukadan -Baokun Lee -Bartosz Grzybowski -Bastian Ike -Beijing Bytedance Technology Co., Ltd. -Ben Burkert -Ben Haines -Ben Lubar -Ben Olive -Ben Shi -Benjamin Black -Benjamin Cable -Benjamin Hsieh -Benny Siegert -Benoit Sigoure -Berengar Lehr -Bharath Kumar Uppala -Bill Zissimopoulos -Billie Harold Cleek -Bjorn Tillenius -Bjorn Tipling -Blain Smith -Blake Gentry -Blake Mesdag -Blake Mizerany -Blixt -Bob Briski -Bob Potter -Bobby Powers -Bolt -Borja Clemente -Brad Burch -Brad Morgan -Bradley Falzon -Brady Catherman -Brady Sullivan -Brendan Daniel Tracey -Brett Cannon -Brett Merrill -Brian Dellisanti -Brian Downs -Brian G. Merrell -Brian Gitonga Marete -Brian Kennedy -Brian Kessler -Brian Ketelsen -Brian Smith -Brian Starke -Bryan Alexander -Bryan Chan -Bryan Ford -Bulat Gaifullin -Burak Guven -Caine Tighe -Caleb Martinez -Caleb Spare -Canonical Limited -Carl Chatfield -Carl Henrik Lunde -Carl Johnson -Carlisia Campos -Carlo Alberto Ferraris -Carlos Castillo -Carlos Cirello -Carolyn Van Slyck -Case Nelson -Casey Callendrello -Casey Marshall -Cezar Sá Espinola -ChaiShushan -Changkun Ou -Chaoqun Han -Charles Fenwick Elliott -Charles L. Dorian -Charles Lee -Chef Software, Inc. -Chew Choon Keat -Cholerae Hu -Chotepud Teo -Chris Ball -Chris Biscardi -Chris Dollin -Chris Farmiloe -Chris Hines -Chris Howey -Chris Jones -Chris Kastorff -Chris Lennert -Chris Liles -Chris McGee -Chris Roche -Chris Smith -Chris Stockton -Christian Alexander -Christian Couder -Christian Himpel -Christian Pellegrin -Christine Hansmann -Christoffer Buchholz -Christoph Blecker -Christoph Hack -Christopher Cahoon -Christopher Guiney -Christopher Henderson -Christopher Nelson -Christopher Nielsen -Christopher Redden -Christopher Wedgwood -Christos Zoulas -CL Sung -Clement Skau -CloudFlare Inc. -Cody Oss -Colin Edwards -Colin Kennedy -Conrad Irwin -Conrad Meyer -Conrado Gouvea -Constantin Konstantinidis -CoreOS, Inc. -Corey Thomasson -Cristian Staretu -Currant -Cyrill Schumacher -Daisuke Fujita -Damian Gryski -Damien Lespiau -Damien Mathieu <42@dmathieu.com> -Dan Ballard -Dan Caddigan -Dan Callahan -Dan Peterson -Dan Sinclair -Daniel Fleischman -Daniel Johansson -Daniel Kerwin -Daniel Krech -Daniel Lidén -Daniel Martí -Daniel Morsing -Daniel Nephin -Daniel Ortiz Pereira da Silva -Daniel Skinner -Daniel Speichert -Daniel Theophanes -Daniel Upton -Daniela Petruzalek -Danny Rosseau -Darren Elwood -Darshan Parajuli -Datong Sun -Dave Cheney -Dave MacFarlane -Dave Russell -David Brophy -David Bürgin <676c7473@gmail.com> -David Calavera -David Carlier -David du Colombier <0intro@gmail.com> -David Forsythe -David G. Andersen -David Howden -David Jakob Fritz -David Leon Gil -David NewHamlet -David R. Jenni -David Sansome -David Stainton -David Thomas -David Titarenco -David Url -David Volquartz Lebech -David Wimmer -Davies Liu -Davor Kapsa -Dean Prichard -Deepak Jois -Denis Bernard -Denis Brandolini -Dennis Kuhnert -Denys Honsiorovskyi -Derek Buitenhuis -Derek McGowan -Derek Parker -Derek Shockey -Dev Ojha -Dev Zhoujun -Develer SRL -Devon H. O'Dell -Dhaivat Pandit -Dhiru Kholia -Dhruvdutt Jadhav -Didier Spezia -Dimitri Sokolyuk -Dimitri Tcaciuc -Diogo Pinela -Dirk Gadsden -Diwaker Gupta -Dmitri Popov -Dmitri Shuralyov -Dmitriy Cherchenko -Dmitriy Dudkin -Dmitriy Shelenin -Dmitry Chestnykh -Dmitry Doroginin -Dmitry Savintsev -Dmitry Yakunin -Dominic Green -Dominik Honnef -Donald Huang -Dong-hee Na -Donovan Hide -Dropbox, Inc. -Duncan Holm -Dustin Herbison -Dustin Sallings -Dustin Shields-Cloues -Dvir Volk -Dylan Waits -Edan Bedrik <3d4nb3@gmail.com> -Eden Li -Eduardo Ramalho -Edward Muller -Egon Elbre -Ehren Kret -Eitan Adler -Eivind Uggedal -Elbert Fliek -Eldar Rakhimberdin -Elena Grahovac -Elias Naur -Elliot Morrison-Reed -Emerson Lin -Emil Hessman -Emil Mursalimov -Emilien Kenler -Emmanuel Odeke -Empirical Interfaces Inc. -Eoghan Sherry -Eric Chiang -Eric Clark -Eric Daniels -Eric Engestrom -Eric Lagergren -Eric Milliken -Eric Pauley -Eric Rescorla -Eric Roshan-Eisner -Eric Rykwalder -Erik Aigner -Erik Dubbelboer -Erik St. Martin -Erik Westrup -Ernest Chiang -Erwin Oegema -Esko Luontola -Euan Kemp -Eugene Kalinin -Evan Hicks -Evan Jones -Evan Phoenix -Evan Shaw -Evgeniy Polyakov -Ewan Chou -Ewan Valentine -Eyal Posener -Fabian Wickborn -Fabian Zaremba -Fabrizio Milo -Facebook, Inc. -Faiyaz Ahmed -Fan Hongjian -Fastly, Inc. -Fatih Arslan -Fazlul Shahriar -Fedor Indutny -Felipe Oliveira -Felix Geisendörfer -Felix Kollmann -Filip Gruszczyński -Filip Haglund -Filippo Valsorda -Firmansyah Adiputra -Florian Uekermann -Florian Weimer -Florin Patan -Ford Hurley -Francesc Campoy -Francisco Claude -Francisco Rojas -Francisco Souza -Frank Schroeder -Frank Somers -Frederic Guillot -Frederick Kelly Mayle III -Frederik Ring -Fredrik Enestad -Fredrik Forsmo -Fredrik Wallgren -Frithjof Schulze -Frits van Bommel -Gabríel Arthúr Pétursson -Gabriel Aszalos -Gabriel Nicolas Avellaneda -Gabriel Russell -Gareth Paul Jones -Gary Burd -Gaurish Sharma -Gautham Thambidorai -Gauthier Jolly -Geert-Johan Riemer -Gengliang Wang -Geoffroy Lorieux -Geon Kim -Georg Reinke -George Gkirtsou -George Shammas -Gerasimos Dimitriadis -Getulio Sánchez -Gideon Jan-Wessel Redelinghuys -Giles Lean -Giulio Iotti -Gleb Stepanov -Google Inc. -Gordon Klaus -Graham King -Graham Miller -Grant Griffiths -Greg Poirier -Greg Ward -Grégoire Delattre -Gregory Man -Guilherme Garnier -Guilherme Goncalves -Guilherme Rezende -Guillaume J. Charmes -Guobiao Mei -Gustav Paul -Gustav Westling -Gustavo Niemeyer -Gwenael Treguier -Gyu-Ho Lee -H. İbrahim Güngör -Hajime Hoshi -HAMANO Tsukasa -Hang Qian -Hanjun Kim -Harald Nordgren -Hari haran -Hariharan Srinath -Harley Laue -Harry Moreno -Harshavardhana -Hauke Löffler -Håvard Haugen -Hector Chu -Hector Martin Cantero -Henning Schmiedehausen -Henrik Edwards -Henrik Hodne -Henry Adi Sumarto -Henry Bubert -Henry Chang -Henry Clifford -Herbert Georg Fischer -Hilko Bengen -Hiroaki Nakamura -Hironao OTSUBO -Hiroshi Ioka -Hitoshi Mitake -Holden Huang -Hong Ruiqi -Hongfei Tan -Hootsuite Inc. -Hsin-Ho Yeh -Hu Keping -Hugues Bruant -HyperConnect Inc. -Ian Gudger -Ian Kent -IBM -Ibrahim AshShohail -Icarus Sparry -Iccha Sethi -Idora Shinatose -Igneous Systems, Inc. -Igor Dolzhikov -Igor Vashyst -INADA Naoki -Inanc Gumus -Infobaleen AB -Ingo Gottwald -Ingo Krabbe -Ingo Oeser -Intel Corporation -Ioannis Georgoulas -Irfan Sharif -Irieda Noboru -Isaac Ardis -Isaac Wagner -Ivan Babrou -Ivan Bertona -Ivan Markin -Ivan Moscoso -Ivan Ukhov -Jack Britton -Jacob H. Haven -Jacob Hoffman-Andrews -Jae Kwon -Jakob Borg -Jakob Weisblat -Jakub Ryszard Czarnowicz -James Bardin -James Clarke -James Cowgill -James David Chalfant -James Fysh -James Gray -James Hartig -James Lawrence -James Meneghello -James Myers -James Neve -James P. Cooper -James Schofield -James Smith -James Sweet -James Toy -James Treanor -James Whitehead -Jamie Beverly -Jamie Kerr -Jamie Stackhouse -Jamil Djadala -Jan Berktold -Jan H. Hosang -Jan Lehnardt -Jan Mercl <0xjnml@gmail.com> -Jan Newmarch -Jan Pilzer -Jan Ziak <0xe2.0x9a.0x9b@gmail.com> -Jani Monoses -Jared Culp -Jaroslavas Počepko -Jason A. Donenfeld -Jason Barnett -Jason Chu -Jason Del Ponte -Jason Smale -Jason Travis -Jason Wangsadinata -Javier Segura -Jay Weisskopf -Jean-André Santoni -Jean-Francois Cantin -Jean-Nicolas Moal -Jeet Parekh -Jeevanandam M -Jeff Dupont -Jeff Hodges -Jeff R. Allen -Jeff Sickel -Jeff Wendling -Jeffrey H -Jelte Fennema -Jens Frederich -Jeremy Jackins -Jeroen Bobbeldijk -Jerrin Shaji George -Jess Frazelle -Jesse Szwedko -Jesús Espino -Jihyun Yu -Jim McGrath -Jimmy Frasche -Jimmy Zelinskie -Jin-wook Jeong -Jingcheng Zhang -Jingguo Yao -Jinzhu Zhang -Jiong Du -Jirka Daněk -Jiulong Wang -Joakim Sernbrant -Joe Cortopassi -Joe Farrell -Joe Harrison -Joe Henke -Joe Kyo -Joe Poirier -Joe Shaw -Joe Sylve -Joe Tsai -Joel Sing -Joel Stemmer -Joey Geiger -Johan Brandhorst -Johan Sageryd -John Asmuth -John C Barstow -John Gibb -John Graham-Cumming -John Howard Palevich -John Jeffery -John Jenkins -John Leidegren -John Potocny -John R. Lenton -John Schnake -John Shahid -John Tuley -Johnny Luo -Jonas Bernoulli -Jonathan Boulle -Jonathan Chen -Jonathan Gold -Jonathan Mark -Jonathan Pentecost -Jonathan Rudenberg -Jonathan Stacks -Jonathan Wills -Jongmin Kim -Joonas Kuorilehto -Joop Kiefte -Jordan Krage -Jordan Lewis -Jose Luis Vázquez González -Joseph Holsten -Josh Bleecher Snyder -Josh Chorlton -Josh Deprez -Josh Goebel -Josh Holland -Josh Roppo -Josh Varga -Joshua Chase -Joshua Rubin -Josselin Costanzi -Jostein Stuhaug -Joyent, Inc. -JT Olds -Juan Carlos -Jude Pereira -Jukka-Pekka Kekkonen -Julian Kornberger -Julian Phillips -Julien Salleyron -Julien Schmidt -Junda Liu -Junya Hayashi -Justin Gracenin -Justin Nuß -Justyn Temme -Kai Backman -Kai Trukenmüller -Kale Blankenship -Kaleb Elwert -Kamil Chmielewski -Kamil Kisiel -Kamil Rytarowski -Kang Hu -Karel Pazdera -Karoly Negyesi -Karsten Köhler -Kashav Madan -Kate Manson -Kato Kazuyoshi -Katrina Owen -Kaviraj Kanagaraj -Keegan Carruthers-Smith -Kei Son -Keiji Yoshida -Keith Ball -Keith Rarick -Kelsey Hightower -Kelvin Foo Chuan Lyi -Ken Friedenbach -Ken Rockot -Ken Sedgwick -Kenji Kaneda -Kenji Yano -Kenneth Shaw -Kenny Grant -Kevin Ballard -Kevin Burke -Kevin Kirsche -Kevin Ruffin -Kevin Vu -Kieran Colford -Kim Yongbin -Kir Kolyshkin -Kirk Han -Klaus Post -Kodie Goodwin -Koichi Shiraishi -Koki Ide -Konstantin -Konstantin Shaposhnikov -KPCompass, Inc. -Kris Nova -Kristopher Watts -Kun Li -Kunpei Sakai -Kuntal Majumder -Kyle Consalus -Kyle Isom -Kyle Jones -Kyle Lemons -Kyle Shannon -Kyohei Kadota -Kyrylo Silin -L Campbell -Lai Jiangshan -Lakshay Garg -Lanre Adelowo -Larry Hosken -Lars Jeppesen -Lars Lehtonen -Lars Wiegman -Larz Conwell -Laurent Voisin -Laurie Clark-Michalek -LE Manh Cuong -Lee Hinman -Lee Packham -Lehner Florian -Leigh McCulloch -Leo Antunes -Leon Klingele -Leonard Wang -Leonel Quinteros -Lev Shamardin -Lewin Bormann -Liberty Fund Inc -Linaro Limited -Lion Yang -Lloyd Dewolf -Loongson Technology Corporation Limited -Lorenzo Masini -Lorenzo Stoakes -Luan Santos -Lubomir I. Ivanov -Luca Greco -Lucas Bremgartner -Lucien Stuker -Lucio De Re -Ludi Rehak -Luigi Riefolo -Luit van Drongelen -Luka Zakrajšek -Luke Curley -Luke Granger-Brown -Lyle Franklin -Ma Peiqi -Maicon Costa -Maksym Trykur -Mal Curtis -Manfred Touron -Manigandan Dharmalingam -Manish Goregaokar -Mansour Rahimi -Manu S Ajith -Manuel Mendez -Marc Weistroff -Marcel Edmund Franke -Marcelo Cantos -Marcelo E. Magallon -Marco Hennings -Marin Bašić -Mario Arranz -Mark Adams -Mark Bucciarelli -Mark Percival -Mark Pulford -Mark Rushakoff -Mark Severson -Mark Theunissen -Mark Wolfe -Marko Juhani Silokunnas -Marko Mudrinic -Marko Tiikkaja -Markover Inc. DBA Poptip -Markus Duft -Markus Sonderegger -Markus Zimmermann -Martin Bertschler -Martin Garton -Martin Hamrle -Martin Hoefling -Martin Kunc -Martin Lindhe -Martin Möhrmann -Martin Neubauer -Martin Olsen -Martin Olsson -Martin Probst -Martin Sucha -Martins Sipenko -Marvin Stenger -Marwan Sulaiman -Maryan Hratson -Masahiro Furudate -Masahiro Wakame -Masaki Yoshida -Mat Byczkowski -Mat Ryer -Máté Gulyás -Matej Baćo -Mateus Amin -Mateusz Czapliński -Mathias Beke -Mathias Hall-Andersen -Mathias Leppich -Mathieu Lonjaret -Mats Lidell -Matt Aimonetti -Matt Blair -Matt Bostock -Matt Dee -Matt Drollette -Matt Harden -Matt Jibson -Matt Joiner -Matt Juran -Matt Layher -Matt Reiferson -Matt Robenolt -Matt Strong -Matt T. Proud -Matt Williams -Matthew Brennan -Matthew Broberg -Matthew Cottingham -Matthew Denton -Matthew Holt -Matthew Horsnell -Matthieu Hauglustaine -Matthieu Olivier -Matthijs Kooijman -Max Riveiro -Max Schmitt -Maxim Khitrov -Maxime de Roucy -Máximo Cuadros Ortiz -Maxwell Krohn -Maya Rashish -Mayank Kumar -MediaMath, Inc -Meir Fischer -Meng Zhuo -Meteor Development Group -Mhd Sulhan -Micah Stetson -Michael Brandenburg -Michael Chaten -Michael Dorner -Michael Edwards -Michael Elkins -Michael Fraenkel -Michael Gehring -Michael Hendricks -Michael Hoisie -Michael Kasch -Michael Käufl -Michael Lewis -Michael MacInnis -Michael Marineau -Michael McConville -Michael McLoughlin -Michael Pearson -Michael Schaller -Michael Schurter -Michael Stapelberg -Michael Steinert -Michael Teichgräber -Michael Vetter -Michal Bohuslávek -Michał Derkacz -Michal Franc -Michal Pristas -Miek Gieben -Miguel Mendez -Miguel Molina -Mihai Borobocea -Mihail Minaev -Mikael Tillenius -Mike Andrews -Mike Appleby -Mike Houston -Mike Kabischev -Mike Rosset -Mike Tsao -Mikhail Gusarov -Mikhail Panchenko -Miki Tebeka -Mikio Hara -Mikkel Krautz -Milan Knezevic -Milutin Jovanović -MinJae Kwon -Miquel Sabaté Solà -Miroslav Genov -Misty De Meo -Mohit Agarwal -Mohit kumar Bajoria -Momchil Velikov -Monty Taylor -Moov Corporation -Moriyoshi Koizumi -Morten Siebuhr -Môshe van der Sterre -Mostyn Bramley-Moore -Muhammad Falak R Wani -Muhammed Uluyol -Mura Li -Nan Deng -Naoki Kanatani -Nate Wilkinson -Nathan Cantelmo -Nathan Caza -Nathan Humphreys -Nathan John Youngman -Nathan Otterness -Nathan P Finch -Nathan VanBenschoten -Nathan Youngman -Nathaniel Cook -Naveen Kumar Sangi -Neelesh Chandola -Neil Alexander -Neil Lyons -Netflix, Inc. -Neuman Vong -Neven Sajko -Nevins Bartolomeo -Nexedi -ngmoco, LLC -Niall Sheridan -Nic Day -Nicholas Katsaros -Nicholas Maniscalco -Nicholas Presta -Nicholas Sullivan -Nicholas Waples -Nick Craig-Wood -Nick Leli -Nick Miyake -Nick Patavalis -Nick Petroni -Nick Robinson -Nick Smolin -Nicolas BRULEZ -Nicolas Kaiser -Nicolas Owens -Nicolas S. Dade -Niek Sanders -Niels Widger -Nigel Kerr -Nik Nyby -Nikhil Benesch -Nikita Gillmann -Niklas Schnelle -Niko Dziemba -Nikolay Turpitko -Nils Larsgård -Niranjan Godbole -Nishanth Shanmugham -Noah Campbell -Noble Johnson -Noel Georgi -Norberto Lopes -Odin Ugedal -Oleg Bulatov -Oleg Vakheta -Oleku Konko -Oling Cat -Oliver Hookins -Oliver Tonnhofer -Olivier Antoine -Olivier Duperray -Olivier Poitrey -Olivier Saingre -Oracle -Orange -Orijtech, Inc. -Özgür Kesim -Pablo Lalloni -Pablo Rozas Larraondo -Pablo Santiago Blum de Aguiar -Padraig Kitterick -Pallat Anchaleechamaikorn -Palm Stone Games -Paolo Giarrusso -Paolo Martini -Parker Moore -Pascal S. de Kloe -Pat Moroney -Patrick Crosby -Patrick Gavlin -Patrick Higgins -Patrick Lee -Patrick Mézard -Patrick Mylund Nielsen -Patrick Pelletier -Patrick Smith -Paul A Querna -Paul Boyd -Paul Hammond -Paul Jolly -Paul Lalonde -Paul Meyer -Paul PISCUC -Paul Querna -Paul Rosania -Paul Ruest -Paul Sbarra -Paul Smith -Paul Tyng -Paul van Brouwershaven -Paulo Casaretto -Pavel Paulau -Pavel Zinovkin -Pavlo Sumkin -Pawel Knap -Percy Wegmann -Perry Abbott -Petar Maymounkov -Peter Armitage -Peter Bourgon -Peter Conerly -Peter Froehlich -Peter Kleiweg -Peter Moody -Peter Morjan -Peter Mundy -Peter Nguyen -Péter Surányi -Péter Szilágyi -Peter Teichman -Peter Waldschmidt -Peter Waller -Peter Williams -Peter Zhang -Petrica Voicu -Phil Pearl -Philip Børgesen -Philip Brown -Philip Hofer -Philip K. Warren -Philip Nelson -Pierre Durand -Pierre Prinetti -Pierre Roullon -Piers -Pieter Droogendijk -Pietro Gagliardi -Piyush Mishra -PlanetScale, Inc. -Platform.sh -Pontus Leitzler -Prasanga Siripala -Prashant Varanasi -Pravendra Singh -Preetam Jinka -Qais Patankar -Qiuxuan Zhu -Qualcomm Data Center, Inc. -Quan Tran -Quan Yong Zhai -Quentin Perez -Quentin Renard -Quoc-Viet Nguyen -RackTop Systems Inc. -Radek Sohlich -Radu Berinde -Rafal Jeczalik -Raif S. Naffah -RainTank -Rajat Goel -Rajath Agasthya -Rajender Reddy Kompally -Ralph Corderoy -Ramazan AYYILDIZ -Raphael Geronimi -Ravil Bikbulatov -RaviTeja Pothana -Ray Tung -Raymond Kazlauskas -Red Hat, Inc. -Reilly Watson -Reinaldo de Souza Jr -Remi Gillig -Rémy Oudompheng -Rens Rikkerink -Ricardo Padilha -Richard Barnes -Richard Crowley -Richard Dingwall -Richard Eric Gavaletz -Richard Gibson -Richard Miller -Richard Musiol -Rick Arnold -Rick Sayre -Risto Jaakko Saarelma -Rob Norman -Rob Phoenix -Robert Daniel Kortschak -Robert Dinu -Robert Figueiredo -Robert Hencke -Robert Obryk -Robert Stepanek -Robert-André Mauchin -Roberto Clapis -Robin Eklind -Rodolfo Carvalho -Rodrigo Moraes de Oliveira -Rodrigo Rafael Monti Kochenburger -Roger Pau Monné -Roger Peppe -Roland Shoemaker -Roman Budnikov -Ron Hashimoto -Ron Minnich -Ross Chater -Ross Light -Rowan Marshall -Rowan Worth -Rudi Kramer -Russell Haering -Ryan Bagwell -Ryan Boehning -Ryan Canty -Ryan Hitchman -Ryan Lower -Ryan Roden-Corrent -Ryan Seys -Ryan Slade -Ryan Zhang -Ryoichi KATO -Ryuji Iwata -Ryuma Yoshida -Ryuzo Yamamoto -S.Çağlar Onur -Sabin Mihai Rapan -Sakeven Jiang -Salmān Aljammāz -Sam Boyer -Sam Hug -Sam Whited -Sami Pönkänen -Samuele Pedroni -Sanjay Menakuru -Sascha Brawer -Sasha Sobol -Scott Barron -Scott Bell -Scott Crunkleton -Scott Ferguson -Scott Lawrence -Sean Rees -Sebastien Binet -Sébastien Paolacci -Seiji Takahashi -Sergei Skorobogatov -Sergey 'SnakE' Gromov -Sergey Lukjanov -Sergey Mishin -Sergey Mudrik -Sergey Semin -Sergio Luis O. B. Correia -Sergiusz Bazanski -Seth Hoenig -Seth Vargo -Shahar Kohanim -Shamil Garatuev -Shane Hansen -Shaozhen Ding -Shaun Dunning -Shawn Smith -Shenghou Ma -Shengyu Zhang -Shi Han Ng -Shinji Tanaka -Shintaro Kaneko -Shivakumar GN -Shuai Tan -Silvan Jegen -Simon Jefford -Simon Rawet -Simon Thulbourn -Simon Whitehead -Sina Siadat -Sokolov Yura -Song Gao -Sourcegraph Inc -Spencer Nelson -Spring Mc -Square, Inc. -Sridhar Venkatakrishnan -StalkR -Stan Schwertly -Stanislav Afanasev -Steeve Morin -Stefan Nilsson -Stéphane Travostino -Stephen Lewis -Stephen McQuay -Stephen Searles -Stephen Weinberg -Steve Gilbert -Steve McCoy -Steve Phillips -Steve Streeting -Steven Elliot Harris -Steven Erenst -Steven Hartland -Steven Wilkin -Stripe, Inc. -Sukrit Handa -Sunny -Suriyaa Sundararuban -Suyash -Sven Almgren -Sylvain Zimmer -Syohei YOSHIDA -Szabolcs Nagy -Taavi Kivisik -Tad Fisher -Tad Glines -Tailscale Inc. -Taj Khattra -Takayoshi Nishida -Takeshi YAMANASHI <9.nashi@gmail.com> -Takuya Ueda -Tal Shprecher -Tamir Duberstein -Tao Wang -Tarmigan Casebolt -Taro Aoki -Taru Karttunen -Tatsuhiro Tsujikawa -Teague Cole -Ted Kornish -Tejasvi Nareddy -Teleport Inc. -Terin Stock -Terrel Shumway -Tetsuo Kiso -Thanabodee Charoenpiriyakij -Thanatat Tamtan -Thiago Avelino -Thiago Fransosi Farina -Thomas Alan Copeland -Thomas Bonfort -Thomas Bruyelle -Thomas de Zeeuw -Thomas Desrosiers -Thomas Kappler -Thomas Meson -Thomas Wanielista -Thorben Krueger -Thordur Bjornsson -Tiago Queiroz -Tilman Dilo -Tim Cooijmans -Tim Cooper -Tim Ebringer -Tim Heckman -Tim Henderson -Tim Wright -Timo Savola -Timo Truyts -Timothy Studd -Tobias Assarsson -Tobias Columbus -Tobias Klauser -Todd Neal -Tom Heng -Tom Levy -Tom Limoncelli -Tom Linford -Tom Payne -Tom Thorogood -Tommy Schaefer -Tomoya Ishizaki -Tonis Tiigi -Tony Walker -Tor Andersson -Tormod Erevik Lea -Toshiki Shima -Totoro W -Travis Bischel -Travis Cline -Trey Lawrence -Trey Roessig -Trey Tacon -Tristan Colgate -Tristan Ooohry -Tristan Rice -Troels Thomsen -Trung Nguyen -Tudor Golubenco -Tugdual Saunier -Tuo Shan -Tyler Bunnell -Tyler Treat -Uber Technologies -Ugorji Nwoke -Ulf Holm Nielsen -Ulrich Kunitz -Upthere, Inc. -Uriel Mangado -Vadim Grek -Vadim Vygonets -Vee Zhang -Vendasta -Veselkov Konstantin -Victor Vrantchan -Vignesh Ramachandra -Vincent Ambo -Vincent Batts -Vincent Vanackere -Vinu Rajashekhar -Vishvananda Ishaya -Vitor De Mario -Vladimir Mihailenco -Vladimir Nikishenko -Vladimir Stefanovic -Vladimir Varankin -VMware, Inc. -Volker Dobler -W. Trevor King -Wade Simmons -Wander Lairson Costa -Wayne Ashley Berry -Wayne Zuo -Weaveworks -Wèi Cōngruì -Wei Fu -Wei Guangjing -Weichao Tang -Weixie Cui <523516579@qq.com> -Weizhi Yan -Wembley G. Leach, Jr -Wen Yang -Will Faught -Will Storey -Willem van der Schyff -William Chang -William Josephson -William Orr -Wisdom Omuya -Wu Yunzhou -Xi Ruoyao -Xia Bin -Xing Xing -Xu Fei -Xudong Zhang -Xudong Zheng <7pkvm5aw@slicealias.com> -Xuyang Kang -Yahoo Inc. -Yamagishi Kazutoshi -Yann Kerhervé -Yann Salaün -Yao Zhang -Yasha Bubnov -Yasuharu Goto -Yasuhiro Matsumoto -Yasuyuki Oka -Yazen Shunnar -Yestin Sun -Yissakhar Z. Beck -Yo-An Lin -Yongjian Xu -Yorman Arias -Yoshiyuki Kanno -Yoshiyuki Mineo -Yosuke Akatsuka -Yuji Yaginuma -Yukihiro Nishinaka <6elpinal@gmail.com> -YunHao Zhang -Yury Smolsky -Yusuke Kagiwada -Yuusei Kuwana -Yuval Pavel Zholkover -Zac Bergquist -Zach Bintliff -Zach Gershman -Zachary Gershman -Zak -Zakatell Kanda -Zellyn Hunter -Zemanta d.o.o. -Zev Goldstein -Zheng Dayu -Zhongtao Chen -Zhou Guangyuan -Zhou Peng -Ziad Hatahet -Zizhao Zhang -Zorion Arrizabalaga -Максим Федосеев -Роман Хавроненко -Тарас Буник -Фахриддин Балтаев -张嵩 -申习之 diff --git a/CONTRIBUTORS b/CONTRIBUTORS deleted file mode 100644 index 45020d6c45b43..0000000000000 --- a/CONTRIBUTORS +++ /dev/null @@ -1,2965 +0,0 @@ -# This is the official list of people who can contribute -# (and typically have contributed) code to the Go repository. -# The AUTHORS file lists the copyright holders; this file -# lists people. For example, Google employees are listed here -# but not in AUTHORS, because Google holds the copyright. -# -# Names should be added to this file only after verifying that -# the individual or the individual's organization has agreed to -# the appropriate Contributor License Agreement, found here: -# -# http://code.google.com/legal/individual-cla-v1.0.html -# http://code.google.com/legal/corporate-cla-v1.0.html -# -# The agreement for individuals can be filled out on the web. - -# Names should be added to this file like so: -# Individual's name -# Individual's name -# -# An entry with multiple email addresses specifies that the -# first address should be used in the submit logs and -# that the other addresses should be recognized as the -# same person when interacting with Gerrit. - -# Please keep the list sorted. - -Aamir Khan -Aaqa Ishtyaq -Aaron Beitch -Aaron Bieber -Aaron Cannon -Aaron France -Aaron Gable -Aaron Jacobs -Aaron Jensen -Aaron Kemp -Aaron Patterson -Aaron Sheah -Aaron Stein -Aaron Torres -Aaron Zinman -Aarti Parikh -Aayush Agrawal -Abdullah Al Maruf -Abe Haskins -Abhinav Gupta -Adam Azarchs -Adam Bender -Adam Eijdenberg -Adam Harvey -Adam Kisala -Adam Langley -Adam Medzinski -Adam Mitha -Adam Pritchard -Adam Shannon -Adam Shelton -Adam Sindelar -Adam Thomason -Adam Williams -Adam Woodbeck -Adarsh Ravichandran -Adel Rodríguez -Adin Scannell -Aditya Harindar -Aditya Mukerjee -Adrian Hesketh -Adrian Nos -Adrian O'Grady -Adrien Bustany -Adrien Delorme -Adrien Petel -Aécio Júnior -Aeneas Rekkas (arekkas) -Afanasev Stanislav -Agis Anastasopoulos -Agniva De Sarker -Ahmed W. Mones -Ahmet Aktürk -Ahmet Alp Balkan -Ahmet Soormally -Ahmy Yulrizka -Ahsun Ahmed -Aidan Coyle -Aiden Scandella -Ainar Garipov -Aishraj Dahal -Ajanthan Balachandran -Akhil Indurti -Akihiro Suda -Akshat Kumar -Al Cutter -Alan Braithwaite -Alan Donovan -Alan Shreve -Albert Nigmatzianov -Albert Strasheim -Albert Teoh -Albert Yu -Alberto Bertogli -Alberto Donizetti -Alberto García Hierro -Alec Benzer -Alejandro García Montoro -Alejandro Sáez -Aleksa Sarai -Aleksandar Dezelin -Aleksandr Dobkin -Aleksandr Lukinykh -Aleksandr Razumov -Alekseev Artem -Aleksei Tirman -Alessandro Arzilli -Alessandro Baffa -Alex A Skinner -Alex Brachet -Alex Brainman -Alex Bramley -Alex Browne -Alex Buchanan -Alex Carol -Alex Gaynor -Alex Harford -Alex Hays -Alex Jin -Alex Kohler -Alex Myasoedov -Alex Opie -Alex Plugaru -Alex Schade <39062967+aschade92@users.noreply.github.com> -Alex Schroeder -Alex Sergeyev -Alex Tokarev -Alex Vaghin -Alex Zhirov -Alexander Demakin -Alexander Döring -Alexander F Rødseth -Alexander Greim -Alexander Guz -Alexander Kauer -Alexander Klauer -Alexander Kucherenko -Alexander Larsson -Alexander Lourier -Alexander Melentyev -Alexander Menzhinsky -Alexander Morozov -Alexander Neumann -Alexander Nohe -Alexander Orlov -Alexander Pantyukhin -Alexander Polcyn -Alexander Rakoczy -Alexander Reece -Alexander Surma -Alexander Yastrebov -Alexander Zhavnerchik -Alexander Zillion -Alexander Zolotov -Alexandr Mayorskiy -Alexandre Cesaro -Alexandre Fiori -Alexandre Maari -Alexandre Normand -Alexandre Parentea -Alexandre Viau -Alexandru Moșoi -Alexei Sholik -Alexey Alexandrov -Alexey Borzenkov -Alexey Naidonov -Alexey Neganov -Alexey Palazhchenko -Alexey Perevalov -Alexey Semenyuk -Alexey Vilenskiy -Alexis Hildebrandt -Alexis Hunt -Alexis Imperial-Legrand -Ali Farooq -Ali Rizvi-Santiago -Aliaksandr Valialkin -Alice Merrick -Alif Rachmawadi -Allan Guwatudde -Allan Simon -Allen Li -Alok Menghrajani -Alwin Doss -Aman Gupta -Amarjeet Anand -Amelia Downs -Amir Mohammad Saied -Amit Kumar -Amr Mohammed -Amrut Joshi -An Long -An Xiao -Anand K. Mistry -Ananya Saxena -Anatol Pomozov -Anders Pearson -Anderson Queiroz -André Carvalho -Andre Marianiello -André Martins -Andre Nathan -Andrea Nodari -Andrea Simonini -Andrea Spadaccini -Andreas Auernhammer -Andreas Jellinghaus -Andreas Litt -Andrei Enshin -Andrei Gherzan -Andrei Korzhevskii -Andrei Matei -Andrei Tudor Călin -Andrei Vagin -Andrei Vieru -Andres Erbsen -Andres Lowrie -Andrew Austin -Andrew Balholm -Andrew Benton -Andrew Bonventre -Andrew Braunstein -Andrew Bursavich -Andrew Ekstedt -Andrew Etter -Andrew G. Morgan -Andrew Gerrand -Andrew Harding -Andrew Jackura -Andrew Kemm -Andrew LeFevre -Andrew Louis -Andrew Lutomirski -Andrew Medvedev -Andrew Pilloud -Andrew Pogrebnoy -Andrew Poydence -Andrew Pritchard -Andrew Radev -Andrew Skiba -Andrew Stormont -Andrew Stribblehill -Andrew Szeto -Andrew Todd -Andrew Wansink -Andrew Werner -Andrew Wilkins -Andrew Williams -Andrew Z Allen -Andrey Bokhanko -Andrey Mirtchovski -Andrey Petrov -Andrii Soldatenko -Andrii Soluk -Andriy Lytvynov -Andrzej Żeżel -Andy Balholm -Andy Davis -Andy Finkenstadt -Andy Lindeman -Andy Maloney -Andy Pan -Andy Walker -Andy Wang -Andy Williams -Andy Zhao -Andzej Maciusovic -Anfernee Yongkun Gui -Angelo Bulfone -Anh Hai Trinh -Anit Gandhi -Ankit Goyal -Anmol Sethi -Annirudh Prasad -Anschel Schaffer-Cohen -Anthony Alves -Anthony Canino -Anthony Eufemio -Anthony Fok -Anthony Hamon -Anthony Martin -Anthony Sottile -Anthony Starks -Anthony Voutas -Anthony Woods -Antoine GIRARD -Antoine Martin -Anton Gyllenberg -Anton Kuklin -Antonin Amand -Antonio Antelo -Antonio Bibiano -Antonio Garcia -Antonio Huete Jimenez -Antonio Murdaca -Antonio Ojea -Antonio Troina -Anze Kolar -Aofei Sheng -Apisak Darakananda -Aram Hăvărneanu -Araragi Hokuto -Arash Bina -Archana Ravindar -Arda Güçlü -Areski Belaid -Ariel Mashraki -Arkadi Pyuro -Arlo Breault -Arnaud Ysmal -Arne Hormann -Arnout Engelen -Aron Nopanen -Arran Walker -Artem Alekseev -Artem Khvastunov -Artem Kolin -Arthur Fabre -Arthur Khashaev -Artur M. Wolff -Artyom Pervukhin -Arvindh Rajesh Tamilmani -Ashish Bhate -Ashish Gandhi -Asim Shankar -Assel Meher -Atin Malaviya -Ato Araki -Atsushi Toyama -Audrey Lim -Audrius Butkevicius -Augusto Roman -Aulus Egnatius Varialus -Aurélien Rainone -Aurélio A. Heckert -Austin Clements -Avi Flax -Aviv Klasquin Komissar -awaw fumin -Awn Umar -Axel Busch <94176305+abuschIBM@users.noreply.github.com> -Axel Wagner -Ayan George -Ayanamist Yang -Ayke van Laethem -Aymerick Jéhanne -Ayzat Sadykov -Azat Kaumov -Baiju Muthukadan -Balaram Makam -Balazs Lecz -Baokun Lee -Barnaby Keene -Bartłomiej Klimczak -Bartosz Grzybowski -Bartosz Oler -Bassam Ojeil -Bastian Ike -Ben Burkert -Ben Cartwright-Cox -Ben Eitzen -Ben Fried -Ben Haines -Ben Hoyt -Ben Hutchings -Ben Kraft -Ben Laurie -Ben Lubar -Ben Lynn -Ben Olive -Ben Sarah Golightly -Ben Schwartz -Ben Shi -Ben Toews -Benjamin Barenblat -Benjamin Black -Benjamin Cable -Benjamin Hsieh -Benjamin Peterson -Benjamin Prosnitz -Benjamin Wester -Benjamin Wuethrich -Benny Siegert -Benoit Sigoure -Berengar Lehr -Berkant Ipek <41230766+0xbkt@users.noreply.github.com> -Bernhard Valenti -Beth Brown -Bharath Kumar Uppala -Bharath Thiruveedula -Bhavin Gandhi -Bill Neubauer -Bill O'Farrell -Bill Prin -Bill Thiede -Bill Zissimopoulos -Billie Harold Cleek -Billy Lynch -Billy Zaelani Malik -Bjørn Erik Pedersen -Bjorn Tillenius -Bjorn Tipling -Blain Smith -Blake Gentry -Blake Mesdag -Blake Mizerany -Blixt -Bob Briski -Bob McNaughton -Bob Potter -Bobby DeSimone -Bobby Powers -Boqin Qin -Boris Nagaev -Borja Clemente -Boshi Lian -Brad Burch -Brad Erickson -Brad Fitzpatrick -Brad Garcia -Brad Jones -Brad Morgan -Brad Whitaker -Braden Bassingthwaite -Bradford Lamson-Scribner -Bradley Falzon -Brady Catherman -Brady Sullivan -Branden J. Brown -Brandon Bennett -Brandon Gilmore -Brandon Philips -Brandon Ryan -Brave Cow -Brayden Cloud -Brendan Daniel Tracey -Brendan O'Dea -Breno Andrade -Brett Cannon -Brett Merrill -Brian Dellisanti -Brian Downs -Brian Falk -Brian G. Merrell -Brian Gitonga Marete -Brian Kennedy -Brian Kessler -Brian Ketelsen -Brian Slesinsky -Brian Smith -Brian Starke -Bruce Huang -Bryan Alexander -Bryan Boreham -Bryan C. Mills -Bryan Chan -Bryan Ford -Bryan Heden -Bulat Gaifullin -Burak Guven -Byoungchan Lee -Caine Tighe -Caio Marcelo de Oliveira Filho -Caleb Martinez -Caleb Spare -Carl Chatfield -Carl Henrik Lunde -Carl Jackson -Carl Johnson -Carl Mastrangelo -Carl Menezes -Carl Shapiro -Carlisia Campos -Carlo Alberto Ferraris -Carlos Alexandro Becker -Carlos Amedee -Carlos Castillo -Carlos Cirello -Carlos Eduardo -Carlos Eduardo Seo -Carlos Iriarte -Carlos Souza -Carolyn Van Slyck -Carrie Bynon -Carson Hoffman -Cary Hull -Case Nelson -Casey Callendrello -Casey Marshall -Catalin Nicutar -Catalin Patulea -Cathal O'Callaghan -Cedric Staub -Cezar Sá Espinola -Chad Rosier -ChaiShushan -Changkun Ou -Channing Kimble-Brown -Chao Xu -Chaoqun Han -Charles Fenwick Elliott -Charles Kenney -Charles L. Dorian -Charles Lee -Charles Weill -Charlie Getzen -Charlie Moog -Charlie Vieth -Charlotte Brandhorst-Satzkorn -Chauncy Cullitan -Chen Zhidong -Chen Zhihan -Cheng Wang -Cherry Mui -Chew Choon Keat -Chia-Chi Hsu -Chiawen Chen -Chirag Sukhala -Cholerae Hu -Chotepud Teo -Chressie Himpel -Chris Ball -Chris Biscardi -Chris Broadfoot -Chris Dollin -Chris Farmiloe -Chris Hines -Chris Howey -Chris Hundt -Chris Jones -Chris Kastorff -Chris Le Roy -Chris Lennert -Chris Liles -Chris Manghane -Chris Marchesi -Chris McGee -Chris Raynor -Chris Roche -Chris Smith -Chris Stockton -Chris Taylor -Chris Waldon -Chris Zou -Christian Alexander -Christian Couder -Christian Himpel -Christian Muehlhaeuser -Christian Pellegrin -Christian R. Petrin -Christian Stewart -Christian Svensson -Christine Hansmann -Christoffer Buchholz -Christoph Blecker -Christoph Hack -Christopher Cahoon -Christopher Guiney -Christopher Henderson -Christopher Hlubek -Christopher Koch -Christopher Loessl -Christopher Nelson -Christopher Nielsen -Christopher Redden -Christopher Swenson -Christopher Thomas <53317512+chrisssthomas@users.noreply.github.com> -Christopher Wedgwood -Christos Zoulas -Christy Perez -CL Sung -Clément Chigot -Clement Skau -Clint J. Edwards -Cody Oss -Colby Ranger -Colin Arnott -Colin Cross -Colin Edwards -Colin Kennedy -Colin Nelson -Colin Rice -Conrad Irwin -Conrad Meyer -Conrado Gouvea -Constantin Konstantinidis -Corey Thomasson -Corne van der Plas -Cosmos Nicolaou -Costin Chirvasuta -Craig Citro -Cristian Greco -Cristian Staretu -Cristiano Vitorino <57003922+cristianovitorino@users.noreply.github.com> -Cristo García -cui fliter -Cuihtlauac ALVARADO -Cuong Manh Le -Curtis La Graff -Cyrill Schumacher -Dai Jie -Dai Wentao -Daisuke Fujita -Daisuke Suzuki -Daker Fernandes Pinheiro -Damian Gryski -Damien Lespiau -Damien Mathieu <42@dmathieu.com> -Damien Neil -Damien Tournoud -Dan Ballard -Dan Caddigan -Dan Callahan -Dan Harrington -Dan Jacques -Dan Johnson -Dan McArdle -Dan Peterson -Dan Pupius -Dan Scales -Dan Sinclair -Daniel Cohen -Daniel Cormier -Daniël de Kok -Daniel Fleischman -Daniel Ingram -Daniel Jakots -Daniel Johansson -Daniel Kerwin -Daniel Kessler -Daniel Krech -Daniel Kumor -Daniel Langner -Daniel Lidén -Daniel Lublin -Daniel Mangum -Daniel Marshall -Daniel Martí -Daniel McCarney -Daniel Morsing -Daniel Nadasi -Daniel Nephin -Daniel Ortiz Pereira da Silva -Daniel S. Fava -Daniel Skinner -Daniel Speichert -Daniel Theophanes -Daniel Upton -Daniela Petruzalek -Danish Dua -Danish Prakash -Danny Rosseau -Daria Kolistratova -Darien Raymond -Darren Elwood -Darren Grant -Darren McCleary -Darshan Parajuli -Datong Sun -Dave Borowitz -Dave Bort -Dave Cheney -Dave Day -Dave Grijalva -Dave MacFarlane -Dave Pifke -Dave Russell -David Anderson -David Barnett -David Benjamin -David Black -David Bond -David Brophy -David Bürgin <676c7473@gmail.com> -David Calavera -David Carlier -David Carter -David Chase -David Covert -David Crawshaw -David du Colombier <0intro@gmail.com> -David Finkel -David Forsythe -David G. Andersen -David Glasser -David Golden -David Heuschmann -David Howden -David Hubbard -David Jakob Fritz -David Jones -David Lazar -David Leon Gil -David McLeish -David Ndungu -David NewHamlet -David Presotto -David Qu -David R. Jenni -David Sansome -David Stainton -David Symonds -David Taylor -David Thomas -David Timm -David Titarenco -David Tolpin -David Url -David Volquartz Lebech -David Wimmer -Davide Masserut -Davies Liu -Davor Kapsa -Dean Eigenmann <7621705+decanus@users.noreply.github.com> -Dean Prichard -Deepak Jois -Deepak S -Denis Bernard -Denis Brandolini -Denis Isaev -Denis Nagorny -Dennis Kuhnert -Denys Honsiorovskyi -Denys Smirnov -Derek Buitenhuis -Derek Che -Derek McGowan -Derek Parker -Derek Phan -Derek Shockey -Dev Ojha -Dev Zhoujun -Devon H. O'Dell -Dhaivat Pandit -Dhananjay Nakrani -Dhiru Kholia -Dhruvdutt Jadhav -Di Xiao -Didier Spezia -Diego Medina -Diego Siqueira -Dieter Plaetinck -Dilyn Corner -Dimitri Sokolyuk -Dimitri Tcaciuc -Dina Garmash -Diogo Pinela -Dirk Gadsden -Diwaker Gupta -Dmitri Goutnik -Dmitri Popov -Dmitri Shuralyov -Dmitrii Okunev -Dmitriy Cherchenko -Dmitriy Dudkin -Dmitriy Shelenin -Dmitriy Vyukov -Dmitry Chestnykh -Dmitry Doroginin -Dmitry Mottl -Dmitry Neverov -Dmitry Savintsev -Dmitry Yakunin -Dmytro Shynkevych -Doga Fincan -Domas Tamašauskas -Domen Ipavec -Dominic Della Valle -Dominic Green -Dominik Honnef -Dominik Vogt -Don Byington -Donald Huang -Dong-hee Na -Donovan Hide -Doug Anderson -Doug Fawley -Douglas Danger Manley -Dragan Mladjenovic -Drew Flower -Drew Hintz -Drew Richardson -Duco van Amstel -Duncan Holm -Dustin Carlino -Dustin Herbison -Dustin Long -Dustin Sallings -Dustin Shields-Cloues -Dustin Spicuzza -Dvir Volk -Dylan Le -Dylan Waits -Ed Schouten -Edan Bedrik <3d4nb3@gmail.com> -Eddie Scholtz -Eden Li -Eduard Urbach -Eduardo Ramalho -Eduardo Villaseñor -Edward Muller -Egon Elbre -Ehren Kret -Eisuke Takahashi -Eitan Adler -Eivind Uggedal -El Mostafa Idrassi -Elbert Fliek -Eldar Rakhimberdin -Elena Grahovac -Eli Bendersky -Elias Naur -Elliot Morrison-Reed -Ellison Leão -Elvina Yakubova -Emerson Lin -Emil Bektimirov -Emil Hessman -Emil Mursalimov -Emilien Kenler -Emmanuel Odeke -Emrecan Bati -Eno Compton -Eoghan Sherry -Eric Biggers -Eric Brown -Eric Chiang -Eric Clark -Eric Daniels -Eric Engestrom -Eric Garrido -Eric Koleda -Eric Lagergren -Eric Milliken -Eric Pauley -Eric Ponce -Eric Rescorla -Eric Roshan-Eisner -Eric Rutherford -Eric Rykwalder -Eric Wang -Erick Tryzelaar -Erik Aigner -Erik Dubbelboer -Erik St. Martin -Erik Staab -Erik Westrup -Erin Masatsugu -Ernest Chiang -Erwin Oegema -Esko Luontola -Ethan Anderson -Ethan Burns -Ethan Hur -Ethan Miller -Ethan Reesor -Euan Kemp -Eugene Formanenko -Eugene Kalinin -Evan Broder -Evan Brown -Evan Digby -Evan Hicks -Evan Jones -Evan Klitzke -Evan Kroske -Evan Martin -Evan Phoenix -Evan Shaw -Evgeniy Kulikov -Evgeniy Polyakov -Ewan Chou -Ewan Valentine -Eyal Posener -F. Talha Altınel -Fabian Wickborn -Fabian Zaremba -Fabio Falzoi -Fabrizio Milo -Faiyaz Ahmed -Fan Hongjian -Fangming Fang -Fannie Zhang -Fatih Arslan -Fazal Majid -Fazlul Shahriar -Federico Bond -Federico Guerinoni -Federico Simoncelli -Fedor Indutny -Fedor Korotkiy -Felipe Oliveira -Felix Bünemann -Felix Cornelius <9767036+fcornelius@users.noreply.github.com> -Felix Geisendörfer -Felix Kollmann -Ferenc Szabo -Fernandez Ludovic -Filip Gruszczyński -Filip Haglund -Filip Stanis -Filippo Rossi -Filippo Valsorda -Firmansyah Adiputra -Florian Forster -Florian Uekermann -Florian Weimer -Florin Papa -Florin Patan -Folke Behrens -Ford Hurley -Forest Johnson -Francesc Campoy -Francesco Guardiani -Francesco Renzi -Francisco Claude -Francisco Rojas -Francisco Souza -Frank Chiarulli Jr -Frank Schroeder -Frank Somers -Frederic Guillot -Frederick Kelly Mayle III -Frederik Ring -Frederik Zipp -Frediano Ziglio -Fredrik Enestad -Fredrik Forsmo -Fredrik Wallgren -Frew Schmidt -Frithjof Schulze -Frits van Bommel -Fujimoto Kyosuke -Fumitoshi Ukai -G. Hussain Chinoy -Gaal Yahas -Gabríel Arthúr Pétursson -Gabriel Aszalos -Gabriel Guzman -Gabriel Nelle -Gabriel Nicolas Avellaneda -Gabriel Rosenhouse -Gabriel Russell -Gabriel Vasile -Gareth Paul Jones -Garret Kelly -Garrick Evans -Garry McNulty -Gary Burd -Gary Elliott -Gaurav Singh -Gaurish Sharma -Gautham Thambidorai -Gauthier Jolly -Gawen Arab -Geert-Johan Riemer -Genevieve Luyt -Gengliang Wang -Geoff Berry -Geoffroy Lorieux -Geon Kim -Georg Reinke -George Gkirtsou -George Hartzell -George Looshch -George Shammas -George Tsilias -Gerasimos (Makis) Maropoulos -Gerasimos Dimitriadis -Gergely Brautigam -Gernot Vormayr -Gert Cuykens -Getulio Sánchez -Ghazni Nattarshah -Gianguido Sora` -Gideon Jan-Wessel Redelinghuys -Giles Lean -Giovanni Bajo -GitHub User @180909 (70465953) <734461790@qq.com> -GitHub User @6543 (24977596) <6543@obermui.de> -GitHub User @aca (50316549) -GitHub User @ajnirp (1688456) -GitHub User @ajz01 (4744634) -GitHub User @alkesh26 (1019076) -GitHub User @andig (184815) -GitHub User @AndreasHGK (36563463) -GitHub User @andrius4669 (4699695) -GitHub User @ardnew (3837367) -GitHub User @ariathaker (51683211) -GitHub User @as (8127015) -GitHub User @bakape (7851952) -GitHub User @bgadrian (830001) -GitHub User @bontequero (2674999) -GitHub User @cch123 (384546) -GitHub User @chainhelen (7046329) -GitHub User @champly (15027259) -GitHub User @chanxuehong (3416908) -GitHub User @Cluas (10056928) -GitHub User @cncal (23520240) -GitHub User @DQNEO (188741) -GitHub User @Dreamacro (8615343) -GitHub User @dupoxy (1143957) -GitHub User @eh-steve (16373174) -GitHub User @EndlessCheng (7086966) -GitHub User @erifan (31343225) -GitHub User @esell (9735165) -GitHub User @fatedier (7346661) -GitHub User @frennkie (6499251) -GitHub User @geedchin (11672310) -GitHub User @GrigoriyMikhalkin (3637857) -GitHub User @Gusted (25481501) -GitHub User @hengwu0 (41297446) <41297446+hengwu0@users.noreply.github.com> -GitHub User @hidu (613972) -GitHub User @hitzhangjie (3725760) -GitHub User @hkhere (33268704) <33268704+hkhere@users.noreply.github.com> -GitHub User @hqpko (13887251) -GitHub User @Illirgway (5428603) -GitHub User @itchyny (375258) -GitHub User @jinmiaoluo (39730824) -GitHub User @jopbrown (6345470) -GitHub User @Jorropo (24391983) -GitHub User @kazyshr (30496953) -GitHub User @kc1212 (1093806) -GitHub User @kkHAIKE (64772) -GitHub User @komisan19 (18901496) -GitHub User @korzhao (64203902) -GitHub User @Kropekk (13366453) -GitHub User @lgbgbl (65756378) -GitHub User @lhl2617 (33488131) -GitHub User @linguohua (3434367) -GitHub User @lloydchang (1329685) -GitHub User @LotusFenn (13775899) -GitHub User @luochuanhang (96416201) -GitHub User @ly303550688 (11519839) -GitHub User @madiganz (18340029) -GitHub User @maltalex (10195391) -GitHub User @markruler (38225900) -GitHub User @Matts966 (28551465) -GitHub User @micnncim (21333876) -GitHub User @mkishere (224617) <224617+mkishere@users.noreply.github.com> -GitHub User @mkontani (19817636) -GitHub User @mstmdev (5756338) -GitHub User @nu50218 (40682920) -GitHub User @OlgaVlPetrova (44112727) -GitHub User @penglei (1140325) -GitHub User @pierwill (19642016) -GitHub User @pityonline (438222) -GitHub User @po3rin (29445112) -GitHub User @pokutuna (57545) -GitHub User @povsister (11040951) -GitHub User @pytimer (17105586) -GitHub User @qcrao (7698088) -GitHub User @ramenjuniti (32011829) -GitHub User @renthraysk (30576707) -GitHub User @roudkerk (52280478) -GitHub User @saitarunreddy (21041941) -GitHub User @SataQiu (9354727) -GitHub User @seifchen (23326132) -GitHub User @sethbattin (1627760) -GitHub User @shogo-ma (9860598) -GitHub User @sivchari (55221074) -GitHub User @skanehira (7888591) -GitHub User @soolaugust (10558124) -GitHub User @surechen (7249331) -GitHub User @syumai (6882878) -GitHub User @tangxi666 (48145175) -GitHub User @tatsumack (4510569) -GitHub User @tell-k (26263) -GitHub User @tennashi (10219626) -GitHub User @thepudds (20628140) -GitHub User @uhei (2116845) -GitHub User @uji (49834542) -GitHub User @unbyte (5772358) -GitHub User @uropek (39370426) -GitHub User @utkarsh-extc (53217283) -GitHub User @witchard (4994659) -GitHub User @wmdngngng (22067700) -GitHub User @wolf1996 (5901874) -GitHub User @yah01 (12216890) -GitHub User @yuanhh (1298735) -GitHub User @zikaeroh (48577114) -GitHub User @zlasd (9432027) -GitHub User @ZZMarquis (7624583) -Giulio Iotti -Giulio Micheloni -Giuseppe Valente -Gleb Stepanov -Glenn Brown -Glenn Lewis -Gordon Klaus -Gordon Tyler -Grace Han -Graham King -Graham Miller -Grant Griffiths -Green Lightning -Greg Poirier -Greg Steuck -Greg Thelen -Greg Ward -Grégoire Delattre -Grégoire Détrez -Gregory Man -Gregory Petrosyan -Guilherme Caruso -Guilherme Garnier -Guilherme Goncalves -Guilherme Rezende -Guilherme Souza <32180229+gqgs@users.noreply.github.com> -Guillaume Blaquiere -Guillaume J. Charmes -Guillaume Sottas -Günther Noack -Guo Hui -Guobiao Mei -Guodong Li -Guoliang Wang -Guoqi Chen -Gustav Paul -Gustav Westling -Gustavo Franco -Gustavo Niemeyer -Gwenael Treguier -Gyu-Ho Lee -H. İbrahim Güngör -Hajime Hoshi -Hallgrimur Gunnarsson -HAMANO Tsukasa -Han-Wen Nienhuys -Hang Qian -Hanjun Kim -Hanlin He -Hanlin Shi -Hans Nielsen -Hao Mou -Haoran Luo -Haosdent Huang -Harald Nordgren -Hari haran -Hariharan Srinath -Harley Laue -Harry Moreno -Harshavardhana -Hasan Ozgan -Hasit Bhatt -Hauke Löffler -Håvard Haugen -He Liu -Hector Chu -Hector Martin Cantero -Hein Khant Zaw -Henning Schmiedehausen -Henrik Edwards -Henrik Hodne -Henrique Vicente -Henry Adi Sumarto -Henry Bubert -Henry Chang -Henry Clifford -Henry Wong -Herbert Georg Fischer -Herbie Ong -Heschi Kreinick -Hidetatsu Yaginuma -Hilário Coelho -Hilko Bengen -Himanshu Kishna Srivastava <28himanshu@gmail.com> -Hiroaki Nakamura -Hiromichi Ema -Hironao OTSUBO -Hiroshi Ioka -Hitoshi Mitake -Holden Huang -Hong Ruiqi -Hongfei Tan -Horacio Duran -Horst Rutter -Hossein Sheikh Attar -Hossein Zolfi -Howard Zhang -Hsin Tsao -Hsin-Ho Yeh -Hu Keping -Huan Du -Hugues Bruant -Huy Le -Hyang-Ah Hana Kim -Hyoyoung Chang -Ian Cottrell -Ian Davis -Ian Gudger -Ian Haken -Ian Kent -Ian Lance Taylor -Ian Leue -Ian Mckay -Ian Tay -Ian Zapolsky -Ibrahim AshShohail -Icarus Sparry -Iccha Sethi -Ichinose Shogo -Idora Shinatose -Ignacio Hagopian -Igor Bernstein -Igor Bolotnikov -Igor Dolzhikov -Igor Vashyst -Igor Zhilianin -Ikko Ashimine -Ilia Choly -Illya Yalovyy -Ilya Chukov <56119080+Elias506@users.noreply.github.com> -Ilya Leoshkevich -Ilya Mateyko -Ilya Sinelnikov -Ilya Tocar -INADA Naoki -Inanc Gumus -Ingo Gottwald -Ingo Krabbe -Ingo Oeser -Ioannis Georgoulas -Irbe Krumina -Irfan Sharif -Irieda Noboru -Isaac Ardis -Isaac Wagner -Isfan Azhabil -Iskander Sharipov -Issac Trotts -Ivan Babrou -Ivan Bertona -Ivan Krasin -Ivan Kutuzov -Ivan Markin -Ivan Moscoso -Ivan Osadchiy -Ivan Sharavuev -Ivan Trubach -Ivan Ukhov -Ivy Evans -Jaana Burcu Dogan -Jaap Aarts -Jack Britton -Jack Lindamood -Jack You -Jacob Baskin -Jacob Blain Christen -Jacob H. Haven -Jacob Hoffman-Andrews -Jacob Walker -Jaden Teng -Jae Kwon -Jake B -Jake Ciolek -Jakob Borg -Jakob Weisblat -Jakub Čajka -Jakub Kaczmarzyk -Jakub Ryszard Czarnowicz -Jakub Warczarek -Jamal Carvalho -James Aguilar -James Bardin -James Chacon -James Clarke -James Cowgill -James Craig Burley -James David Chalfant -James Eady -James Fennell -James Fysh -James Gray -James Harris -James Hartig -James Kasten -James Lawrence -James Meneghello -James Myers -James Naftel -James Neve -James Nugent -James P. Cooper -James Robinson -James Schofield -James Smith -James Sweet -James Toy -James Treanor -James Tucker -James Whitehead -Jamie Beverly -Jamie Gennis -Jamie Kerr -Jamie Liu -Jamie Stackhouse -Jamie Turner -Jamie Wilkinson -Jamil Djadala -Jan Berktold -Jan H. Hosang -Jan Kratochvil -Jan Lehnardt -Jan Mercl <0xjnml@gmail.com> -Jan Newmarch -Jan Pilzer -Jan Steinke -Jan Ziak <0xe2.0x9a.0x9b@gmail.com> -Jani Monoses -Jannis Andrija Schnitzer -Jared Allard -Jared Culp -Jared Horvat -Jaroslavas Počepko -Jason A. Donenfeld -Jason Baker -Jason Barnett -Jason Buberel -Jason Chu -Jason Del Ponte -Jason Hall -Jason Keene -Jason LeBrun -Jason Smale -Jason Travis -Jason Wangsadinata -Javier Kohen -Javier Revillas -Javier Segura -Jay Chen -Jay Conrod -Jay Lee -Jay Taylor -Jay Weisskopf -Jean de Klerk -Jean-André Santoni -Jean-François Bustarret -Jean-Francois Cantin -Jean-Hadrien Chabran -Jean-Marc Eurin -Jean-Nicolas Moal -Jed Denlea -Jędrzej Szczepaniak -Jeet Parekh -Jeevanandam M -Jeff (Zhefu) Jiang -Jeff Craig -Jeff Dupont -Jeff Grafton -Jeff Hodges -Jeff Johnson -Jeff R. Allen -Jeff Sickel -Jeff Wendling -Jeff Wentworth -Jeff Widman -Jeffrey H -Jelte Fennema -Jens Frederich -Jeremiah Harmsen -Jeremy Banks <_@jeremy.ca> -Jeremy Canady -Jeremy Chase -Jeremy Faller -Jeremy Jackins -Jeremy Jay -Jeremy Schlatter -Jero Bado -Jeroen Bobbeldijk -Jeroen Simonetti -Jérôme Doucet -Jerrin Shaji George -Jess Frazelle -Jesse Szwedko -Jesús Espino -Jia Zhan -Jiacai Liu -Jiahao Lu -Jiahua Wang -Jianing Yu -Jianqiao Li -Jiayu Yi -Jie Ma -Jihyun Yu -Jim Cote -Jim Kingdon -Jim McGrath -Jim Minter -Jimmy Frasche -Jimmy Zelinskie -Jin-wook Jeong -Jingcheng Zhang -Jingguo Yao -Jingnan Si -Jinkun Zhang -Jinwen Wo -Jinwook Jeong -Jinzhu Zhang -Jiong Du -Jirka Daněk -Jiulong Wang -Joakim Sernbrant -João Penteado <4219131+joaopenteado@users.noreply.github.com> -Jochen Weber -Joe Bowbeer -Joe Cortopassi -Joe Farrell -Joe Harrison -Joe Henke -Joe Kyo -Joe Poirier -Joe Richey -Joe Shaw -Joe Sylve -Joe Tsai -Joel Courtney -Joel Ferrier -Joel Sing -Joël Stemmer -Joel Stemmer -Joey Geiger -Johan Brandhorst -Johan Euphrosine -Johan Jansson -Johan Knutzen -Johan Sageryd -Johan Van de Wauw -Johannes Altmanninger -Johannes Huning -John Anthony -John Asmuth -John Bampton -John Beisley -John C Barstow -John DeNero -John Dethridge -John Gibb -John Gilik -John Graham-Cumming -John Howard Palevich -John Jago -John Jeffery -John Jenkins -John Kelly -John Leidegren -John McCabe -John Moore -John Newlin -John Olheiser -John Papandriopoulos -John Potocny -John R. Lenton -John Schnake -John Shahid -John Tuley -John Weldon -Johnny Luo -Jon Chen -Jon Johnson -Jonas Bernoulli -Jonathan Albrecht -Jonathan Allie -Jonathan Amsterdam -Jonathan Boulle -Jonathan Chen -Jonathan Feinberg -Jonathan Gold -Jonathan Hseu -Jonathan Mark -Jonathan Nieder -Jonathan Pentecost -Jonathan Pittman -Jonathan Rudenberg -Jonathan Stacks -Jonathan Swinney -Jonathan Wills -Jonathon Lacher -Jongmin Kim -Joonas Kuorilehto -Joop Kiefte -Jordan Christiansen -Jordan Krage -Jordan Lewis -Jordan Liggitt -Jordan Rhee -Jordan Rupprecht -Jordi Martin -Jorge Araya -Jorge L. Fatta -Jorge Troncoso -Jos Visser -Josa Gesell -Jose Luis Vázquez González -Joseph Bonneau -Joseph Holsten -Joseph Morag -Josh Baum -Josh Bleecher Snyder -Josh Chorlton -Josh Deprez -Josh Goebel -Josh Hoak -Josh Holland -Josh Humphries -Josh Powers -Josh Rickmar -Josh Roppo -Josh Varga -Joshua Bezaleel Abednego -Joshua Boelter -Joshua Chase -Joshua Crowgey -Joshua Harshman -Joshua M. Clulow -Joshua Rubin -Josselin Costanzi -Jostein Stuhaug -JP Sugarbroad -JT Olds -JT Olio -Juan Carlos -Juan Pablo Civile -Jude Pereira -Jukka-Pekka Kekkonen -Julia Hansbrough -Julian Kornberger -Julian Pastarmov -Julian Phillips -Julian Tibble -Julie Qiu -Julien Kauffmann -Julien Salleyron -Julien Schmidt -Julien Tant -Julio Montes -Jun Zhang -Junchen Li -Junda Liu -Jungho Ahn -Junya Hayashi -Juraj Sukop -Jure Ham -Justin Gracenin -Justin Li -Justin Nuß -Justyn Temme -Kai Backman -Kai Dong -Kai Lüke -Kai Trukenmüller -Kale Blankenship -Kaleb Elwert -Kalman Bekesi -Kamal Aboul-Hosn -Kamil Chmielewski -Kamil Kisiel -Kamil Rytarowski -Kang Hu -Kanta Ebihara -Karan Dhiman -Karel Pazdera -Karoly Negyesi -Karsten Köhler -Karthik Nayak -Kashav Madan -Kate Manson -Katharine Berry -Katie Hockman -Kato Kazuyoshi -Katrina Owen -Kaviraj Kanagaraj -Kay Zhu -Kazuhiro Sera -KB Sriram -Keegan Carruthers-Smith -Kei Son -Keiichi Hirobe -Keiji Yoshida -Keisuke Kishimoto -Keith Ball -Keith Randall -Keith Rarick -Kelly Heller -Kelsey Hightower -Kelvin Foo Chuan Lyi -Kemal Elmizan -Ken Friedenbach -Ken Rockot -Ken Sedgwick -Ken Thompson -Kenichi Tsunokawa -Kenji Kaneda -Kenji Yano -Kenneth Shaw -Kenny Grant -Kensei Nakada -Kenta Mori -Kerollos Magdy -Ketan Parmar -Kevan Swanberg -Kevin Albertson -Kevin Ballard -Kevin Burke -Kévin Dunglas -Kevin Gillette -Kevin Herro -Kevin Kirsche -Kevin Klues -Kevin Malachowski -Kevin Parsons -Kevin Ruffin -Kevin Smith -Kevin Vu -Kevin Zita -Keyan Pishdadian -Keyuan Li -Kezhu Wang -Khaled Yakdan -Khosrow Moossavi -Kieran Colford -Kieran Gorman -Kim Shrier -Kim Yongbin -Kir Kolyshkin -Kirill Korotaev -Kirill Motkov -Kirill Smelkov -Kirill Tatchihin -Kirk Han -Kirklin McDonald -KJ Tsanaktsidis -Klaus Post -Kodie Goodwin -Koichi Shiraishi -Koki Ide -Koki Tomoshige -Komu Wairagu -Konstantin -Konstantin Shaposhnikov -Koumei Mikuni -Koya IWAMURA -Kris Kwiatkowski -Kris Nova -Kris Rousey -Krishna Birla -Kristopher Watts -Krzysztof Dąbrowski -Kshitij Saraogi -Kun Li -Kunpei Sakai -Kuntal Majumder -Kush Patel -Kyle Consalus -Kyle Isom -Kyle Jones -Kyle Lemons -Kyle Nusbaum -Kyle Shannon -Kyle Spiers -Kyle Wood -Kyohei Kadota -Kyrylo Silin -L Campbell -Lai Jiangshan -Lajos Papp -Lakshay Garg -Lann Martin -Lanre Adelowo -Lapo Luchini -Larry Clapp -Larry Hosken -Lars Jeppesen -Lars Lehtonen -Lars Wiegman -Larz Conwell -Lasse Folger -Laurent Voisin -Laurie Clark-Michalek -LE Manh Cuong -Lee Hinman -Lee Packham -Lehner Florian -Leigh McCulloch -Leo Antunes -Leo Rudberg -Leon Klingele -Leonard Wang -Leonardo Comelli -Leonel Quinteros -Lev Shamardin -Lewin Bormann -Lewis Waddicor -Li-Yu Yu -Liam Haworth -Lily Chung -Lingchao Xin -Lion Yang -Liz Rice -Lize Cai -Lloyd Dewolf -Lluís Batlle i Rossell -Lorenz Bauer -Lorenz Brun -Lorenz Nickel -Lorenzo Masini -Lorenzo Stoakes -Louis Kruger -Louis Portay -Luan Santos -Lubomir I. Ivanov -Luca Bruno -Luca Greco -Luca Spiller -Lucas Bremgartner -Lucas Clemente -Lucien Stuker -Lucio De Re -Ludi Rehak -Luigi Riefolo -Luit van Drongelen -Luka Zakrajšek -Luka Zitnik -Lukas Joisten -Lukasz Milewski -Luke Champine -Luke Curley -Luke Granger-Brown -Luke Shumaker -Luke Young -Luna Duclos -Luuk van Dijk -Lyle Franklin -Lynn Boger -Ma Peiqi -Maarten Bezemer -Maciej Dębski -Madhu Rajanna -Magnus Hiie -Mahdi Hosseini Moghaddam -Maia Lee -Maicon Costa -Maisem Ali -Mak Kolybabi -Maksym Trykur -Mal Curtis -Manfred Touron -Manigandan Dharmalingam -Manish Goregaokar -Manlio Perillo -Manoj Dayaram -Mansour Rahimi -Manu Garg -Manu S Ajith -Manuel Mendez -Marat Khabibullin -Marc Sanmiquel -Marc Weistroff -Marc-Antoine Ruel -Marcel Edmund Franke -Marcel van Lohuizen -Marcelo Cantos -Marcelo E. Magallon -Marco Gazerro -Marco Hennings -Marcus Weiner -Marcus Willock -Marga Manterola -Mariano Cano -Marin Bašić -Mario Arranz -Marius A. Eriksen -Marius Nuennerich -Mark Adams -Mark Bucciarelli -Mark Dain -Mark Glines -Mark Hansen -Mark Harrison -Mark Jeffery -Mark Percival -Mark Pulford -Mark Rushakoff -Mark Ryan -Mark Severson -Mark Theunissen -Mark Villacampa -Mark Wolfe -Mark Zavislak -Marko Juhani Silokunnas -Marko Kevac -Marko Kungla -Marko Mikulicic -Marko Mudrinic -Marko Tiikkaja -Markus Duft -Markus Sonderegger -Markus Zimmermann -Marten Seemann -Martin Asquino -Martin Bertschler -Martin Garton -Martin Habbecke -Martin Hamrle -Martin Hoefling -Martin Kreichgauer -Martin Kunc -Martin Lindhe -Martin Möhrmann -Martin Neubauer -Martin Olsen -Martin Olsson -Martin Probst -Martin Sucha -Martin Tournoij -Martins Sipenko -Martynas Budriūnas -Marvin Stenger -Marwan Sulaiman -Maryan Hratson -Masahiro Furudate -Masahiro Wakame -Masaki Yoshida -Masaya Watanabe -Mat Byczkowski -Mat Ryer -Máté Gulyás -Matej Baćo -Mateus Amin -Mateusz Czapliński -Matheus Alcantara -Mathias Beke -Mathias Hall-Andersen -Mathias Leppich -Mathieu Aubin -Mathieu Lonjaret -Mats Lidell -Matt Aimonetti -Matt Blair -Matt Bostock -Matt Brown -Matt Dee -Matt Drollette -Matt Harden -Matt Jibson -Matt Joiner -Matt Jones -Matt Juran -Matt Layher -Matt Masurka -Matt Pearring -Matt Prahl -Matt Reiferson -Matt Robenolt -Matt Strong -Matt T. Proud -Matt Williams -Matthew Brennan -Matthew Broberg -Matthew Cottingham -Matthew Dempsky -Matthew Denton -Matthew Holt -Matthew Horsnell -Matthew Waters -Matthias Dötsch -Matthias Frei -Matthieu Hauglustaine -Matthieu Olivier -Matthijs Kooijman -Mattias Appelgren -Mauricio Alvarado -Max Drosdo.www -Max Riveiro -Max Schmitt -Max Semenik -Max Ushakov -Maxim Eryomenko -Maxim Khitrov -Maxim Pimenov -Maxim Pugachev -Maxim Ushakov -Maxime de Roucy -Maxime Soulé -Maxime Veber -Máximo Cuadros Ortiz -Maxwell Krohn -Maya Rashish -Mayank Kumar -Mehrad Sadeghi <2012.linkinpark@gmail.com> -Meidan Li -Meir Fischer -Meng Zhuo -Mhd Sulhan -Mia Zhu -Micah Stetson -Michael Anthony Knyszek -Michael Brandenburg -Michael Chaten -Michael Cook -Michael Darakananda -Michael Dorner -Michael Edwards -Michael Elkins -Michael Ellis -Michael Fraenkel -Michael Fromberger -Michael Gehring -Michael Gross -Michael Henderson -Michael Hendricks -Michael Hoisie -Michael Hudson-Doyle -Michael Kasch -Michael Käufl -Michael Kelly -Michaël Lévesque-Dion -Michael Lewis -Michael MacInnis -Michael Marineau -Michael Matloob -Michael McConville -Michael McGreevy -Michael McLoughlin -Michael Munday -Michael Pearson -Michael Piatek -Michael Pratt -Michael Schaller -Michael Schurter -Michael Shields -Michael Stapelberg -Michael Steinert -Michael T. Jones -Michael Teichgräber -Michael Traver -Michael Vetter -Michael Vogt -Michail Kargakis -Michal Bohuslávek -Michal Cierniak -Michał Derkacz -Michal Franc -Michal Hruby -Michał Łowicki -Michal Pristas -Michal Rostecki -Michal Stokluska -Michalis Kargakis -Michel Lespinasse -Michel Levieux -Michele Di Pede -Mickael Kerjean -Mickey Reiss -Miek Gieben -Miguel Acero -Miguel Mendez -Miguel Molina -Mihai Borobocea -Mihai Moldovan -Mihai Todor -Mihail Minaev -Mikael Tillenius -Mike Andrews -Mike Appleby -Mike Danese -Mike Houston -Mike Kabischev -Mike Rosset -Mike Samuel -Mike Seplowitz -Mike Solomon -Mike Strosaker -Mike Tsao -Mike Wiacek -Mikhail Faraponov <11322032+moredure@users.noreply.github.com> -Mikhail Fesenko -Mikhail Gusarov -Mikhail Panchenko -Miki Tebeka -Mikio Hara -Mikkel Krautz -Mikołaj Baranowski -Milan Knezevic -Milan Patel -Milutin Jovanović -MinJae Kwon -Miquel Sabaté Solà -Mirko Hansen -Miroslav Genov -Misty De Meo -Mohamed Attahri -Mohit Agarwal -Mohit kumar Bajoria -Mohit Verma -Momchil Velikov -Monis Khan -Monty Taylor -Moritz Fain -Moriyoshi Koizumi -Morten Siebuhr -Moshe Good -Môshe van der Sterre -Mostafa Solati -Mostyn Bramley-Moore -Motiejus Jakštys -Mrunal Patel -Muhammad Falak R Wani -Muhammad Hamza Farrukh -Muhammed Uluyol -Muir Manders -Mukesh Sharma -Mura Li -Mykhailo Lesyk -Nahum Shalman -Naman Aggarwal -Naman Gera -Nan Deng -Nao Yonashiro -Naoki Kanatani -Natanael Copa -Nate Wilkinson -Nathan Cantelmo -Nathan Caza -Nathan Dias -Nathan Fiscaletti -Nathan Humphreys -Nathan John Youngman -Nathan Otterness -Nathan P Finch -Nathan VanBenschoten -Nathan Youngman -Nathan(yinian) Hu -Nathaniel Cook -Naveen Kumar Sangi -Neeilan Selvalingam -Neelesh Chandola -Nehal J Wani -Neil Alexander -Neil Lyons -Neuman Vong -Neven Sajko -Nevins Bartolomeo -Niall Sheridan -Nic Day -Nicholas Asimov -Nicholas Katsaros -Nicholas Maniscalco -Nicholas Ng -Nicholas Presta -Nicholas Sullivan -Nicholas Waples -Nick Anthony -Nick Cooper -Nick Craig-Wood -Nick Harper -Nick Kubala -Nick Leli -Nick Miyake -Nick Patavalis -Nick Petroni -Nick Robinson -Nick Sherron -Nick Smolin -Nicolas BRULEZ -Nicolas Hillegeer -Nicolas Kaiser -Nicolas Owens -Nicolas S. Dade -Niek Sanders -Niels Widger -Nigel Kerr -Nigel Tao -Nik Nyby -Nikhil Benesch -Nikita Gillmann -Nikita Kryuchkov -Nikita Melekhin -Nikita Vanyasin -Niklas Schnelle -Niko Dziemba -Nikolay Turpitko -Nikson Kanti Paul -Nils Larsgård -Nir Soffer -Niranjan Godbole -Nishanth Shanmugham -Noah Campbell -Noah Goldman -Noah Santschi-Cooney -Noble Johnson -Nodir Turakulov -Noel Georgi -Nooras Saba -Norberto Lopes -Norman B. Lancaster -Nuno Cruces -Obei Sideg -Obeyda Djeffal -Odin Ugedal -Oleg Bulatov -Oleg Vakheta -Oleku Konko -Oling Cat -Oliver Hookins -Oliver Powell -Oliver Stenbom -Oliver Tan -Oliver Tonnhofer -Olivier Antoine -Olivier Duperray -Olivier Mengué -Olivier Poitrey -Olivier Saingre -Olivier Szika -Olivier Wulveryck -Omar Jarjur -Onkar Jadhav -Ori Bernstein -Ori Rawlings -Oryan Moshe -Osamu TONOMORI -Oscar Söderlund -Özgür Kesim -Pablo Caderno -Pablo Lalloni -Pablo Rozas Larraondo -Pablo Santiago Blum de Aguiar -Padraig Kitterick -Pallat Anchaleechamaikorn -Pan Chenglong <1004907659@qq.com> -Panos Georgiadis -Pantelis Sampaziotis -Paolo Giarrusso -Paolo Martini -Park Zhou -Parker Moore -Parminder Singh -Pascal Dierich -Pascal S. de Kloe -Paschalis Tsilias -Pasi Tähkäpää -Pat Moroney -Patrick Barker -Patrick Crosby -Patrick Gavlin -Patrick Gundlach -Patrick Higgins -Patrick Jones -Patrick Lee -Patrick Mézard -Patrick Mylund Nielsen -Patrick Pelletier -Patrick Pokatilo -Patrick Riley -Patrick Smith -Patrik Lundin -Patrik Nyblom -Paul A Querna -Paul Borman -Paul Boyd -Paul Chang -Paul D. Weber -Paul Davis <43160081+Pawls@users.noreply.github.com> -Paul E. Murphy -Paul Forgey -Paul Hammond -Paul Hankin -Paul Jolly -Paul Lalonde -Paul M Furley -Paul Marks -Paul Meyer -Paul Nasrat -Paul PISCUC -Paul Querna -Paul Rosania -Paul Ruest -Paul Sbarra -Paul Smith -Paul Tyng -Paul van Brouwershaven -Paul Wankadia -Paulo Casaretto -Paulo Flabiano Smorigo -Paulo Gomes -Pavel Gryaznov -Pavel Kositsyn -Pavel Paulau -Pavel Watson -Pavel Zinovkin -Pavlo Sumkin -Pawel Knap -Pawel Szczur -Paweł Szulik -Pedro Lopez Mareque -Pei Xian Chee -Pei-Ming Wu -Pen Tree -Peng Gao -Percy Wegmann -Perry Abbott -Petar Dambovaliev -Petar Maymounkov -Peter Armitage -Peter Bourgon -Peter Collingbourne -Peter Conerly -Peter Dotchev -Peter Froehlich -Peter Gonda -Peter Hoyes -Peter Kleiweg -Peter McKenzie -Peter Moody -Peter Morjan -Peter Mundy -Peter Nguyen -Péter Surányi -Péter Szabó -Péter Szilágyi -Peter Teichman -Peter Tseng -Peter Verraedt -Peter Waldschmidt -Peter Waller -Peter Weinberger -Peter Williams -Peter Wu -Peter Zhang -Petr Jediný -Petrica Voicu -Phil Bracikowski -Phil Kulin -Phil Pearl -Phil Pennock -Philip Børgesen -Philip Brown -Philip Hofer -Philip K. Warren -Philip Nelson -Philipp Sauter -Philipp Stephani -Philippe Antoine -Phillip Campbell <15082+phillc@users.noreply.github.com> -Pierre Carru -Pierre Durand -Pierre Prinetti -Pierre Roullon -Piers -Pieter Droogendijk -Pietro Gagliardi -Piyush Mishra -Plekhanov Maxim -Poh Zi How -Polina Osadcha -Pontus Leitzler -Pooja Shyamsundar -Povilas Versockas -Prajwal Koirala <16564273+Prajwal-Koirala@users.noreply.github.com> -Prasanga Siripala -Prasanna Swaminathan -Prashant Agrawal -Prashant Varanasi -Praveen Kumar -Pravendra Singh -Preetam Jinka -Pure White -Qais Patankar -Qiuxuan Zhu -Quan Tran -Quan Yong Zhai -Quentin Perez -Quentin Renard -Quentin Smith -Quey-Liang Kao -Quim Muntal -Quinn Slack -Quinten Yearsley -Quoc-Viet Nguyen -Rabin Gaire -Radek Simko -Radek Sohlich -Radu Berinde -Rafal Jeczalik -Raghavendra Nagaraj -Rahul Bajaj -Rahul Chaudhry -Rahul Wadhwani -Raif S. Naffah -Rajat Goel -Rajath Agasthya -Rajender Reddy Kompally -Ralph Corderoy -Ramazan AYYILDIZ -Ramesh Dharan -Randy Reddig -Raph Levien -Raphael Geronimi -Raul Silvera -Ravil Bikbulatov -RaviTeja Pothana -Ray Tung -Ray Wu -Raymond Kazlauskas -Rebecca Stambler -Reilly Watson -Reinaldo de Souza Jr -Remi Gillig -Remy Chantenay -Rémy Oudompheng -Ren Kanai -Ren Ogaki -Rens Rikkerink -Rhys Hiltner -Ricardo Padilha -Ricardo Pchevuzinske Katz -Ricardo Seriani -Rich Hong -Richard Barnes -Richard Crowley -Richard Dingwall -Richard Eric Gavaletz -Richard Gibson -Richard Miller -Richard Musiol -Richard Pickering -Richard Ulmer -Richard Wilkes -Rick Arnold -Rick Hudson -Rick Sayre -Rijnard van Tonder -Riku Voipio -Riley Avron -Risto Jaakko Saarelma -Rob Earhart -Rob Findley -Rob Norman -Rob Phoenix -Rob Pike -Robert Ayrapetyan -Robert Burke -Robert Daniel Kortschak -Robert Dinu -Robert Engels -Robert Figueiredo -Robert Griesemer -Robert Hencke -Robert Iannucci -Robert Kuska -Robert Obryk -Robert Sesek -Robert Snedegar -Robert Stepanek -Robert van Gent -Robert-André Mauchin -Roberto Clapis -Roberto Selbach -Robin Eklind -Robin Zhong -Rodolfo Carvalho -Rodolfo Rodriguez -Rodrigo Moraes de Oliveira -Rodrigo Rafael Monti Kochenburger -Roger Pau Monné -Roger Peppe -Rohan Challa -Rohan Verma -Rohith Ravi -Roi Martin -Roland Illig -Roland Shoemaker -Romain Baugue -Roman Budnikov -Roman Kollár -Roman Shchekin -Romanos Skiadas -Ron Hashimoto -Ron Minnich -Ronaldo Lanhellas -Ronnie Ebrin -Ross Chater -Ross Kinsey -Ross Light -Ross Smith II -Rowan Marshall -Rowan Worth -Rudi Kramer -Rui Ueyama -Ruixin Bao -Ruslan Andreev -Ruslan Nigmatullin -Russ Cox -Russell Haering -Ryan Bagwell -Ryan Barrett -Ryan Boehning -Ryan Brown -Ryan Canty -Ryan Dahl -Ryan Hitchman -Ryan Kohler -Ryan Leung -Ryan Lower -Ryan Roden-Corrent -Ryan Seys -Ryan Slade -Ryan Zhang -Ryoichi KATO -Ryoya Sekino -Ryuji Iwata -Ryuma Yoshida -Ryuzo Yamamoto -S.Çağlar Onur -Sabin Mihai Rapan -Sad Pencil -Sai Cheemalapati -Sai Kiran Dasika -Sai Sunder -Sakeven Jiang -Salaheddin M. Mahmud -Salmān Aljammāz -Sam Arnold -Sam Boyer -Sam Chen -Sam Cross -Sam Ding -Sam Hug -Sam Thorogood -Sam Whited -Sam Xie -Sameer Ajmani -Sami Commerot -Sami Pönkänen -Samuel Kelemen -Samuel Tan -Samuele Pedroni -San Ye -Sander van Harmelen -Sanjay Menakuru -Santhosh Kumar Tekuri -Santiago De la Cruz <51337247+xhit@users.noreply.github.com> -Sarah Adams -Sardorbek Pulatov -Sascha Brawer -Sasha Lionheart -Sasha Sobol -Satoru Kitaguchi -Scott Barron -Scott Bell -Scott Cotton -Scott Crunkleton -Scott Ferguson -Scott Lawrence -Scott Mansfield -Scott Ragan -Scott Schwartz -Scott Van Woudenberg -Sean Burford -Sean Chen -Sean Chittenden -Sean Christopherson -Sean Dolphin -Sean Harger -Sean Harrington -Sean Hildebrand -Sean Liao -Sean Rees -Sebastiaan van Stijn -Sebastian Chlopecki -Sebastian Gassner -Sebastian Kinne -Sebastian Schmidt -Sebastien Binet -Sébastien Paolacci -Sebastien Williams-Wynn -Segev Finer -Seiji Takahashi -Sergei Lemeshkin -Sergei Skorobogatov -Sergei Zagurskii -Sergey 'SnakE' Gromov -Sergey Arseev -Sergey Dobrodey -Sergey Frolov -Sergey Glushchenko -Sergey Ivanov -Sergey Kacheev -Sergey Lukjanov -Sergey Mishin -Sergey Mudrik -Sergey Semin -Sergey Yanykin -Sergio Luis O. B. Correia -Sergiusz Bazanski -Serhat Giydiren -Serhii Aheienko -Seth Hoenig -Seth Vargo -Shaba Abhiram -Shahar Kohanim -Shailesh Suryawanshi -Shamil Garatuev -Shamim Akhtar -Shane Hansen -Shang Jian Ding -Shaozhen Ding -Shapor Naghibzadeh -Shaquille Que -Shaquille Wyan Que -Shaun Dunning -Shawn Elliott -Shawn Ledbetter -Shawn Smith -Shawn Walker-Salas -Shenghou Ma -Shengjing Zhu -Shengyu Zhang -Shi Han Ng -ShihCheng Tu -Shijie Hao -Shiming Zhang -Shin Fan -Shinji Tanaka -Shinnosuke Sawada <6warashi9@gmail.com> -Shintaro Kaneko -Shivakumar GN -Shivani Singhal -Shivansh Rai -Shivashis Padhi -Shoshin Nikita -Shota Sugiura -Shuai Tan -Shubham Sharma -Shuhei Takahashi -Shun Fan -Silke Hofstra -Silvan Jegen -Simão Gomes Viana -Simarpreet Singh -Simon Drake -Simon Ferquel -Simon Frei -Simon Jefford -Simon Law -Simon Rawet -Simon Rozman -Simon Ser -Simon Thulbourn -Simon Whitehead -Sina Siadat -Sjoerd Siebinga -Sofía Celi -Sokolov Yura -Song Gao -Song Lim -Songjiayang -Songlin Jiang -Soojin Nam -Søren L. Hansen -Sparrow Li -Spencer Kocot -Spencer Nelson -Spencer Tung -Spenser Black -Spring Mc -Srdjan Petrovic -Sridhar Venkatakrishnan -Srinidhi Kaushik -StalkR -Stan Hu -Stan Schwertly -Stanislav Afanasev -Steeve Morin -Stefan Baebler -Stefan Nilsson -Stepan Shabalin -Stephan Klatt -Stephan Renatus -Stephan Zuercher -Stéphane Travostino -Stephen Eckels -Stephen Lewis -Stephen Lu -Stephen Ma -Stephen McQuay -Stephen Searles -Stephen Weinberg -Steve Francia -Steve Gilbert -Steve LoFurno -Steve McCoy -Steve Mynott -Steve Newman -Steve Phillips -Steve Streeting -Steve Traut -Steven Buss -Steven Elliot Harris -Steven Erenst -Steven Hartland -Steven Johnstone -Steven Littiebrant -Steven Maude -Steven Wilkin -Stuart Jansen -Subham Sarkar -Sue Spence -Sugu Sougoumarane -Suharsh Sivakumar -Sukrit Handa -Sunny -Suriyaa Sundararuban -Suvaditya Sur -Suyash -Suzy Mueller -Sven Almgren -Sven Blumenstein -Sven Lee -Sven Taute -Sylvain Zimmer -Syohei YOSHIDA -Szabolcs Nagy -Taavi Kivisik -Tad Fisher -Tad Glines -Tadas Valiukas -Tadeo Kondrak -Taesu Pyo -Tai Le -Taj Khattra -Takashi Matsuo -Takashi Mima -Takayoshi Nishida -Takeshi YAMANASHI <9.nashi@gmail.com> -Takuto Ikuta -Takuya Ueda -Tal Shprecher -Tamás Gulácsi -Tamir Duberstein -Tao Qingyun -Tao Shen -Tao Wang -Tarmigan Casebolt -Taro Aoki -Taru Karttunen -Tatiana Bradley -Tatsuhiro Tsujikawa -Tatsuya Kaneko -Taufiq Rahman -Teague Cole -Ted Kornish -Tejasvi Nareddy -Terin Stock -Terrel Shumway -Tetsuo Kiso -Than McIntosh -Thanabodee Charoenpiriyakij -Thanatat Tamtan -The Hatsune Daishi -Thiago Avelino -Thiago Fransosi Farina -Thom Wiggers -Thomas Alan Copeland -Thomas Bonfort -Thomas Bouldin -Thomas Bruyelle -Thomas Bushnell, BSG -Thomas de Zeeuw -Thomas Desrosiers -Thomas Habets -Thomas Kappler -Thomas Meson -Thomas Symborski -Thomas Wanielista -Thorben Krueger -Thordur Bjornsson -Tiago Peczenyj -Tiago Queiroz -Tianji Wu -Tianon Gravi -Tilman Dilo -Tim Cooijmans -Tim Cooper -Tim Ebringer -Tim Heckman -Tim Henderson -Tim Hockin -Tim King -Tim Möhlmann -Tim Swast -Tim Wright -Tim Xu -Timmy Douglas -Timo Savola -Timo Truyts -Timothy Gu -Timothy Studd -Tipp Moseley -Tiwei Bie -Tobias Assarsson -Tobias Columbus -Tobias Klauser -Tobias Kohlbau -Toby Burress -Todd Kulesza -Todd Neal -Todd Wang -Tom Anthony -Tom Bergan -Tom Freudenberg -Tom Heng -Tom Lanyon -Tom Levy -Tom Limoncelli -Tom Linford -Tom Panton -Tom Parkin -Tom Payne -Tom Szymanski -Tom Thorogood -Tom Wilkie -Tom Zierbock -Tomas Dabasinskas -Tommy Schaefer -Tomohiro Kusumoto -Tomoya Ishizaki -Tonis Tiigi -Tony Reix -Tony Walker -Tooru Takahashi -Tor Andersson -Torben Schinke -Tormod Erevik Lea -Toshihiro Shiino -Toshiki Shima -Totoro W -Travis Bischel -Travis Cline -Trevor Dixon -Trevor Strohman -Trey Lawrence -Trey Roessig -Trey Tacon -Tristan Amini -Tristan Colgate -Tristan Ooohry -Tristan Rice -Troels Thomsen -Trong Bui -Trung Nguyen -Tsuji Daishiro -Tudor Golubenco -Tugdual Saunier -Tuo Shan -Tyler Bui-Palsulich -Tyler Bunnell -Tyler Treat -Tyson Andre -Tzach Shabtay -Tzu-Chiao Yeh -Tzu-Jung Lee -Udalov Max -Uddeshya Singh -Ugorji Nwoke -Ulf Holm Nielsen -Ulrich Kunitz -Umang Parmar -Uriel Mangado -Urvil Patel -Utkarsh Dixit <53217283+utkarsh-extc@users.noreply.github.com> -Uttam C Pawar -Uzondu Enudeme -Vadim Grek -Vadim Vygonets -Val Polouchkine -Valentin Vidic -Vaughn Iverson -Vee Zhang -Vega Garcia Luis Alfonso -Venil Noronha -Veselkov Konstantin -Viacheslav Poturaev -Victor Chudnovsky -Victor Michel -Victor Vrantchan -Vignesh Ramachandra -Vikas Kedia -Ville Skyttä -Vincent Ambo -Vincent Batts -Vincent Vanackere -Vinu Rajashekhar -Vish Subramanian -Vishal Dalwadi -Vishvananda Ishaya -Visweswara R -Vitaly Zdanevich -Vitor De Mario -Vivek Sekhar -Vivek V -Vivian Liang -Vlad Krasnov -Vladimir Evgrafov -Vladimir Kovpak -Vladimir Kuzmin -Vladimir Mihailenco -Vladimir Nikishenko -Vladimir Stefanovic -Vladimir Varankin -Vojtěch Boček -Volker Dobler -Volodymyr Paprotski -Vyacheslav Pachkov -W. Trevor King -Wade Simmons -Wagner Riffel -Walt Della -Walter Poupore -Wander Lairson Costa -Wang Deyu -Wang Xuerui -Warren Fernandes -Watson Ladd -Wayne Ashley Berry -Wayne Zuo -Wedson Almeida Filho -Weerasak Chongnguluam -Wèi Cōngruì -Wei Fu -Wei Guangjing -Wei Xiao -Wei Xikai -Weichao Tang -Weilu Jia -Weixie Cui <523516579@qq.com> -Weizhi Yan -Wembley G. Leach, Jr -Wen Yang -Wenlei (Frank) He -Wenzel Lowe -Wil Selwood -Wilfried Teiken -Will Beason -Will Chan -Will Faught -Will Hawkins -Will Morrow -Will Norris -Will Storey -Willem van der Schyff -William Chan -William Chang -William Josephson -William Langford -William Orr -William Poussier -Wisdom Omuya -Wu Yunzhou -Xi Ruoyao -Xia Bin -Xiangdong Ji -Xiaodong Liu -Xing Gao <18340825824@163.com> -Xing Xing -Xingqang Bai -Xu Fei -Xudong Zhang -Xudong Zheng <7pkvm5aw@slicealias.com> -Xuyang Kang -Yamagishi Kazutoshi -Yan Zou -Yang Hau -Yang Tian -Yann Hodique -Yann Kerhervé -Yann Salaün -Yannic Bonenberger -Yao Zhang -Yaron de Leeuw -Yaroslav Vorobiov -Yasha Bubnov -Yasser Abdolmaleki -Yasuharu Goto -Yasuhiro Matsumoto -Yasutaka Shinzaki -Yasuyuki Oka -Yazen Shunnar -Yestin Sun -Yesudeep Mangalapilly -Yissakhar Z. Beck -Yo-An Lin -Yogesh Mangaj -Yohei Takeda -Yongjian Xu -Yorman Arias -Yoshiyuki Kanno -Yoshiyuki Mineo -Yosuke Akatsuka -Youfu Zhang -Yu Heng Zhang -Yu Xuan Zhang -Yu, Li-Yu -Yuichi Kishimoto -Yuichi Nishiwaki -Yuji Yaginuma -Yuki Ito -Yuki OKUSHI -Yuki Osaki -Yuki Yugui Sonoda -Yukihiro Nishinaka <6elpinal@gmail.com> -YunHao Zhang -YunQiang Su -Yuntao Wang -Yury Smolsky -Yusuke Kagiwada -Yuusei Kuwana -Yuval Pavel Zholkover -Yves Junqueira -Zac Bergquist -Zach Bintliff -Zach Collier -Zach Gershman -Zach Hoffman -Zach Jones -Zachary Amsden -Zachary Burkett -Zachary Gershman -Zaiyang Li -Zak -Zakatell Kanda -Zeke Lu -Zellyn Hunter -Zev Goldstein -Zhang Boyang -Zheng Dayu -Zheng Xu -Zhengyu He -Zhi Zheng -Zhongpeng Lin -Zhongtao Chen -Zhongwei Yao -Zhou Guangyuan -Zhou Peng -Ziad Hatahet -Ziheng Liu -Zizhao Zhang -Zorion Arrizabalaga -Zvonimir Pavlinovic -Zyad A. Ali -Максадбек Ахмедов -Максим Федосеев -Михаил Патин -Роман Хавроненко -Тарас Буник -Фахриддин Балтаев -张嵩 -申习之 From c5da4fb7ac5cb7434b41fc9a1df3bee66c7f1a4d Mon Sep 17 00:00:00 2001 From: Cherry Mui Date: Thu, 21 Jul 2022 18:23:39 -0400 Subject: [PATCH 09/25] cmd/compile: make jump table symbol local When using plugins, if the plugin and the main executable both have the same function, and if it uses jump table, currently the jump table symbol have the same name so it will be deduplicated by the dynamic linker. This causes a function in the plugin may (in the middle of the function) jump to the function with the same name in the main executable (or vice versa). But the function may be compiled slightly differently, because the plugin needs to be PIC. Jumping from the middle of one function to the other will not work. Avoid this problem by marking the jump table symbol local to a DSO. Fixes #53989. Change-Id: I2b573b9dfc22401c8a09ffe9b9ea8bb83d3700ca Reviewed-on: https://go-review.googlesource.com/c/go/+/418960 Reviewed-by: Keith Randall Run-TryBot: Cherry Mui Reviewed-by: Than McIntosh TryBot-Result: Gopher Robot --- misc/cgo/testplugin/plugin_test.go | 6 +++ .../testplugin/testdata/issue53989/main.go | 32 ++++++++++++ .../cgo/testplugin/testdata/issue53989/p/p.go | 52 +++++++++++++++++++ .../testplugin/testdata/issue53989/plugin.go | 13 +++++ src/cmd/compile/internal/ssa/rewrite.go | 1 + 5 files changed, 104 insertions(+) create mode 100644 misc/cgo/testplugin/testdata/issue53989/main.go create mode 100644 misc/cgo/testplugin/testdata/issue53989/p/p.go create mode 100644 misc/cgo/testplugin/testdata/issue53989/plugin.go diff --git a/misc/cgo/testplugin/plugin_test.go b/misc/cgo/testplugin/plugin_test.go index e8587e69ba826..285681018ab0a 100644 --- a/misc/cgo/testplugin/plugin_test.go +++ b/misc/cgo/testplugin/plugin_test.go @@ -307,6 +307,12 @@ func TestIssue52937(t *testing.T) { goCmd(t, "build", "-buildmode=plugin", "-o", "issue52937.so", "./issue52937/main.go") } +func TestIssue53989(t *testing.T) { + goCmd(t, "build", "-buildmode=plugin", "-o", "issue53989.so", "./issue53989/plugin.go") + goCmd(t, "build", "-o", "issue53989.exe", "./issue53989/main.go") + run(t, "./issue53989.exe") +} + func TestForkExec(t *testing.T) { // Issue 38824: importing the plugin package causes it hang in forkExec on darwin. diff --git a/misc/cgo/testplugin/testdata/issue53989/main.go b/misc/cgo/testplugin/testdata/issue53989/main.go new file mode 100644 index 0000000000000..6907dfd858096 --- /dev/null +++ b/misc/cgo/testplugin/testdata/issue53989/main.go @@ -0,0 +1,32 @@ +// Copyright 2022 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Issue 53989: the use of jump table caused a function +// from the plugin jumps in the middle of the function +// to the function with the same name in the main +// executable. As these two functions may be compiled +// differently as plugin needs to be PIC, this causes +// crash. + +package main + +import ( + "plugin" + + "testplugin/issue53989/p" +) + +func main() { + p.Square(7) // call the function in main executable + + p, err := plugin.Open("issue53989.so") + if err != nil { + panic(err) + } + f, err := p.Lookup("Square") + if err != nil { + panic(err) + } + f.(func(int))(7) // call the plugin one +} diff --git a/misc/cgo/testplugin/testdata/issue53989/p/p.go b/misc/cgo/testplugin/testdata/issue53989/p/p.go new file mode 100644 index 0000000000000..02567c1cee07b --- /dev/null +++ b/misc/cgo/testplugin/testdata/issue53989/p/p.go @@ -0,0 +1,52 @@ +// Copyright 2022 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package p + +import ( + "fmt" + "runtime" +) + +var y int + +//go:noinline +func Square(x int) { + var pc0, pc1 [1]uintptr + runtime.Callers(1, pc0[:]) // get PC at entry + + // a switch using jump table + switch x { + case 1: + y = 1 + case 2: + y = 4 + case 3: + y = 9 + case 4: + y = 16 + case 5: + y = 25 + case 6: + y = 36 + case 7: + y = 49 + case 8: + y = 64 + default: + panic("too large") + } + + // check PC is in the same function + runtime.Callers(1, pc1[:]) + if pc1[0] < pc0[0] || pc1[0] > pc0[0]+1000000 { + fmt.Printf("jump across DSO boundary. pc0=%x, pc1=%x\n", pc0[0], pc1[0]) + panic("FAIL") + } + + if y != x*x { + fmt.Printf("x=%d y=%d!=%d\n", x, y, x*x) + panic("FAIL") + } +} diff --git a/misc/cgo/testplugin/testdata/issue53989/plugin.go b/misc/cgo/testplugin/testdata/issue53989/plugin.go new file mode 100644 index 0000000000000..a753ee4419d73 --- /dev/null +++ b/misc/cgo/testplugin/testdata/issue53989/plugin.go @@ -0,0 +1,13 @@ +// Copyright 2022 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package main + +import "testplugin/issue53989/p" + +func Square(x int) { // export Square for plugin + p.Square(x) +} + +func main() {} diff --git a/src/cmd/compile/internal/ssa/rewrite.go b/src/cmd/compile/internal/ssa/rewrite.go index d41772ad8a0b3..05fb2f2776436 100644 --- a/src/cmd/compile/internal/ssa/rewrite.go +++ b/src/cmd/compile/internal/ssa/rewrite.go @@ -1959,5 +1959,6 @@ func logicFlags32(x int32) flagConstant { func makeJumpTableSym(b *Block) *obj.LSym { s := base.Ctxt.Lookup(fmt.Sprintf("%s.jump%d", b.Func.fe.LSym(), b.ID)) s.Set(obj.AttrDuplicateOK, true) + s.Set(obj.AttrLocal, true) return s } From 2ff563a00e45308fad74f1f86d816f4f636584a0 Mon Sep 17 00:00:00 2001 From: jacobishao Date: Sun, 24 Jul 2022 12:38:48 +0000 Subject: [PATCH 10/25] cmd/compile/internal/noder: correct spelling errors for instantiation Change-Id: I8091b3181e6dd0c335763c411a6a64026fe5a651 GitHub-Last-Rev: 505c6caa9cd4538f76dde4287b9266e8947e395e GitHub-Pull-Request: golang/go#54024 Reviewed-on: https://go-review.googlesource.com/c/go/+/419315 Run-TryBot: Keith Randall Reviewed-by: Ian Lance Taylor Reviewed-by: Keith Randall Reviewed-by: Keith Randall TryBot-Result: Gopher Robot Auto-Submit: Keith Randall --- src/cmd/compile/internal/noder/stencil.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cmd/compile/internal/noder/stencil.go b/src/cmd/compile/internal/noder/stencil.go index 1ba561b8b960d..280f7cdf1c0e2 100644 --- a/src/cmd/compile/internal/noder/stencil.go +++ b/src/cmd/compile/internal/noder/stencil.go @@ -623,7 +623,7 @@ func checkFetchBody(nameNode *ir.Name) { } } -// getInstantiation gets the instantiantion and dictionary of the function or method nameNode +// getInstantiation gets the instantiation and dictionary of the function or method nameNode // with the type arguments shapes. If the instantiated function is not already // cached, then it calls genericSubst to create the new instantiation. func (g *genInst) getInstantiation(nameNode *ir.Name, shapes []*types.Type, isMeth bool) *instInfo { From 64f2829c9cdf12b893068305b2451c81b0a5b3a6 Mon Sep 17 00:00:00 2001 From: Abirdcfly Date: Sun, 24 Jul 2022 13:41:16 +0000 Subject: [PATCH 11/25] runtime: fix typo in function comments The correct word to use here is 'receive' not 'recieve' Change-Id: Ia33e2a91c1c2da6dbe479a05518dbb9b8733d20d GitHub-Last-Rev: e3c3e211dd7055d1dab8699a88d0b35c459da149 GitHub-Pull-Request: golang/go#54025 Reviewed-on: https://go-review.googlesource.com/c/go/+/419316 Reviewed-by: Keith Randall Auto-Submit: Keith Randall Reviewed-by: Ian Lance Taylor Reviewed-by: Keith Randall TryBot-Result: Gopher Robot Run-TryBot: Keith Randall --- src/runtime/string.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/string.go b/src/runtime/string.go index 5ab0ac3a86a69..359a5658c5acf 100644 --- a/src/runtime/string.go +++ b/src/runtime/string.go @@ -432,7 +432,7 @@ func atoi32(s string) (int32, bool) { // - KiB, MiB, GiB, TiB which represent binary IEC/ISO 80000 units, or // - B, which just represents bytes. // -// Returns an int64 because that's what its callers want and recieve, +// Returns an int64 because that's what its callers want and receive, // but the result is always non-negative. func parseByteCount(s string) (int64, bool) { // The empty string is not valid. From 850d547d2de9044eb84ba65ceefb90880f3a776c Mon Sep 17 00:00:00 2001 From: Filippo Valsorda Date: Sun, 24 Jul 2022 15:48:29 +0200 Subject: [PATCH 12/25] doc/go1.19: expand crypto release notes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Not included are the following changes that were backported to Go 1.18 minor releases. bb1f441618 crypto/rand: properly handle large Read on windows 35998c0109 crypto/x509: only disable SHA-1 verification for certificates 0fca8a8f25 crypto/x509: fix Certificate.Verify crash fe4de36198 crypto/tls: randomly generate ticket_age_add 37065847d8 crypto/elliptic: tolerate zero-padded scalars in generic P-256 9a53b472b5 crypto/x509: properly handle issuerUniqueID and subjectUniqueID The following are the benchmarks to back up the 3x speedup claim in the crypto/elliptic notes. name old time/op new time/op delta pkg:crypto/elliptic goos:darwin goarch:arm64 ScalarBaseMult/P256-8 18.3µs ± 0% 18.2µs ± 0% -0.56% (p=0.000 n=10+10) ScalarBaseMult/P224-8 233µs ± 0% 74µs ± 0% -68.09% (p=0.000 n=9+10) ScalarBaseMult/P384-8 805µs ± 0% 236µs ± 0% -70.73% (p=0.000 n=8+10) ScalarBaseMult/P521-8 2.50ms ± 0% 0.68ms ± 0% -72.63% (p=0.000 n=10+8) ScalarMult/P256-8 68.4µs ± 0% 68.6µs ± 0% +0.26% (p=0.000 n=10+10) ScalarMult/P224-8 234µs ± 0% 231µs ± 0% -1.18% (p=0.000 n=10+8) ScalarMult/P384-8 805µs ± 0% 805µs ± 0% ~ (p=0.211 n=9+10) ScalarMult/P521-8 2.50ms ± 0% 2.49ms ± 0% -0.69% (p=0.000 n=10+10) pkg:crypto/ecdsa goos:darwin goarch:arm64 Sign/P256-8 31.9µs ± 1% 31.7µs ± 0% -0.64% (p=0.001 n=10+10) Sign/P224-8 264µs ± 0% 106µs ± 0% -60.09% (p=0.000 n=10+10) Sign/P384-8 884µs ± 0% 313µs ± 0% -64.53% (p=0.000 n=9+10) Sign/P521-8 2.64ms ± 0% 0.84ms ± 0% -68.13% (p=0.000 n=9+9) Verify/P256-8 91.6µs ± 0% 91.7µs ± 0% ~ (p=0.052 n=10+10) Verify/P224-8 486µs ± 0% 300µs ± 0% -38.15% (p=0.000 n=9+9) Verify/P384-8 1.66ms ± 0% 1.01ms ± 0% -39.12% (p=0.000 n=10+9) Verify/P521-8 5.12ms ± 1% 3.06ms ± 0% -40.27% (p=0.000 n=10+10) GenerateKey/P256-8 19.6µs ± 0% 19.4µs ± 0% -0.79% (p=0.000 n=10+10) GenerateKey/P224-8 235µs ± 0% 76µs ± 1% -67.45% (p=0.000 n=8+10) GenerateKey/P384-8 807µs ± 0% 239µs ± 0% -70.43% (p=0.000 n=9+10) GenerateKey/P521-8 2.49ms ± 0% 0.69ms ± 0% -72.36% (p=0.000 n=9+10) Change-Id: I7fb2db3aea4aac785a48d45fff7a32909f3b578c Reviewed-on: https://go-review.googlesource.com/c/go/+/419355 Reviewed-by: Roland Shoemaker TryBot-Result: Gopher Robot Reviewed-by: Ian Lance Taylor Run-TryBot: Filippo Valsorda Reviewed-by: Dmitri Shuralyov --- doc/go1.19.html | 92 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 74 insertions(+), 18 deletions(-) diff --git a/doc/go1.19.html b/doc/go1.19.html index 41ffe8ebfd4d2..3ce2233ab0194 100644 --- a/doc/go1.19.html +++ b/doc/go1.19.html @@ -322,16 +322,58 @@

Minor changes to the library

+
crypto/elliptic
+
+

+ Operating on invalid curve points (those for which the + IsOnCurve method returns false, and which are never returned + by Unmarshal or by a Curve method operating on a + valid point) has always been undefined behavior and can lead to key + recovery attacks. If an invalid point is supplied to + Marshal, + MarshalCompressed, + Add, + Double, or + ScalarMult, + they will now panic. +

+ +

+ ScalarBaseMult operations on the P224, + P384, and P521 curves are now up to three + times faster, leading to similar speedups in some ECDSA operations. The + generic (not platform optimized) P256 implementation was + replaced with one derived from a formally verified model; this might + lead to significant slowdowns on 32-bit platforms. +

+
+
+
crypto/rand

Read no longer buffers - random data obtained from the operating system between calls. + random data obtained from the operating system between calls. Applications + that perform many small reads at high frequency might choose to wrap + Reader in a + bufio.Reader for performance + reasons, taking care to use + io.ReadFull + to ensure no partial reads occur.

On Plan 9, Read has been reimplemented, replacing the ANSI - X9.31 algorithm with fast key erasure. + X9.31 algorithm with a fast key erasure generator. +

+ +

+ The Prime + implementation was simplified. This will lead to different outputs for the + same random stream compared to the previous implementation. The internals + of Prime are not stable, should not be relied upon not to + change, and the output is now intentionally non-deterministic with respect + to the input stream.

@@ -364,6 +406,19 @@

Minor changes to the library

CreateCertificate no longer accepts negative serial numbers.

+

+ CreateCertificate will not emit an empty SEQUENCE anymore + when the produced certificate has no extensions. +

+ +

+ Removal of the x509sha1=1 GODEBUG option, + originally planned for Go 1.19, has been rescheduled to a future release. + Applications using it should work on migrating. Practical attacks against + SHA-1 have been demonstrated since 2017 and publicly trusted Certificate + Authorities have not issued SHA-1 certificates since 2015. +

+

ParseCertificate and ParseCertificateRequest @@ -373,7 +428,7 @@

Minor changes to the library

The new CertPool.Clone and CertPool.Equal - methods allow cloning a CertPool and checking the equality of two + methods allow cloning a CertPool and checking the equivalence of two CertPools respectively.

@@ -381,25 +436,26 @@

Minor changes to the library

The new function ParseRevocationList provides a faster, safer to use CRL parser which returns a RevocationList. - To support this addition, RevocationList adds new fields + Parsing a CRL also populates the new RevocationList fields RawIssuer, Signature, - AuthorityKeyId, and Extensions. - + AuthorityKeyId, and Extensions, which are ignored by + CreateRevocationList. +

The new method RevocationList.CheckSignatureFrom checks that the signature on a CRL is a valid signature from a Certificate. - - With the new CRL functionality, the existing functions - ParseCRL and - ParseDERCRL are deprecated. - Additionally the method Certificate.CheckCRLSignature - is deprecated. -

- -

- When building paths, Certificate.Verify - now considers certificates to be equal when the subjects, public keys, and SANs - are all equal. Before, it required byte-for-byte equality. +

+ The ParseCRL and + ParseDERCRL functions + are now deprecated in favor of ParseRevocationList. + The Certificate.CheckCRLSignature + method is deprecated in favor of RevocationList.CheckSignatureFrom. +

+ +

+ The path builder of Certificate.Verify + was overhauled and should now produce better chains and/or be more efficient in complicated scenarios. + Name constraints are now also enforced on non-leaf certificates.

From 37c8112b825a2c60d1b3776c0b4f4c643391d490 Mon Sep 17 00:00:00 2001 From: Abirdcfly Date: Sun, 24 Jul 2022 15:05:37 +0000 Subject: [PATCH 13/25] internal/fuzz: fix typo in function comments The correct word to use here is 'retrieve' not 'retrive' Change-Id: I8de0961a254cf429ddbaf599fe996155e24c7af2 GitHub-Last-Rev: 65aaeec8db14c23e7bc8a62ce9ecfde98a263a49 GitHub-Pull-Request: golang/go#54026 Reviewed-on: https://go-review.googlesource.com/c/go/+/419317 Reviewed-by: Ian Lance Taylor Reviewed-by: Cherry Mui Run-TryBot: Ian Lance Taylor TryBot-Result: Gopher Robot Auto-Submit: Ian Lance Taylor --- src/internal/fuzz/mem.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/internal/fuzz/mem.go b/src/internal/fuzz/mem.go index d6d45be20ef38..a5c3b02242e38 100644 --- a/src/internal/fuzz/mem.go +++ b/src/internal/fuzz/mem.go @@ -50,7 +50,7 @@ type sharedMemHeader struct { // rawInMem is true if the region holds raw bytes, which occurs during // minimization. If true after the worker fails during minimization, this // indicates that an unrecoverable error occurred, and the region can be - // used to retrive the raw bytes that caused the error. + // used to retrieve the raw bytes that caused the error. rawInMem bool } From dcea1ee6e3b805c2967950d48fddff5c69d2af85 Mon Sep 17 00:00:00 2001 From: Marcus Watkins Date: Thu, 21 Jul 2022 12:38:51 -0600 Subject: [PATCH 14/25] time: clarify documentation for allowed formats and add tests to prove them The existing documentation for the time.Layout const states "Only these values are recognized", but then doesn't include the numeric forms for month leading to ambiguity and assumptions that may not be true. It's unclear, for example, that space padding is only available for day of the month. Finally I add tests to show the behaviors in specific scenarios. Change-Id: I4e08a14834c17b6bdf3b6b47d39dafa8c1a138fb Reviewed-on: https://go-review.googlesource.com/c/go/+/418875 Reviewed-by: Rob Pike Reviewed-by: Ian Lance Taylor Run-TryBot: Ian Lance Taylor Reviewed-by: Cherry Mui Auto-Submit: Ian Lance Taylor TryBot-Result: Gopher Robot Run-TryBot: Ian Lance Taylor --- src/time/format.go | 8 ++++---- src/time/format_test.go | 7 +++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/time/format.go b/src/time/format.go index 5f696189ff114..8431ff89b4536 100644 --- a/src/time/format.go +++ b/src/time/format.go @@ -53,10 +53,10 @@ import "errors" // verbatim in the input to Parse. // // Year: "2006" "06" -// Month: "Jan" "January" -// Textual day of the week: "Mon" "Monday" -// Numeric day of the month: "2" "_2" "02" -// Numeric day of the year: "__2" "002" +// Month: "Jan" "January" "01" "1" +// Day of the week: "Mon" "Monday" +// Day of the month: "2" "_2" "02" +// Day of the year: "__2" "002" // Hour: "15" "3" "03" (PM or AM) // Minute: "4" "04" // Second: "5" "05" diff --git a/src/time/format_test.go b/src/time/format_test.go index ab72fae323181..9ae2b8017a3bb 100644 --- a/src/time/format_test.go +++ b/src/time/format_test.go @@ -116,6 +116,13 @@ var formatTests = []FormatTest{ {"StampMicro", StampMicro, "Feb 4 21:00:57.012345"}, {"StampNano", StampNano, "Feb 4 21:00:57.012345600"}, {"YearDay", "Jan 2 002 __2 2", "Feb 4 035 35 4"}, + {"Year", "2006 6 06 _6 __6 ___6", "2009 6 09 _6 __6 ___6"}, + {"Month", "Jan January 1 01 _1", "Feb February 2 02 _2"}, + {"DayOfMonth", "2 02 _2 __2", "4 04 4 35"}, + {"DayOfWeek", "Mon Monday", "Wed Wednesday"}, + {"Hour", "15 3 03 _3", "21 9 09 _9"}, + {"Minute", "4 04 _4", "0 00 _0"}, + {"Second", "5 05 _5", "57 57 _57"}, } func TestFormat(t *testing.T) { From 9eb3992dddb561001f27ddf0c0d9e29d8d295f66 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Fri, 22 Jul 2022 23:35:41 +0200 Subject: [PATCH 15/25] doc/go1.19: minor fixes EM_LONGARCH and R_LARCH_* are defined in package debug/elf. Change the definition list title accordingly. Format links sort.Find and sort.Search as code. Add a link to syscall.Getrusage. Change-Id: I30602baedda8ccac028101858a608f1d8ffb633b Reviewed-on: https://go-review.googlesource.com/c/go/+/419214 TryBot-Result: Gopher Robot Reviewed-by: Ian Lance Taylor Auto-Submit: Tobias Klauser Run-TryBot: Ian Lance Taylor Reviewed-by: Dmitri Shuralyov --- doc/go1.19.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/go1.19.html b/doc/go1.19.html index 3ce2233ab0194..ba8aa74ff5eb1 100644 --- a/doc/go1.19.html +++ b/doc/go1.19.html @@ -471,14 +471,14 @@

Minor changes to the library

-
debug
+
debug/elf

The new EM_LONGARCH and R_LARCH_* constants support the loong64 port.

-
+
debug/pe
@@ -907,9 +907,9 @@

Minor changes to the library

The new function - Find + Find is like - Search + Search but often easier to use: it returns an additional boolean reporting whether an equal value was found.

@@ -939,7 +939,7 @@

Minor changes to the library

- On AIX and Solaris, Getrusage is now defined. + On AIX and Solaris, Getrusage is now defined.

From 795a88d0c383fae04242632449518a5985d50973 Mon Sep 17 00:00:00 2001 From: Justin Traglia Date: Wed, 20 Jul 2022 14:20:41 +0000 Subject: [PATCH 16/25] cmd/go: add space after comma in 'go help test' This PR fixes a simple typo. It adds a space after a comma. Noticed while looking at `go help test` output. Change-Id: I5b54f4da0d08a056bffc04899983d858dfa91043 GitHub-Last-Rev: da9cab5eb946523b8783aafe4f05f516e4a77437 GitHub-Pull-Request: golang/go#53931 Reviewed-on: https://go-review.googlesource.com/c/go/+/418034 Reviewed-by: Bryan Mills TryBot-Result: Gopher Robot Auto-Submit: Bryan Mills Run-TryBot: Bryan Mills Reviewed-by: Cherry Mui --- src/cmd/go/alldocs.go | 2 +- src/cmd/go/internal/test/test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cmd/go/alldocs.go b/src/cmd/go/alldocs.go index db6372642ac01..a3c1fecb91b6d 100644 --- a/src/cmd/go/alldocs.go +++ b/src/cmd/go/alldocs.go @@ -1708,7 +1708,7 @@ // the package's source root (usually $GOPATH) or that consult environment // variables only match future runs in which the files and environment // variables are unchanged. A cached test result is treated as executing -// in no time at all,so a successful package test result will be cached and +// in no time at all, so a successful package test result will be cached and // reused regardless of -timeout setting. // // In addition to the build flags, the flags handled by 'go test' itself are: diff --git a/src/cmd/go/internal/test/test.go b/src/cmd/go/internal/test/test.go index 058906d9b8e18..aa5e41e004380 100644 --- a/src/cmd/go/internal/test/test.go +++ b/src/cmd/go/internal/test/test.go @@ -132,7 +132,7 @@ test caching explicitly is to use -count=1. Tests that open files within the package's source root (usually $GOPATH) or that consult environment variables only match future runs in which the files and environment variables are unchanged. A cached test result is treated as executing -in no time at all,so a successful package test result will be cached and +in no time at all, so a successful package test result will be cached and reused regardless of -timeout setting. In addition to the build flags, the flags handled by 'go test' itself are: From 9fcc8b2c1eeb2333751d80626e4204d304c8b3c6 Mon Sep 17 00:00:00 2001 From: qmuntal Date: Thu, 21 Jul 2022 12:18:51 +0200 Subject: [PATCH 17/25] runtime: fix runtime.Breakpoint() on windows/arm64 Fixes #53837 Change-Id: I4219fe35aac1a88aae2905998fbb1d7db87bbfb2 Reviewed-on: https://go-review.googlesource.com/c/go/+/418734 Reviewed-by: Michael Pratt Reviewed-by: Cherry Mui Reviewed-by: Alessandro Arzilli TryBot-Result: Gopher Robot Run-TryBot: Alessandro Arzilli --- src/runtime/asm_arm64.s | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/runtime/asm_arm64.s b/src/runtime/asm_arm64.s index f593b4a78b910..7836ba1d96c01 100644 --- a/src/runtime/asm_arm64.s +++ b/src/runtime/asm_arm64.s @@ -107,8 +107,18 @@ nocgo: DATA runtime·mainPC+0(SB)/8,$runtime·main(SB) GLOBL runtime·mainPC(SB),RODATA,$8 +// Windows ARM64 needs an immediate 0xf000 argument. +// See go.dev/issues/53837. +#define BREAK \ +#ifdef GOOS_windows \ + BRK $0xf000 \ +#else \ + BRK \ +#endif \ + + TEXT runtime·breakpoint(SB),NOSPLIT|NOFRAME,$0-0 - BRK + BREAK RET TEXT runtime·asminit(SB),NOSPLIT|NOFRAME,$0-0 @@ -1325,7 +1335,7 @@ TEXT runtime·debugCallV2(SB),NOSPLIT|NOFRAME,$0-0 // Set R20 to 8 and invoke BRK. The debugger should get the // reason a call can't be injected from SP+8 and resume execution. MOVD $8, R20 - BRK + BREAK JMP restore good: @@ -1374,7 +1384,7 @@ good: MOVD $20, R0 MOVD R0, 16(RSP) // length of debugCallFrameTooLarge string MOVD $8, R20 - BRK + BREAK JMP restore restore: @@ -1383,7 +1393,7 @@ restore: // Set R20 to 16 and invoke BRK. The debugger should restore // all registers except for PC and RSP and resume execution. MOVD $16, R20 - BRK + BREAK // We must not modify flags after this point. // Restore pointer-containing registers, which may have been @@ -1414,9 +1424,9 @@ restore: TEXT NAME(SB),WRAPPER,$MAXSIZE-0; \ NO_LOCAL_POINTERS; \ MOVD $0, R20; \ - BRK; \ + BREAK; \ MOVD $1, R20; \ - BRK; \ + BREAK; \ RET DEBUG_CALL_FN(debugCall32<>, 32) DEBUG_CALL_FN(debugCall64<>, 64) @@ -1439,7 +1449,7 @@ TEXT runtime·debugCallPanicked(SB),NOSPLIT,$16-16 MOVD val_data+8(FP), R0 MOVD R0, 16(RSP) MOVD $2, R20 - BRK + BREAK RET // Note: these functions use a special calling convention to save generated code space. From 24dc27a3c084b901ee456637541ea818495888b0 Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Sun, 24 Jul 2022 09:48:56 -0700 Subject: [PATCH 18/25] cmd/compile: fix blank label code When checkEnabled is forced true, the 52278 test fails. Be a bit more careful about processing blank labels. Update #52278 Change-Id: I48aa89e2c9e3715d8efe599bc4363b5b5879d8a2 Reviewed-on: https://go-review.googlesource.com/c/go/+/419318 Run-TryBot: Keith Randall TryBot-Result: Gopher Robot Reviewed-by: Cherry Mui Reviewed-by: David Chase --- src/cmd/compile/internal/ssagen/ssa.go | 4 ++++ test/fixedbugs/issue52278.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/cmd/compile/internal/ssagen/ssa.go b/src/cmd/compile/internal/ssagen/ssa.go index a7778d37fb392..2ee027092e936 100644 --- a/src/cmd/compile/internal/ssagen/ssa.go +++ b/src/cmd/compile/internal/ssagen/ssa.go @@ -1496,6 +1496,10 @@ func (s *state) stmt(n ir.Node) { case ir.OLABEL: n := n.(*ir.LabelStmt) sym := n.Label + if sym.IsBlank() { + // Nothing to do because the label isn't targetable. See issue 52278. + break + } lab := s.label(sym) // The label might already have a target block via a goto. diff --git a/test/fixedbugs/issue52278.go b/test/fixedbugs/issue52278.go index 56169e687144f..147b653037392 100644 --- a/test/fixedbugs/issue52278.go +++ b/test/fixedbugs/issue52278.go @@ -1,4 +1,4 @@ -// compile +// compile -d=ssa/check/on // Copyright 2022 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style From 3e97294663d978bf8abb7acec7cc615ef2f1ea75 Mon Sep 17 00:00:00 2001 From: Cherry Mui Date: Mon, 25 Jul 2022 11:02:56 -0400 Subject: [PATCH 19/25] runtime/cgo: use frame address to set g0 stack bound For a cgo binary, at startup we set g0's stack bounds using the address of a local variable (&size) in a C function x_cgo_init and the stack size from pthread_attr_getstacksize. Normally, &size is an address within the current stack frame. However, when it is compiled with ASAN, it may be instrumented to __asan_stack_malloc_0 and the address may not live in the current stack frame, causing the stack bound to be set incorrectly, e.g. lo > hi. Using __builtin_frame_address(0) to get the stack address instead. Change-Id: I41df929e5ed24d8bbf3e15027af6dcdfc3736e37 Reviewed-on: https://go-review.googlesource.com/c/go/+/419434 Run-TryBot: Cherry Mui TryBot-Result: Gopher Robot Reviewed-by: Ian Lance Taylor --- src/runtime/cgo/gcc_linux_amd64.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/runtime/cgo/gcc_linux_amd64.c b/src/runtime/cgo/gcc_linux_amd64.c index c25e7e769ba23..fb164c1a1df03 100644 --- a/src/runtime/cgo/gcc_linux_amd64.c +++ b/src/runtime/cgo/gcc_linux_amd64.c @@ -44,7 +44,9 @@ x_cgo_init(G *g, void (*setg)(void*), void **tlsg, void **tlsbase) } pthread_attr_init(attr); pthread_attr_getstacksize(attr, &size); - g->stacklo = (uintptr)&size - size + 4096; + g->stacklo = (uintptr)__builtin_frame_address(0) - size + 4096; + if (g->stacklo >= g->stackhi) + fatalf("bad stack bounds: lo=%p hi=%p\n", g->stacklo, g->stackhi); pthread_attr_destroy(attr); free(attr); From ceefd3a37bb2a77b1e9a76fc74360c68ef16ddb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Muhammed=20Can=20K=C3=BC=C3=A7=C3=BCkaslan?= <32893303+Kucukaslan@users.noreply.github.com> Date: Sun, 24 Jul 2022 21:44:11 +0000 Subject: [PATCH 20/25] bytes: document that Reader.Reset affects the result of Size The Reader.Reset changes the underlying byte slice, so it actually changes the return value of the Size method. Fixes #54018 Change-Id: I160deaa2244e95cb93303cb5dfb67a8d90a375ef GitHub-Last-Rev: b04724a072d956db1f84a8f5db0afa0dbb158e96 GitHub-Pull-Request: golang/go#54020 Reviewed-on: https://go-review.googlesource.com/c/go/+/419237 Reviewed-by: Cherry Mui Reviewed-by: Joseph Tsai TryBot-Result: Gopher Robot Reviewed-by: Ian Lance Taylor Run-TryBot: Ian Lance Taylor Auto-Submit: Ian Lance Taylor --- src/bytes/reader.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/bytes/reader.go b/src/bytes/reader.go index 5946cf9780b0e..81c22aa0295d6 100644 --- a/src/bytes/reader.go +++ b/src/bytes/reader.go @@ -32,8 +32,7 @@ func (r *Reader) Len() int { // Size returns the original length of the underlying byte slice. // Size is the number of bytes available for reading via ReadAt. -// The returned value is always the same and is not affected by calls -// to any other method. +// The result is unaffected by any method calls except Reset. func (r *Reader) Size() int64 { return int64(len(r.s)) } // Read implements the io.Reader interface. From caa225dd297a467b0d720d5f1d63050e49061ad3 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 26 Jul 2022 12:50:02 -0700 Subject: [PATCH 21/25] doc/go1.19: note that updated race syso files require GNU ld 2.26 For #54060 Change-Id: I6360565056d7fb7110ff00b0f3f9a3fc02ba7f2d Reviewed-on: https://go-review.googlesource.com/c/go/+/419595 Reviewed-by: Keith Randall Reviewed-by: Keith Randall Run-TryBot: Ian Lance Taylor Auto-Submit: Ian Lance Taylor Run-TryBot: Ian Lance Taylor Reviewed-by: Ian Lance Taylor TryBot-Result: Gopher Robot --- doc/go1.19.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/go1.19.html b/doc/go1.19.html index ba8aa74ff5eb1..de1dfefd4d032 100644 --- a/doc/go1.19.html +++ b/doc/go1.19.html @@ -872,7 +872,8 @@

Minor changes to the library

Compared to v2, it is now typically 1.5x to 2x faster, uses half as much memory, and it supports an unlimited number of goroutines. - On Linux, the race detector now requires at least glibc version 2.17. + On Linux, the race detector now requires at least glibc version + 2.17 and GNU binutils 2.26.

From faf4e97200df9415d55b04924ce77599f9e6fdfa Mon Sep 17 00:00:00 2001 From: database64128 Date: Fri, 29 Apr 2022 17:29:58 +0000 Subject: [PATCH 22/25] net: fix WriteMsgUDPAddrPort addr handling WriteMsgUDPAddrPort should accept IPv4 target addresses on IPv6 UDP sockets. An IPv4 target address will be converted to an IPv4-mapped IPv6 address. Fixes #52264. Change-Id: Ib9ed4c61fa1289ae7bbc8c4c9de1a9951b647ec0 GitHub-Last-Rev: 6776fdb0a76faa71ebde58f5143fb1ffb3112adf GitHub-Pull-Request: golang/go#52265 Reviewed-on: https://go-review.googlesource.com/c/go/+/399454 TryBot-Result: Gopher Robot Run-TryBot: Ian Lance Taylor Reviewed-by: Ian Lance Taylor Reviewed-by: Damien Neil Reviewed-by: Brad Fitzpatrick --- src/net/ipsock_posix.go | 6 +++++- src/net/udpsock_test.go | 43 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/src/net/ipsock_posix.go b/src/net/ipsock_posix.go index 9a961b96ab252..7bb66f2d6cce3 100644 --- a/src/net/ipsock_posix.go +++ b/src/net/ipsock_posix.go @@ -215,8 +215,12 @@ func addrPortToSockaddrInet4(ap netip.AddrPort) (syscall.SockaddrInet4, error) { func addrPortToSockaddrInet6(ap netip.AddrPort) (syscall.SockaddrInet6, error) { // ipToSockaddrInet6 has special handling here for zero length slices. // We do not, because netip has no concept of a generic zero IP address. + // + // addr is allowed to be an IPv4 address, because As16 will convert it + // to an IPv4-mapped IPv6 address. + // The error message is kept consistent with ipToSockaddrInet6. addr := ap.Addr() - if !addr.Is6() { + if !addr.IsValid() { return syscall.SockaddrInet6{}, &AddrError{Err: "non-IPv6 address", Addr: addr.String()} } sa := syscall.SockaddrInet6{ diff --git a/src/net/udpsock_test.go b/src/net/udpsock_test.go index f8acf6a028a04..4fa74752b946d 100644 --- a/src/net/udpsock_test.go +++ b/src/net/udpsock_test.go @@ -9,6 +9,7 @@ package net import ( "errors" "internal/testenv" + "net/netip" "os" "reflect" "runtime" @@ -622,3 +623,45 @@ func TestUDPIPVersionReadMsg(t *testing.T) { t.Error("returned UDPAddr is not IPv4") } } + +// TestIPv6WriteMsgUDPAddrPortTargetAddrIPVersion verifies that +// WriteMsgUDPAddrPort accepts IPv4, IPv4-mapped IPv6, and IPv6 target addresses +// on a UDPConn listening on "::". +func TestIPv6WriteMsgUDPAddrPortTargetAddrIPVersion(t *testing.T) { + if !supportsIPv6() { + t.Skip("IPv6 is not supported") + } + + switch runtime.GOOS { + case "openbsd": + // OpenBSD's IPv6 sockets are always IPv6-only, according to the man page: + // https://man.openbsd.org/ip6#IPV6_V6ONLY + t.Skipf("skipping on %v", runtime.GOOS) + } + + conn, err := ListenUDP("udp", nil) + if err != nil { + t.Fatal(err) + } + defer conn.Close() + + daddr4 := netip.AddrPortFrom(netip.MustParseAddr("127.0.0.1"), 12345) + daddr4in6 := netip.AddrPortFrom(netip.MustParseAddr("::ffff:127.0.0.1"), 12345) + daddr6 := netip.AddrPortFrom(netip.MustParseAddr("::1"), 12345) + buf := make([]byte, 8) + + _, _, err = conn.WriteMsgUDPAddrPort(buf, nil, daddr4) + if err != nil { + t.Fatal(err) + } + + _, _, err = conn.WriteMsgUDPAddrPort(buf, nil, daddr4in6) + if err != nil { + t.Fatal(err) + } + + _, _, err = conn.WriteMsgUDPAddrPort(buf, nil, daddr6) + if err != nil { + t.Fatal(err) + } +} From 424814615491c604e6a0945f33e5a7b779dc2be5 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Tue, 26 Jul 2022 13:29:16 -0700 Subject: [PATCH 23/25] net: document UDPConn.ReadFromUDPAddrPort's AddrPort result more Clarify the form of its IPv4 addresses when listening on an unspecified address. (found while testing/reviewing CL 399454) Change-Id: I62b367f5a4e6d340eb72dd7ec342080f1821e63e Reviewed-on: https://go-review.googlesource.com/c/go/+/419614 Reviewed-by: Ian Lance Taylor Reviewed-by: Cherry Mui TryBot-Result: Gopher Robot Auto-Submit: Ian Lance Taylor Run-TryBot: Ian Lance Taylor --- src/net/udpsock.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/net/udpsock.go b/src/net/udpsock.go index 6d29a39edfcfc..e30624dea5a74 100644 --- a/src/net/udpsock.go +++ b/src/net/udpsock.go @@ -164,6 +164,10 @@ func (c *UDPConn) ReadFrom(b []byte) (int, Addr, error) { } // ReadFromUDPAddrPort acts like ReadFrom but returns a netip.AddrPort. +// +// If c is bound to an unspecified address, the returned +// netip.AddrPort's address might be an IPv4-mapped IPv6 address. +// Use netip.Addr.Unmap to get the address without the IPv6 prefix. func (c *UDPConn) ReadFromUDPAddrPort(b []byte) (n int, addr netip.AddrPort, err error) { if !c.ok() { return 0, netip.AddrPort{}, syscall.EINVAL From 055113ef364337607e3e72ed7d48df67fde6fc66 Mon Sep 17 00:00:00 2001 From: Roland Shoemaker Date: Fri, 15 Jul 2022 10:43:44 -0700 Subject: [PATCH 24/25] math/big: check buffer lengths in GobDecode In Float.GobDecode and Rat.GobDecode, check buffer sizes before indexing slices. Fixes #53871 Change-Id: I1b652c32c2bc7a0e8aa7620f7be9b2740c568b0a Reviewed-on: https://go-review.googlesource.com/c/go/+/417774 TryBot-Result: Gopher Robot Reviewed-by: Tatiana Bradley Run-TryBot: Roland Shoemaker --- src/math/big/floatmarsh.go | 7 +++++++ src/math/big/floatmarsh_test.go | 12 ++++++++++++ src/math/big/ratmarsh.go | 6 ++++++ src/math/big/ratmarsh_test.go | 12 ++++++++++++ 4 files changed, 37 insertions(+) diff --git a/src/math/big/floatmarsh.go b/src/math/big/floatmarsh.go index d1c1dab069178..990e085abe8d0 100644 --- a/src/math/big/floatmarsh.go +++ b/src/math/big/floatmarsh.go @@ -8,6 +8,7 @@ package big import ( "encoding/binary" + "errors" "fmt" ) @@ -67,6 +68,9 @@ func (z *Float) GobDecode(buf []byte) error { *z = Float{} return nil } + if len(buf) < 6 { + return errors.New("Float.GobDecode: buffer too small") + } if buf[0] != floatGobVersion { return fmt.Errorf("Float.GobDecode: encoding version %d not supported", buf[0]) @@ -83,6 +87,9 @@ func (z *Float) GobDecode(buf []byte) error { z.prec = binary.BigEndian.Uint32(buf[2:]) if z.form == finite { + if len(buf) < 10 { + return errors.New("Float.GobDecode: buffer too small for finite form float") + } z.exp = int32(binary.BigEndian.Uint32(buf[6:])) z.mant = z.mant.setBytes(buf[10:]) } diff --git a/src/math/big/floatmarsh_test.go b/src/math/big/floatmarsh_test.go index c056d78b8008c..401f45a51fe7e 100644 --- a/src/math/big/floatmarsh_test.go +++ b/src/math/big/floatmarsh_test.go @@ -137,3 +137,15 @@ func TestFloatJSONEncoding(t *testing.T) { } } } + +func TestFloatGobDecodeShortBuffer(t *testing.T) { + for _, tc := range [][]byte{ + []byte{0x1, 0x0, 0x0, 0x0}, + []byte{0x1, 0xfa, 0x0, 0x0, 0x0, 0x0}, + } { + err := NewFloat(0).GobDecode(tc) + if err == nil { + t.Error("expected GobDecode to return error for malformed input") + } + } +} diff --git a/src/math/big/ratmarsh.go b/src/math/big/ratmarsh.go index fbc7b6002d950..56102e845b779 100644 --- a/src/math/big/ratmarsh.go +++ b/src/math/big/ratmarsh.go @@ -45,12 +45,18 @@ func (z *Rat) GobDecode(buf []byte) error { *z = Rat{} return nil } + if len(buf) < 5 { + return errors.New("Rat.GobDecode: buffer too small") + } b := buf[0] if b>>1 != ratGobVersion { return fmt.Errorf("Rat.GobDecode: encoding version %d not supported", b>>1) } const j = 1 + 4 i := j + binary.BigEndian.Uint32(buf[j-4:j]) + if len(buf) < int(i) { + return errors.New("Rat.GobDecode: buffer too small") + } z.a.neg = b&1 != 0 z.a.abs = z.a.abs.setBytes(buf[j:i]) z.b.abs = z.b.abs.setBytes(buf[i:]) diff --git a/src/math/big/ratmarsh_test.go b/src/math/big/ratmarsh_test.go index 351d109f8d849..55a9878bb871b 100644 --- a/src/math/big/ratmarsh_test.go +++ b/src/math/big/ratmarsh_test.go @@ -123,3 +123,15 @@ func TestRatXMLEncoding(t *testing.T) { } } } + +func TestRatGobDecodeShortBuffer(t *testing.T) { + for _, tc := range [][]byte{ + []byte{0x2}, + []byte{0x2, 0x0, 0x0, 0x0, 0xff}, + } { + err := NewRat(1, 2).GobDecode(tc) + if err == nil { + t.Error("expected GobDecode to return error for malformed input") + } + } +} From 462b78fe7027ef0d2e2b40c3cfd1f5a37d307310 Mon Sep 17 00:00:00 2001 From: Cherry Mui Date: Wed, 27 Jul 2022 12:59:16 -0400 Subject: [PATCH 25/25] misc/cgo/test: use fewer threads in TestSetgidStress in long mode TestSetgidStress originally spawns 1000 threads for stress testing. It caused timeout on some builders so CL 415677 reduced to 50 in short mode. But it still causes flaky timeouts in longtest builders, so reduce the number of threads in long mode as well. Should fix #53641. Change-Id: I02f4ef8a143bb1faafe3d11ad223f36f5cc245c6 Reviewed-on: https://go-review.googlesource.com/c/go/+/419453 Reviewed-by: Bryan Mills Run-TryBot: Cherry Mui TryBot-Result: Gopher Robot --- misc/cgo/test/setgid2_linux.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/misc/cgo/test/setgid2_linux.go b/misc/cgo/test/setgid2_linux.go index 9069cff334368..438f5ae512d5f 100644 --- a/misc/cgo/test/setgid2_linux.go +++ b/misc/cgo/test/setgid2_linux.go @@ -20,10 +20,7 @@ import ( ) func testSetgidStress(t *testing.T) { - var N = 1000 - if testing.Short() { - N = 50 - } + const N = 50 ch := make(chan int, N) for i := 0; i < N; i++ { go func() {