diff --git a/CONTRIBUTORS b/CONTRIBUTORS index b201301a85..6465de4714 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -47,6 +47,7 @@ Adam Shannon Adam Sindelar Adam Thomason Adam Woodbeck +Adarsh Ravichandran Aditya Mukerjee Adrian Hesketh Adrian Nos @@ -62,12 +63,14 @@ Ahmed Wahed Ahmet Alp Balkan Ahmet Soormally Ahmy Yulrizka +Ahsun Ahmed Aiden Scandella Ainar Garipov Aishraj Dahal Akhil Indurti Akihiro Suda Akshat Kumar +Al Cutter Alan Braithwaite Alan Donovan Alan Shreve @@ -95,6 +98,7 @@ Alex Myasoedov Alex Plugaru Alex Schroeder Alex Sergeyev +Alex Tokarev Alex Vaghin Alexander Demakin Alexander Döring @@ -103,12 +107,14 @@ Alexander Guz Alexander Kauer Alexander Kucherenko Alexander Larsson +Alexander Lourier Alexander Menzhinsky Alexander Morozov Alexander Neumann Alexander Orlov Alexander Pantyukhin Alexander Polcyn +Alexander Rakoczy Alexander Reece Alexander Surma Alexander Zhavnerchik @@ -150,7 +156,9 @@ Andreas Jellinghaus Andreas Litt Andrei Gherzan Andrei Korzhevskii +Andrei Matei Andrei Tudor Călin +Andrei Vagin Andrei Vieru Andres Erbsen Andres Lowrie @@ -177,6 +185,7 @@ Andrew Szeto Andrew Werner Andrew Wilkins Andrew Williams +Andrew Z Allen Andrey Mirtchovski Andrey Petrov Andrii Soldatenko @@ -214,8 +223,10 @@ Antonio Antelo Antonio Bibiano Antonio Murdaca Antonio Troina +Aofei Sheng Apisak Darakananda Aram Hăvărneanu +Arash Bina Areski Belaid Ariel Mashraki Arkadi Pyuro @@ -266,11 +277,13 @@ Ben Shi Benjamin Black Benjamin Cable Benjamin Hsieh +Benjamin Peterson Benjamin Prosnitz Benjamin Wester Benny Siegert Benoit Sigoure Berengar Lehr +Berkant Ipek <41230766+0xbkt@users.noreply.github.com> Bill Neubauer Bill O'Farrell Bill Prin @@ -278,6 +291,7 @@ Bill Thiede Bill Zissimopoulos Billie Harold Cleek Billy Lynch +Bjørn Erik Pedersen Bjorn Tillenius Bjorn Tipling Blain Smith @@ -303,6 +317,7 @@ Brady Catherman Brady Sullivan Brandon Bennett Brandon Gilmore +Brandon Ryan Brendan Daniel Tracey Brendan O'Dea Brett Cannon @@ -321,6 +336,7 @@ Bryan Alexander Bryan C. Mills Bryan Chan Bryan Ford +Bryan Heden Bulat Gaifullin Burak Guven Caine Tighe @@ -337,9 +353,11 @@ Carlisia Campos Carlo Alberto Ferraris Carlos Castillo Carlos Cirello +Carlos Eduardo Carlos Eduardo Seo Carlos Souza Carolyn Van Slyck +Carrie Bynon Cary Hull Case Nelson Casey Callendrello @@ -373,6 +391,7 @@ Chris Kastorff Chris Lennert Chris Liles Chris Manghane +Chris Marchesi Chris McGee Chris Raynor Chris Roche @@ -404,6 +423,7 @@ Clément Chigot Clement Skau Cody Oss Colby Ranger +Colin Arnott Colin Cross Colin Edwards Colin Kennedy @@ -436,13 +456,16 @@ Dan Johnson Dan Peterson Dan Pupius Dan Sinclair +Daniel Cormier Daniël de Kok Daniel Fleischman Daniel Ingram Daniel Johansson Daniel Kerwin Daniel Krech +Daniel Langner Daniel Lidén +Daniel Lublin Daniel Martí Daniel Morsing Daniel Nadasi @@ -457,6 +480,7 @@ Danny Rosseau Daria Kolistratova Darien Raymond Darren Elwood +Darren Grant Darshan Parajuli Datong Sun Dave Borowitz @@ -516,6 +540,7 @@ Derek Buitenhuis Derek Che Derek McGowan Derek Parker +Derek Phan Derek Shockey Dev Ojha Dev Zhoujun @@ -534,6 +559,7 @@ Dina Garmash Diogo Pinela Dirk Gadsden Diwaker Gupta +Dmitri Goutnik Dmitri Popov Dmitri Shuralyov Dmitriy Cherchenko @@ -542,6 +568,7 @@ Dmitriy Shelenin Dmitriy Vyukov Dmitry Chestnykh Dmitry Doroginin +Dmitry Mottl Dmitry Neverov Dmitry Savintsev Dmitry Yakunin @@ -578,6 +605,7 @@ Eivind Uggedal Elbert Fliek Eldar Rakhimberdin Elena Grahovac +Eli Bendersky Elias Naur Elliot Morrison-Reed Emerson Lin @@ -615,6 +643,7 @@ Euan Kemp Eugene Kalinin Evan Broder Evan Brown +Evan Digby Evan Hicks Evan Jones Evan Klitzke @@ -639,7 +668,9 @@ Fazlul Shahriar Federico Bond Federico Simoncelli Fedor Indutny +Fedor Korotkiy Felipe Oliveira +Felix Bünemann Felix Geisendörfer Felix Kollmann Filip Gruszczyński @@ -654,6 +685,7 @@ Florin Patan Folke Behrens Ford Hurley Francesc Campoy +Francesco Renzi Francisco Claude Francisco Rojas Francisco Souza @@ -673,6 +705,8 @@ G. Hussain Chinoy Gaal Yahas Gabríel Arthúr Pétursson Gabriel Aszalos +Gabriel Guzman +Gabriel Nelle Gabriel Nicolas Avellaneda Gabriel Russell Gareth Paul Jones @@ -695,14 +729,17 @@ George Shammas Gerasimos (Makis) Maropoulos Gerasimos Dimitriadis Gergely Brautigam +Gernot Vormayr Getulio Sánchez Gianguido Sora` Gideon Jan-Wessel Redelinghuys Giles Lean Giovanni Bajo GitHub User @ajnirp (1688456) +GitHub User @alkesh26 (1019076) GitHub User @andrius4669 (4699695) GitHub User @as (8127015) +GitHub User @bakape (7851952) GitHub User @bgadrian (830001) GitHub User @bontequero (2674999) GitHub User @cch123 (384546) @@ -710,11 +747,16 @@ GitHub User @chanxuehong (3416908) GitHub User @dupoxy (1143957) GitHub User @erifan (31343225) GitHub User @esell (9735165) +GitHub User @frennkie (6499251) +GitHub User @hengwu0 (41297446) <41297446+hengwu0@users.noreply.github.com> GitHub User @itchyny (375258) +GitHub User @kazyshr (30496953) GitHub User @kc1212 (1093806) GitHub User @Kropekk (13366453) +GitHub User @linguohua (3434367) GitHub User @LotusFenn (13775899) GitHub User @madiganz (18340029) +GitHub User @micnncim (21333876) GitHub User @mkishere (224617) <224617+mkishere@users.noreply.github.com> GitHub User @OlgaVlPetrova (44112727) GitHub User @pityonline (438222) @@ -724,6 +766,7 @@ GitHub User @shogo-ma (9860598) GitHub User @tell-k (26263) GitHub User @uhei (2116845) GitHub User @uropek (39370426) +GitHub User @ZZMarquis (7624583) Giulio Iotti Giulio Micheloni Giuseppe Valente @@ -731,11 +774,13 @@ Gleb Stepanov Glenn Brown Glenn Lewis Gordon Klaus +Gordon Tyler Graham King Graham Miller Grant Griffiths Greg Poirier Greg Steuck +Greg Thelen Greg Ward Grégoire Delattre Gregory Man @@ -759,12 +804,14 @@ HAMANO Tsukasa Han-Wen Nienhuys Hang Qian Hanjun Kim +Haosdent Huang Harald Nordgren Hari haran Hariharan Srinath Harley Laue Harry Moreno Harshavardhana +Hasan Ozgan Hauke Löffler Håvard Haugen He Liu @@ -777,6 +824,7 @@ Henry Adi Sumarto Henry Bubert Henry Chang Henry Clifford +Henry Wong Herbert Georg Fischer Herbie Ong Heschi Kreinick @@ -789,6 +837,7 @@ Hitoshi Mitake Holden Huang Hong Ruiqi Hongfei Tan +Horst Rutter Hossein Sheikh Attar Hsin Tsao Hsin-Ho Yeh @@ -831,6 +880,7 @@ Ivan Krasin Ivan Kutuzov Ivan Markin Ivan Moscoso +Ivan Osadchiy Ivan Sharavuev Ivan Ukhov Ivy Evans @@ -838,8 +888,10 @@ Jaana Burcu Dogan Jack Britton Jack Lindamood Jacob Baskin +Jacob Blain Christen Jacob H. Haven Jacob Hoffman-Andrews +Jacob Walker Jae Kwon Jake B Jakob Borg @@ -860,6 +912,7 @@ James Lawrence James Meneghello James Myers James Neve +James Nugent James P. Cooper James Robinson James Schofield @@ -886,6 +939,7 @@ Jan Newmarch Jan Pilzer Jan Ziak <0xe2.0x9a.0x9b@gmail.com> Jani Monoses +Jannis Andrija Schnitzer Jared Culp Jaroslavas Počepko Jason A. Donenfeld @@ -906,6 +960,7 @@ Jay Taylor Jay Weisskopf Jean de Klerk Jean-André Santoni +Jean-François Bustarret Jean-Francois Cantin Jean-Marc Eurin Jean-Nicolas Moal @@ -927,8 +982,10 @@ Jeremiah Harmsen Jeremy Banks <_@jeremy.ca> Jeremy Canady Jeremy Jackins +Jeremy Jay Jeremy Schlatter Jeroen Bobbeldijk +Jeroen Simonetti Jerrin Shaji George Jess Frazelle Jesse Szwedko @@ -945,6 +1002,8 @@ Jimmy Zelinskie Jin-wook Jeong Jingcheng Zhang Jingguo Yao +Jingnan Si +Jinkun Zhang Jiong Du Jirka Daněk Jiulong Wang @@ -979,12 +1038,14 @@ John Howard Palevich John Jeffery John Jenkins John Leidegren +John Moore John Newlin John Potocny John R. Lenton John Schnake John Shahid John Tuley +John Weldon Johnny Luo Jon Chen Jonas Bernoulli @@ -1002,11 +1063,13 @@ Jonathan Pittman Jonathan Rudenberg Jonathan Stacks Jonathan Wills +Jonathon Lacher Jongmin Kim Joonas Kuorilehto Joop Kiefte Jordan Krage Jordan Lewis +Jordan Liggitt Jordan Rhee Jos Visser Jose Luis Vázquez González @@ -1022,11 +1085,13 @@ Josh Roppo Josh Varga Joshua Boelter Joshua Chase +Joshua M. Clulow Joshua Rubin Josselin Costanzi Jostein Stuhaug JP Sugarbroad JT Olds +JT Olio Juan Carlos Juan Pablo Civile Jude Pereira @@ -1043,11 +1108,14 @@ Julio Montes Junda Liu Jungho Ahn Junya Hayashi +Juraj Sukop Jure Ham Justin Gracenin +Justin Li Justin Nuß Justyn Temme Kai Backman +Kai Dong Kai Trukenmüller Kale Blankenship Kaleb Elwert @@ -1060,6 +1128,7 @@ Karan Dhiman Karel Pazdera Karoly Negyesi Karsten Köhler +Karthik Nayak Kashav Madan Kate Manson Katie Hockman @@ -1081,10 +1150,13 @@ Ken Friedenbach Ken Rockot Ken Sedgwick Ken Thompson +Kenichi Tsunokawa Kenji Kaneda Kenji Yano Kenneth Shaw Kenny Grant +Kenta Mori +Ketan Parmar Kevin Ballard Kevin Burke Kevin Kirsche @@ -1097,6 +1169,7 @@ Kieran Colford Kim Shrier Kim Yongbin Kir Kolyshkin +Kirill Motkov Kirill Smelkov Kirk Han Kirklin McDonald @@ -1111,6 +1184,7 @@ Kris Kwiatkowski Kris Nova Kris Rousey Kristopher Watts +Kshitij Saraogi Kun Li Kunpei Sakai Kuntal Majumder @@ -1145,12 +1219,14 @@ Leigh McCulloch Leo Antunes Leo Rudberg Leon Klingele +Leonardo Comelli Leonel Quinteros Lev Shamardin Lewin Bormann Lion Yang Lloyd Dewolf Lorenz Bauer +Lorenz Nickel Lorenzo Masini Lorenzo Stoakes Louis Kruger @@ -1166,7 +1242,9 @@ Ludi Rehak Luigi Riefolo Luit van Drongelen Luka Zakrajšek +Luka Zitnik Lukasz Milewski +Luke Champine Luke Curley Luke Granger-Brown Luna Duclos @@ -1176,6 +1254,7 @@ Lynn Boger Ma Peiqi Maarten Bezemer Maciej Dębski +Madhu Rajanna Magnus Hiie Maicon Costa Mak Kolybabi @@ -1189,6 +1268,7 @@ Mansour Rahimi Manu Garg Manu S Ajith Manuel Mendez +Marat Khabibullin Marc Weistroff Marc-Antoine Ruel Marcel Edmund Franke @@ -1200,6 +1280,7 @@ Marcus Willock Marga Manterola Marin Bašić Mario Arranz +Marius A. Eriksen Marius Nuennerich Mark Adams Mark Bucciarelli @@ -1210,6 +1291,7 @@ Mark Rushakoff Mark Ryan Mark Severson Mark Theunissen +Mark Villacampa Mark Wolfe Mark Zavislak Marko Juhani Silokunnas @@ -1285,7 +1367,9 @@ Matthieu Olivier Matthijs Kooijman Max Riveiro Max Schmitt +Max Semenik Max Ushakov +Maxim Eryomenko Maxim Khitrov Maxim Pimenov Maxim Ushakov @@ -1301,6 +1385,7 @@ Micah Stetson Michael Anthony Knyszek Michael Brandenburg Michael Chaten +Michael Cook Michael Darakananda Michael Dorner Michael Edwards @@ -1336,6 +1421,7 @@ Michael T. Jones Michael Teichgräber Michael Traver Michael Vetter +Michael Vogt Michal Bohuslávek Michal Cierniak Michał Derkacz @@ -1344,10 +1430,13 @@ Michal Pristas Michal Rostecki Michalis Kargakis Michel Lespinasse +Mickael Kerjean +Mickey Reiss Miek Gieben Miguel Mendez Miguel Molina Mihai Borobocea +Mihai Moldovan Mihai Todor Mihail Minaev Mikael Tillenius @@ -1372,6 +1461,7 @@ Milan Knezevic Milutin Jovanović MinJae Kwon Miquel Sabaté Solà +Mirko Hansen Miroslav Genov Misty De Meo Mohit Agarwal @@ -1386,7 +1476,9 @@ Mostyn Bramley-Moore Mrunal Patel Muhammad Falak R Wani Muhammed Uluyol +Muir Manders Mura Li +Mykhailo Lesyk Nan Deng Naoki Kanatani Nate Wilkinson @@ -1414,6 +1506,7 @@ Nicholas Ng Nicholas Presta Nicholas Sullivan Nicholas Waples +Nick Anthony Nick Cooper Nick Craig-Wood Nick Harper @@ -1434,10 +1527,12 @@ Nigel Kerr Nigel Tao Nik Nyby Nikhil Benesch +Nikita Kryuchkov Niklas Schnelle Niko Dziemba Nikolay Turpitko Nils Larsgård +Nir Soffer Niranjan Godbole Nishanth Shanmugham Noah Campbell @@ -1445,6 +1540,7 @@ Noble Johnson Nodir Turakulov Noel Georgi Norberto Lopes +Norman B. Lancaster Odin Ugedal Oleg Bulatov Oleg Vakheta @@ -1472,6 +1568,7 @@ Parker Moore Parminder Singh Pascal S. de Kloe Pat Moroney +Patrick Barker Patrick Crosby Patrick Gavlin Patrick Higgins @@ -1481,6 +1578,7 @@ Patrick Mylund Nielsen Patrick Pelletier Patrick Riley Patrick Smith +Patrik Lundin Paul A Querna Paul Borman Paul Boyd @@ -1537,6 +1635,7 @@ Peter Weinberger Peter Williams Peter Wu Peter Zhang +Petr Jediný Petrica Voicu Phil Pearl Phil Pennock @@ -1613,6 +1712,7 @@ Rob Earhart Rob Norman Rob Phoenix Rob Pike +Robert Ayrapetyan Robert Daniel Kortschak Robert Dinu Robert Figueiredo @@ -1623,6 +1723,7 @@ Robert Obryk Robert Sesek Robert Snedegar Robert Stepanek +Robert van Gent Robert-André Mauchin Roberto Clapis Roberto Selbach @@ -1633,8 +1734,10 @@ Rodrigo Moraes de Oliveira Rodrigo Rafael Monti Kochenburger Roger Pau Monné Roger Peppe +Rohan Verma Roland Illig Roland Shoemaker +Romain Baugue Roman Budnikov Roman Shchekin Ron Hashimoto @@ -1667,6 +1770,7 @@ Ryuma Yoshida Ryuzo Yamamoto S.Çağlar Onur Sabin Mihai Rapan +Sad Pencil Sai Cheemalapati Sakeven Jiang Salmān Aljammāz @@ -1707,15 +1811,18 @@ Sebastian Schmidt Sebastien Binet Sébastien Paolacci Sebastien Williams-Wynn +Segev Finer Seiji Takahashi Sergei Skorobogatov Sergey 'SnakE' Gromov Sergey Arseev +Sergey Dobrodey Sergey Frolov Sergey Lukjanov Sergey Mishin Sergey Mudrik Sergey Semin +Sergey Yanykin Sergio Luis O. B. Correia Sergiusz Bazanski Serhii Aheienko @@ -1726,10 +1833,12 @@ Shamil Garatuev Shane Hansen Shaozhen Ding Shaun Dunning +Shawn Elliott Shawn Ledbetter Shawn Smith Shawn Walker-Salas Shenghou Ma +Shengjing Zhu Shengyu Zhang Shi Han Ng Shijie Hao @@ -1737,6 +1846,7 @@ Shinji Tanaka Shintaro Kaneko Shivakumar GN Shivansh Rai +Shubham Sharma Shun Fan Silvan Jegen Simon Jefford @@ -1758,6 +1868,7 @@ Steeve Morin Stefan Nilsson Stepan Shabalin Stephan Renatus +Stephan Zuercher Stéphane Travostino Stephen Lewis Stephen Lu @@ -1769,6 +1880,7 @@ Steve Francia Steve Gilbert Steve LoFurno Steve McCoy +Steve Mynott Steve Newman Steve Phillips Steve Streeting @@ -1797,6 +1909,7 @@ Tad Fisher Tad Glines Tadas Valiukas Taesu Pyo +Tai Le Taj Khattra Takashi Matsuo Takayoshi Nishida @@ -1856,8 +1969,10 @@ Tobias Assarsson Tobias Columbus Tobias Klauser Toby Burress +Todd Kulesza Todd Neal Todd Wang +Tom Anthony Tom Bergan Tom Heng Tom Lanyon @@ -1873,6 +1988,7 @@ Tomoya Ishizaki Tonis Tiigi Tony Reix Tony Walker +Tooru Takahashi Tor Andersson Tormod Erevik Lea Toshiki Shima @@ -1896,6 +2012,7 @@ Tyler Bui-Palsulich Tyler Bunnell Tyler Treat Tzu-Jung Lee +Udalov Max Ugorji Nwoke Ulf Holm Nielsen Ulrich Kunitz @@ -1906,6 +2023,7 @@ Uttam C Pawar Vadim Grek Vadim Vygonets Val Polouchkine +Valentin Vidic Vega Garcia Luis Alfonso Venil Noronha Veselkov Konstantin @@ -1922,6 +2040,7 @@ Vish Subramanian Vishvananda Ishaya Visweswara R Vitor De Mario +Vivek Sekhar Vlad Krasnov Vladimir Kovpak Vladimir Kuzmin @@ -1943,8 +2062,11 @@ Wèi Cōngruì Wei Fu Wei Guangjing Wei Xiao +Wei Xikai Weichao Tang Wembley G. Leach, Jr +Wenlei (Frank) He +Wenzel Lowe Wil Selwood Wilfried Teiken Will Beason @@ -1969,12 +2091,14 @@ Xudong Zheng <7pkvm5aw@slicealias.com> Xuyang Kang Yamagishi Kazutoshi Yan Zou +Yang Tian Yann Hodique Yann Kerhervé Yann Salaün Yao Zhang Yaron de Leeuw Yasha Bubnov +Yasser Abdolmaleki Yasuharu Goto Yasuhiro Matsumoto Yasuyuki Oka @@ -2003,6 +2127,7 @@ Yves Junqueira Zac Bergquist Zach Bintliff Zach Gershman +Zach Jones Zachary Amsden Zachary Gershman Zak @@ -2018,6 +2143,7 @@ Zhongwei Yao Zhou Peng Ziad Hatahet Zorion Arrizabalaga +Максадбек Ахмедов Максим Федосеев Роман Хавроненко Тарас Буник diff --git a/api/go1.13.txt b/api/go1.13.txt new file mode 100644 index 0000000000..bb0f683b37 --- /dev/null +++ b/api/go1.13.txt @@ -0,0 +1,8032 @@ +pkg bytes, func ToValidUTF8([]uint8, []uint8) []uint8 +pkg crypto/ed25519, const PrivateKeySize = 64 +pkg crypto/ed25519, const PrivateKeySize ideal-int +pkg crypto/ed25519, const PublicKeySize = 32 +pkg crypto/ed25519, const PublicKeySize ideal-int +pkg crypto/ed25519, const SeedSize = 32 +pkg crypto/ed25519, const SeedSize ideal-int +pkg crypto/ed25519, const SignatureSize = 64 +pkg crypto/ed25519, const SignatureSize ideal-int +pkg crypto/ed25519, func GenerateKey(io.Reader) (PublicKey, PrivateKey, error) +pkg crypto/ed25519, func NewKeyFromSeed([]uint8) PrivateKey +pkg crypto/ed25519, func Sign(PrivateKey, []uint8) []uint8 +pkg crypto/ed25519, func Verify(PublicKey, []uint8, []uint8) bool +pkg crypto/ed25519, method (PrivateKey) Public() crypto.PublicKey +pkg crypto/ed25519, method (PrivateKey) Seed() []uint8 +pkg crypto/ed25519, method (PrivateKey) Sign(io.Reader, []uint8, crypto.SignerOpts) ([]uint8, error) +pkg crypto/ed25519, type PrivateKey []uint8 +pkg crypto/ed25519, type PublicKey []uint8 +pkg crypto/tls, const Ed25519 = 2055 +pkg crypto/tls, const Ed25519 SignatureScheme +pkg crypto/x509, const Ed25519 = 4 +pkg crypto/x509, const Ed25519 PublicKeyAlgorithm +pkg crypto/x509, const PureEd25519 = 16 +pkg crypto/x509, const PureEd25519 SignatureAlgorithm +pkg database/sql, method (*Conn) Raw(func(interface{}) error) error +pkg database/sql, method (*NullInt32) Scan(interface{}) error +pkg database/sql, method (NullInt32) Value() (driver.Value, error) +pkg database/sql, method (*NullTime) Scan(interface{}) error +pkg database/sql, method (NullTime) Value() (driver.Value, error) +pkg database/sql, type NullInt32 struct +pkg database/sql, type NullInt32 struct, Int32 int32 +pkg database/sql, type NullInt32 struct, Valid bool +pkg database/sql, type NullTime struct +pkg database/sql, type NullTime struct, Time time.Time +pkg database/sql, type NullTime struct, Valid bool +pkg debug/dwarf, method (*UnsupportedType) Common() *CommonType +pkg debug/dwarf, method (*UnsupportedType) Size() int64 +pkg debug/dwarf, method (*UnsupportedType) String() string +pkg debug/dwarf, type UnsupportedType struct +pkg debug/dwarf, type UnsupportedType struct, embedded CommonType +pkg debug/dwarf, type UnsupportedType struct, Tag Tag +pkg debug/elf, type Symbol struct, Library string +pkg debug/elf, type Symbol struct, Version string +pkg encoding/csv, method (*ParseError) Unwrap() error +pkg encoding/json, method (*MarshalerError) Unwrap() error +pkg errors, func As(error, interface{}) bool +pkg errors, func Is(error, error) bool +pkg errors, func Unwrap(error) error +pkg go/constant, func Make(interface{}) Value +pkg go/constant, func Val(Value) interface{} +pkg go/token, func IsExported(string) bool +pkg go/token, func IsIdentifier(string) bool +pkg go/token, func IsKeyword(string) bool +pkg go/types, func CheckExpr(*token.FileSet, *Package, token.Pos, ast.Expr, *Info) error +pkg log, func Writer() io.Writer +pkg log/syslog (netbsd-arm64-cgo), const LOG_ALERT = 1 +pkg log/syslog (netbsd-arm64-cgo), const LOG_ALERT Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_AUTH = 32 +pkg log/syslog (netbsd-arm64-cgo), const LOG_AUTH Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_AUTHPRIV = 80 +pkg log/syslog (netbsd-arm64-cgo), const LOG_AUTHPRIV Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_CRIT = 2 +pkg log/syslog (netbsd-arm64-cgo), const LOG_CRIT Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_CRON = 72 +pkg log/syslog (netbsd-arm64-cgo), const LOG_CRON Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_DAEMON = 24 +pkg log/syslog (netbsd-arm64-cgo), const LOG_DAEMON Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_DEBUG = 7 +pkg log/syslog (netbsd-arm64-cgo), const LOG_DEBUG Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_EMERG = 0 +pkg log/syslog (netbsd-arm64-cgo), const LOG_EMERG Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_ERR = 3 +pkg log/syslog (netbsd-arm64-cgo), const LOG_ERR Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_FTP = 88 +pkg log/syslog (netbsd-arm64-cgo), const LOG_FTP Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_INFO = 6 +pkg log/syslog (netbsd-arm64-cgo), const LOG_INFO Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_KERN = 0 +pkg log/syslog (netbsd-arm64-cgo), const LOG_KERN Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL0 = 128 +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL0 Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL1 = 136 +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL1 Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL2 = 144 +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL2 Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL3 = 152 +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL3 Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL4 = 160 +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL4 Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL5 = 168 +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL5 Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL6 = 176 +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL6 Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL7 = 184 +pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL7 Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_LPR = 48 +pkg log/syslog (netbsd-arm64-cgo), const LOG_LPR Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_MAIL = 16 +pkg log/syslog (netbsd-arm64-cgo), const LOG_MAIL Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_NEWS = 56 +pkg log/syslog (netbsd-arm64-cgo), const LOG_NEWS Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_NOTICE = 5 +pkg log/syslog (netbsd-arm64-cgo), const LOG_NOTICE Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_SYSLOG = 40 +pkg log/syslog (netbsd-arm64-cgo), const LOG_SYSLOG Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_USER = 8 +pkg log/syslog (netbsd-arm64-cgo), const LOG_USER Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_UUCP = 64 +pkg log/syslog (netbsd-arm64-cgo), const LOG_UUCP Priority +pkg log/syslog (netbsd-arm64-cgo), const LOG_WARNING = 4 +pkg log/syslog (netbsd-arm64-cgo), const LOG_WARNING Priority +pkg log/syslog (netbsd-arm64-cgo), func Dial(string, string, Priority, string) (*Writer, error) +pkg log/syslog (netbsd-arm64-cgo), func NewLogger(Priority, int) (*log.Logger, error) +pkg log/syslog (netbsd-arm64-cgo), func New(Priority, string) (*Writer, error) +pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Alert(string) error +pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Close() error +pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Crit(string) error +pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Debug(string) error +pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Emerg(string) error +pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Err(string) error +pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Info(string) error +pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Notice(string) error +pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Warning(string) error +pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Write([]uint8) (int, error) +pkg log/syslog (netbsd-arm64-cgo), type Priority int +pkg log/syslog (netbsd-arm64-cgo), type Writer struct +pkg log/syslog (netbsd-arm64), const LOG_ALERT = 1 +pkg log/syslog (netbsd-arm64), const LOG_ALERT Priority +pkg log/syslog (netbsd-arm64), const LOG_AUTH = 32 +pkg log/syslog (netbsd-arm64), const LOG_AUTH Priority +pkg log/syslog (netbsd-arm64), const LOG_AUTHPRIV = 80 +pkg log/syslog (netbsd-arm64), const LOG_AUTHPRIV Priority +pkg log/syslog (netbsd-arm64), const LOG_CRIT = 2 +pkg log/syslog (netbsd-arm64), const LOG_CRIT Priority +pkg log/syslog (netbsd-arm64), const LOG_CRON = 72 +pkg log/syslog (netbsd-arm64), const LOG_CRON Priority +pkg log/syslog (netbsd-arm64), const LOG_DAEMON = 24 +pkg log/syslog (netbsd-arm64), const LOG_DAEMON Priority +pkg log/syslog (netbsd-arm64), const LOG_DEBUG = 7 +pkg log/syslog (netbsd-arm64), const LOG_DEBUG Priority +pkg log/syslog (netbsd-arm64), const LOG_EMERG = 0 +pkg log/syslog (netbsd-arm64), const LOG_EMERG Priority +pkg log/syslog (netbsd-arm64), const LOG_ERR = 3 +pkg log/syslog (netbsd-arm64), const LOG_ERR Priority +pkg log/syslog (netbsd-arm64), const LOG_FTP = 88 +pkg log/syslog (netbsd-arm64), const LOG_FTP Priority +pkg log/syslog (netbsd-arm64), const LOG_INFO = 6 +pkg log/syslog (netbsd-arm64), const LOG_INFO Priority +pkg log/syslog (netbsd-arm64), const LOG_KERN = 0 +pkg log/syslog (netbsd-arm64), const LOG_KERN Priority +pkg log/syslog (netbsd-arm64), const LOG_LOCAL0 = 128 +pkg log/syslog (netbsd-arm64), const LOG_LOCAL0 Priority +pkg log/syslog (netbsd-arm64), const LOG_LOCAL1 = 136 +pkg log/syslog (netbsd-arm64), const LOG_LOCAL1 Priority +pkg log/syslog (netbsd-arm64), const LOG_LOCAL2 = 144 +pkg log/syslog (netbsd-arm64), const LOG_LOCAL2 Priority +pkg log/syslog (netbsd-arm64), const LOG_LOCAL3 = 152 +pkg log/syslog (netbsd-arm64), const LOG_LOCAL3 Priority +pkg log/syslog (netbsd-arm64), const LOG_LOCAL4 = 160 +pkg log/syslog (netbsd-arm64), const LOG_LOCAL4 Priority +pkg log/syslog (netbsd-arm64), const LOG_LOCAL5 = 168 +pkg log/syslog (netbsd-arm64), const LOG_LOCAL5 Priority +pkg log/syslog (netbsd-arm64), const LOG_LOCAL6 = 176 +pkg log/syslog (netbsd-arm64), const LOG_LOCAL6 Priority +pkg log/syslog (netbsd-arm64), const LOG_LOCAL7 = 184 +pkg log/syslog (netbsd-arm64), const LOG_LOCAL7 Priority +pkg log/syslog (netbsd-arm64), const LOG_LPR = 48 +pkg log/syslog (netbsd-arm64), const LOG_LPR Priority +pkg log/syslog (netbsd-arm64), const LOG_MAIL = 16 +pkg log/syslog (netbsd-arm64), const LOG_MAIL Priority +pkg log/syslog (netbsd-arm64), const LOG_NEWS = 56 +pkg log/syslog (netbsd-arm64), const LOG_NEWS Priority +pkg log/syslog (netbsd-arm64), const LOG_NOTICE = 5 +pkg log/syslog (netbsd-arm64), const LOG_NOTICE Priority +pkg log/syslog (netbsd-arm64), const LOG_SYSLOG = 40 +pkg log/syslog (netbsd-arm64), const LOG_SYSLOG Priority +pkg log/syslog (netbsd-arm64), const LOG_USER = 8 +pkg log/syslog (netbsd-arm64), const LOG_USER Priority +pkg log/syslog (netbsd-arm64), const LOG_UUCP = 64 +pkg log/syslog (netbsd-arm64), const LOG_UUCP Priority +pkg log/syslog (netbsd-arm64), const LOG_WARNING = 4 +pkg log/syslog (netbsd-arm64), const LOG_WARNING Priority +pkg log/syslog (netbsd-arm64), func Dial(string, string, Priority, string) (*Writer, error) +pkg log/syslog (netbsd-arm64), func NewLogger(Priority, int) (*log.Logger, error) +pkg log/syslog (netbsd-arm64), func New(Priority, string) (*Writer, error) +pkg log/syslog (netbsd-arm64), method (*Writer) Alert(string) error +pkg log/syslog (netbsd-arm64), method (*Writer) Close() error +pkg log/syslog (netbsd-arm64), method (*Writer) Crit(string) error +pkg log/syslog (netbsd-arm64), method (*Writer) Debug(string) error +pkg log/syslog (netbsd-arm64), method (*Writer) Emerg(string) error +pkg log/syslog (netbsd-arm64), method (*Writer) Err(string) error +pkg log/syslog (netbsd-arm64), method (*Writer) Info(string) error +pkg log/syslog (netbsd-arm64), method (*Writer) Notice(string) error +pkg log/syslog (netbsd-arm64), method (*Writer) Warning(string) error +pkg log/syslog (netbsd-arm64), method (*Writer) Write([]uint8) (int, error) +pkg log/syslog (netbsd-arm64), type Priority int +pkg log/syslog (netbsd-arm64), type Writer struct +pkg math/big, method (*Int) TrailingZeroBits() uint +pkg math/big, method (*Rat) SetUint64(uint64) *Rat +pkg net/http, const SameSiteNoneMode = 4 +pkg net/http, const SameSiteNoneMode SameSite +pkg net/http, const StatusEarlyHints = 103 +pkg net/http, const StatusEarlyHints ideal-int +pkg net/http, func NewRequestWithContext(context.Context, string, string, io.Reader) (*Request, error) +pkg net/http, method (Header) Clone() Header +pkg net/http, method (*Request) Clone(context.Context) *Request +pkg net/http, method (*Transport) Clone() *Transport +pkg net/http, type Server struct, BaseContext func(net.Listener) context.Context +pkg net/http, type Server struct, ConnContext func(context.Context, net.Conn) context.Context +pkg net/http, type Transport struct, ForceAttemptHTTP2 bool +pkg net/http, type Transport struct, ReadBufferSize int +pkg net/http, type Transport struct, WriteBufferSize int +pkg net, method (*DNSConfigError) Unwrap() error +pkg net, method (*OpError) Unwrap() error +pkg net, type DNSError struct, IsNotFound bool +pkg net, type ListenConfig struct, KeepAlive time.Duration +pkg net/url, method (*Error) Unwrap() error +pkg os/exec, method (*Cmd) String() string +pkg os/exec, method (*Error) Unwrap() error +pkg os, func UserConfigDir() (string, error) +pkg os, method (*LinkError) Unwrap() error +pkg os, method (*PathError) Unwrap() error +pkg os, method (*SyscallError) Unwrap() error +pkg os (netbsd-arm64-cgo), const DevNull = "/dev/null" +pkg os (netbsd-arm64-cgo), const O_APPEND = 8 +pkg os (netbsd-arm64-cgo), const O_CREATE = 512 +pkg os (netbsd-arm64-cgo), const O_EXCL = 2048 +pkg os (netbsd-arm64-cgo), const O_SYNC = 128 +pkg os (netbsd-arm64-cgo), const O_TRUNC = 1024 +pkg os (netbsd-arm64-cgo), const PathListSeparator = 58 +pkg os (netbsd-arm64-cgo), const PathSeparator = 47 +pkg os (netbsd-arm64), const DevNull = "/dev/null" +pkg os (netbsd-arm64), const O_APPEND = 8 +pkg os (netbsd-arm64), const O_CREATE = 512 +pkg os (netbsd-arm64), const O_EXCL = 2048 +pkg os (netbsd-arm64), const O_SYNC = 128 +pkg os (netbsd-arm64), const O_TRUNC = 1024 +pkg os (netbsd-arm64), const PathListSeparator = 58 +pkg os (netbsd-arm64), const PathSeparator = 47 +pkg path/filepath (netbsd-arm64-cgo), const ListSeparator = 58 +pkg path/filepath (netbsd-arm64-cgo), const Separator = 47 +pkg path/filepath (netbsd-arm64), const ListSeparator = 58 +pkg path/filepath (netbsd-arm64), const Separator = 47 +pkg reflect, method (Value) IsZero() bool +pkg runtime (netbsd-arm64-cgo), const GOARCH = "arm64" +pkg runtime (netbsd-arm64-cgo), const GOOS = "netbsd" +pkg runtime (netbsd-arm64), const GOARCH = "arm64" +pkg runtime (netbsd-arm64), const GOOS = "netbsd" +pkg strings, func ToValidUTF8(string, string) string +pkg syscall, method (Errno) Is(error) bool +pkg syscall (netbsd-arm64-cgo), const AF_APPLETALK = 16 +pkg syscall (netbsd-arm64-cgo), const AF_APPLETALK ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_ARP = 28 +pkg syscall (netbsd-arm64-cgo), const AF_ARP ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_BLUETOOTH = 31 +pkg syscall (netbsd-arm64-cgo), const AF_BLUETOOTH ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_CCITT = 10 +pkg syscall (netbsd-arm64-cgo), const AF_CCITT ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_CHAOS = 5 +pkg syscall (netbsd-arm64-cgo), const AF_CHAOS ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_CNT = 21 +pkg syscall (netbsd-arm64-cgo), const AF_CNT ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_COIP = 20 +pkg syscall (netbsd-arm64-cgo), const AF_COIP ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_DATAKIT = 9 +pkg syscall (netbsd-arm64-cgo), const AF_DATAKIT ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_DECnet = 12 +pkg syscall (netbsd-arm64-cgo), const AF_DECnet ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_DLI = 13 +pkg syscall (netbsd-arm64-cgo), const AF_DLI ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_E164 = 26 +pkg syscall (netbsd-arm64-cgo), const AF_E164 ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_ECMA = 8 +pkg syscall (netbsd-arm64-cgo), const AF_ECMA ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_HYLINK = 15 +pkg syscall (netbsd-arm64-cgo), const AF_HYLINK ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_IEEE80211 = 32 +pkg syscall (netbsd-arm64-cgo), const AF_IEEE80211 ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_IMPLINK = 3 +pkg syscall (netbsd-arm64-cgo), const AF_IMPLINK ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_INET6 = 24 +pkg syscall (netbsd-arm64-cgo), const AF_IPX = 23 +pkg syscall (netbsd-arm64-cgo), const AF_IPX ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_ISDN = 26 +pkg syscall (netbsd-arm64-cgo), const AF_ISDN ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_ISO = 7 +pkg syscall (netbsd-arm64-cgo), const AF_ISO ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_LAT = 14 +pkg syscall (netbsd-arm64-cgo), const AF_LAT ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_LINK = 18 +pkg syscall (netbsd-arm64-cgo), const AF_LINK ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_LOCAL = 1 +pkg syscall (netbsd-arm64-cgo), const AF_LOCAL ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_MAX = 35 +pkg syscall (netbsd-arm64-cgo), const AF_MAX ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_MPLS = 33 +pkg syscall (netbsd-arm64-cgo), const AF_MPLS ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_NATM = 27 +pkg syscall (netbsd-arm64-cgo), const AF_NATM ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_NS = 6 +pkg syscall (netbsd-arm64-cgo), const AF_NS ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_OROUTE = 17 +pkg syscall (netbsd-arm64-cgo), const AF_OROUTE ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_OSI = 7 +pkg syscall (netbsd-arm64-cgo), const AF_OSI ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_PUP = 4 +pkg syscall (netbsd-arm64-cgo), const AF_PUP ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_ROUTE = 34 +pkg syscall (netbsd-arm64-cgo), const AF_ROUTE ideal-int +pkg syscall (netbsd-arm64-cgo), const AF_SNA = 11 +pkg syscall (netbsd-arm64-cgo), const AF_SNA ideal-int +pkg syscall (netbsd-arm64-cgo), const ARPHRD_ARCNET = 7 +pkg syscall (netbsd-arm64-cgo), const ARPHRD_ARCNET ideal-int +pkg syscall (netbsd-arm64-cgo), const ARPHRD_ETHER = 1 +pkg syscall (netbsd-arm64-cgo), const ARPHRD_ETHER ideal-int +pkg syscall (netbsd-arm64-cgo), const ARPHRD_FRELAY = 15 +pkg syscall (netbsd-arm64-cgo), const ARPHRD_FRELAY ideal-int +pkg syscall (netbsd-arm64-cgo), const ARPHRD_IEEE1394 = 24 +pkg syscall (netbsd-arm64-cgo), const ARPHRD_IEEE1394 ideal-int +pkg syscall (netbsd-arm64-cgo), const ARPHRD_IEEE802 = 6 +pkg syscall (netbsd-arm64-cgo), const ARPHRD_IEEE802 ideal-int +pkg syscall (netbsd-arm64-cgo), const ARPHRD_STRIP = 23 +pkg syscall (netbsd-arm64-cgo), const ARPHRD_STRIP ideal-int +pkg syscall (netbsd-arm64-cgo), const B0 = 0 +pkg syscall (netbsd-arm64-cgo), const B0 ideal-int +pkg syscall (netbsd-arm64-cgo), const B110 = 110 +pkg syscall (netbsd-arm64-cgo), const B110 ideal-int +pkg syscall (netbsd-arm64-cgo), const B115200 = 115200 +pkg syscall (netbsd-arm64-cgo), const B115200 ideal-int +pkg syscall (netbsd-arm64-cgo), const B1200 = 1200 +pkg syscall (netbsd-arm64-cgo), const B1200 ideal-int +pkg syscall (netbsd-arm64-cgo), const B134 = 134 +pkg syscall (netbsd-arm64-cgo), const B134 ideal-int +pkg syscall (netbsd-arm64-cgo), const B14400 = 14400 +pkg syscall (netbsd-arm64-cgo), const B14400 ideal-int +pkg syscall (netbsd-arm64-cgo), const B150 = 150 +pkg syscall (netbsd-arm64-cgo), const B150 ideal-int +pkg syscall (netbsd-arm64-cgo), const B1800 = 1800 +pkg syscall (netbsd-arm64-cgo), const B1800 ideal-int +pkg syscall (netbsd-arm64-cgo), const B19200 = 19200 +pkg syscall (netbsd-arm64-cgo), const B19200 ideal-int +pkg syscall (netbsd-arm64-cgo), const B200 = 200 +pkg syscall (netbsd-arm64-cgo), const B200 ideal-int +pkg syscall (netbsd-arm64-cgo), const B230400 = 230400 +pkg syscall (netbsd-arm64-cgo), const B230400 ideal-int +pkg syscall (netbsd-arm64-cgo), const B2400 = 2400 +pkg syscall (netbsd-arm64-cgo), const B2400 ideal-int +pkg syscall (netbsd-arm64-cgo), const B28800 = 28800 +pkg syscall (netbsd-arm64-cgo), const B28800 ideal-int +pkg syscall (netbsd-arm64-cgo), const B300 = 300 +pkg syscall (netbsd-arm64-cgo), const B300 ideal-int +pkg syscall (netbsd-arm64-cgo), const B38400 = 38400 +pkg syscall (netbsd-arm64-cgo), const B38400 ideal-int +pkg syscall (netbsd-arm64-cgo), const B460800 = 460800 +pkg syscall (netbsd-arm64-cgo), const B460800 ideal-int +pkg syscall (netbsd-arm64-cgo), const B4800 = 4800 +pkg syscall (netbsd-arm64-cgo), const B4800 ideal-int +pkg syscall (netbsd-arm64-cgo), const B50 = 50 +pkg syscall (netbsd-arm64-cgo), const B50 ideal-int +pkg syscall (netbsd-arm64-cgo), const B57600 = 57600 +pkg syscall (netbsd-arm64-cgo), const B57600 ideal-int +pkg syscall (netbsd-arm64-cgo), const B600 = 600 +pkg syscall (netbsd-arm64-cgo), const B600 ideal-int +pkg syscall (netbsd-arm64-cgo), const B7200 = 7200 +pkg syscall (netbsd-arm64-cgo), const B7200 ideal-int +pkg syscall (netbsd-arm64-cgo), const B75 = 75 +pkg syscall (netbsd-arm64-cgo), const B75 ideal-int +pkg syscall (netbsd-arm64-cgo), const B76800 = 76800 +pkg syscall (netbsd-arm64-cgo), const B76800 ideal-int +pkg syscall (netbsd-arm64-cgo), const B921600 = 921600 +pkg syscall (netbsd-arm64-cgo), const B921600 ideal-int +pkg syscall (netbsd-arm64-cgo), const B9600 = 9600 +pkg syscall (netbsd-arm64-cgo), const B9600 ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCFEEDBACK = 2147762813 +pkg syscall (netbsd-arm64-cgo), const BIOCFEEDBACK ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCFLUSH = 536887912 +pkg syscall (netbsd-arm64-cgo), const BIOCFLUSH ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCGBLEN = 1074020966 +pkg syscall (netbsd-arm64-cgo), const BIOCGBLEN ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCGDLT = 1074020970 +pkg syscall (netbsd-arm64-cgo), const BIOCGDLT ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCGDLTLIST = 3222291063 +pkg syscall (netbsd-arm64-cgo), const BIOCGDLTLIST ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCGETIF = 1083196011 +pkg syscall (netbsd-arm64-cgo), const BIOCGETIF ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCGFEEDBACK = 1074020988 +pkg syscall (netbsd-arm64-cgo), const BIOCGFEEDBACK ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCGHDRCMPLT = 1074020980 +pkg syscall (netbsd-arm64-cgo), const BIOCGHDRCMPLT ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCGRTIMEOUT = 1074807419 +pkg syscall (netbsd-arm64-cgo), const BIOCGRTIMEOUT ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCGSEESENT = 1074020984 +pkg syscall (netbsd-arm64-cgo), const BIOCGSEESENT ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCGSTATS = 1082147439 +pkg syscall (netbsd-arm64-cgo), const BIOCGSTATS ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCGSTATSOLD = 1074283119 +pkg syscall (netbsd-arm64-cgo), const BIOCGSTATSOLD ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCIMMEDIATE = 2147762800 +pkg syscall (netbsd-arm64-cgo), const BIOCIMMEDIATE ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCPROMISC = 536887913 +pkg syscall (netbsd-arm64-cgo), const BIOCPROMISC ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCSBLEN = 3221504614 +pkg syscall (netbsd-arm64-cgo), const BIOCSBLEN ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCSDLT = 2147762806 +pkg syscall (netbsd-arm64-cgo), const BIOCSDLT ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCSETF = 2148549223 +pkg syscall (netbsd-arm64-cgo), const BIOCSETF ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCSETIF = 2156937836 +pkg syscall (netbsd-arm64-cgo), const BIOCSETIF ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCSFEEDBACK = 2147762813 +pkg syscall (netbsd-arm64-cgo), const BIOCSFEEDBACK ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCSHDRCMPLT = 2147762805 +pkg syscall (netbsd-arm64-cgo), const BIOCSHDRCMPLT ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCSRTIMEOUT = 2148549242 +pkg syscall (netbsd-arm64-cgo), const BIOCSRTIMEOUT ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCSSEESENT = 2147762809 +pkg syscall (netbsd-arm64-cgo), const BIOCSSEESENT ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCSTCPF = 2148549234 +pkg syscall (netbsd-arm64-cgo), const BIOCSTCPF ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCSUDPF = 2148549235 +pkg syscall (netbsd-arm64-cgo), const BIOCSUDPF ideal-int +pkg syscall (netbsd-arm64-cgo), const BIOCVERSION = 1074020977 +pkg syscall (netbsd-arm64-cgo), const BIOCVERSION ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_A = 16 +pkg syscall (netbsd-arm64-cgo), const BPF_ABS = 32 +pkg syscall (netbsd-arm64-cgo), const BPF_ABS ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_ADD = 0 +pkg syscall (netbsd-arm64-cgo), const BPF_ADD ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_A ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_ALIGNMENT32 = 4 +pkg syscall (netbsd-arm64-cgo), const BPF_ALIGNMENT32 ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_ALIGNMENT = 8 +pkg syscall (netbsd-arm64-cgo), const BPF_ALIGNMENT ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_ALU = 4 +pkg syscall (netbsd-arm64-cgo), const BPF_ALU ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_AND = 80 +pkg syscall (netbsd-arm64-cgo), const BPF_AND ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_B = 16 +pkg syscall (netbsd-arm64-cgo), const BPF_B ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_DFLTBUFSIZE = 1048576 +pkg syscall (netbsd-arm64-cgo), const BPF_DFLTBUFSIZE ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_DIV = 48 +pkg syscall (netbsd-arm64-cgo), const BPF_DIV ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_H = 8 +pkg syscall (netbsd-arm64-cgo), const BPF_H ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_IMM = 0 +pkg syscall (netbsd-arm64-cgo), const BPF_IMM ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_IND = 64 +pkg syscall (netbsd-arm64-cgo), const BPF_IND ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_JA = 0 +pkg syscall (netbsd-arm64-cgo), const BPF_JA ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_JEQ = 16 +pkg syscall (netbsd-arm64-cgo), const BPF_JEQ ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_JGE = 48 +pkg syscall (netbsd-arm64-cgo), const BPF_JGE ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_JGT = 32 +pkg syscall (netbsd-arm64-cgo), const BPF_JGT ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_JMP = 5 +pkg syscall (netbsd-arm64-cgo), const BPF_JMP ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_JSET = 64 +pkg syscall (netbsd-arm64-cgo), const BPF_JSET ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_K = 0 +pkg syscall (netbsd-arm64-cgo), const BPF_K ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_LD = 0 +pkg syscall (netbsd-arm64-cgo), const BPF_LD ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_LDX = 1 +pkg syscall (netbsd-arm64-cgo), const BPF_LDX ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_LEN = 128 +pkg syscall (netbsd-arm64-cgo), const BPF_LEN ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_LSH = 96 +pkg syscall (netbsd-arm64-cgo), const BPF_LSH ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_MAJOR_VERSION = 1 +pkg syscall (netbsd-arm64-cgo), const BPF_MAJOR_VERSION ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_MAXBUFSIZE = 16777216 +pkg syscall (netbsd-arm64-cgo), const BPF_MAXBUFSIZE ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_MAXINSNS = 512 +pkg syscall (netbsd-arm64-cgo), const BPF_MAXINSNS ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_MEM = 96 +pkg syscall (netbsd-arm64-cgo), const BPF_MEM ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_MEMWORDS = 16 +pkg syscall (netbsd-arm64-cgo), const BPF_MEMWORDS ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_MINBUFSIZE = 32 +pkg syscall (netbsd-arm64-cgo), const BPF_MINBUFSIZE ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_MINOR_VERSION = 1 +pkg syscall (netbsd-arm64-cgo), const BPF_MINOR_VERSION ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_MISC = 7 +pkg syscall (netbsd-arm64-cgo), const BPF_MISC ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_MSH = 160 +pkg syscall (netbsd-arm64-cgo), const BPF_MSH ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_MUL = 32 +pkg syscall (netbsd-arm64-cgo), const BPF_MUL ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_NEG = 128 +pkg syscall (netbsd-arm64-cgo), const BPF_NEG ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_OR = 64 +pkg syscall (netbsd-arm64-cgo), const BPF_OR ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_RELEASE = 199606 +pkg syscall (netbsd-arm64-cgo), const BPF_RELEASE ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_RET = 6 +pkg syscall (netbsd-arm64-cgo), const BPF_RET ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_RSH = 112 +pkg syscall (netbsd-arm64-cgo), const BPF_RSH ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_ST = 2 +pkg syscall (netbsd-arm64-cgo), const BPF_ST ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_STX = 3 +pkg syscall (netbsd-arm64-cgo), const BPF_STX ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_SUB = 16 +pkg syscall (netbsd-arm64-cgo), const BPF_SUB ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_TAX = 0 +pkg syscall (netbsd-arm64-cgo), const BPF_TAX ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_TXA = 128 +pkg syscall (netbsd-arm64-cgo), const BPF_TXA ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_W = 0 +pkg syscall (netbsd-arm64-cgo), const BPF_W ideal-int +pkg syscall (netbsd-arm64-cgo), const BPF_X = 8 +pkg syscall (netbsd-arm64-cgo), const BPF_X ideal-int +pkg syscall (netbsd-arm64-cgo), const BRKINT = 2 +pkg syscall (netbsd-arm64-cgo), const BRKINT ideal-int +pkg syscall (netbsd-arm64-cgo), const CFLUSH = 15 +pkg syscall (netbsd-arm64-cgo), const CFLUSH ideal-int +pkg syscall (netbsd-arm64-cgo), const CLOCAL = 32768 +pkg syscall (netbsd-arm64-cgo), const CLOCAL ideal-int +pkg syscall (netbsd-arm64-cgo), const CLONE_CSIGNAL = 255 +pkg syscall (netbsd-arm64-cgo), const CLONE_CSIGNAL ideal-int +pkg syscall (netbsd-arm64-cgo), const CLONE_FILES = 1024 +pkg syscall (netbsd-arm64-cgo), const CLONE_FILES ideal-int +pkg syscall (netbsd-arm64-cgo), const CLONE_FS = 512 +pkg syscall (netbsd-arm64-cgo), const CLONE_FS ideal-int +pkg syscall (netbsd-arm64-cgo), const CLONE_PID = 4096 +pkg syscall (netbsd-arm64-cgo), const CLONE_PID ideal-int +pkg syscall (netbsd-arm64-cgo), const CLONE_PTRACE = 8192 +pkg syscall (netbsd-arm64-cgo), const CLONE_PTRACE ideal-int +pkg syscall (netbsd-arm64-cgo), const CLONE_SIGHAND = 2048 +pkg syscall (netbsd-arm64-cgo), const CLONE_SIGHAND ideal-int +pkg syscall (netbsd-arm64-cgo), const CLONE_VFORK = 16384 +pkg syscall (netbsd-arm64-cgo), const CLONE_VFORK ideal-int +pkg syscall (netbsd-arm64-cgo), const CLONE_VM = 256 +pkg syscall (netbsd-arm64-cgo), const CLONE_VM ideal-int +pkg syscall (netbsd-arm64-cgo), const CREAD = 2048 +pkg syscall (netbsd-arm64-cgo), const CREAD ideal-int +pkg syscall (netbsd-arm64-cgo), const CS5 = 0 +pkg syscall (netbsd-arm64-cgo), const CS5 ideal-int +pkg syscall (netbsd-arm64-cgo), const CS6 = 256 +pkg syscall (netbsd-arm64-cgo), const CS6 ideal-int +pkg syscall (netbsd-arm64-cgo), const CS7 = 512 +pkg syscall (netbsd-arm64-cgo), const CS7 ideal-int +pkg syscall (netbsd-arm64-cgo), const CS8 = 768 +pkg syscall (netbsd-arm64-cgo), const CS8 ideal-int +pkg syscall (netbsd-arm64-cgo), const CSIZE = 768 +pkg syscall (netbsd-arm64-cgo), const CSIZE ideal-int +pkg syscall (netbsd-arm64-cgo), const CSTART = 17 +pkg syscall (netbsd-arm64-cgo), const CSTART ideal-int +pkg syscall (netbsd-arm64-cgo), const CSTATUS = 20 +pkg syscall (netbsd-arm64-cgo), const CSTATUS ideal-int +pkg syscall (netbsd-arm64-cgo), const CSTOP = 19 +pkg syscall (netbsd-arm64-cgo), const CSTOPB = 1024 +pkg syscall (netbsd-arm64-cgo), const CSTOPB ideal-int +pkg syscall (netbsd-arm64-cgo), const CSTOP ideal-int +pkg syscall (netbsd-arm64-cgo), const CSUSP = 26 +pkg syscall (netbsd-arm64-cgo), const CSUSP ideal-int +pkg syscall (netbsd-arm64-cgo), const CTL_MAXNAME = 12 +pkg syscall (netbsd-arm64-cgo), const CTL_MAXNAME ideal-int +pkg syscall (netbsd-arm64-cgo), const CTL_NET = 4 +pkg syscall (netbsd-arm64-cgo), const CTL_NET ideal-int +pkg syscall (netbsd-arm64-cgo), const CTL_QUERY = -2 +pkg syscall (netbsd-arm64-cgo), const CTL_QUERY ideal-int +pkg syscall (netbsd-arm64-cgo), const DIOCBSFLUSH = 536896632 +pkg syscall (netbsd-arm64-cgo), const DIOCBSFLUSH ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_A429 = 184 +pkg syscall (netbsd-arm64-cgo), const DLT_A429 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_A653_ICM = 185 +pkg syscall (netbsd-arm64-cgo), const DLT_A653_ICM ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_AIRONET_HEADER = 120 +pkg syscall (netbsd-arm64-cgo), const DLT_AIRONET_HEADER ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_AOS = 222 +pkg syscall (netbsd-arm64-cgo), const DLT_AOS ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_APPLE_IP_OVER_IEEE1394 = 138 +pkg syscall (netbsd-arm64-cgo), const DLT_APPLE_IP_OVER_IEEE1394 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_ARCNET = 7 +pkg syscall (netbsd-arm64-cgo), const DLT_ARCNET ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_ARCNET_LINUX = 129 +pkg syscall (netbsd-arm64-cgo), const DLT_ARCNET_LINUX ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_ATM_CLIP = 19 +pkg syscall (netbsd-arm64-cgo), const DLT_ATM_CLIP ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_ATM_RFC1483 = 11 +pkg syscall (netbsd-arm64-cgo), const DLT_ATM_RFC1483 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_AURORA = 126 +pkg syscall (netbsd-arm64-cgo), const DLT_AURORA ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_AX25 = 3 +pkg syscall (netbsd-arm64-cgo), const DLT_AX25 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_AX25_KISS = 202 +pkg syscall (netbsd-arm64-cgo), const DLT_AX25_KISS ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_BACNET_MS_TP = 165 +pkg syscall (netbsd-arm64-cgo), const DLT_BACNET_MS_TP ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_BLUETOOTH_HCI_H4 = 187 +pkg syscall (netbsd-arm64-cgo), const DLT_BLUETOOTH_HCI_H4 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 201 +pkg syscall (netbsd-arm64-cgo), const DLT_BLUETOOTH_HCI_H4_WITH_PHDR ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_CAN20B = 190 +pkg syscall (netbsd-arm64-cgo), const DLT_CAN20B ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_CAN_SOCKETCAN = 227 +pkg syscall (netbsd-arm64-cgo), const DLT_CAN_SOCKETCAN ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_CHAOS = 5 +pkg syscall (netbsd-arm64-cgo), const DLT_CHAOS ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_C_HDLC = 104 +pkg syscall (netbsd-arm64-cgo), const DLT_C_HDLC ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_C_HDLC_WITH_DIR = 205 +pkg syscall (netbsd-arm64-cgo), const DLT_C_HDLC_WITH_DIR ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_CISCO_IOS = 118 +pkg syscall (netbsd-arm64-cgo), const DLT_CISCO_IOS ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_DECT = 221 +pkg syscall (netbsd-arm64-cgo), const DLT_DECT ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_DOCSIS = 143 +pkg syscall (netbsd-arm64-cgo), const DLT_DOCSIS ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_ECONET = 115 +pkg syscall (netbsd-arm64-cgo), const DLT_ECONET ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_EN10MB = 1 +pkg syscall (netbsd-arm64-cgo), const DLT_EN10MB ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_EN3MB = 2 +pkg syscall (netbsd-arm64-cgo), const DLT_EN3MB ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_ENC = 109 +pkg syscall (netbsd-arm64-cgo), const DLT_ENC ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_ERF = 197 +pkg syscall (netbsd-arm64-cgo), const DLT_ERF_ETH = 175 +pkg syscall (netbsd-arm64-cgo), const DLT_ERF_ETH ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_ERF ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_ERF_POS = 176 +pkg syscall (netbsd-arm64-cgo), const DLT_ERF_POS ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_FC_2 = 224 +pkg syscall (netbsd-arm64-cgo), const DLT_FC_2 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_FC_2_WITH_FRAME_DELIMS = 225 +pkg syscall (netbsd-arm64-cgo), const DLT_FC_2_WITH_FRAME_DELIMS ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_FDDI = 10 +pkg syscall (netbsd-arm64-cgo), const DLT_FDDI ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_FLEXRAY = 210 +pkg syscall (netbsd-arm64-cgo), const DLT_FLEXRAY ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_FRELAY = 107 +pkg syscall (netbsd-arm64-cgo), const DLT_FRELAY ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_FRELAY_WITH_DIR = 206 +pkg syscall (netbsd-arm64-cgo), const DLT_FRELAY_WITH_DIR ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_GCOM_SERIAL = 173 +pkg syscall (netbsd-arm64-cgo), const DLT_GCOM_SERIAL ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_GCOM_T1E1 = 172 +pkg syscall (netbsd-arm64-cgo), const DLT_GCOM_T1E1 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_GPF_F = 171 +pkg syscall (netbsd-arm64-cgo), const DLT_GPF_F ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_GPF_T = 170 +pkg syscall (netbsd-arm64-cgo), const DLT_GPF_T ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_GPRS_LLC = 169 +pkg syscall (netbsd-arm64-cgo), const DLT_GPRS_LLC ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_GSMTAP_ABIS = 218 +pkg syscall (netbsd-arm64-cgo), const DLT_GSMTAP_ABIS ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_GSMTAP_UM = 217 +pkg syscall (netbsd-arm64-cgo), const DLT_GSMTAP_UM ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_HDLC = 16 +pkg syscall (netbsd-arm64-cgo), const DLT_HDLC ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_HHDLC = 121 +pkg syscall (netbsd-arm64-cgo), const DLT_HHDLC ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_HIPPI = 15 +pkg syscall (netbsd-arm64-cgo), const DLT_HIPPI ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IBM_SN = 146 +pkg syscall (netbsd-arm64-cgo), const DLT_IBM_SN ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IBM_SP = 145 +pkg syscall (netbsd-arm64-cgo), const DLT_IBM_SP ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_11 = 105 +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_11 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_11_RADIO = 127 +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_11_RADIO_AVS = 163 +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_11_RADIO_AVS ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_11_RADIO ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_15_4 = 195 +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_15_4 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_15_4_LINUX = 191 +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_15_4_LINUX ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_15_4_NONASK_PHY = 215 +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_15_4_NONASK_PHY ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_16_MAC_CPS = 188 +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_16_MAC_CPS ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_16_MAC_CPS_RADIO = 193 +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_16_MAC_CPS_RADIO ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802 = 6 +pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IPMB = 199 +pkg syscall (netbsd-arm64-cgo), const DLT_IPMB ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IPMB_LINUX = 209 +pkg syscall (netbsd-arm64-cgo), const DLT_IPMB_LINUX ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IPNET = 226 +pkg syscall (netbsd-arm64-cgo), const DLT_IPNET ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IP_OVER_FC = 122 +pkg syscall (netbsd-arm64-cgo), const DLT_IP_OVER_FC ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IPV4 = 228 +pkg syscall (netbsd-arm64-cgo), const DLT_IPV4 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_IPV6 = 229 +pkg syscall (netbsd-arm64-cgo), const DLT_IPV6 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ATM1 = 137 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ATM1 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ATM2 = 135 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ATM2 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_CHDLC = 181 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_CHDLC ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ES = 132 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ES ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ETHER = 178 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ETHER ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_FRELAY = 180 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_FRELAY ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_GGSN = 133 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_GGSN ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ISM = 194 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ISM ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MFR = 134 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MFR ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MLFR = 131 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MLFR ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MLPPP = 130 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MLPPP ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MONITOR = 164 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MONITOR ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PIC_PEER = 174 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PIC_PEER ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PPP = 179 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PPP ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PPPOE = 167 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PPPOE_ATM = 168 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PPPOE_ATM ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PPPOE ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_SERVICES = 136 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_SERVICES ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ST = 200 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ST ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_VP = 183 +pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_VP ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_LAPB_WITH_DIR = 207 +pkg syscall (netbsd-arm64-cgo), const DLT_LAPB_WITH_DIR ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_LAPD = 203 +pkg syscall (netbsd-arm64-cgo), const DLT_LAPD ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_LIN = 212 +pkg syscall (netbsd-arm64-cgo), const DLT_LIN ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_EVDEV = 216 +pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_EVDEV ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_IRDA = 144 +pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_IRDA ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_LAPD = 177 +pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_LAPD ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_SLL = 113 +pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_SLL ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_LOOP = 108 +pkg syscall (netbsd-arm64-cgo), const DLT_LOOP ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_LTALK = 114 +pkg syscall (netbsd-arm64-cgo), const DLT_LTALK ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_MFR = 182 +pkg syscall (netbsd-arm64-cgo), const DLT_MFR ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_MOST = 211 +pkg syscall (netbsd-arm64-cgo), const DLT_MOST ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_MPLS = 219 +pkg syscall (netbsd-arm64-cgo), const DLT_MPLS ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_MTP2 = 140 +pkg syscall (netbsd-arm64-cgo), const DLT_MTP2 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_MTP2_WITH_PHDR = 139 +pkg syscall (netbsd-arm64-cgo), const DLT_MTP2_WITH_PHDR ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_MTP3 = 141 +pkg syscall (netbsd-arm64-cgo), const DLT_MTP3 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_NULL = 0 +pkg syscall (netbsd-arm64-cgo), const DLT_NULL ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_PCI_EXP = 125 +pkg syscall (netbsd-arm64-cgo), const DLT_PCI_EXP ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_PFLOG = 117 +pkg syscall (netbsd-arm64-cgo), const DLT_PFLOG ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_PFSYNC = 18 +pkg syscall (netbsd-arm64-cgo), const DLT_PFSYNC ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_PPI = 192 +pkg syscall (netbsd-arm64-cgo), const DLT_PPI ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_PPP = 9 +pkg syscall (netbsd-arm64-cgo), const DLT_PPP_BSDOS = 14 +pkg syscall (netbsd-arm64-cgo), const DLT_PPP_BSDOS ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_PPP_ETHER = 51 +pkg syscall (netbsd-arm64-cgo), const DLT_PPP_ETHER ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_PPP ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_PPP_PPPD = 166 +pkg syscall (netbsd-arm64-cgo), const DLT_PPP_PPPD ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_PPP_SERIAL = 50 +pkg syscall (netbsd-arm64-cgo), const DLT_PPP_SERIAL ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_PPP_WITH_DIR = 204 +pkg syscall (netbsd-arm64-cgo), const DLT_PPP_WITH_DIR ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_PRISM_HEADER = 119 +pkg syscall (netbsd-arm64-cgo), const DLT_PRISM_HEADER ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_PRONET = 4 +pkg syscall (netbsd-arm64-cgo), const DLT_PRONET ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_RAIF1 = 198 +pkg syscall (netbsd-arm64-cgo), const DLT_RAIF1 ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_RAW = 12 +pkg syscall (netbsd-arm64-cgo), const DLT_RAWAF_MASK = 35913728 +pkg syscall (netbsd-arm64-cgo), const DLT_RAWAF_MASK ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_RAW ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_RIO = 124 +pkg syscall (netbsd-arm64-cgo), const DLT_RIO ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_SCCP = 142 +pkg syscall (netbsd-arm64-cgo), const DLT_SCCP ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_SITA = 196 +pkg syscall (netbsd-arm64-cgo), const DLT_SITA ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_SLIP = 8 +pkg syscall (netbsd-arm64-cgo), const DLT_SLIP_BSDOS = 13 +pkg syscall (netbsd-arm64-cgo), const DLT_SLIP_BSDOS ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_SLIP ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_SUNATM = 123 +pkg syscall (netbsd-arm64-cgo), const DLT_SUNATM ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_SYMANTEC_FIREWALL = 99 +pkg syscall (netbsd-arm64-cgo), const DLT_SYMANTEC_FIREWALL ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_TZSP = 128 +pkg syscall (netbsd-arm64-cgo), const DLT_TZSP ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_USB = 186 +pkg syscall (netbsd-arm64-cgo), const DLT_USB ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_USB_LINUX = 189 +pkg syscall (netbsd-arm64-cgo), const DLT_USB_LINUX ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_USB_LINUX_MMAPPED = 220 +pkg syscall (netbsd-arm64-cgo), const DLT_USB_LINUX_MMAPPED ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_WIHART = 223 +pkg syscall (netbsd-arm64-cgo), const DLT_WIHART ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_X2E_SERIAL = 213 +pkg syscall (netbsd-arm64-cgo), const DLT_X2E_SERIAL ideal-int +pkg syscall (netbsd-arm64-cgo), const DLT_X2E_XORAYA = 214 +pkg syscall (netbsd-arm64-cgo), const DLT_X2E_XORAYA ideal-int +pkg syscall (netbsd-arm64-cgo), const DT_BLK = 6 +pkg syscall (netbsd-arm64-cgo), const DT_BLK ideal-int +pkg syscall (netbsd-arm64-cgo), const DT_CHR = 2 +pkg syscall (netbsd-arm64-cgo), const DT_CHR ideal-int +pkg syscall (netbsd-arm64-cgo), const DT_DIR = 4 +pkg syscall (netbsd-arm64-cgo), const DT_DIR ideal-int +pkg syscall (netbsd-arm64-cgo), const DT_FIFO = 1 +pkg syscall (netbsd-arm64-cgo), const DT_FIFO ideal-int +pkg syscall (netbsd-arm64-cgo), const DT_LNK = 10 +pkg syscall (netbsd-arm64-cgo), const DT_LNK ideal-int +pkg syscall (netbsd-arm64-cgo), const DT_REG = 8 +pkg syscall (netbsd-arm64-cgo), const DT_REG ideal-int +pkg syscall (netbsd-arm64-cgo), const DT_SOCK = 12 +pkg syscall (netbsd-arm64-cgo), const DT_SOCK ideal-int +pkg syscall (netbsd-arm64-cgo), const DT_UNKNOWN = 0 +pkg syscall (netbsd-arm64-cgo), const DT_UNKNOWN ideal-int +pkg syscall (netbsd-arm64-cgo), const DT_WHT = 14 +pkg syscall (netbsd-arm64-cgo), const DT_WHT ideal-int +pkg syscall (netbsd-arm64-cgo), const E2BIG = 7 +pkg syscall (netbsd-arm64-cgo), const EACCES = 13 +pkg syscall (netbsd-arm64-cgo), const EADDRINUSE = 48 +pkg syscall (netbsd-arm64-cgo), const EADDRNOTAVAIL = 49 +pkg syscall (netbsd-arm64-cgo), const EAFNOSUPPORT = 47 +pkg syscall (netbsd-arm64-cgo), const EAGAIN = 35 +pkg syscall (netbsd-arm64-cgo), const EALREADY = 37 +pkg syscall (netbsd-arm64-cgo), const EAUTH = 80 +pkg syscall (netbsd-arm64-cgo), const EAUTH Errno +pkg syscall (netbsd-arm64-cgo), const EBADF = 9 +pkg syscall (netbsd-arm64-cgo), const EBADMSG = 88 +pkg syscall (netbsd-arm64-cgo), const EBADMSG Errno +pkg syscall (netbsd-arm64-cgo), const EBADRPC = 72 +pkg syscall (netbsd-arm64-cgo), const EBADRPC Errno +pkg syscall (netbsd-arm64-cgo), const EBUSY = 16 +pkg syscall (netbsd-arm64-cgo), const ECANCELED = 87 +pkg syscall (netbsd-arm64-cgo), const ECHILD = 10 +pkg syscall (netbsd-arm64-cgo), const ECHO = 8 +pkg syscall (netbsd-arm64-cgo), const ECHOCTL = 64 +pkg syscall (netbsd-arm64-cgo), const ECHOCTL ideal-int +pkg syscall (netbsd-arm64-cgo), const ECHOE = 2 +pkg syscall (netbsd-arm64-cgo), const ECHOE ideal-int +pkg syscall (netbsd-arm64-cgo), const ECHO ideal-int +pkg syscall (netbsd-arm64-cgo), const ECHOK = 4 +pkg syscall (netbsd-arm64-cgo), const ECHOKE = 1 +pkg syscall (netbsd-arm64-cgo), const ECHOKE ideal-int +pkg syscall (netbsd-arm64-cgo), const ECHOK ideal-int +pkg syscall (netbsd-arm64-cgo), const ECHONL = 16 +pkg syscall (netbsd-arm64-cgo), const ECHONL ideal-int +pkg syscall (netbsd-arm64-cgo), const ECHOPRT = 32 +pkg syscall (netbsd-arm64-cgo), const ECHOPRT ideal-int +pkg syscall (netbsd-arm64-cgo), const ECONNABORTED = 53 +pkg syscall (netbsd-arm64-cgo), const ECONNREFUSED = 61 +pkg syscall (netbsd-arm64-cgo), const ECONNRESET = 54 +pkg syscall (netbsd-arm64-cgo), const EDEADLK = 11 +pkg syscall (netbsd-arm64-cgo), const EDESTADDRREQ = 39 +pkg syscall (netbsd-arm64-cgo), const EDOM = 33 +pkg syscall (netbsd-arm64-cgo), const EDQUOT = 69 +pkg syscall (netbsd-arm64-cgo), const EEXIST = 17 +pkg syscall (netbsd-arm64-cgo), const EFAULT = 14 +pkg syscall (netbsd-arm64-cgo), const EFBIG = 27 +pkg syscall (netbsd-arm64-cgo), const EFTYPE = 79 +pkg syscall (netbsd-arm64-cgo), const EFTYPE Errno +pkg syscall (netbsd-arm64-cgo), const EHOSTDOWN = 64 +pkg syscall (netbsd-arm64-cgo), const EHOSTUNREACH = 65 +pkg syscall (netbsd-arm64-cgo), const EIDRM = 82 +pkg syscall (netbsd-arm64-cgo), const EILSEQ = 85 +pkg syscall (netbsd-arm64-cgo), const EINPROGRESS = 36 +pkg syscall (netbsd-arm64-cgo), const EINTR = 4 +pkg syscall (netbsd-arm64-cgo), const EINVAL = 22 +pkg syscall (netbsd-arm64-cgo), const EIO = 5 +pkg syscall (netbsd-arm64-cgo), const EISCONN = 56 +pkg syscall (netbsd-arm64-cgo), const EISDIR = 21 +pkg syscall (netbsd-arm64-cgo), const ELAST = 96 +pkg syscall (netbsd-arm64-cgo), const ELAST Errno +pkg syscall (netbsd-arm64-cgo), const ELOOP = 62 +pkg syscall (netbsd-arm64-cgo), const EMFILE = 24 +pkg syscall (netbsd-arm64-cgo), const EMLINK = 31 +pkg syscall (netbsd-arm64-cgo), const EMSGSIZE = 40 +pkg syscall (netbsd-arm64-cgo), const EMUL_LINUX = 1 +pkg syscall (netbsd-arm64-cgo), const EMUL_LINUX32 = 5 +pkg syscall (netbsd-arm64-cgo), const EMUL_LINUX32 ideal-int +pkg syscall (netbsd-arm64-cgo), const EMUL_LINUX ideal-int +pkg syscall (netbsd-arm64-cgo), const EMUL_MAXID = 6 +pkg syscall (netbsd-arm64-cgo), const EMUL_MAXID ideal-int +pkg syscall (netbsd-arm64-cgo), const EMULTIHOP = 94 +pkg syscall (netbsd-arm64-cgo), const EMULTIHOP Errno +pkg syscall (netbsd-arm64-cgo), const ENAMETOOLONG = 63 +pkg syscall (netbsd-arm64-cgo), const ENEEDAUTH = 81 +pkg syscall (netbsd-arm64-cgo), const ENEEDAUTH Errno +pkg syscall (netbsd-arm64-cgo), const ENETDOWN = 50 +pkg syscall (netbsd-arm64-cgo), const ENETRESET = 52 +pkg syscall (netbsd-arm64-cgo), const ENETUNREACH = 51 +pkg syscall (netbsd-arm64-cgo), const ENFILE = 23 +pkg syscall (netbsd-arm64-cgo), const ENOATTR = 93 +pkg syscall (netbsd-arm64-cgo), const ENOATTR Errno +pkg syscall (netbsd-arm64-cgo), const ENOBUFS = 55 +pkg syscall (netbsd-arm64-cgo), const ENODATA = 89 +pkg syscall (netbsd-arm64-cgo), const ENODATA Errno +pkg syscall (netbsd-arm64-cgo), const ENODEV = 19 +pkg syscall (netbsd-arm64-cgo), const ENOEXEC = 8 +pkg syscall (netbsd-arm64-cgo), const ENOLCK = 77 +pkg syscall (netbsd-arm64-cgo), const ENOLINK = 95 +pkg syscall (netbsd-arm64-cgo), const ENOLINK Errno +pkg syscall (netbsd-arm64-cgo), const ENOMEM = 12 +pkg syscall (netbsd-arm64-cgo), const ENOMSG = 83 +pkg syscall (netbsd-arm64-cgo), const ENOPROTOOPT = 42 +pkg syscall (netbsd-arm64-cgo), const ENOSPC = 28 +pkg syscall (netbsd-arm64-cgo), const ENOSR = 90 +pkg syscall (netbsd-arm64-cgo), const ENOSR Errno +pkg syscall (netbsd-arm64-cgo), const ENOSTR = 91 +pkg syscall (netbsd-arm64-cgo), const ENOSTR Errno +pkg syscall (netbsd-arm64-cgo), const ENOSYS = 78 +pkg syscall (netbsd-arm64-cgo), const ENOTBLK = 15 +pkg syscall (netbsd-arm64-cgo), const ENOTCONN = 57 +pkg syscall (netbsd-arm64-cgo), const ENOTDIR = 20 +pkg syscall (netbsd-arm64-cgo), const ENOTEMPTY = 66 +pkg syscall (netbsd-arm64-cgo), const ENOTSOCK = 38 +pkg syscall (netbsd-arm64-cgo), const ENOTSUP = 86 +pkg syscall (netbsd-arm64-cgo), const ENOTTY = 25 +pkg syscall (netbsd-arm64-cgo), const ENXIO = 6 +pkg syscall (netbsd-arm64-cgo), const EOPNOTSUPP = 45 +pkg syscall (netbsd-arm64-cgo), const EOVERFLOW = 84 +pkg syscall (netbsd-arm64-cgo), const EPERM = 1 +pkg syscall (netbsd-arm64-cgo), const EPFNOSUPPORT = 46 +pkg syscall (netbsd-arm64-cgo), const EPIPE = 32 +pkg syscall (netbsd-arm64-cgo), const EPROCLIM = 67 +pkg syscall (netbsd-arm64-cgo), const EPROCLIM Errno +pkg syscall (netbsd-arm64-cgo), const EPROCUNAVAIL = 76 +pkg syscall (netbsd-arm64-cgo), const EPROCUNAVAIL Errno +pkg syscall (netbsd-arm64-cgo), const EPROGMISMATCH = 75 +pkg syscall (netbsd-arm64-cgo), const EPROGMISMATCH Errno +pkg syscall (netbsd-arm64-cgo), const EPROGUNAVAIL = 74 +pkg syscall (netbsd-arm64-cgo), const EPROGUNAVAIL Errno +pkg syscall (netbsd-arm64-cgo), const EPROTO = 96 +pkg syscall (netbsd-arm64-cgo), const EPROTO Errno +pkg syscall (netbsd-arm64-cgo), const EPROTONOSUPPORT = 43 +pkg syscall (netbsd-arm64-cgo), const EPROTOTYPE = 41 +pkg syscall (netbsd-arm64-cgo), const ERANGE = 34 +pkg syscall (netbsd-arm64-cgo), const EREMOTE = 71 +pkg syscall (netbsd-arm64-cgo), const EROFS = 30 +pkg syscall (netbsd-arm64-cgo), const ERPCMISMATCH = 73 +pkg syscall (netbsd-arm64-cgo), const ERPCMISMATCH Errno +pkg syscall (netbsd-arm64-cgo), const ESHUTDOWN = 58 +pkg syscall (netbsd-arm64-cgo), const ESOCKTNOSUPPORT = 44 +pkg syscall (netbsd-arm64-cgo), const ESPIPE = 29 +pkg syscall (netbsd-arm64-cgo), const ESRCH = 3 +pkg syscall (netbsd-arm64-cgo), const ESTALE = 70 +pkg syscall (netbsd-arm64-cgo), const ETHER_ADDR_LEN = 6 +pkg syscall (netbsd-arm64-cgo), const ETHER_ADDR_LEN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERCAP_JUMBO_MTU = 4 +pkg syscall (netbsd-arm64-cgo), const ETHERCAP_JUMBO_MTU ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERCAP_VLAN_HWTAGGING = 2 +pkg syscall (netbsd-arm64-cgo), const ETHERCAP_VLAN_HWTAGGING ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERCAP_VLAN_MTU = 1 +pkg syscall (netbsd-arm64-cgo), const ETHERCAP_VLAN_MTU ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHER_CRC_LEN = 4 +pkg syscall (netbsd-arm64-cgo), const ETHER_CRC_LEN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHER_CRC_POLY_BE = 79764918 +pkg syscall (netbsd-arm64-cgo), const ETHER_CRC_POLY_BE ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHER_CRC_POLY_LE = 3988292384 +pkg syscall (netbsd-arm64-cgo), const ETHER_CRC_POLY_LE ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHER_HDR_LEN = 14 +pkg syscall (netbsd-arm64-cgo), const ETHER_HDR_LEN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHER_MAX_LEN = 1518 +pkg syscall (netbsd-arm64-cgo), const ETHER_MAX_LEN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHER_MAX_LEN_JUMBO = 9018 +pkg syscall (netbsd-arm64-cgo), const ETHER_MAX_LEN_JUMBO ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERMIN = 46 +pkg syscall (netbsd-arm64-cgo), const ETHERMIN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHER_MIN_LEN = 64 +pkg syscall (netbsd-arm64-cgo), const ETHER_MIN_LEN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERMTU = 1500 +pkg syscall (netbsd-arm64-cgo), const ETHERMTU ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERMTU_JUMBO = 9000 +pkg syscall (netbsd-arm64-cgo), const ETHERMTU_JUMBO ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHER_PPPOE_ENCAP_LEN = 8 +pkg syscall (netbsd-arm64-cgo), const ETHER_PPPOE_ENCAP_LEN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_8023 = 4 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_8023 ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AARP = 33011 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AARP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ACCTON = 33680 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ACCTON ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AEONIC = 32822 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AEONIC ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ALPHA = 33098 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ALPHA ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AMBER = 24584 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AMBER ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AMOEBA = 33093 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AMOEBA ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APOLLO = 33015 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APOLLODOMAIN = 32793 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APOLLODOMAIN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APOLLO ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APPLETALK = 32923 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APPLETALK ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APPLITEK = 32967 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APPLITEK ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ARGONAUT = 32826 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ARGONAUT ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ARP = 2054 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ARP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AT = 32923 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATALK = 32923 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATALK ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AT ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATOMIC = 34527 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATOMIC ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATT = 32873 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATT ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATTSTANFORD = 32776 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATTSTANFORD ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AUTOPHON = 32874 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AUTOPHON ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AXIS = 34902 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AXIS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_BCLOOP = 36867 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_BCLOOP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_BOFL = 33026 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_BOFL ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CABLETRON = 28724 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CABLETRON ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CHAOS = 2052 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CHAOS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_COMDESIGN = 32876 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_COMDESIGN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_COMPUGRAPHIC = 32877 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_COMPUGRAPHIC ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_COUNTERPOINT = 32866 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_COUNTERPOINT ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CRONUS = 32772 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CRONUS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CRONUSVLN = 32771 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CRONUSVLN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DCA = 4660 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DCA ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DDE = 32891 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DDE ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DEBNI = 43690 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DEBNI ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECAM = 32840 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECAM ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECCUST = 24582 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECCUST ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECDIAG = 24581 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECDIAG ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECDNS = 32828 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECDNS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECDTS = 32830 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECDTS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECEXPER = 24576 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECEXPER ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECLAST = 32833 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECLAST ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECLTM = 32831 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECLTM ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECMUMPS = 24585 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECMUMPS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECNETBIOS = 32832 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECNETBIOS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DELTACON = 34526 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DELTACON ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DIDDLE = 17185 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DIDDLE ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DLOG1 = 1632 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DLOG1 ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DLOG2 = 1633 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DLOG2 ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DN = 24579 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DOGFIGHT = 6537 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DOGFIGHT ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DSMD = 32825 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DSMD ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ECMA = 2051 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ECMA ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ENCRYPT = 32829 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ENCRYPT ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ES = 32861 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ES ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_EXCELAN = 32784 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_EXCELAN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_EXPERDATA = 32841 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_EXPERDATA ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_FLIP = 33094 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_FLIP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_FLOWCONTROL = 34824 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_FLOWCONTROL ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_FRARP = 2056 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_FRARP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_GENDYN = 32872 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_GENDYN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HAYES = 33072 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HAYES ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HIPPI_FP = 33152 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HIPPI_FP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HITACHI = 34848 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HITACHI ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HP = 32773 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IEEEPUP = 2560 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IEEEPUPAT = 2561 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IEEEPUPAT ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IEEEPUP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IMLBL = 19522 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IMLBLDIAG = 16972 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IMLBLDIAG ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IMLBL ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IP = 2048 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPAS = 34668 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPAS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPV6 = 34525 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPV6 ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPX = 33079 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPX ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPXNEW = 32823 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPXNEW ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_KALPANA = 34178 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_KALPANA ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LANBRIDGE = 32824 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LANBRIDGE ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LANPROBE = 34952 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LANPROBE ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LAT = 24580 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LAT ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LBACK = 36864 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LBACK ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHER_TYPE_LEN = 2 +pkg syscall (netbsd-arm64-cgo), const ETHER_TYPE_LEN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LITTLE = 32864 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LITTLE ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LOGICRAFT = 33096 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LOGICRAFT ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LOOPBACK = 36864 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LOOPBACK ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MATRA = 32890 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MATRA ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MAX = 65535 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MAX ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MERIT = 32892 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MERIT ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MICP = 34618 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MICP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MOPDL = 24577 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MOPDL ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MOPRC = 24578 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MOPRC ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MOTOROLA = 33165 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MOTOROLA ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MPLS = 34887 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MPLS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MPLS_MCAST = 34888 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MPLS_MCAST ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MUMPS = 33087 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MUMPS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCC = 15364 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCC ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCLAIM = 15369 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCLAIM ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCLREQ = 15365 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCLREQ ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCLRSP = 15366 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCLRSP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCREQ = 15362 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCREQ ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCRSP = 15363 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCRSP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPDG = 15367 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPDGB = 15368 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPDGB ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPDG ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPDLTE = 15370 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPDLTE ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPRAR = 15372 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPRAR ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPRAS = 15371 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPRAS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPRST = 15373 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPRST ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPSCD = 15361 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPSCD ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPVCD = 15360 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPVCD ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBS = 2050 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NCD = 33097 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NCD ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NESTAR = 32774 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NESTAR ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NETBEUI = 33169 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NETBEUI ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NOVELL = 33080 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NOVELL ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NS = 1536 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NSAT = 1537 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NSAT ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NSCOMPAT = 2055 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NSCOMPAT ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NTRAILER = 16 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NTRAILER ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_OS9 = 28679 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_OS9 ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_OS9NET = 28681 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_OS9NET ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PACER = 32966 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PACER ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PAE = 34958 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PAE ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PCS = 16962 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PCS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PLANNING = 32836 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PLANNING ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PPP = 34827 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PPP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PPPOE = 34916 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PPPOEDISC = 34915 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PPPOEDISC ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PPPOE ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PRIMENTS = 28721 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PRIMENTS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PUP = 512 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PUPAT = 512 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PUPAT ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PUP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RACAL = 28720 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RACAL ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RATIONAL = 33104 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RATIONAL ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RAWFR = 25945 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RAWFR ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RCL = 6549 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RCL ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RDP = 34617 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RDP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RETIX = 33010 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RETIX ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_REVARP = 32821 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_REVARP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SCA = 24583 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SCA ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SECTRA = 34523 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SECTRA ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SECUREDATA = 34669 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SECUREDATA ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_BOUNCE = 32790 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_BOUNCE ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_DIAG = 32787 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_DIAG ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SGITW = 33150 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SGITW ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_NETGAMES = 32788 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_NETGAMES ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_RESV = 32789 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_RESV ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SIMNET = 21000 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SIMNET ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SLOWPROTOCOLS = 34825 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SLOWPROTOCOLS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SNA = 32981 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SNA ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SNMP = 33100 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SNMP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SONIX = 64245 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SONIX ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SPIDER = 32927 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SPIDER ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SPRITE = 1280 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SPRITE ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_STP = 33153 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_STP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TALARIS = 33067 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TALARIS ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TALARISMC = 34091 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TALARISMC ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TCPCOMP = 34667 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TCPCOMP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TCPSM = 36866 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TCPSM ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TEC = 33103 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TEC ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TIGAN = 32815 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TIGAN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TRAIL = 4096 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TRAIL ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TRANSETHER = 25944 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TRANSETHER ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TYMSHARE = 32814 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TYMSHARE ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBBST = 28677 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBBST ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBDEBUG = 2304 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBDEBUG ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBDIAGLOOP = 28674 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBDIAGLOOP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBDL = 28672 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBDL ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBNIU = 28673 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBNIU ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBNMC = 28675 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBNMC ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VALID = 5632 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VALID ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VARIAN = 32989 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VARIAN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VAXELN = 32827 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VAXELN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VEECO = 32871 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VEECO ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VEXP = 32859 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VEXP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VGLAB = 33073 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VGLAB ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VINES = 2989 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VINESECHO = 2991 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VINESECHO ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VINES ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VINESLOOP = 2990 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VINESLOOP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VITAL = 65280 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VITAL ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VLAN = 33024 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VLAN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VLTLMAN = 32896 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VLTLMAN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VPROD = 32860 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VPROD ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VURESERVED = 33095 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VURESERVED ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_WATERLOO = 33072 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_WATERLOO ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_WELLFLEET = 33027 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_WELLFLEET ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_X25 = 2053 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_X25 ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_X75 = 2049 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_X75 ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_XNSSM = 36865 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_XNSSM ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_XTP = 33149 +pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_XTP ideal-int +pkg syscall (netbsd-arm64-cgo), const ETHER_VLAN_ENCAP_LEN = 4 +pkg syscall (netbsd-arm64-cgo), const ETHER_VLAN_ENCAP_LEN ideal-int +pkg syscall (netbsd-arm64-cgo), const ETIME = 92 +pkg syscall (netbsd-arm64-cgo), const ETIMEDOUT = 60 +pkg syscall (netbsd-arm64-cgo), const ETIME Errno +pkg syscall (netbsd-arm64-cgo), const ETOOMANYREFS = 59 +pkg syscall (netbsd-arm64-cgo), const ETXTBSY = 26 +pkg syscall (netbsd-arm64-cgo), const EUSERS = 68 +pkg syscall (netbsd-arm64-cgo), const EV_ADD = 1 +pkg syscall (netbsd-arm64-cgo), const EV_ADD ideal-int +pkg syscall (netbsd-arm64-cgo), const EV_CLEAR = 32 +pkg syscall (netbsd-arm64-cgo), const EV_CLEAR ideal-int +pkg syscall (netbsd-arm64-cgo), const EV_DELETE = 2 +pkg syscall (netbsd-arm64-cgo), const EV_DELETE ideal-int +pkg syscall (netbsd-arm64-cgo), const EV_DISABLE = 8 +pkg syscall (netbsd-arm64-cgo), const EV_DISABLE ideal-int +pkg syscall (netbsd-arm64-cgo), const EV_ENABLE = 4 +pkg syscall (netbsd-arm64-cgo), const EV_ENABLE ideal-int +pkg syscall (netbsd-arm64-cgo), const EV_EOF = 32768 +pkg syscall (netbsd-arm64-cgo), const EV_EOF ideal-int +pkg syscall (netbsd-arm64-cgo), const EV_ERROR = 16384 +pkg syscall (netbsd-arm64-cgo), const EV_ERROR ideal-int +pkg syscall (netbsd-arm64-cgo), const EVFILT_AIO = 2 +pkg syscall (netbsd-arm64-cgo), const EVFILT_AIO ideal-int +pkg syscall (netbsd-arm64-cgo), const EVFILT_PROC = 4 +pkg syscall (netbsd-arm64-cgo), const EVFILT_PROC ideal-int +pkg syscall (netbsd-arm64-cgo), const EVFILT_READ = 0 +pkg syscall (netbsd-arm64-cgo), const EVFILT_READ ideal-int +pkg syscall (netbsd-arm64-cgo), const EVFILT_SIGNAL = 5 +pkg syscall (netbsd-arm64-cgo), const EVFILT_SIGNAL ideal-int +pkg syscall (netbsd-arm64-cgo), const EVFILT_SYSCOUNT = 7 +pkg syscall (netbsd-arm64-cgo), const EVFILT_SYSCOUNT ideal-int +pkg syscall (netbsd-arm64-cgo), const EVFILT_TIMER = 6 +pkg syscall (netbsd-arm64-cgo), const EVFILT_TIMER ideal-int +pkg syscall (netbsd-arm64-cgo), const EVFILT_VNODE = 3 +pkg syscall (netbsd-arm64-cgo), const EVFILT_VNODE ideal-int +pkg syscall (netbsd-arm64-cgo), const EVFILT_WRITE = 1 +pkg syscall (netbsd-arm64-cgo), const EVFILT_WRITE ideal-int +pkg syscall (netbsd-arm64-cgo), const EV_FLAG1 = 8192 +pkg syscall (netbsd-arm64-cgo), const EV_FLAG1 ideal-int +pkg syscall (netbsd-arm64-cgo), const EV_ONESHOT = 16 +pkg syscall (netbsd-arm64-cgo), const EV_ONESHOT ideal-int +pkg syscall (netbsd-arm64-cgo), const EV_SYSFLAGS = 61440 +pkg syscall (netbsd-arm64-cgo), const EV_SYSFLAGS ideal-int +pkg syscall (netbsd-arm64-cgo), const EWOULDBLOCK = 35 +pkg syscall (netbsd-arm64-cgo), const EXDEV = 18 +pkg syscall (netbsd-arm64-cgo), const EXTA = 19200 +pkg syscall (netbsd-arm64-cgo), const EXTA ideal-int +pkg syscall (netbsd-arm64-cgo), const EXTB = 38400 +pkg syscall (netbsd-arm64-cgo), const EXTB ideal-int +pkg syscall (netbsd-arm64-cgo), const EXTPROC = 2048 +pkg syscall (netbsd-arm64-cgo), const EXTPROC ideal-int +pkg syscall (netbsd-arm64-cgo), const F_CLOSEM = 10 +pkg syscall (netbsd-arm64-cgo), const F_CLOSEM ideal-int +pkg syscall (netbsd-arm64-cgo), const FD_CLOEXEC = 1 +pkg syscall (netbsd-arm64-cgo), const FD_CLOEXEC ideal-int +pkg syscall (netbsd-arm64-cgo), const FD_SETSIZE = 256 +pkg syscall (netbsd-arm64-cgo), const FD_SETSIZE ideal-int +pkg syscall (netbsd-arm64-cgo), const F_DUPFD = 0 +pkg syscall (netbsd-arm64-cgo), const F_DUPFD_CLOEXEC = 12 +pkg syscall (netbsd-arm64-cgo), const F_DUPFD_CLOEXEC ideal-int +pkg syscall (netbsd-arm64-cgo), const F_DUPFD ideal-int +pkg syscall (netbsd-arm64-cgo), const F_FSCTL = -2147483648 +pkg syscall (netbsd-arm64-cgo), const F_FSCTL ideal-int +pkg syscall (netbsd-arm64-cgo), const F_FSDIRMASK = 1879048192 +pkg syscall (netbsd-arm64-cgo), const F_FSDIRMASK ideal-int +pkg syscall (netbsd-arm64-cgo), const F_FSIN = 268435456 +pkg syscall (netbsd-arm64-cgo), const F_FSIN ideal-int +pkg syscall (netbsd-arm64-cgo), const F_FSINOUT = 805306368 +pkg syscall (netbsd-arm64-cgo), const F_FSINOUT ideal-int +pkg syscall (netbsd-arm64-cgo), const F_FSOUT = 536870912 +pkg syscall (netbsd-arm64-cgo), const F_FSOUT ideal-int +pkg syscall (netbsd-arm64-cgo), const F_FSPRIV = 32768 +pkg syscall (netbsd-arm64-cgo), const F_FSPRIV ideal-int +pkg syscall (netbsd-arm64-cgo), const F_FSVOID = 1073741824 +pkg syscall (netbsd-arm64-cgo), const F_FSVOID ideal-int +pkg syscall (netbsd-arm64-cgo), const F_GETFD = 1 +pkg syscall (netbsd-arm64-cgo), const F_GETFD ideal-int +pkg syscall (netbsd-arm64-cgo), const F_GETFL = 3 +pkg syscall (netbsd-arm64-cgo), const F_GETFL ideal-int +pkg syscall (netbsd-arm64-cgo), const F_GETLK = 7 +pkg syscall (netbsd-arm64-cgo), const F_GETLK ideal-int +pkg syscall (netbsd-arm64-cgo), const F_GETNOSIGPIPE = 13 +pkg syscall (netbsd-arm64-cgo), const F_GETNOSIGPIPE ideal-int +pkg syscall (netbsd-arm64-cgo), const F_GETOWN = 5 +pkg syscall (netbsd-arm64-cgo), const F_GETOWN ideal-int +pkg syscall (netbsd-arm64-cgo), const FLUSHO = 8388608 +pkg syscall (netbsd-arm64-cgo), const FLUSHO ideal-int +pkg syscall (netbsd-arm64-cgo), const F_MAXFD = 11 +pkg syscall (netbsd-arm64-cgo), const F_MAXFD ideal-int +pkg syscall (netbsd-arm64-cgo), const F_OK = 0 +pkg syscall (netbsd-arm64-cgo), const F_OK ideal-int +pkg syscall (netbsd-arm64-cgo), const F_PARAM_MASK = 4095 +pkg syscall (netbsd-arm64-cgo), const F_PARAM_MASK ideal-int +pkg syscall (netbsd-arm64-cgo), const F_PARAM_MAX = 4095 +pkg syscall (netbsd-arm64-cgo), const F_PARAM_MAX ideal-int +pkg syscall (netbsd-arm64-cgo), const F_RDLCK = 1 +pkg syscall (netbsd-arm64-cgo), const F_RDLCK ideal-int +pkg syscall (netbsd-arm64-cgo), const F_SETFD = 2 +pkg syscall (netbsd-arm64-cgo), const F_SETFD ideal-int +pkg syscall (netbsd-arm64-cgo), const F_SETFL = 4 +pkg syscall (netbsd-arm64-cgo), const F_SETFL ideal-int +pkg syscall (netbsd-arm64-cgo), const F_SETLK = 8 +pkg syscall (netbsd-arm64-cgo), const F_SETLK ideal-int +pkg syscall (netbsd-arm64-cgo), const F_SETLKW = 9 +pkg syscall (netbsd-arm64-cgo), const F_SETLKW ideal-int +pkg syscall (netbsd-arm64-cgo), const F_SETNOSIGPIPE = 14 +pkg syscall (netbsd-arm64-cgo), const F_SETNOSIGPIPE ideal-int +pkg syscall (netbsd-arm64-cgo), const F_SETOWN = 6 +pkg syscall (netbsd-arm64-cgo), const F_SETOWN ideal-int +pkg syscall (netbsd-arm64-cgo), const F_UNLCK = 2 +pkg syscall (netbsd-arm64-cgo), const F_UNLCK ideal-int +pkg syscall (netbsd-arm64-cgo), const F_WRLCK = 3 +pkg syscall (netbsd-arm64-cgo), const F_WRLCK ideal-int +pkg syscall (netbsd-arm64-cgo), const HUPCL = 16384 +pkg syscall (netbsd-arm64-cgo), const HUPCL ideal-int +pkg syscall (netbsd-arm64-cgo), const ICANON = 256 +pkg syscall (netbsd-arm64-cgo), const ICANON ideal-int +pkg syscall (netbsd-arm64-cgo), const ICMP6_FILTER = 18 +pkg syscall (netbsd-arm64-cgo), const ICMP6_FILTER ideal-int +pkg syscall (netbsd-arm64-cgo), const ICRNL = 256 +pkg syscall (netbsd-arm64-cgo), const ICRNL ideal-int +pkg syscall (netbsd-arm64-cgo), const IEXTEN = 1024 +pkg syscall (netbsd-arm64-cgo), const IEXTEN ideal-int +pkg syscall (netbsd-arm64-cgo), const IFAN_ARRIVAL = 0 +pkg syscall (netbsd-arm64-cgo), const IFAN_ARRIVAL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFAN_DEPARTURE = 1 +pkg syscall (netbsd-arm64-cgo), const IFAN_DEPARTURE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFA_ROUTE = 1 +pkg syscall (netbsd-arm64-cgo), const IFA_ROUTE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFF_ALLMULTI = 512 +pkg syscall (netbsd-arm64-cgo), const IFF_ALLMULTI ideal-int +pkg syscall (netbsd-arm64-cgo), const IFF_CANTCHANGE = 36690 +pkg syscall (netbsd-arm64-cgo), const IFF_CANTCHANGE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFF_DEBUG = 4 +pkg syscall (netbsd-arm64-cgo), const IFF_DEBUG ideal-int +pkg syscall (netbsd-arm64-cgo), const IFF_LINK0 = 4096 +pkg syscall (netbsd-arm64-cgo), const IFF_LINK0 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFF_LINK1 = 8192 +pkg syscall (netbsd-arm64-cgo), const IFF_LINK1 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFF_LINK2 = 16384 +pkg syscall (netbsd-arm64-cgo), const IFF_LINK2 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFF_LOOPBACK = 8 +pkg syscall (netbsd-arm64-cgo), const IFF_MULTICAST = 32768 +pkg syscall (netbsd-arm64-cgo), const IFF_NOARP = 128 +pkg syscall (netbsd-arm64-cgo), const IFF_NOARP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFF_NOTRAILERS = 32 +pkg syscall (netbsd-arm64-cgo), const IFF_NOTRAILERS ideal-int +pkg syscall (netbsd-arm64-cgo), const IFF_OACTIVE = 1024 +pkg syscall (netbsd-arm64-cgo), const IFF_OACTIVE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFF_POINTOPOINT = 16 +pkg syscall (netbsd-arm64-cgo), const IFF_POINTOPOINT ideal-int +pkg syscall (netbsd-arm64-cgo), const IFF_PROMISC = 256 +pkg syscall (netbsd-arm64-cgo), const IFF_PROMISC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFF_RUNNING = 64 +pkg syscall (netbsd-arm64-cgo), const IFF_RUNNING ideal-int +pkg syscall (netbsd-arm64-cgo), const IFF_SIMPLEX = 2048 +pkg syscall (netbsd-arm64-cgo), const IFF_SIMPLEX ideal-int +pkg syscall (netbsd-arm64-cgo), const IFNAMSIZ = 16 +pkg syscall (netbsd-arm64-cgo), const IFNAMSIZ ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_1822 = 2 +pkg syscall (netbsd-arm64-cgo), const IFT_1822 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_A12MPPSWITCH = 130 +pkg syscall (netbsd-arm64-cgo), const IFT_A12MPPSWITCH ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_AAL2 = 187 +pkg syscall (netbsd-arm64-cgo), const IFT_AAL2 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_AAL5 = 49 +pkg syscall (netbsd-arm64-cgo), const IFT_AAL5 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ADSL = 94 +pkg syscall (netbsd-arm64-cgo), const IFT_ADSL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_AFLANE8023 = 59 +pkg syscall (netbsd-arm64-cgo), const IFT_AFLANE8023 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_AFLANE8025 = 60 +pkg syscall (netbsd-arm64-cgo), const IFT_AFLANE8025 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ARAP = 88 +pkg syscall (netbsd-arm64-cgo), const IFT_ARAP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ARCNET = 35 +pkg syscall (netbsd-arm64-cgo), const IFT_ARCNET ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ARCNETPLUS = 36 +pkg syscall (netbsd-arm64-cgo), const IFT_ARCNETPLUS ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ASYNC = 84 +pkg syscall (netbsd-arm64-cgo), const IFT_ASYNC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ATM = 37 +pkg syscall (netbsd-arm64-cgo), const IFT_ATMDXI = 105 +pkg syscall (netbsd-arm64-cgo), const IFT_ATMDXI ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ATMFUNI = 106 +pkg syscall (netbsd-arm64-cgo), const IFT_ATMFUNI ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ATM ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ATMIMA = 107 +pkg syscall (netbsd-arm64-cgo), const IFT_ATMIMA ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ATMLOGICAL = 80 +pkg syscall (netbsd-arm64-cgo), const IFT_ATMLOGICAL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ATMRADIO = 189 +pkg syscall (netbsd-arm64-cgo), const IFT_ATMRADIO ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ATMSUBINTERFACE = 134 +pkg syscall (netbsd-arm64-cgo), const IFT_ATMSUBINTERFACE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ATMVCIENDPT = 194 +pkg syscall (netbsd-arm64-cgo), const IFT_ATMVCIENDPT ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ATMVIRTUAL = 149 +pkg syscall (netbsd-arm64-cgo), const IFT_ATMVIRTUAL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_BGPPOLICYACCOUNTING = 162 +pkg syscall (netbsd-arm64-cgo), const IFT_BGPPOLICYACCOUNTING ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_BRIDGE = 209 +pkg syscall (netbsd-arm64-cgo), const IFT_BRIDGE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_BSC = 83 +pkg syscall (netbsd-arm64-cgo), const IFT_BSC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_CARP = 248 +pkg syscall (netbsd-arm64-cgo), const IFT_CARP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_CCTEMUL = 61 +pkg syscall (netbsd-arm64-cgo), const IFT_CCTEMUL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_CEPT = 19 +pkg syscall (netbsd-arm64-cgo), const IFT_CEPT ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_CES = 133 +pkg syscall (netbsd-arm64-cgo), const IFT_CES ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_CHANNEL = 70 +pkg syscall (netbsd-arm64-cgo), const IFT_CHANNEL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_CNR = 85 +pkg syscall (netbsd-arm64-cgo), const IFT_CNR ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_COFFEE = 132 +pkg syscall (netbsd-arm64-cgo), const IFT_COFFEE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_COMPOSITELINK = 155 +pkg syscall (netbsd-arm64-cgo), const IFT_COMPOSITELINK ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DCN = 141 +pkg syscall (netbsd-arm64-cgo), const IFT_DCN ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DIGITALPOWERLINE = 138 +pkg syscall (netbsd-arm64-cgo), const IFT_DIGITALPOWERLINE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DIGITALWRAPPEROVERHEADCHANNEL = 186 +pkg syscall (netbsd-arm64-cgo), const IFT_DIGITALWRAPPEROVERHEADCHANNEL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DLSW = 74 +pkg syscall (netbsd-arm64-cgo), const IFT_DLSW ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEDOWNSTREAM = 128 +pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEDOWNSTREAM ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEMACLAYER = 127 +pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEMACLAYER ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEUPSTREAM = 129 +pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEUPSTREAMCHANNEL = 205 +pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEUPSTREAMCHANNEL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEUPSTREAM ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DS0 = 81 +pkg syscall (netbsd-arm64-cgo), const IFT_DS0BUNDLE = 82 +pkg syscall (netbsd-arm64-cgo), const IFT_DS0BUNDLE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DS0 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DS1FDL = 170 +pkg syscall (netbsd-arm64-cgo), const IFT_DS1FDL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DS3 = 30 +pkg syscall (netbsd-arm64-cgo), const IFT_DS3 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DTM = 140 +pkg syscall (netbsd-arm64-cgo), const IFT_DTM ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DVBASILN = 172 +pkg syscall (netbsd-arm64-cgo), const IFT_DVBASILN ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DVBASIOUT = 173 +pkg syscall (netbsd-arm64-cgo), const IFT_DVBASIOUT ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DVBRCCDOWNSTREAM = 147 +pkg syscall (netbsd-arm64-cgo), const IFT_DVBRCCDOWNSTREAM ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DVBRCCMACLAYER = 146 +pkg syscall (netbsd-arm64-cgo), const IFT_DVBRCCMACLAYER ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_DVBRCCUPSTREAM = 148 +pkg syscall (netbsd-arm64-cgo), const IFT_DVBRCCUPSTREAM ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ECONET = 206 +pkg syscall (netbsd-arm64-cgo), const IFT_ECONET ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_EON = 25 +pkg syscall (netbsd-arm64-cgo), const IFT_EON ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_EPLRS = 87 +pkg syscall (netbsd-arm64-cgo), const IFT_EPLRS ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ESCON = 73 +pkg syscall (netbsd-arm64-cgo), const IFT_ESCON ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ETHER = 6 +pkg syscall (netbsd-arm64-cgo), const IFT_ETHER ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_FAITH = 242 +pkg syscall (netbsd-arm64-cgo), const IFT_FAITH ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_FAST = 125 +pkg syscall (netbsd-arm64-cgo), const IFT_FASTETHER = 62 +pkg syscall (netbsd-arm64-cgo), const IFT_FASTETHERFX = 69 +pkg syscall (netbsd-arm64-cgo), const IFT_FASTETHERFX ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_FASTETHER ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_FAST ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_FDDI = 15 +pkg syscall (netbsd-arm64-cgo), const IFT_FDDI ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_FIBRECHANNEL = 56 +pkg syscall (netbsd-arm64-cgo), const IFT_FIBRECHANNEL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_FRAMERELAYINTERCONNECT = 58 +pkg syscall (netbsd-arm64-cgo), const IFT_FRAMERELAYINTERCONNECT ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_FRAMERELAYMPI = 92 +pkg syscall (netbsd-arm64-cgo), const IFT_FRAMERELAYMPI ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_FRDLCIENDPT = 193 +pkg syscall (netbsd-arm64-cgo), const IFT_FRDLCIENDPT ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_FRELAY = 32 +pkg syscall (netbsd-arm64-cgo), const IFT_FRELAYDCE = 44 +pkg syscall (netbsd-arm64-cgo), const IFT_FRELAYDCE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_FRELAY ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_FRF16MFRBUNDLE = 163 +pkg syscall (netbsd-arm64-cgo), const IFT_FRF16MFRBUNDLE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_FRFORWARD = 158 +pkg syscall (netbsd-arm64-cgo), const IFT_FRFORWARD ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_G703AT2MB = 67 +pkg syscall (netbsd-arm64-cgo), const IFT_G703AT2MB ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_G703AT64K = 66 +pkg syscall (netbsd-arm64-cgo), const IFT_G703AT64K ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_GIF = 240 +pkg syscall (netbsd-arm64-cgo), const IFT_GIF ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_GIGABITETHERNET = 117 +pkg syscall (netbsd-arm64-cgo), const IFT_GIGABITETHERNET ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_GR303IDT = 178 +pkg syscall (netbsd-arm64-cgo), const IFT_GR303IDT ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_GR303RDT = 177 +pkg syscall (netbsd-arm64-cgo), const IFT_GR303RDT ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_H323GATEKEEPER = 164 +pkg syscall (netbsd-arm64-cgo), const IFT_H323GATEKEEPER ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_H323PROXY = 165 +pkg syscall (netbsd-arm64-cgo), const IFT_H323PROXY ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_HDH1822 = 3 +pkg syscall (netbsd-arm64-cgo), const IFT_HDH1822 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_HDLC = 118 +pkg syscall (netbsd-arm64-cgo), const IFT_HDLC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_HDSL2 = 168 +pkg syscall (netbsd-arm64-cgo), const IFT_HDSL2 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_HIPERLAN2 = 183 +pkg syscall (netbsd-arm64-cgo), const IFT_HIPERLAN2 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_HIPPI = 47 +pkg syscall (netbsd-arm64-cgo), const IFT_HIPPI ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_HIPPIINTERFACE = 57 +pkg syscall (netbsd-arm64-cgo), const IFT_HIPPIINTERFACE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_HOSTPAD = 90 +pkg syscall (netbsd-arm64-cgo), const IFT_HOSTPAD ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_HSSI = 46 +pkg syscall (netbsd-arm64-cgo), const IFT_HSSI ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_HY = 14 +pkg syscall (netbsd-arm64-cgo), const IFT_HY ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_IBM370PARCHAN = 72 +pkg syscall (netbsd-arm64-cgo), const IFT_IBM370PARCHAN ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_IDSL = 154 +pkg syscall (netbsd-arm64-cgo), const IFT_IDSL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_IEEE1394 = 144 +pkg syscall (netbsd-arm64-cgo), const IFT_IEEE1394 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_IEEE80211 = 71 +pkg syscall (netbsd-arm64-cgo), const IFT_IEEE80211 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_IEEE80212 = 55 +pkg syscall (netbsd-arm64-cgo), const IFT_IEEE80212 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_IEEE8023ADLAG = 161 +pkg syscall (netbsd-arm64-cgo), const IFT_IEEE8023ADLAG ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_IFGSN = 145 +pkg syscall (netbsd-arm64-cgo), const IFT_IFGSN ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_IMT = 190 +pkg syscall (netbsd-arm64-cgo), const IFT_IMT ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_INFINIBAND = 199 +pkg syscall (netbsd-arm64-cgo), const IFT_INFINIBAND ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_INTERLEAVE = 124 +pkg syscall (netbsd-arm64-cgo), const IFT_INTERLEAVE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_IP = 126 +pkg syscall (netbsd-arm64-cgo), const IFT_IPFORWARD = 142 +pkg syscall (netbsd-arm64-cgo), const IFT_IPFORWARD ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_IP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_IPOVERATM = 114 +pkg syscall (netbsd-arm64-cgo), const IFT_IPOVERATM ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_IPOVERCDLC = 109 +pkg syscall (netbsd-arm64-cgo), const IFT_IPOVERCDLC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_IPOVERCLAW = 110 +pkg syscall (netbsd-arm64-cgo), const IFT_IPOVERCLAW ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_IPSWITCH = 78 +pkg syscall (netbsd-arm64-cgo), const IFT_IPSWITCH ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ISDN = 63 +pkg syscall (netbsd-arm64-cgo), const IFT_ISDNBASIC = 20 +pkg syscall (netbsd-arm64-cgo), const IFT_ISDNBASIC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ISDN ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ISDNPRIMARY = 21 +pkg syscall (netbsd-arm64-cgo), const IFT_ISDNPRIMARY ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ISDNS = 75 +pkg syscall (netbsd-arm64-cgo), const IFT_ISDNS ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ISDNU = 76 +pkg syscall (netbsd-arm64-cgo), const IFT_ISDNU ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88022LLC = 41 +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88022LLC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88023 = 7 +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88023 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88024 = 8 +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88024 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025 = 9 +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025CRFPINT = 98 +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025CRFPINT ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025DTR = 86 +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025DTR ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025FIBER = 115 +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025FIBER ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88026 = 10 +pkg syscall (netbsd-arm64-cgo), const IFT_ISO88026 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ISUP = 179 +pkg syscall (netbsd-arm64-cgo), const IFT_ISUP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_L2VLAN = 135 +pkg syscall (netbsd-arm64-cgo), const IFT_L2VLAN ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_L3IPVLAN = 136 +pkg syscall (netbsd-arm64-cgo), const IFT_L3IPVLAN ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_L3IPXVLAN = 137 +pkg syscall (netbsd-arm64-cgo), const IFT_L3IPXVLAN ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_LAPB = 16 +pkg syscall (netbsd-arm64-cgo), const IFT_LAPB ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_LAPD = 77 +pkg syscall (netbsd-arm64-cgo), const IFT_LAPD ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_LAPF = 119 +pkg syscall (netbsd-arm64-cgo), const IFT_LAPF ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_LINEGROUP = 210 +pkg syscall (netbsd-arm64-cgo), const IFT_LINEGROUP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_LOCALTALK = 42 +pkg syscall (netbsd-arm64-cgo), const IFT_LOCALTALK ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_LOOP = 24 +pkg syscall (netbsd-arm64-cgo), const IFT_LOOP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_MEDIAMAILOVERIP = 139 +pkg syscall (netbsd-arm64-cgo), const IFT_MEDIAMAILOVERIP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_MFSIGLINK = 167 +pkg syscall (netbsd-arm64-cgo), const IFT_MFSIGLINK ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_MIOX25 = 38 +pkg syscall (netbsd-arm64-cgo), const IFT_MIOX25 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_MODEM = 48 +pkg syscall (netbsd-arm64-cgo), const IFT_MODEM ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_MPC = 113 +pkg syscall (netbsd-arm64-cgo), const IFT_MPC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_MPLS = 166 +pkg syscall (netbsd-arm64-cgo), const IFT_MPLS ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_MPLSTUNNEL = 150 +pkg syscall (netbsd-arm64-cgo), const IFT_MPLSTUNNEL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_MSDSL = 143 +pkg syscall (netbsd-arm64-cgo), const IFT_MSDSL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_MVL = 191 +pkg syscall (netbsd-arm64-cgo), const IFT_MVL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_MYRINET = 99 +pkg syscall (netbsd-arm64-cgo), const IFT_MYRINET ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_NFAS = 175 +pkg syscall (netbsd-arm64-cgo), const IFT_NFAS ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_NSIP = 27 +pkg syscall (netbsd-arm64-cgo), const IFT_NSIP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_OPTICALCHANNEL = 195 +pkg syscall (netbsd-arm64-cgo), const IFT_OPTICALCHANNEL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_OPTICALTRANSPORT = 196 +pkg syscall (netbsd-arm64-cgo), const IFT_OPTICALTRANSPORT ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_OTHER = 1 +pkg syscall (netbsd-arm64-cgo), const IFT_OTHER ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_P10 = 12 +pkg syscall (netbsd-arm64-cgo), const IFT_P10 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_P80 = 13 +pkg syscall (netbsd-arm64-cgo), const IFT_P80 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PARA = 34 +pkg syscall (netbsd-arm64-cgo), const IFT_PARA ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PFLOG = 245 +pkg syscall (netbsd-arm64-cgo), const IFT_PFLOG ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PFSYNC = 246 +pkg syscall (netbsd-arm64-cgo), const IFT_PFSYNC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PLC = 174 +pkg syscall (netbsd-arm64-cgo), const IFT_PLC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PON155 = 207 +pkg syscall (netbsd-arm64-cgo), const IFT_PON155 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PON622 = 208 +pkg syscall (netbsd-arm64-cgo), const IFT_PON622 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_POS = 171 +pkg syscall (netbsd-arm64-cgo), const IFT_POS ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PPP = 23 +pkg syscall (netbsd-arm64-cgo), const IFT_PPP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PPPMULTILINKBUNDLE = 108 +pkg syscall (netbsd-arm64-cgo), const IFT_PPPMULTILINKBUNDLE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PROPATM = 197 +pkg syscall (netbsd-arm64-cgo), const IFT_PROPATM ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PROPBWAP2MP = 184 +pkg syscall (netbsd-arm64-cgo), const IFT_PROPBWAP2MP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PROPCNLS = 89 +pkg syscall (netbsd-arm64-cgo), const IFT_PROPCNLS ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PROPDOCSWIRELESSDOWNSTREAM = 181 +pkg syscall (netbsd-arm64-cgo), const IFT_PROPDOCSWIRELESSDOWNSTREAM ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PROPDOCSWIRELESSMACLAYER = 180 +pkg syscall (netbsd-arm64-cgo), const IFT_PROPDOCSWIRELESSMACLAYER ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PROPDOCSWIRELESSUPSTREAM = 182 +pkg syscall (netbsd-arm64-cgo), const IFT_PROPDOCSWIRELESSUPSTREAM ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PROPMUX = 54 +pkg syscall (netbsd-arm64-cgo), const IFT_PROPMUX ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PROPVIRTUAL = 53 +pkg syscall (netbsd-arm64-cgo), const IFT_PROPVIRTUAL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PROPWIRELESSP2P = 157 +pkg syscall (netbsd-arm64-cgo), const IFT_PROPWIRELESSP2P ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PTPSERIAL = 22 +pkg syscall (netbsd-arm64-cgo), const IFT_PTPSERIAL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_PVC = 241 +pkg syscall (netbsd-arm64-cgo), const IFT_PVC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_Q2931 = 201 +pkg syscall (netbsd-arm64-cgo), const IFT_Q2931 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_QLLC = 68 +pkg syscall (netbsd-arm64-cgo), const IFT_QLLC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_RADIOMAC = 188 +pkg syscall (netbsd-arm64-cgo), const IFT_RADIOMAC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_RADSL = 95 +pkg syscall (netbsd-arm64-cgo), const IFT_RADSL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_REACHDSL = 192 +pkg syscall (netbsd-arm64-cgo), const IFT_REACHDSL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_RFC1483 = 159 +pkg syscall (netbsd-arm64-cgo), const IFT_RFC1483 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_RS232 = 33 +pkg syscall (netbsd-arm64-cgo), const IFT_RS232 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_RSRB = 79 +pkg syscall (netbsd-arm64-cgo), const IFT_RSRB ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_SDLC = 17 +pkg syscall (netbsd-arm64-cgo), const IFT_SDLC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_SDSL = 96 +pkg syscall (netbsd-arm64-cgo), const IFT_SDSL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_SHDSL = 169 +pkg syscall (netbsd-arm64-cgo), const IFT_SHDSL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_SIP = 31 +pkg syscall (netbsd-arm64-cgo), const IFT_SIP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_SIPSIG = 204 +pkg syscall (netbsd-arm64-cgo), const IFT_SIPSIG ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_SIPTG = 203 +pkg syscall (netbsd-arm64-cgo), const IFT_SIPTG ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_SLIP = 28 +pkg syscall (netbsd-arm64-cgo), const IFT_SLIP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_SMDSDXI = 43 +pkg syscall (netbsd-arm64-cgo), const IFT_SMDSDXI ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_SMDSICIP = 52 +pkg syscall (netbsd-arm64-cgo), const IFT_SMDSICIP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_SONET = 39 +pkg syscall (netbsd-arm64-cgo), const IFT_SONET ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_SONETOVERHEADCHANNEL = 185 +pkg syscall (netbsd-arm64-cgo), const IFT_SONETOVERHEADCHANNEL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_SONETPATH = 50 +pkg syscall (netbsd-arm64-cgo), const IFT_SONETPATH ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_SONETVT = 51 +pkg syscall (netbsd-arm64-cgo), const IFT_SONETVT ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_SRP = 151 +pkg syscall (netbsd-arm64-cgo), const IFT_SRP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_SS7SIGLINK = 156 +pkg syscall (netbsd-arm64-cgo), const IFT_SS7SIGLINK ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_STACKTOSTACK = 111 +pkg syscall (netbsd-arm64-cgo), const IFT_STACKTOSTACK ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_STARLAN = 11 +pkg syscall (netbsd-arm64-cgo), const IFT_STARLAN ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_STF = 215 +pkg syscall (netbsd-arm64-cgo), const IFT_STF ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_T1 = 18 +pkg syscall (netbsd-arm64-cgo), const IFT_T1 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_TDLC = 116 +pkg syscall (netbsd-arm64-cgo), const IFT_TDLC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_TELINK = 200 +pkg syscall (netbsd-arm64-cgo), const IFT_TELINK ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_TERMPAD = 91 +pkg syscall (netbsd-arm64-cgo), const IFT_TERMPAD ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_TR008 = 176 +pkg syscall (netbsd-arm64-cgo), const IFT_TR008 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_TRANSPHDLC = 123 +pkg syscall (netbsd-arm64-cgo), const IFT_TRANSPHDLC ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_TUNNEL = 131 +pkg syscall (netbsd-arm64-cgo), const IFT_TUNNEL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_ULTRA = 29 +pkg syscall (netbsd-arm64-cgo), const IFT_ULTRA ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_USB = 160 +pkg syscall (netbsd-arm64-cgo), const IFT_USB ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_V11 = 64 +pkg syscall (netbsd-arm64-cgo), const IFT_V11 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_V35 = 45 +pkg syscall (netbsd-arm64-cgo), const IFT_V35 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_V36 = 65 +pkg syscall (netbsd-arm64-cgo), const IFT_V36 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_V37 = 120 +pkg syscall (netbsd-arm64-cgo), const IFT_V37 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_VDSL = 97 +pkg syscall (netbsd-arm64-cgo), const IFT_VDSL ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_VIRTUALIPADDRESS = 112 +pkg syscall (netbsd-arm64-cgo), const IFT_VIRTUALIPADDRESS ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_VIRTUALTG = 202 +pkg syscall (netbsd-arm64-cgo), const IFT_VIRTUALTG ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEDID = 213 +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEDID ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEEM = 100 +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEEMFGD = 211 +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEEMFGD ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEEM ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEENCAP = 103 +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEENCAP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEFGDEANA = 212 +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEFGDEANA ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEFXO = 101 +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEFXO ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEFXS = 102 +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEFXS ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERATM = 152 +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERATM ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERCABLE = 198 +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERCABLE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERFRAMERELAY = 153 +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERFRAMERELAY ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERIP = 104 +pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERIP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_X213 = 93 +pkg syscall (netbsd-arm64-cgo), const IFT_X213 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_X25 = 5 +pkg syscall (netbsd-arm64-cgo), const IFT_X25DDN = 4 +pkg syscall (netbsd-arm64-cgo), const IFT_X25DDN ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_X25HUNTGROUP = 122 +pkg syscall (netbsd-arm64-cgo), const IFT_X25HUNTGROUP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_X25 ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_X25MLP = 121 +pkg syscall (netbsd-arm64-cgo), const IFT_X25MLP ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_X25PLE = 40 +pkg syscall (netbsd-arm64-cgo), const IFT_X25PLE ideal-int +pkg syscall (netbsd-arm64-cgo), const IFT_XETHER = 26 +pkg syscall (netbsd-arm64-cgo), const IFT_XETHER ideal-int +pkg syscall (netbsd-arm64-cgo), const IGNBRK = 1 +pkg syscall (netbsd-arm64-cgo), const IGNBRK ideal-int +pkg syscall (netbsd-arm64-cgo), const IGNCR = 128 +pkg syscall (netbsd-arm64-cgo), const IGNCR ideal-int +pkg syscall (netbsd-arm64-cgo), const IGNPAR = 4 +pkg syscall (netbsd-arm64-cgo), const IGNPAR ideal-int +pkg syscall (netbsd-arm64-cgo), const IMAXBEL = 8192 +pkg syscall (netbsd-arm64-cgo), const IMAXBEL ideal-int +pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_HOST = 16777215 +pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_HOST ideal-int +pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_MAX = 128 +pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_MAX ideal-int +pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_NET = 4278190080 +pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_NET ideal-int +pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_NSHIFT = 24 +pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_NSHIFT ideal-int +pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_HOST = 65535 +pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_HOST ideal-int +pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_MAX = 65536 +pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_MAX ideal-int +pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_NET = 4294901760 +pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_NET ideal-int +pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_NSHIFT = 16 +pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_NSHIFT ideal-int +pkg syscall (netbsd-arm64-cgo), const IN_CLASSC_HOST = 255 +pkg syscall (netbsd-arm64-cgo), const IN_CLASSC_HOST ideal-int +pkg syscall (netbsd-arm64-cgo), const IN_CLASSC_NET = 4294967040 +pkg syscall (netbsd-arm64-cgo), const IN_CLASSC_NET ideal-int +pkg syscall (netbsd-arm64-cgo), const IN_CLASSC_NSHIFT = 8 +pkg syscall (netbsd-arm64-cgo), const IN_CLASSC_NSHIFT ideal-int +pkg syscall (netbsd-arm64-cgo), const IN_CLASSD_HOST = 268435455 +pkg syscall (netbsd-arm64-cgo), const IN_CLASSD_HOST ideal-int +pkg syscall (netbsd-arm64-cgo), const IN_CLASSD_NET = 4026531840 +pkg syscall (netbsd-arm64-cgo), const IN_CLASSD_NET ideal-int +pkg syscall (netbsd-arm64-cgo), const IN_CLASSD_NSHIFT = 28 +pkg syscall (netbsd-arm64-cgo), const IN_CLASSD_NSHIFT ideal-int +pkg syscall (netbsd-arm64-cgo), const INLCR = 64 +pkg syscall (netbsd-arm64-cgo), const INLCR ideal-int +pkg syscall (netbsd-arm64-cgo), const IN_LOOPBACKNET = 127 +pkg syscall (netbsd-arm64-cgo), const IN_LOOPBACKNET ideal-int +pkg syscall (netbsd-arm64-cgo), const INPCK = 16 +pkg syscall (netbsd-arm64-cgo), const INPCK ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_ADD_MEMBERSHIP = 12 +pkg syscall (netbsd-arm64-cgo), const IP_DEFAULT_MULTICAST_LOOP = 1 +pkg syscall (netbsd-arm64-cgo), const IP_DEFAULT_MULTICAST_LOOP ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_DEFAULT_MULTICAST_TTL = 1 +pkg syscall (netbsd-arm64-cgo), const IP_DEFAULT_MULTICAST_TTL ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_DF = 16384 +pkg syscall (netbsd-arm64-cgo), const IP_DF ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_DROP_MEMBERSHIP = 13 +pkg syscall (netbsd-arm64-cgo), const IP_EF = 32768 +pkg syscall (netbsd-arm64-cgo), const IP_EF ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_ERRORMTU = 21 +pkg syscall (netbsd-arm64-cgo), const IP_ERRORMTU ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_HDRINCL = 2 +pkg syscall (netbsd-arm64-cgo), const IP_HDRINCL ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_IPSEC_POLICY = 22 +pkg syscall (netbsd-arm64-cgo), const IP_IPSEC_POLICY ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_MAX_MEMBERSHIPS = 20 +pkg syscall (netbsd-arm64-cgo), const IP_MAX_MEMBERSHIPS ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_MAXPACKET = 65535 +pkg syscall (netbsd-arm64-cgo), const IP_MAXPACKET ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_MF = 8192 +pkg syscall (netbsd-arm64-cgo), const IP_MF ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_MINFRAGSIZE = 69 +pkg syscall (netbsd-arm64-cgo), const IP_MINFRAGSIZE ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_MINTTL = 24 +pkg syscall (netbsd-arm64-cgo), const IP_MINTTL ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_MSS = 576 +pkg syscall (netbsd-arm64-cgo), const IP_MSS ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_MULTICAST_IF = 9 +pkg syscall (netbsd-arm64-cgo), const IP_MULTICAST_LOOP = 11 +pkg syscall (netbsd-arm64-cgo), const IP_MULTICAST_TTL = 10 +pkg syscall (netbsd-arm64-cgo), const IP_OFFMASK = 8191 +pkg syscall (netbsd-arm64-cgo), const IP_OFFMASK ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_OPTIONS = 1 +pkg syscall (netbsd-arm64-cgo), const IP_OPTIONS ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE = 19 +pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE_DEFAULT = 0 +pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE_DEFAULT ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE_HIGH = 1 +pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE_HIGH ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE_LOW = 2 +pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE_LOW ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_AH = 51 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_AH ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_CARP = 112 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_CARP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_DONE = 257 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_DONE ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_DSTOPTS = 60 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_DSTOPTS ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_EGP = 8 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_EGP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_ENCAP = 98 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_ENCAP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_EON = 80 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_EON ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_ESP = 50 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_ESP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_ETHERIP = 97 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_ETHERIP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_FRAGMENT = 44 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_FRAGMENT ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_GGP = 3 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_GGP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_GRE = 47 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_GRE ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_HOPOPTS = 0 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_HOPOPTS ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_ICMP = 1 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_ICMP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_ICMPV6 = 58 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_ICMPV6 ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_IDP = 22 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_IDP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_IGMP = 2 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_IGMP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPCOMP = 108 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPCOMP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPIP = 4 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPIP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPV4 = 4 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPV4 ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPV6_ICMP = 58 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPV6_ICMP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_MAX = 256 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_MAXID = 52 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_MAX ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_MAXID ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_MOBILE = 55 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_MOBILE ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_NONE = 59 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_NONE ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_PFSYNC = 240 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_PFSYNC ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_PIM = 103 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_PIM ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_PUP = 12 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_PUP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_RAW = 255 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_RAW ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_ROUTING = 43 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_ROUTING ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_RSVP = 46 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_RSVP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_TP = 29 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_TP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPPROTO_VRRP = 112 +pkg syscall (netbsd-arm64-cgo), const IPPROTO_VRRP ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_RECVDSTADDR = 7 +pkg syscall (netbsd-arm64-cgo), const IP_RECVDSTADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_RECVIF = 20 +pkg syscall (netbsd-arm64-cgo), const IP_RECVIF ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_RECVOPTS = 5 +pkg syscall (netbsd-arm64-cgo), const IP_RECVOPTS ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_RECVRETOPTS = 6 +pkg syscall (netbsd-arm64-cgo), const IP_RECVRETOPTS ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_RECVTTL = 23 +pkg syscall (netbsd-arm64-cgo), const IP_RECVTTL ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_RETOPTS = 8 +pkg syscall (netbsd-arm64-cgo), const IP_RETOPTS ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_RF = 32768 +pkg syscall (netbsd-arm64-cgo), const IP_RF ideal-int +pkg syscall (netbsd-arm64-cgo), const IP_TOS = 3 +pkg syscall (netbsd-arm64-cgo), const IP_TTL = 4 +pkg syscall (netbsd-arm64-cgo), const IPV6_CHECKSUM = 26 +pkg syscall (netbsd-arm64-cgo), const IPV6_CHECKSUM ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_DEFAULT_MULTICAST_HOPS = 1 +pkg syscall (netbsd-arm64-cgo), const IPV6_DEFAULT_MULTICAST_HOPS ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_DEFAULT_MULTICAST_LOOP = 1 +pkg syscall (netbsd-arm64-cgo), const IPV6_DEFAULT_MULTICAST_LOOP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_DEFHLIM = 64 +pkg syscall (netbsd-arm64-cgo), const IPV6_DEFHLIM ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_DONTFRAG = 62 +pkg syscall (netbsd-arm64-cgo), const IPV6_DONTFRAG ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_DSTOPTS = 50 +pkg syscall (netbsd-arm64-cgo), const IPV6_DSTOPTS ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_FAITH = 29 +pkg syscall (netbsd-arm64-cgo), const IPV6_FAITH ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_FLOWINFO_MASK = 4294967055 +pkg syscall (netbsd-arm64-cgo), const IPV6_FLOWINFO_MASK ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_FLOWLABEL_MASK = 4294905600 +pkg syscall (netbsd-arm64-cgo), const IPV6_FLOWLABEL_MASK ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_FRAGTTL = 120 +pkg syscall (netbsd-arm64-cgo), const IPV6_FRAGTTL ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_HLIMDEC = 1 +pkg syscall (netbsd-arm64-cgo), const IPV6_HLIMDEC ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_HOPLIMIT = 47 +pkg syscall (netbsd-arm64-cgo), const IPV6_HOPLIMIT ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_HOPOPTS = 49 +pkg syscall (netbsd-arm64-cgo), const IPV6_HOPOPTS ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_IPSEC_POLICY = 28 +pkg syscall (netbsd-arm64-cgo), const IPV6_IPSEC_POLICY ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_JOIN_GROUP = 12 +pkg syscall (netbsd-arm64-cgo), const IPV6_LEAVE_GROUP = 13 +pkg syscall (netbsd-arm64-cgo), const IPV6_MAXHLIM = 255 +pkg syscall (netbsd-arm64-cgo), const IPV6_MAXHLIM ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_MAXPACKET = 65535 +pkg syscall (netbsd-arm64-cgo), const IPV6_MAXPACKET ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_MMTU = 1280 +pkg syscall (netbsd-arm64-cgo), const IPV6_MMTU ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_MULTICAST_HOPS = 10 +pkg syscall (netbsd-arm64-cgo), const IPV6_MULTICAST_IF = 9 +pkg syscall (netbsd-arm64-cgo), const IPV6_MULTICAST_LOOP = 11 +pkg syscall (netbsd-arm64-cgo), const IPV6_NEXTHOP = 48 +pkg syscall (netbsd-arm64-cgo), const IPV6_NEXTHOP ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_PATHMTU = 44 +pkg syscall (netbsd-arm64-cgo), const IPV6_PATHMTU ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_PKTINFO = 46 +pkg syscall (netbsd-arm64-cgo), const IPV6_PKTINFO ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE = 14 +pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE_DEFAULT = 0 +pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE_DEFAULT ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE_HIGH = 1 +pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE_HIGH ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE_LOW = 2 +pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE_LOW ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_RECVDSTOPTS = 40 +pkg syscall (netbsd-arm64-cgo), const IPV6_RECVDSTOPTS ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_RECVHOPLIMIT = 37 +pkg syscall (netbsd-arm64-cgo), const IPV6_RECVHOPLIMIT ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_RECVHOPOPTS = 39 +pkg syscall (netbsd-arm64-cgo), const IPV6_RECVHOPOPTS ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_RECVPATHMTU = 43 +pkg syscall (netbsd-arm64-cgo), const IPV6_RECVPATHMTU ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_RECVPKTINFO = 36 +pkg syscall (netbsd-arm64-cgo), const IPV6_RECVPKTINFO ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_RECVRTHDR = 38 +pkg syscall (netbsd-arm64-cgo), const IPV6_RECVRTHDR ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_RECVTCLASS = 57 +pkg syscall (netbsd-arm64-cgo), const IPV6_RECVTCLASS ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR = 51 +pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDRDSTOPTS = 35 +pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDRDSTOPTS ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR_LOOSE = 0 +pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR_LOOSE ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR_STRICT = 1 +pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR_STRICT ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR_TYPE_0 = 0 +pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR_TYPE_0 ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_SOCKOPT_RESERVED1 = 3 +pkg syscall (netbsd-arm64-cgo), const IPV6_SOCKOPT_RESERVED1 ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_TCLASS = 61 +pkg syscall (netbsd-arm64-cgo), const IPV6_TCLASS ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_UNICAST_HOPS = 4 +pkg syscall (netbsd-arm64-cgo), const IPV6_USE_MIN_MTU = 42 +pkg syscall (netbsd-arm64-cgo), const IPV6_USE_MIN_MTU ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_V6ONLY = 27 +pkg syscall (netbsd-arm64-cgo), const IPV6_VERSION = 96 +pkg syscall (netbsd-arm64-cgo), const IPV6_VERSION ideal-int +pkg syscall (netbsd-arm64-cgo), const IPV6_VERSION_MASK = 240 +pkg syscall (netbsd-arm64-cgo), const IPV6_VERSION_MASK ideal-int +pkg syscall (netbsd-arm64-cgo), const ISIG = 128 +pkg syscall (netbsd-arm64-cgo), const ISIG ideal-int +pkg syscall (netbsd-arm64-cgo), const ISTRIP = 32 +pkg syscall (netbsd-arm64-cgo), const ISTRIP ideal-int +pkg syscall (netbsd-arm64-cgo), const IXANY = 2048 +pkg syscall (netbsd-arm64-cgo), const IXANY ideal-int +pkg syscall (netbsd-arm64-cgo), const IXOFF = 1024 +pkg syscall (netbsd-arm64-cgo), const IXOFF ideal-int +pkg syscall (netbsd-arm64-cgo), const IXON = 512 +pkg syscall (netbsd-arm64-cgo), const IXON ideal-int +pkg syscall (netbsd-arm64-cgo), const LOCK_EX = 2 +pkg syscall (netbsd-arm64-cgo), const LOCK_EX ideal-int +pkg syscall (netbsd-arm64-cgo), const LOCK_NB = 4 +pkg syscall (netbsd-arm64-cgo), const LOCK_NB ideal-int +pkg syscall (netbsd-arm64-cgo), const LOCK_SH = 1 +pkg syscall (netbsd-arm64-cgo), const LOCK_SH ideal-int +pkg syscall (netbsd-arm64-cgo), const LOCK_UN = 8 +pkg syscall (netbsd-arm64-cgo), const LOCK_UN ideal-int +pkg syscall (netbsd-arm64-cgo), const MADV_DONTNEED = 4 +pkg syscall (netbsd-arm64-cgo), const MADV_DONTNEED ideal-int +pkg syscall (netbsd-arm64-cgo), const MADV_FREE = 6 +pkg syscall (netbsd-arm64-cgo), const MADV_FREE ideal-int +pkg syscall (netbsd-arm64-cgo), const MADV_NORMAL = 0 +pkg syscall (netbsd-arm64-cgo), const MADV_NORMAL ideal-int +pkg syscall (netbsd-arm64-cgo), const MADV_RANDOM = 1 +pkg syscall (netbsd-arm64-cgo), const MADV_RANDOM ideal-int +pkg syscall (netbsd-arm64-cgo), const MADV_SEQUENTIAL = 2 +pkg syscall (netbsd-arm64-cgo), const MADV_SEQUENTIAL ideal-int +pkg syscall (netbsd-arm64-cgo), const MADV_SPACEAVAIL = 5 +pkg syscall (netbsd-arm64-cgo), const MADV_SPACEAVAIL ideal-int +pkg syscall (netbsd-arm64-cgo), const MADV_WILLNEED = 3 +pkg syscall (netbsd-arm64-cgo), const MADV_WILLNEED ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_16MB = 402653184 +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_16MB ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_1TB = 671088640 +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_1TB ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_256TB = 805306368 +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_256TB ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_4GB = 536870912 +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_4GB ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_64KB = 268435456 +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_64KB ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_64PB = 939524096 +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_64PB ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_MASK = -16777216 +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_MASK ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_SHIFT = 24 +pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_SHIFT ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_ANON = 4096 +pkg syscall (netbsd-arm64-cgo), const MAP_ANON ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_FILE = 0 +pkg syscall (netbsd-arm64-cgo), const MAP_FILE ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_FIXED = 16 +pkg syscall (netbsd-arm64-cgo), const MAP_FIXED ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_HASSEMAPHORE = 512 +pkg syscall (netbsd-arm64-cgo), const MAP_HASSEMAPHORE ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT = 128 +pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_COPY = 1 +pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_COPY ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_DEFAULT = 1 +pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_DEFAULT ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_DONATE_COPY = 3 +pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_DONATE_COPY ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_NONE = 2 +pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_NONE ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_SHARE = 0 +pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_SHARE ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_NORESERVE = 64 +pkg syscall (netbsd-arm64-cgo), const MAP_NORESERVE ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_PRIVATE = 2 +pkg syscall (netbsd-arm64-cgo), const MAP_PRIVATE ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_RENAME = 32 +pkg syscall (netbsd-arm64-cgo), const MAP_RENAME ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_SHARED = 1 +pkg syscall (netbsd-arm64-cgo), const MAP_SHARED ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_STACK = 8192 +pkg syscall (netbsd-arm64-cgo), const MAP_STACK ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_TRYFIXED = 1024 +pkg syscall (netbsd-arm64-cgo), const MAP_TRYFIXED ideal-int +pkg syscall (netbsd-arm64-cgo), const MAP_WIRED = 2048 +pkg syscall (netbsd-arm64-cgo), const MAP_WIRED ideal-int +pkg syscall (netbsd-arm64-cgo), const MCL_CURRENT = 1 +pkg syscall (netbsd-arm64-cgo), const MCL_CURRENT ideal-int +pkg syscall (netbsd-arm64-cgo), const MCL_FUTURE = 2 +pkg syscall (netbsd-arm64-cgo), const MCL_FUTURE ideal-int +pkg syscall (netbsd-arm64-cgo), const MS_ASYNC = 1 +pkg syscall (netbsd-arm64-cgo), const MS_ASYNC ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_BCAST = 256 +pkg syscall (netbsd-arm64-cgo), const MSG_BCAST ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_CMSG_CLOEXEC = 2048 +pkg syscall (netbsd-arm64-cgo), const MSG_CMSG_CLOEXEC ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_CONTROLMBUF = 33554432 +pkg syscall (netbsd-arm64-cgo), const MSG_CONTROLMBUF ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_CTRUNC = 32 +pkg syscall (netbsd-arm64-cgo), const MSG_CTRUNC ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_DONTROUTE = 4 +pkg syscall (netbsd-arm64-cgo), const MSG_DONTROUTE ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_DONTWAIT = 128 +pkg syscall (netbsd-arm64-cgo), const MSG_DONTWAIT ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_EOR = 8 +pkg syscall (netbsd-arm64-cgo), const MSG_EOR ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_IOVUSRSPACE = 67108864 +pkg syscall (netbsd-arm64-cgo), const MSG_IOVUSRSPACE ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_LENUSRSPACE = 134217728 +pkg syscall (netbsd-arm64-cgo), const MSG_LENUSRSPACE ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_MCAST = 512 +pkg syscall (netbsd-arm64-cgo), const MSG_MCAST ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_NAMEMBUF = 16777216 +pkg syscall (netbsd-arm64-cgo), const MSG_NAMEMBUF ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_NBIO = 4096 +pkg syscall (netbsd-arm64-cgo), const MSG_NBIO ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_NOSIGNAL = 1024 +pkg syscall (netbsd-arm64-cgo), const MSG_NOSIGNAL ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_OOB = 1 +pkg syscall (netbsd-arm64-cgo), const MSG_OOB ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_PEEK = 2 +pkg syscall (netbsd-arm64-cgo), const MSG_PEEK ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_TRUNC = 16 +pkg syscall (netbsd-arm64-cgo), const MSG_TRUNC ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_USERFLAGS = 16777215 +pkg syscall (netbsd-arm64-cgo), const MSG_USERFLAGS ideal-int +pkg syscall (netbsd-arm64-cgo), const MSG_WAITALL = 64 +pkg syscall (netbsd-arm64-cgo), const MSG_WAITALL ideal-int +pkg syscall (netbsd-arm64-cgo), const MS_INVALIDATE = 2 +pkg syscall (netbsd-arm64-cgo), const MS_INVALIDATE ideal-int +pkg syscall (netbsd-arm64-cgo), const MS_SYNC = 4 +pkg syscall (netbsd-arm64-cgo), const MS_SYNC ideal-int +pkg syscall (netbsd-arm64-cgo), const NAME_MAX = 511 +pkg syscall (netbsd-arm64-cgo), const NAME_MAX ideal-int +pkg syscall (netbsd-arm64-cgo), const NET_RT_DUMP = 1 +pkg syscall (netbsd-arm64-cgo), const NET_RT_DUMP ideal-int +pkg syscall (netbsd-arm64-cgo), const NET_RT_FLAGS = 2 +pkg syscall (netbsd-arm64-cgo), const NET_RT_FLAGS ideal-int +pkg syscall (netbsd-arm64-cgo), const NET_RT_IFLIST = 5 +pkg syscall (netbsd-arm64-cgo), const NET_RT_IFLIST ideal-int +pkg syscall (netbsd-arm64-cgo), const NET_RT_MAXID = 6 +pkg syscall (netbsd-arm64-cgo), const NET_RT_MAXID ideal-int +pkg syscall (netbsd-arm64-cgo), const NET_RT_OIFLIST = 4 +pkg syscall (netbsd-arm64-cgo), const NET_RT_OIFLIST ideal-int +pkg syscall (netbsd-arm64-cgo), const NET_RT_OOIFLIST = 3 +pkg syscall (netbsd-arm64-cgo), const NET_RT_OOIFLIST ideal-int +pkg syscall (netbsd-arm64-cgo), const NOFLSH = 2147483648 +pkg syscall (netbsd-arm64-cgo), const NOFLSH ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_ATTRIB = 8 +pkg syscall (netbsd-arm64-cgo), const NOTE_ATTRIB ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_CHILD = 4 +pkg syscall (netbsd-arm64-cgo), const NOTE_CHILD ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_DELETE = 1 +pkg syscall (netbsd-arm64-cgo), const NOTE_DELETE ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_EXEC = 536870912 +pkg syscall (netbsd-arm64-cgo), const NOTE_EXEC ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_EXIT = 2147483648 +pkg syscall (netbsd-arm64-cgo), const NOTE_EXIT ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_EXTEND = 4 +pkg syscall (netbsd-arm64-cgo), const NOTE_EXTEND ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_FORK = 1073741824 +pkg syscall (netbsd-arm64-cgo), const NOTE_FORK ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_LINK = 16 +pkg syscall (netbsd-arm64-cgo), const NOTE_LINK ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_LOWAT = 1 +pkg syscall (netbsd-arm64-cgo), const NOTE_LOWAT ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_PCTRLMASK = 4026531840 +pkg syscall (netbsd-arm64-cgo), const NOTE_PCTRLMASK ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_PDATAMASK = 1048575 +pkg syscall (netbsd-arm64-cgo), const NOTE_PDATAMASK ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_RENAME = 32 +pkg syscall (netbsd-arm64-cgo), const NOTE_RENAME ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_REVOKE = 64 +pkg syscall (netbsd-arm64-cgo), const NOTE_REVOKE ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_TRACK = 1 +pkg syscall (netbsd-arm64-cgo), const NOTE_TRACKERR = 2 +pkg syscall (netbsd-arm64-cgo), const NOTE_TRACKERR ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_TRACK ideal-int +pkg syscall (netbsd-arm64-cgo), const NOTE_WRITE = 2 +pkg syscall (netbsd-arm64-cgo), const NOTE_WRITE ideal-int +pkg syscall (netbsd-arm64-cgo), const O_ACCMODE = 3 +pkg syscall (netbsd-arm64-cgo), const O_ACCMODE ideal-int +pkg syscall (netbsd-arm64-cgo), const O_ALT_IO = 262144 +pkg syscall (netbsd-arm64-cgo), const O_ALT_IO ideal-int +pkg syscall (netbsd-arm64-cgo), const O_APPEND = 8 +pkg syscall (netbsd-arm64-cgo), const O_ASYNC = 64 +pkg syscall (netbsd-arm64-cgo), const O_CLOEXEC = 4194304 +pkg syscall (netbsd-arm64-cgo), const O_CREAT = 512 +pkg syscall (netbsd-arm64-cgo), const OCRNL = 16 +pkg syscall (netbsd-arm64-cgo), const OCRNL ideal-int +pkg syscall (netbsd-arm64-cgo), const O_DIRECT = 524288 +pkg syscall (netbsd-arm64-cgo), const O_DIRECT ideal-int +pkg syscall (netbsd-arm64-cgo), const O_DIRECTORY = 2097152 +pkg syscall (netbsd-arm64-cgo), const O_DIRECTORY ideal-int +pkg syscall (netbsd-arm64-cgo), const O_DSYNC = 65536 +pkg syscall (netbsd-arm64-cgo), const O_DSYNC ideal-int +pkg syscall (netbsd-arm64-cgo), const O_EXCL = 2048 +pkg syscall (netbsd-arm64-cgo), const O_EXLOCK = 32 +pkg syscall (netbsd-arm64-cgo), const O_EXLOCK ideal-int +pkg syscall (netbsd-arm64-cgo), const OFIOGETBMAP = 3221513850 +pkg syscall (netbsd-arm64-cgo), const OFIOGETBMAP ideal-int +pkg syscall (netbsd-arm64-cgo), const O_FSYNC = 128 +pkg syscall (netbsd-arm64-cgo), const O_FSYNC ideal-int +pkg syscall (netbsd-arm64-cgo), const O_NDELAY = 4 +pkg syscall (netbsd-arm64-cgo), const O_NDELAY ideal-int +pkg syscall (netbsd-arm64-cgo), const ONLCR = 2 +pkg syscall (netbsd-arm64-cgo), const ONLCR ideal-int +pkg syscall (netbsd-arm64-cgo), const ONLRET = 64 +pkg syscall (netbsd-arm64-cgo), const ONLRET ideal-int +pkg syscall (netbsd-arm64-cgo), const ONOCR = 32 +pkg syscall (netbsd-arm64-cgo), const ONOCR ideal-int +pkg syscall (netbsd-arm64-cgo), const O_NOCTTY = 32768 +pkg syscall (netbsd-arm64-cgo), const ONOEOT = 8 +pkg syscall (netbsd-arm64-cgo), const ONOEOT ideal-int +pkg syscall (netbsd-arm64-cgo), const O_NOFOLLOW = 256 +pkg syscall (netbsd-arm64-cgo), const O_NOFOLLOW ideal-int +pkg syscall (netbsd-arm64-cgo), const O_NONBLOCK = 4 +pkg syscall (netbsd-arm64-cgo), const O_NOSIGPIPE = 16777216 +pkg syscall (netbsd-arm64-cgo), const O_NOSIGPIPE ideal-int +pkg syscall (netbsd-arm64-cgo), const OPOST = 1 +pkg syscall (netbsd-arm64-cgo), const OPOST ideal-int +pkg syscall (netbsd-arm64-cgo), const O_RSYNC = 131072 +pkg syscall (netbsd-arm64-cgo), const O_RSYNC ideal-int +pkg syscall (netbsd-arm64-cgo), const O_SHLOCK = 16 +pkg syscall (netbsd-arm64-cgo), const O_SHLOCK ideal-int +pkg syscall (netbsd-arm64-cgo), const O_SYNC = 128 +pkg syscall (netbsd-arm64-cgo), const O_TRUNC = 1024 +pkg syscall (netbsd-arm64-cgo), const PARENB = 4096 +pkg syscall (netbsd-arm64-cgo), const PARENB ideal-int +pkg syscall (netbsd-arm64-cgo), const PARMRK = 8 +pkg syscall (netbsd-arm64-cgo), const PARMRK ideal-int +pkg syscall (netbsd-arm64-cgo), const PARODD = 8192 +pkg syscall (netbsd-arm64-cgo), const PARODD ideal-int +pkg syscall (netbsd-arm64-cgo), const PENDIN = 536870912 +pkg syscall (netbsd-arm64-cgo), const PENDIN ideal-int +pkg syscall (netbsd-arm64-cgo), const PRI_IOFLUSH = 124 +pkg syscall (netbsd-arm64-cgo), const PRI_IOFLUSH ideal-int +pkg syscall (netbsd-arm64-cgo), const PRIO_PGRP = 1 +pkg syscall (netbsd-arm64-cgo), const PRIO_PGRP ideal-int +pkg syscall (netbsd-arm64-cgo), const PRIO_PROCESS = 0 +pkg syscall (netbsd-arm64-cgo), const PRIO_PROCESS ideal-int +pkg syscall (netbsd-arm64-cgo), const PRIO_USER = 2 +pkg syscall (netbsd-arm64-cgo), const PRIO_USER ideal-int +pkg syscall (netbsd-arm64-cgo), const PROT_EXEC = 4 +pkg syscall (netbsd-arm64-cgo), const PROT_EXEC ideal-int +pkg syscall (netbsd-arm64-cgo), const PROT_NONE = 0 +pkg syscall (netbsd-arm64-cgo), const PROT_NONE ideal-int +pkg syscall (netbsd-arm64-cgo), const PROT_READ = 1 +pkg syscall (netbsd-arm64-cgo), const PROT_READ ideal-int +pkg syscall (netbsd-arm64-cgo), const PROT_WRITE = 2 +pkg syscall (netbsd-arm64-cgo), const PROT_WRITE ideal-int +pkg syscall (netbsd-arm64-cgo), const PTRACE_CONT = 7 +pkg syscall (netbsd-arm64-cgo), const PTRACE_CONT ideal-int +pkg syscall (netbsd-arm64-cgo), const PTRACE_KILL = 8 +pkg syscall (netbsd-arm64-cgo), const PTRACE_KILL ideal-int +pkg syscall (netbsd-arm64-cgo), const PTRACE_TRACEME = 0 +pkg syscall (netbsd-arm64-cgo), const PTRACE_TRACEME ideal-int +pkg syscall (netbsd-arm64-cgo), const RLIM_INFINITY = 9223372036854775807 +pkg syscall (netbsd-arm64-cgo), const RLIM_INFINITY ideal-int +pkg syscall (netbsd-arm64-cgo), const RLIMIT_AS = 10 +pkg syscall (netbsd-arm64-cgo), const RLIMIT_AS ideal-int +pkg syscall (netbsd-arm64-cgo), const RLIMIT_CORE = 4 +pkg syscall (netbsd-arm64-cgo), const RLIMIT_CORE ideal-int +pkg syscall (netbsd-arm64-cgo), const RLIMIT_CPU = 0 +pkg syscall (netbsd-arm64-cgo), const RLIMIT_CPU ideal-int +pkg syscall (netbsd-arm64-cgo), const RLIMIT_DATA = 2 +pkg syscall (netbsd-arm64-cgo), const RLIMIT_DATA ideal-int +pkg syscall (netbsd-arm64-cgo), const RLIMIT_FSIZE = 1 +pkg syscall (netbsd-arm64-cgo), const RLIMIT_FSIZE ideal-int +pkg syscall (netbsd-arm64-cgo), const RLIMIT_NOFILE = 8 +pkg syscall (netbsd-arm64-cgo), const RLIMIT_NOFILE ideal-int +pkg syscall (netbsd-arm64-cgo), const RLIMIT_STACK = 3 +pkg syscall (netbsd-arm64-cgo), const RLIMIT_STACK ideal-int +pkg syscall (netbsd-arm64-cgo), const RTA_AUTHOR = 64 +pkg syscall (netbsd-arm64-cgo), const RTA_AUTHOR ideal-int +pkg syscall (netbsd-arm64-cgo), const RTA_BRD = 128 +pkg syscall (netbsd-arm64-cgo), const RTA_BRD ideal-int +pkg syscall (netbsd-arm64-cgo), const RTA_DST = 1 +pkg syscall (netbsd-arm64-cgo), const RTA_DST ideal-int +pkg syscall (netbsd-arm64-cgo), const RTA_GATEWAY = 2 +pkg syscall (netbsd-arm64-cgo), const RTA_GATEWAY ideal-int +pkg syscall (netbsd-arm64-cgo), const RTA_GENMASK = 8 +pkg syscall (netbsd-arm64-cgo), const RTA_GENMASK ideal-int +pkg syscall (netbsd-arm64-cgo), const RTA_IFA = 32 +pkg syscall (netbsd-arm64-cgo), const RTA_IFA ideal-int +pkg syscall (netbsd-arm64-cgo), const RTA_IFP = 16 +pkg syscall (netbsd-arm64-cgo), const RTA_IFP ideal-int +pkg syscall (netbsd-arm64-cgo), const RTA_NETMASK = 4 +pkg syscall (netbsd-arm64-cgo), const RTA_NETMASK ideal-int +pkg syscall (netbsd-arm64-cgo), const RTA_TAG = 256 +pkg syscall (netbsd-arm64-cgo), const RTA_TAG ideal-int +pkg syscall (netbsd-arm64-cgo), const RTAX_AUTHOR = 6 +pkg syscall (netbsd-arm64-cgo), const RTAX_AUTHOR ideal-int +pkg syscall (netbsd-arm64-cgo), const RTAX_BRD = 7 +pkg syscall (netbsd-arm64-cgo), const RTAX_BRD ideal-int +pkg syscall (netbsd-arm64-cgo), const RTAX_DST = 0 +pkg syscall (netbsd-arm64-cgo), const RTAX_DST ideal-int +pkg syscall (netbsd-arm64-cgo), const RTAX_GATEWAY = 1 +pkg syscall (netbsd-arm64-cgo), const RTAX_GATEWAY ideal-int +pkg syscall (netbsd-arm64-cgo), const RTAX_GENMASK = 3 +pkg syscall (netbsd-arm64-cgo), const RTAX_GENMASK ideal-int +pkg syscall (netbsd-arm64-cgo), const RTAX_IFA = 5 +pkg syscall (netbsd-arm64-cgo), const RTAX_IFA ideal-int +pkg syscall (netbsd-arm64-cgo), const RTAX_IFP = 4 +pkg syscall (netbsd-arm64-cgo), const RTAX_IFP ideal-int +pkg syscall (netbsd-arm64-cgo), const RTAX_MAX = 9 +pkg syscall (netbsd-arm64-cgo), const RTAX_MAX ideal-int +pkg syscall (netbsd-arm64-cgo), const RTAX_NETMASK = 2 +pkg syscall (netbsd-arm64-cgo), const RTAX_NETMASK ideal-int +pkg syscall (netbsd-arm64-cgo), const RTAX_TAG = 8 +pkg syscall (netbsd-arm64-cgo), const RTAX_TAG ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_ANNOUNCE = 131072 +pkg syscall (netbsd-arm64-cgo), const RTF_ANNOUNCE ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_BLACKHOLE = 4096 +pkg syscall (netbsd-arm64-cgo), const RTF_BLACKHOLE ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_CLONED = 8192 +pkg syscall (netbsd-arm64-cgo), const RTF_CLONED ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_CLONING = 256 +pkg syscall (netbsd-arm64-cgo), const RTF_CLONING ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_DONE = 64 +pkg syscall (netbsd-arm64-cgo), const RTF_DONE ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_DYNAMIC = 16 +pkg syscall (netbsd-arm64-cgo), const RTF_DYNAMIC ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_GATEWAY = 2 +pkg syscall (netbsd-arm64-cgo), const RTF_GATEWAY ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_HOST = 4 +pkg syscall (netbsd-arm64-cgo), const RTF_HOST ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_LLINFO = 1024 +pkg syscall (netbsd-arm64-cgo), const RTF_LLINFO ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_MASK = 128 +pkg syscall (netbsd-arm64-cgo), const RTF_MASK ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_MODIFIED = 32 +pkg syscall (netbsd-arm64-cgo), const RTF_MODIFIED ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_PROTO1 = 32768 +pkg syscall (netbsd-arm64-cgo), const RTF_PROTO1 ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_PROTO2 = 16384 +pkg syscall (netbsd-arm64-cgo), const RTF_PROTO2 ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_REJECT = 8 +pkg syscall (netbsd-arm64-cgo), const RTF_REJECT ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_SRC = 65536 +pkg syscall (netbsd-arm64-cgo), const RTF_SRC ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_STATIC = 2048 +pkg syscall (netbsd-arm64-cgo), const RTF_STATIC ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_UP = 1 +pkg syscall (netbsd-arm64-cgo), const RTF_UP ideal-int +pkg syscall (netbsd-arm64-cgo), const RTF_XRESOLVE = 512 +pkg syscall (netbsd-arm64-cgo), const RTF_XRESOLVE ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_ADD = 1 +pkg syscall (netbsd-arm64-cgo), const RTM_ADD ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_CHANGE = 3 +pkg syscall (netbsd-arm64-cgo), const RTM_CHANGE ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_CHGADDR = 21 +pkg syscall (netbsd-arm64-cgo), const RTM_CHGADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_DELADDR = 13 +pkg syscall (netbsd-arm64-cgo), const RTM_DELADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_DELETE = 2 +pkg syscall (netbsd-arm64-cgo), const RTM_DELETE ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_GET = 4 +pkg syscall (netbsd-arm64-cgo), const RTM_GET ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_IEEE80211 = 17 +pkg syscall (netbsd-arm64-cgo), const RTM_IEEE80211 ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_IFANNOUNCE = 16 +pkg syscall (netbsd-arm64-cgo), const RTM_IFANNOUNCE ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_IFINFO = 20 +pkg syscall (netbsd-arm64-cgo), const RTM_IFINFO ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_LLINFO_UPD = 19 +pkg syscall (netbsd-arm64-cgo), const RTM_LLINFO_UPD ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_LOCK = 8 +pkg syscall (netbsd-arm64-cgo), const RTM_LOCK ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_LOSING = 5 +pkg syscall (netbsd-arm64-cgo), const RTM_LOSING ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_MISS = 7 +pkg syscall (netbsd-arm64-cgo), const RTM_MISS ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_NEWADDR = 12 +pkg syscall (netbsd-arm64-cgo), const RTM_NEWADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_OIFINFO = 15 +pkg syscall (netbsd-arm64-cgo), const RTM_OIFINFO ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_OLDADD = 9 +pkg syscall (netbsd-arm64-cgo), const RTM_OLDADD ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_OLDDEL = 10 +pkg syscall (netbsd-arm64-cgo), const RTM_OLDDEL ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_OOIFINFO = 14 +pkg syscall (netbsd-arm64-cgo), const RTM_OOIFINFO ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_REDIRECT = 6 +pkg syscall (netbsd-arm64-cgo), const RTM_REDIRECT ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_RESOLVE = 11 +pkg syscall (netbsd-arm64-cgo), const RTM_RESOLVE ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_RTTUNIT = 1000000 +pkg syscall (netbsd-arm64-cgo), const RTM_RTTUNIT ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_SETGATE = 18 +pkg syscall (netbsd-arm64-cgo), const RTM_SETGATE ideal-int +pkg syscall (netbsd-arm64-cgo), const RTM_VERSION = 4 +pkg syscall (netbsd-arm64-cgo), const RTM_VERSION ideal-int +pkg syscall (netbsd-arm64-cgo), const RTV_EXPIRE = 4 +pkg syscall (netbsd-arm64-cgo), const RTV_EXPIRE ideal-int +pkg syscall (netbsd-arm64-cgo), const RTV_HOPCOUNT = 2 +pkg syscall (netbsd-arm64-cgo), const RTV_HOPCOUNT ideal-int +pkg syscall (netbsd-arm64-cgo), const RTV_MTU = 1 +pkg syscall (netbsd-arm64-cgo), const RTV_MTU ideal-int +pkg syscall (netbsd-arm64-cgo), const RTV_RPIPE = 8 +pkg syscall (netbsd-arm64-cgo), const RTV_RPIPE ideal-int +pkg syscall (netbsd-arm64-cgo), const RTV_RTT = 64 +pkg syscall (netbsd-arm64-cgo), const RTV_RTT ideal-int +pkg syscall (netbsd-arm64-cgo), const RTV_RTTVAR = 128 +pkg syscall (netbsd-arm64-cgo), const RTV_RTTVAR ideal-int +pkg syscall (netbsd-arm64-cgo), const RTV_SPIPE = 16 +pkg syscall (netbsd-arm64-cgo), const RTV_SPIPE ideal-int +pkg syscall (netbsd-arm64-cgo), const RTV_SSTHRESH = 32 +pkg syscall (netbsd-arm64-cgo), const RTV_SSTHRESH ideal-int +pkg syscall (netbsd-arm64-cgo), const RUSAGE_CHILDREN = -1 +pkg syscall (netbsd-arm64-cgo), const RUSAGE_CHILDREN ideal-int +pkg syscall (netbsd-arm64-cgo), const RUSAGE_SELF = 0 +pkg syscall (netbsd-arm64-cgo), const RUSAGE_SELF ideal-int +pkg syscall (netbsd-arm64-cgo), const S_ARCH1 = 65536 +pkg syscall (netbsd-arm64-cgo), const S_ARCH1 ideal-int +pkg syscall (netbsd-arm64-cgo), const S_ARCH2 = 131072 +pkg syscall (netbsd-arm64-cgo), const S_ARCH2 ideal-int +pkg syscall (netbsd-arm64-cgo), const S_BLKSIZE = 512 +pkg syscall (netbsd-arm64-cgo), const S_BLKSIZE ideal-int +pkg syscall (netbsd-arm64-cgo), const SCM_CREDS = 4 +pkg syscall (netbsd-arm64-cgo), const SCM_CREDS ideal-int +pkg syscall (netbsd-arm64-cgo), const SCM_RIGHTS = 1 +pkg syscall (netbsd-arm64-cgo), const SCM_RIGHTS ideal-int +pkg syscall (netbsd-arm64-cgo), const SCM_TIMESTAMP = 8 +pkg syscall (netbsd-arm64-cgo), const SCM_TIMESTAMP ideal-int +pkg syscall (netbsd-arm64-cgo), const S_IEXEC = 64 +pkg syscall (netbsd-arm64-cgo), const S_IEXEC ideal-int +pkg syscall (netbsd-arm64-cgo), const S_IFMT = 61440 +pkg syscall (netbsd-arm64-cgo), const S_IFWHT = 57344 +pkg syscall (netbsd-arm64-cgo), const S_IFWHT ideal-int +pkg syscall (netbsd-arm64-cgo), const SIGBUS = 10 +pkg syscall (netbsd-arm64-cgo), const SIGCHLD = 20 +pkg syscall (netbsd-arm64-cgo), const SIGCHLD Signal +pkg syscall (netbsd-arm64-cgo), const SIGCONT = 19 +pkg syscall (netbsd-arm64-cgo), const SIGCONT Signal +pkg syscall (netbsd-arm64-cgo), const SIGEMT = 7 +pkg syscall (netbsd-arm64-cgo), const SIGEMT Signal +pkg syscall (netbsd-arm64-cgo), const SIGINFO = 29 +pkg syscall (netbsd-arm64-cgo), const SIGINFO Signal +pkg syscall (netbsd-arm64-cgo), const SIGIO = 23 +pkg syscall (netbsd-arm64-cgo), const SIGIO Signal +pkg syscall (netbsd-arm64-cgo), const SIGIOT = 6 +pkg syscall (netbsd-arm64-cgo), const SIGIOT Signal +pkg syscall (netbsd-arm64-cgo), const SIGPROF = 27 +pkg syscall (netbsd-arm64-cgo), const SIGPROF Signal +pkg syscall (netbsd-arm64-cgo), const SIGPWR = 32 +pkg syscall (netbsd-arm64-cgo), const SIGPWR Signal +pkg syscall (netbsd-arm64-cgo), const SIGSTOP = 17 +pkg syscall (netbsd-arm64-cgo), const SIGSTOP Signal +pkg syscall (netbsd-arm64-cgo), const SIGSYS = 12 +pkg syscall (netbsd-arm64-cgo), const SIGSYS Signal +pkg syscall (netbsd-arm64-cgo), const SIGTSTP = 18 +pkg syscall (netbsd-arm64-cgo), const SIGTSTP Signal +pkg syscall (netbsd-arm64-cgo), const SIGTTIN = 21 +pkg syscall (netbsd-arm64-cgo), const SIGTTIN Signal +pkg syscall (netbsd-arm64-cgo), const SIGTTOU = 22 +pkg syscall (netbsd-arm64-cgo), const SIGTTOU Signal +pkg syscall (netbsd-arm64-cgo), const SIGURG = 16 +pkg syscall (netbsd-arm64-cgo), const SIGURG Signal +pkg syscall (netbsd-arm64-cgo), const SIGUSR1 = 30 +pkg syscall (netbsd-arm64-cgo), const SIGUSR1 Signal +pkg syscall (netbsd-arm64-cgo), const SIGUSR2 = 31 +pkg syscall (netbsd-arm64-cgo), const SIGUSR2 Signal +pkg syscall (netbsd-arm64-cgo), const SIGVTALRM = 26 +pkg syscall (netbsd-arm64-cgo), const SIGVTALRM Signal +pkg syscall (netbsd-arm64-cgo), const SIGWINCH = 28 +pkg syscall (netbsd-arm64-cgo), const SIGWINCH Signal +pkg syscall (netbsd-arm64-cgo), const SIGXCPU = 24 +pkg syscall (netbsd-arm64-cgo), const SIGXCPU Signal +pkg syscall (netbsd-arm64-cgo), const SIGXFSZ = 25 +pkg syscall (netbsd-arm64-cgo), const SIGXFSZ Signal +pkg syscall (netbsd-arm64-cgo), const SIOCADDMULTI = 2156947761 +pkg syscall (netbsd-arm64-cgo), const SIOCADDMULTI ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCADDRT = 2151182858 +pkg syscall (netbsd-arm64-cgo), const SIOCADDRT ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCAIFADDR = 2151704858 +pkg syscall (netbsd-arm64-cgo), const SIOCAIFADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCALIFADDR = 2165860636 +pkg syscall (netbsd-arm64-cgo), const SIOCALIFADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCATMARK = 1074033415 +pkg syscall (netbsd-arm64-cgo), const SIOCATMARK ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCDELMULTI = 2156947762 +pkg syscall (netbsd-arm64-cgo), const SIOCDELMULTI ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCDELRT = 2151182859 +pkg syscall (netbsd-arm64-cgo), const SIOCDELRT ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCDIFADDR = 2156947737 +pkg syscall (netbsd-arm64-cgo), const SIOCDIFADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCDIFPHYADDR = 2156947785 +pkg syscall (netbsd-arm64-cgo), const SIOCDIFPHYADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCDLIFADDR = 2165860638 +pkg syscall (netbsd-arm64-cgo), const SIOCDLIFADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGDRVSPEC = 3223873915 +pkg syscall (netbsd-arm64-cgo), const SIOCGDRVSPEC ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGETPFSYNC = 3230689784 +pkg syscall (netbsd-arm64-cgo), const SIOCGETPFSYNC ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGETSGCNT = 3223352628 +pkg syscall (netbsd-arm64-cgo), const SIOCGETSGCNT ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGETVIFCNT = 3223876915 +pkg syscall (netbsd-arm64-cgo), const SIOCGETVIFCNT ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGHIWAT = 1074033409 +pkg syscall (netbsd-arm64-cgo), const SIOCGHIWAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFADDR = 3230689569 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFADDRPREF = 3231213856 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFADDRPREF ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFALIAS = 3225446683 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFALIAS ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFBRDADDR = 3230689571 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFBRDADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFCAP = 3223349622 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFCAP ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFCONF = 3222300966 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFCONF ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFDATA = 3231213957 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFDATA ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFDLT = 3230689655 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFDLT ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFDSTADDR = 3230689570 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFDSTADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFFLAGS = 3230689553 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFFLAGS ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFGENERIC = 3230689594 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFGENERIC ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFMEDIA = 3224398134 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFMEDIA ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFMETRIC = 3230689559 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFMETRIC ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFMTU = 3230689662 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFMTU ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFNETMASK = 3230689573 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFNETMASK ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFPDSTADDR = 3230689608 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFPDSTADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGIFPSRCADDR = 3230689607 +pkg syscall (netbsd-arm64-cgo), const SIOCGIFPSRCADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGLIFADDR = 3239602461 +pkg syscall (netbsd-arm64-cgo), const SIOCGLIFADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGLIFPHYADDR = 3239602507 +pkg syscall (netbsd-arm64-cgo), const SIOCGLIFPHYADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGLINKSTR = 3223873927 +pkg syscall (netbsd-arm64-cgo), const SIOCGLINKSTR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGLOWAT = 1074033411 +pkg syscall (netbsd-arm64-cgo), const SIOCGLOWAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGPGRP = 1074033417 +pkg syscall (netbsd-arm64-cgo), const SIOCGPGRP ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCGVH = 3230689667 +pkg syscall (netbsd-arm64-cgo), const SIOCGVH ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCIFCREATE = 2156947834 +pkg syscall (netbsd-arm64-cgo), const SIOCIFCREATE ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCIFDESTROY = 2156947833 +pkg syscall (netbsd-arm64-cgo), const SIOCIFDESTROY ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCIFGCLONERS = 3222301048 +pkg syscall (netbsd-arm64-cgo), const SIOCIFGCLONERS ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCINITIFADDR = 3228592516 +pkg syscall (netbsd-arm64-cgo), const SIOCINITIFADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSDRVSPEC = 2150132091 +pkg syscall (netbsd-arm64-cgo), const SIOCSDRVSPEC ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSETPFSYNC = 2156947959 +pkg syscall (netbsd-arm64-cgo), const SIOCSETPFSYNC ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSHIWAT = 2147775232 +pkg syscall (netbsd-arm64-cgo), const SIOCSHIWAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSIFADDR = 2156947724 +pkg syscall (netbsd-arm64-cgo), const SIOCSIFADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSIFADDRPREF = 2157472031 +pkg syscall (netbsd-arm64-cgo), const SIOCSIFADDRPREF ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSIFBRDADDR = 2156947731 +pkg syscall (netbsd-arm64-cgo), const SIOCSIFBRDADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSIFCAP = 2149607797 +pkg syscall (netbsd-arm64-cgo), const SIOCSIFCAP ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSIFDSTADDR = 2156947726 +pkg syscall (netbsd-arm64-cgo), const SIOCSIFDSTADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSIFFLAGS = 2156947728 +pkg syscall (netbsd-arm64-cgo), const SIOCSIFFLAGS ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSIFGENERIC = 2156947769 +pkg syscall (netbsd-arm64-cgo), const SIOCSIFGENERIC ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSIFMEDIA = 3230689589 +pkg syscall (netbsd-arm64-cgo), const SIOCSIFMEDIA ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSIFMETRIC = 2156947736 +pkg syscall (netbsd-arm64-cgo), const SIOCSIFMETRIC ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSIFMTU = 2156947839 +pkg syscall (netbsd-arm64-cgo), const SIOCSIFMTU ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSIFNETMASK = 2156947734 +pkg syscall (netbsd-arm64-cgo), const SIOCSIFNETMASK ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSIFPHYADDR = 2151704902 +pkg syscall (netbsd-arm64-cgo), const SIOCSIFPHYADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSLIFPHYADDR = 2165860682 +pkg syscall (netbsd-arm64-cgo), const SIOCSLIFPHYADDR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSLINKSTR = 2150132104 +pkg syscall (netbsd-arm64-cgo), const SIOCSLINKSTR ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSLOWAT = 2147775234 +pkg syscall (netbsd-arm64-cgo), const SIOCSLOWAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSPGRP = 2147775240 +pkg syscall (netbsd-arm64-cgo), const SIOCSPGRP ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCSVH = 3230689666 +pkg syscall (netbsd-arm64-cgo), const SIOCSVH ideal-int +pkg syscall (netbsd-arm64-cgo), const SIOCZIFDATA = 3231213958 +pkg syscall (netbsd-arm64-cgo), const SIOCZIFDATA ideal-int +pkg syscall (netbsd-arm64-cgo), const S_IREAD = 256 +pkg syscall (netbsd-arm64-cgo), const S_IREAD ideal-int +pkg syscall (netbsd-arm64-cgo), const S_IRGRP = 32 +pkg syscall (netbsd-arm64-cgo), const S_IRGRP ideal-int +pkg syscall (netbsd-arm64-cgo), const S_IROTH = 4 +pkg syscall (netbsd-arm64-cgo), const S_IROTH ideal-int +pkg syscall (netbsd-arm64-cgo), const S_IRWXG = 56 +pkg syscall (netbsd-arm64-cgo), const S_IRWXG ideal-int +pkg syscall (netbsd-arm64-cgo), const S_IRWXO = 7 +pkg syscall (netbsd-arm64-cgo), const S_IRWXO ideal-int +pkg syscall (netbsd-arm64-cgo), const S_IRWXU = 448 +pkg syscall (netbsd-arm64-cgo), const S_IRWXU ideal-int +pkg syscall (netbsd-arm64-cgo), const S_ISTXT = 512 +pkg syscall (netbsd-arm64-cgo), const S_ISTXT ideal-int +pkg syscall (netbsd-arm64-cgo), const S_IWGRP = 16 +pkg syscall (netbsd-arm64-cgo), const S_IWGRP ideal-int +pkg syscall (netbsd-arm64-cgo), const S_IWOTH = 2 +pkg syscall (netbsd-arm64-cgo), const S_IWOTH ideal-int +pkg syscall (netbsd-arm64-cgo), const S_IWRITE = 128 +pkg syscall (netbsd-arm64-cgo), const S_IWRITE ideal-int +pkg syscall (netbsd-arm64-cgo), const S_IXGRP = 8 +pkg syscall (netbsd-arm64-cgo), const S_IXGRP ideal-int +pkg syscall (netbsd-arm64-cgo), const S_IXOTH = 1 +pkg syscall (netbsd-arm64-cgo), const S_IXOTH ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofBpfHdr = 32 +pkg syscall (netbsd-arm64-cgo), const SizeofBpfHdr ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofBpfInsn = 8 +pkg syscall (netbsd-arm64-cgo), const SizeofBpfInsn ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofBpfProgram = 16 +pkg syscall (netbsd-arm64-cgo), const SizeofBpfProgram ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofBpfStat = 128 +pkg syscall (netbsd-arm64-cgo), const SizeofBpfStat ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofBpfVersion = 4 +pkg syscall (netbsd-arm64-cgo), const SizeofBpfVersion ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofCmsghdr = 12 +pkg syscall (netbsd-arm64-cgo), const SizeofCmsghdr ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofICMPv6Filter = 32 +pkg syscall (netbsd-arm64-cgo), const SizeofICMPv6Filter ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofIfaMsghdr = 24 +pkg syscall (netbsd-arm64-cgo), const SizeofIfaMsghdr ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofIfAnnounceMsghdr = 24 +pkg syscall (netbsd-arm64-cgo), const SizeofIfAnnounceMsghdr ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofIfData = 136 +pkg syscall (netbsd-arm64-cgo), const SizeofIfData ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofIfMsghdr = 152 +pkg syscall (netbsd-arm64-cgo), const SizeofIfMsghdr ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofInet6Pktinfo = 20 +pkg syscall (netbsd-arm64-cgo), const SizeofInet6Pktinfo ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofIPMreq = 8 +pkg syscall (netbsd-arm64-cgo), const SizeofIPMreq ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofIPv6Mreq = 20 +pkg syscall (netbsd-arm64-cgo), const SizeofIPv6Mreq ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofIPv6MTUInfo = 32 +pkg syscall (netbsd-arm64-cgo), const SizeofIPv6MTUInfo ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofLinger = 8 +pkg syscall (netbsd-arm64-cgo), const SizeofLinger ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofMsghdr = 48 +pkg syscall (netbsd-arm64-cgo), const SizeofMsghdr ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofRtMetrics = 80 +pkg syscall (netbsd-arm64-cgo), const SizeofRtMetrics ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofRtMsghdr = 120 +pkg syscall (netbsd-arm64-cgo), const SizeofRtMsghdr ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrAny = 108 +pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrAny ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrDatalink = 20 +pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrDatalink ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrInet4 = 16 +pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrInet4 ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrInet6 = 28 +pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrInet6 ideal-int +pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrUnix = 106 +pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrUnix ideal-int +pkg syscall (netbsd-arm64-cgo), const S_LOGIN_SET = 1 +pkg syscall (netbsd-arm64-cgo), const S_LOGIN_SET ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_ACCEPTCONN = 2 +pkg syscall (netbsd-arm64-cgo), const SO_ACCEPTCONN ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_ACCEPTFILTER = 4096 +pkg syscall (netbsd-arm64-cgo), const SO_ACCEPTFILTER ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_BROADCAST = 32 +pkg syscall (netbsd-arm64-cgo), const SOCK_CLOEXEC = 268435456 +pkg syscall (netbsd-arm64-cgo), const SOCK_CLOEXEC ideal-int +pkg syscall (netbsd-arm64-cgo), const SOCK_FLAGS_MASK = 4026531840 +pkg syscall (netbsd-arm64-cgo), const SOCK_FLAGS_MASK ideal-int +pkg syscall (netbsd-arm64-cgo), const SOCK_NONBLOCK = 536870912 +pkg syscall (netbsd-arm64-cgo), const SOCK_NONBLOCK ideal-int +pkg syscall (netbsd-arm64-cgo), const SOCK_NOSIGPIPE = 1073741824 +pkg syscall (netbsd-arm64-cgo), const SOCK_NOSIGPIPE ideal-int +pkg syscall (netbsd-arm64-cgo), const SOCK_RDM = 4 +pkg syscall (netbsd-arm64-cgo), const SOCK_RDM ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_DEBUG = 1 +pkg syscall (netbsd-arm64-cgo), const SO_DEBUG ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_DONTROUTE = 16 +pkg syscall (netbsd-arm64-cgo), const SO_ERROR = 4103 +pkg syscall (netbsd-arm64-cgo), const SO_ERROR ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_KEEPALIVE = 8 +pkg syscall (netbsd-arm64-cgo), const SO_LINGER = 128 +pkg syscall (netbsd-arm64-cgo), const SOL_SOCKET = 65535 +pkg syscall (netbsd-arm64-cgo), const SOMAXCONN = 128 +pkg syscall (netbsd-arm64-cgo), const SO_NOHEADER = 4106 +pkg syscall (netbsd-arm64-cgo), const SO_NOHEADER ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_NOSIGPIPE = 2048 +pkg syscall (netbsd-arm64-cgo), const SO_NOSIGPIPE ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_OOBINLINE = 256 +pkg syscall (netbsd-arm64-cgo), const SO_OOBINLINE ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_OVERFLOWED = 4105 +pkg syscall (netbsd-arm64-cgo), const SO_OVERFLOWED ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_RCVBUF = 4098 +pkg syscall (netbsd-arm64-cgo), const SO_RCVLOWAT = 4100 +pkg syscall (netbsd-arm64-cgo), const SO_RCVLOWAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_RCVTIMEO = 4108 +pkg syscall (netbsd-arm64-cgo), const SO_RCVTIMEO ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_REUSEADDR = 4 +pkg syscall (netbsd-arm64-cgo), const SO_REUSEPORT = 512 +pkg syscall (netbsd-arm64-cgo), const SO_REUSEPORT ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_SNDBUF = 4097 +pkg syscall (netbsd-arm64-cgo), const SO_SNDLOWAT = 4099 +pkg syscall (netbsd-arm64-cgo), const SO_SNDLOWAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_SNDTIMEO = 4107 +pkg syscall (netbsd-arm64-cgo), const SO_SNDTIMEO ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_TIMESTAMP = 8192 +pkg syscall (netbsd-arm64-cgo), const SO_TIMESTAMP ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_TYPE = 4104 +pkg syscall (netbsd-arm64-cgo), const SO_TYPE ideal-int +pkg syscall (netbsd-arm64-cgo), const SO_USELOOPBACK = 64 +pkg syscall (netbsd-arm64-cgo), const SO_USELOOPBACK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_ACCEPT = 30 +pkg syscall (netbsd-arm64-cgo), const SYS_ACCEPT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_ACCESS = 33 +pkg syscall (netbsd-arm64-cgo), const SYS_ACCESS ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_ACCT = 51 +pkg syscall (netbsd-arm64-cgo), const SYS_ACCT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_ADJTIME = 421 +pkg syscall (netbsd-arm64-cgo), const SYS_ADJTIME ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_BIND = 104 +pkg syscall (netbsd-arm64-cgo), const SYS_BIND ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_BREAK = 17 +pkg syscall (netbsd-arm64-cgo), const SYS_BREAK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_CHDIR = 12 +pkg syscall (netbsd-arm64-cgo), const SYS_CHDIR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_CHFLAGS = 34 +pkg syscall (netbsd-arm64-cgo), const SYS_CHFLAGS ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_CHMOD = 15 +pkg syscall (netbsd-arm64-cgo), const SYS_CHMOD ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_CHOWN = 16 +pkg syscall (netbsd-arm64-cgo), const SYS_CHOWN ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_CHROOT = 61 +pkg syscall (netbsd-arm64-cgo), const SYS_CHROOT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_CLOCK_GETRES = 429 +pkg syscall (netbsd-arm64-cgo), const SYS_CLOCK_GETRES ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_CLOCK_GETTIME = 427 +pkg syscall (netbsd-arm64-cgo), const SYS_CLOCK_GETTIME ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_CLOCK_SETTIME = 428 +pkg syscall (netbsd-arm64-cgo), const SYS_CLOCK_SETTIME ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS___CLONE = 287 +pkg syscall (netbsd-arm64-cgo), const SYS___CLONE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_CLOSE = 6 +pkg syscall (netbsd-arm64-cgo), const SYS_CLOSE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_CONNECT = 98 +pkg syscall (netbsd-arm64-cgo), const SYS_CONNECT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERS_0 = 0 +pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERS_0 ideal-int +pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERS_1 = 16777216 +pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERS_1 ideal-int +pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERSION = 16777216 +pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERSION ideal-int +pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERS_MASK = 4278190080 +pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERS_MASK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_DUP2 = 90 +pkg syscall (netbsd-arm64-cgo), const SYS_DUP2 ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_DUP3 = 454 +pkg syscall (netbsd-arm64-cgo), const SYS_DUP3 ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_DUP = 41 +pkg syscall (netbsd-arm64-cgo), const SYS_DUP ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_EXECVE = 59 +pkg syscall (netbsd-arm64-cgo), const SYS_EXECVE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_EXIT = 1 +pkg syscall (netbsd-arm64-cgo), const SYS_EXIT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTRCTL = 360 +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTRCTL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_DELETE_FD = 366 +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_DELETE_FD ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_DELETE_FILE = 363 +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_DELETE_FILE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_DELETE_LINK = 369 +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_DELETE_LINK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_GET_FD = 365 +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_GET_FD ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_GET_FILE = 362 +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_GET_FILE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_GET_LINK = 368 +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_GET_LINK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_LIST_FD = 370 +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_LIST_FD ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_LIST_FILE = 371 +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_LIST_FILE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_LIST_LINK = 372 +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_LIST_LINK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_SET_FD = 364 +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_SET_FD ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_SET_FILE = 361 +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_SET_FILE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_SET_LINK = 367 +pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_SET_LINK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FACCESSAT = 462 +pkg syscall (netbsd-arm64-cgo), const SYS_FACCESSAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FCHDIR = 13 +pkg syscall (netbsd-arm64-cgo), const SYS_FCHDIR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FCHFLAGS = 35 +pkg syscall (netbsd-arm64-cgo), const SYS_FCHFLAGS ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FCHMOD = 124 +pkg syscall (netbsd-arm64-cgo), const SYS_FCHMODAT = 463 +pkg syscall (netbsd-arm64-cgo), const SYS_FCHMODAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FCHMOD ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FCHOWN = 123 +pkg syscall (netbsd-arm64-cgo), const SYS_FCHOWNAT = 464 +pkg syscall (netbsd-arm64-cgo), const SYS_FCHOWNAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FCHOWN ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FCHROOT = 297 +pkg syscall (netbsd-arm64-cgo), const SYS_FCHROOT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FCNTL = 92 +pkg syscall (netbsd-arm64-cgo), const SYS_FCNTL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FDATASYNC = 241 +pkg syscall (netbsd-arm64-cgo), const SYS_FDATASYNC ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FEXECVE = 465 +pkg syscall (netbsd-arm64-cgo), const SYS_FEXECVE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FGETXATTR = 380 +pkg syscall (netbsd-arm64-cgo), const SYS_FGETXATTR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FHSTAT = 451 +pkg syscall (netbsd-arm64-cgo), const SYS_FHSTAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FKTRACE = 288 +pkg syscall (netbsd-arm64-cgo), const SYS_FKTRACE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FLISTXATTR = 383 +pkg syscall (netbsd-arm64-cgo), const SYS_FLISTXATTR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FLOCK = 131 +pkg syscall (netbsd-arm64-cgo), const SYS_FLOCK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FORK = 2 +pkg syscall (netbsd-arm64-cgo), const SYS_FORK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FPATHCONF = 192 +pkg syscall (netbsd-arm64-cgo), const SYS_FPATHCONF ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FREMOVEXATTR = 386 +pkg syscall (netbsd-arm64-cgo), const SYS_FREMOVEXATTR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FSETXATTR = 377 +pkg syscall (netbsd-arm64-cgo), const SYS_FSETXATTR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FSTAT = 440 +pkg syscall (netbsd-arm64-cgo), const SYS_FSTATAT = 466 +pkg syscall (netbsd-arm64-cgo), const SYS_FSTATAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FSTAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FSTATVFS1 = 358 +pkg syscall (netbsd-arm64-cgo), const SYS_FSTATVFS1 ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FSYNC = 95 +pkg syscall (netbsd-arm64-cgo), const SYS_FSYNC ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FSYNC_RANGE = 354 +pkg syscall (netbsd-arm64-cgo), const SYS_FSYNC_RANGE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FTRUNCATE = 201 +pkg syscall (netbsd-arm64-cgo), const SYS_FTRUNCATE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FUTIMENS = 472 +pkg syscall (netbsd-arm64-cgo), const SYS_FUTIMENS ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_FUTIMES = 423 +pkg syscall (netbsd-arm64-cgo), const SYS_FUTIMES ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETCONTEXT = 307 +pkg syscall (netbsd-arm64-cgo), const SYS_GETCONTEXT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS___GETCWD = 296 +pkg syscall (netbsd-arm64-cgo), const SYS___GETCWD ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETDENTS = 390 +pkg syscall (netbsd-arm64-cgo), const SYS_GETDENTS ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETEGID = 43 +pkg syscall (netbsd-arm64-cgo), const SYS_GETEGID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETEUID = 25 +pkg syscall (netbsd-arm64-cgo), const SYS_GETEUID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETFH = 395 +pkg syscall (netbsd-arm64-cgo), const SYS_GETFH ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETGID = 47 +pkg syscall (netbsd-arm64-cgo), const SYS_GETGID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETGROUPS = 79 +pkg syscall (netbsd-arm64-cgo), const SYS_GETGROUPS ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETITIMER = 426 +pkg syscall (netbsd-arm64-cgo), const SYS_GETITIMER ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS___GETLOGIN = 49 +pkg syscall (netbsd-arm64-cgo), const SYS___GETLOGIN ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETPEERNAME = 31 +pkg syscall (netbsd-arm64-cgo), const SYS_GETPEERNAME ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETPGID = 207 +pkg syscall (netbsd-arm64-cgo), const SYS_GETPGID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETPGRP = 81 +pkg syscall (netbsd-arm64-cgo), const SYS_GETPGRP ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETPID = 20 +pkg syscall (netbsd-arm64-cgo), const SYS_GETPID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETPPID = 39 +pkg syscall (netbsd-arm64-cgo), const SYS_GETPPID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETPRIORITY = 100 +pkg syscall (netbsd-arm64-cgo), const SYS_GETPRIORITY ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETRLIMIT = 194 +pkg syscall (netbsd-arm64-cgo), const SYS_GETRLIMIT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETRUSAGE = 445 +pkg syscall (netbsd-arm64-cgo), const SYS_GETRUSAGE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETSID = 286 +pkg syscall (netbsd-arm64-cgo), const SYS_GETSID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETSOCKNAME = 32 +pkg syscall (netbsd-arm64-cgo), const SYS_GETSOCKNAME ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETSOCKOPT = 118 +pkg syscall (netbsd-arm64-cgo), const SYS_GETSOCKOPT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETTIMEOFDAY = 418 +pkg syscall (netbsd-arm64-cgo), const SYS_GETTIMEOFDAY ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETUID = 24 +pkg syscall (netbsd-arm64-cgo), const SYS_GETUID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETVFSSTAT = 356 +pkg syscall (netbsd-arm64-cgo), const SYS_GETVFSSTAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_GETXATTR = 378 +pkg syscall (netbsd-arm64-cgo), const SYS_GETXATTR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_IOCTL = 54 +pkg syscall (netbsd-arm64-cgo), const SYS_IOCTL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_ISSETUGID = 305 +pkg syscall (netbsd-arm64-cgo), const SYS_ISSETUGID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_KEVENT = 435 +pkg syscall (netbsd-arm64-cgo), const SYS_KEVENT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_KILL = 37 +pkg syscall (netbsd-arm64-cgo), const SYS_KILL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_KQUEUE1 = 455 +pkg syscall (netbsd-arm64-cgo), const SYS_KQUEUE1 ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_KQUEUE = 344 +pkg syscall (netbsd-arm64-cgo), const SYS_KQUEUE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_KTRACE = 45 +pkg syscall (netbsd-arm64-cgo), const SYS_KTRACE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_LCHFLAGS = 304 +pkg syscall (netbsd-arm64-cgo), const SYS_LCHFLAGS ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_LCHMOD = 274 +pkg syscall (netbsd-arm64-cgo), const SYS_LCHMOD ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_LCHOWN = 275 +pkg syscall (netbsd-arm64-cgo), const SYS_LCHOWN ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_LGETXATTR = 379 +pkg syscall (netbsd-arm64-cgo), const SYS_LGETXATTR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_LINK = 9 +pkg syscall (netbsd-arm64-cgo), const SYS_LINKAT = 457 +pkg syscall (netbsd-arm64-cgo), const SYS_LINKAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_LINK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_LISTEN = 106 +pkg syscall (netbsd-arm64-cgo), const SYS_LISTEN ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_LISTXATTR = 381 +pkg syscall (netbsd-arm64-cgo), const SYS_LISTXATTR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_LLISTXATTR = 382 +pkg syscall (netbsd-arm64-cgo), const SYS_LLISTXATTR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_LREMOVEXATTR = 385 +pkg syscall (netbsd-arm64-cgo), const SYS_LREMOVEXATTR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_LSEEK = 199 +pkg syscall (netbsd-arm64-cgo), const SYS_LSEEK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_LSETXATTR = 376 +pkg syscall (netbsd-arm64-cgo), const SYS_LSETXATTR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_LSTAT = 441 +pkg syscall (netbsd-arm64-cgo), const SYS_LSTAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_LUTIMES = 424 +pkg syscall (netbsd-arm64-cgo), const SYS_LUTIMES ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_CONTINUE = 314 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_CONTINUE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_CREATE = 309 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_CREATE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_CTL = 325 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_CTL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_DETACH = 319 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_DETACH ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_EXIT = 310 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_EXIT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_GETNAME = 324 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_GETNAME ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_GETPRIVATE = 316 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_GETPRIVATE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_KILL = 318 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_KILL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_PARK = 434 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_PARK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SELF = 311 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SELF ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SETNAME = 323 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SETNAME ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SETPRIVATE = 317 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SETPRIVATE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SUSPEND = 313 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SUSPEND ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_UNPARK = 321 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_UNPARK_ALL = 322 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_UNPARK_ALL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_UNPARK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_WAIT = 312 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_WAIT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_WAKEUP = 315 +pkg syscall (netbsd-arm64-cgo), const SYS__LWP_WAKEUP ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MADVISE = 75 +pkg syscall (netbsd-arm64-cgo), const SYS_MADVISE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MINCORE = 78 +pkg syscall (netbsd-arm64-cgo), const SYS_MINCORE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MINHERIT = 273 +pkg syscall (netbsd-arm64-cgo), const SYS_MINHERIT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MKDIR = 136 +pkg syscall (netbsd-arm64-cgo), const SYS_MKDIRAT = 461 +pkg syscall (netbsd-arm64-cgo), const SYS_MKDIRAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MKDIR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MKFIFO = 132 +pkg syscall (netbsd-arm64-cgo), const SYS_MKFIFOAT = 459 +pkg syscall (netbsd-arm64-cgo), const SYS_MKFIFOAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MKFIFO ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MKNOD = 450 +pkg syscall (netbsd-arm64-cgo), const SYS_MKNODAT = 460 +pkg syscall (netbsd-arm64-cgo), const SYS_MKNODAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MKNOD ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MLOCK = 203 +pkg syscall (netbsd-arm64-cgo), const SYS_MLOCKALL = 242 +pkg syscall (netbsd-arm64-cgo), const SYS_MLOCKALL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MLOCK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MMAP = 197 +pkg syscall (netbsd-arm64-cgo), const SYS_MMAP ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MODCTL = 246 +pkg syscall (netbsd-arm64-cgo), const SYS_MODCTL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MOUNT = 410 +pkg syscall (netbsd-arm64-cgo), const SYS_MOUNT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MPROTECT = 74 +pkg syscall (netbsd-arm64-cgo), const SYS_MPROTECT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MREMAP = 411 +pkg syscall (netbsd-arm64-cgo), const SYS_MREMAP ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MSGCTL = 444 +pkg syscall (netbsd-arm64-cgo), const SYS_MSGCTL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MSGGET = 225 +pkg syscall (netbsd-arm64-cgo), const SYS_MSGGET ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MSGRCV = 227 +pkg syscall (netbsd-arm64-cgo), const SYS_MSGRCV ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MSGSND = 226 +pkg syscall (netbsd-arm64-cgo), const SYS_MSGSND ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MUNLOCK = 204 +pkg syscall (netbsd-arm64-cgo), const SYS_MUNLOCKALL = 243 +pkg syscall (netbsd-arm64-cgo), const SYS_MUNLOCKALL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MUNLOCK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_MUNMAP = 73 +pkg syscall (netbsd-arm64-cgo), const SYS_MUNMAP ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_NANOSLEEP = 430 +pkg syscall (netbsd-arm64-cgo), const SYS_NANOSLEEP ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_NTP_ADJTIME = 176 +pkg syscall (netbsd-arm64-cgo), const SYS_NTP_ADJTIME ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_NTP_GETTIME = 448 +pkg syscall (netbsd-arm64-cgo), const SYS_NTP_GETTIME ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_OPEN = 5 +pkg syscall (netbsd-arm64-cgo), const SYS_OPENAT = 468 +pkg syscall (netbsd-arm64-cgo), const SYS_OPENAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_OPEN ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PACCEPT = 456 +pkg syscall (netbsd-arm64-cgo), const SYS_PACCEPT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PATHCONF = 191 +pkg syscall (netbsd-arm64-cgo), const SYS_PATHCONF ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PIPE2 = 453 +pkg syscall (netbsd-arm64-cgo), const SYS_PIPE2 ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PIPE = 42 +pkg syscall (netbsd-arm64-cgo), const SYS_PIPE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PMC_CONTROL = 342 +pkg syscall (netbsd-arm64-cgo), const SYS_PMC_CONTROL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PMC_GET_INFO = 341 +pkg syscall (netbsd-arm64-cgo), const SYS_PMC_GET_INFO ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_POLL = 209 +pkg syscall (netbsd-arm64-cgo), const SYS_POLL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_POLLTS = 437 +pkg syscall (netbsd-arm64-cgo), const SYS_POLLTS ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_CHOWN = 283 +pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_CHOWN ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_POSIX_FADVISE = 416 +pkg syscall (netbsd-arm64-cgo), const SYS_POSIX_FADVISE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_FCHOWN = 284 +pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_FCHOWN ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_LCHOWN = 285 +pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_LCHOWN ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_RENAME = 270 +pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_RENAME ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_POSIX_SPAWN = 474 +pkg syscall (netbsd-arm64-cgo), const SYS_POSIX_SPAWN ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PREAD = 173 +pkg syscall (netbsd-arm64-cgo), const SYS_PREAD ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PREADV = 289 +pkg syscall (netbsd-arm64-cgo), const SYS_PREADV ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PROFIL = 44 +pkg syscall (netbsd-arm64-cgo), const SYS_PROFIL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PSELECT = 436 +pkg syscall (netbsd-arm64-cgo), const SYS_PSELECT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PSET_ASSIGN = 414 +pkg syscall (netbsd-arm64-cgo), const SYS_PSET_ASSIGN ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__PSET_BIND = 415 +pkg syscall (netbsd-arm64-cgo), const SYS__PSET_BIND ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PSET_CREATE = 412 +pkg syscall (netbsd-arm64-cgo), const SYS_PSET_CREATE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PSET_DESTROY = 413 +pkg syscall (netbsd-arm64-cgo), const SYS_PSET_DESTROY ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PTRACE = 26 +pkg syscall (netbsd-arm64-cgo), const SYS_PTRACE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PWRITE = 174 +pkg syscall (netbsd-arm64-cgo), const SYS_PWRITE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_PWRITEV = 290 +pkg syscall (netbsd-arm64-cgo), const SYS_PWRITEV ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS___QUOTACTL = 473 +pkg syscall (netbsd-arm64-cgo), const SYS___QUOTACTL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_RASCTL = 343 +pkg syscall (netbsd-arm64-cgo), const SYS_RASCTL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_READ = 3 +pkg syscall (netbsd-arm64-cgo), const SYS_READ ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_READLINK = 58 +pkg syscall (netbsd-arm64-cgo), const SYS_READLINKAT = 469 +pkg syscall (netbsd-arm64-cgo), const SYS_READLINKAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_READLINK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_READV = 120 +pkg syscall (netbsd-arm64-cgo), const SYS_READV ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_REBOOT = 208 +pkg syscall (netbsd-arm64-cgo), const SYS_REBOOT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_RECVFROM = 29 +pkg syscall (netbsd-arm64-cgo), const SYS_RECVFROM ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_RECVMMSG = 475 +pkg syscall (netbsd-arm64-cgo), const SYS_RECVMMSG ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_RECVMSG = 27 +pkg syscall (netbsd-arm64-cgo), const SYS_RECVMSG ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_REMOVEXATTR = 384 +pkg syscall (netbsd-arm64-cgo), const SYS_REMOVEXATTR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_RENAME = 128 +pkg syscall (netbsd-arm64-cgo), const SYS_RENAMEAT = 458 +pkg syscall (netbsd-arm64-cgo), const SYS_RENAMEAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_RENAME ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_REVOKE = 56 +pkg syscall (netbsd-arm64-cgo), const SYS_REVOKE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_RMDIR = 137 +pkg syscall (netbsd-arm64-cgo), const SYS_RMDIR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SBRK = 69 +pkg syscall (netbsd-arm64-cgo), const SYS_SBRK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_GETAFFINITY = 349 +pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_GETAFFINITY ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_GETPARAM = 347 +pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_GETPARAM ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_SETAFFINITY = 348 +pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_SETAFFINITY ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_SETPARAM = 346 +pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_SETPARAM ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SCHED_YIELD = 350 +pkg syscall (netbsd-arm64-cgo), const SYS_SCHED_YIELD ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SELECT = 417 +pkg syscall (netbsd-arm64-cgo), const SYS_SELECT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SEMCONFIG = 223 +pkg syscall (netbsd-arm64-cgo), const SYS_SEMCONFIG ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS___SEMCTL = 442 +pkg syscall (netbsd-arm64-cgo), const SYS___SEMCTL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SEMGET = 221 +pkg syscall (netbsd-arm64-cgo), const SYS_SEMGET ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SEMOP = 222 +pkg syscall (netbsd-arm64-cgo), const SYS_SEMOP ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SENDMMSG = 476 +pkg syscall (netbsd-arm64-cgo), const SYS_SENDMMSG ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SENDMSG = 28 +pkg syscall (netbsd-arm64-cgo), const SYS_SENDMSG ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SENDTO = 133 +pkg syscall (netbsd-arm64-cgo), const SYS_SENDTO ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETCONTEXT = 308 +pkg syscall (netbsd-arm64-cgo), const SYS_SETCONTEXT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETEGID = 182 +pkg syscall (netbsd-arm64-cgo), const SYS_SETEGID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETEUID = 183 +pkg syscall (netbsd-arm64-cgo), const SYS_SETEUID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETGID = 181 +pkg syscall (netbsd-arm64-cgo), const SYS_SETGID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETGROUPS = 80 +pkg syscall (netbsd-arm64-cgo), const SYS_SETGROUPS ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETITIMER = 425 +pkg syscall (netbsd-arm64-cgo), const SYS_SETITIMER ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS___SETLOGIN = 50 +pkg syscall (netbsd-arm64-cgo), const SYS___SETLOGIN ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETPGID = 82 +pkg syscall (netbsd-arm64-cgo), const SYS_SETPGID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETPRIORITY = 96 +pkg syscall (netbsd-arm64-cgo), const SYS_SETPRIORITY ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETREGID = 127 +pkg syscall (netbsd-arm64-cgo), const SYS_SETREGID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETREUID = 126 +pkg syscall (netbsd-arm64-cgo), const SYS_SETREUID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETRLIMIT = 195 +pkg syscall (netbsd-arm64-cgo), const SYS_SETRLIMIT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETSID = 147 +pkg syscall (netbsd-arm64-cgo), const SYS_SETSID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETSOCKOPT = 105 +pkg syscall (netbsd-arm64-cgo), const SYS_SETSOCKOPT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETTIMEOFDAY = 419 +pkg syscall (netbsd-arm64-cgo), const SYS_SETTIMEOFDAY ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETUID = 23 +pkg syscall (netbsd-arm64-cgo), const SYS_SETUID ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SETXATTR = 375 +pkg syscall (netbsd-arm64-cgo), const SYS_SETXATTR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SHMAT = 228 +pkg syscall (netbsd-arm64-cgo), const SYS_SHMAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SHMCTL = 443 +pkg syscall (netbsd-arm64-cgo), const SYS_SHMCTL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SHMDT = 230 +pkg syscall (netbsd-arm64-cgo), const SYS_SHMDT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SHMGET = 231 +pkg syscall (netbsd-arm64-cgo), const SYS_SHMGET ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SHUTDOWN = 134 +pkg syscall (netbsd-arm64-cgo), const SYS_SHUTDOWN ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS___SIGACTION_SIGTRAMP = 340 +pkg syscall (netbsd-arm64-cgo), const SYS___SIGACTION_SIGTRAMP ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SIGQUEUEINFO = 245 +pkg syscall (netbsd-arm64-cgo), const SYS_SIGQUEUEINFO ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS___SIGTIMEDWAIT = 431 +pkg syscall (netbsd-arm64-cgo), const SYS___SIGTIMEDWAIT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SOCKET = 394 +pkg syscall (netbsd-arm64-cgo), const SYS_SOCKET ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SOCKETPAIR = 135 +pkg syscall (netbsd-arm64-cgo), const SYS_SOCKETPAIR ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SSTK = 70 +pkg syscall (netbsd-arm64-cgo), const SYS_SSTK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_STAT = 439 +pkg syscall (netbsd-arm64-cgo), const SYS_STAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_STATVFS1 = 357 +pkg syscall (netbsd-arm64-cgo), const SYS_STATVFS1 ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SWAPCTL = 271 +pkg syscall (netbsd-arm64-cgo), const SYS_SWAPCTL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SYMLINK = 57 +pkg syscall (netbsd-arm64-cgo), const SYS_SYMLINKAT = 470 +pkg syscall (netbsd-arm64-cgo), const SYS_SYMLINKAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SYMLINK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SYNC = 36 +pkg syscall (netbsd-arm64-cgo), const SYS_SYNC ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_SYSARCH = 165 +pkg syscall (netbsd-arm64-cgo), const SYS_SYSARCH ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS___SYSCTL = 202 +pkg syscall (netbsd-arm64-cgo), const SYS___SYSCTL ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_CREATE = 235 +pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_CREATE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_DELETE = 236 +pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_DELETE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_GETOVERRUN = 239 +pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_GETOVERRUN ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_GETTIME = 447 +pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_GETTIME ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_SETTIME = 446 +pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_SETTIME ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_TRUNCATE = 200 +pkg syscall (netbsd-arm64-cgo), const SYS_TRUNCATE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_UMASK = 60 +pkg syscall (netbsd-arm64-cgo), const SYS_UMASK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_UNDELETE = 205 +pkg syscall (netbsd-arm64-cgo), const SYS_UNDELETE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_UNLINK = 10 +pkg syscall (netbsd-arm64-cgo), const SYS_UNLINKAT = 471 +pkg syscall (netbsd-arm64-cgo), const SYS_UNLINKAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_UNLINK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_UNMOUNT = 22 +pkg syscall (netbsd-arm64-cgo), const SYS_UNMOUNT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_UTIMENSAT = 467 +pkg syscall (netbsd-arm64-cgo), const SYS_UTIMENSAT ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_UTIMES = 420 +pkg syscall (netbsd-arm64-cgo), const SYS_UTIMES ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_UTRACE = 306 +pkg syscall (netbsd-arm64-cgo), const SYS_UTRACE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_UUIDGEN = 355 +pkg syscall (netbsd-arm64-cgo), const SYS_UUIDGEN ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_VADVISE = 72 +pkg syscall (netbsd-arm64-cgo), const SYS_VADVISE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_VFORK = 66 +pkg syscall (netbsd-arm64-cgo), const SYS_VFORK ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_WAIT4 = 449 +pkg syscall (netbsd-arm64-cgo), const SYS_WAIT4 ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_WRITE = 4 +pkg syscall (netbsd-arm64-cgo), const SYS_WRITE ideal-int +pkg syscall (netbsd-arm64-cgo), const SYS_WRITEV = 121 +pkg syscall (netbsd-arm64-cgo), const SYS_WRITEV ideal-int +pkg syscall (netbsd-arm64-cgo), const TCIFLUSH = 1 +pkg syscall (netbsd-arm64-cgo), const TCIFLUSH ideal-int +pkg syscall (netbsd-arm64-cgo), const TCIOFLUSH = 3 +pkg syscall (netbsd-arm64-cgo), const TCIOFLUSH ideal-int +pkg syscall (netbsd-arm64-cgo), const TCOFLUSH = 2 +pkg syscall (netbsd-arm64-cgo), const TCOFLUSH ideal-int +pkg syscall (netbsd-arm64-cgo), const TCP_CONGCTL = 32 +pkg syscall (netbsd-arm64-cgo), const TCP_CONGCTL ideal-int +pkg syscall (netbsd-arm64-cgo), const TCP_KEEPCNT = 6 +pkg syscall (netbsd-arm64-cgo), const TCP_KEEPCNT ideal-int +pkg syscall (netbsd-arm64-cgo), const TCP_KEEPIDLE = 3 +pkg syscall (netbsd-arm64-cgo), const TCP_KEEPIDLE ideal-int +pkg syscall (netbsd-arm64-cgo), const TCP_KEEPINIT = 7 +pkg syscall (netbsd-arm64-cgo), const TCP_KEEPINIT ideal-int +pkg syscall (netbsd-arm64-cgo), const TCP_KEEPINTVL = 5 +pkg syscall (netbsd-arm64-cgo), const TCP_KEEPINTVL ideal-int +pkg syscall (netbsd-arm64-cgo), const TCP_MAXBURST = 4 +pkg syscall (netbsd-arm64-cgo), const TCP_MAXBURST ideal-int +pkg syscall (netbsd-arm64-cgo), const TCP_MAXSEG = 2 +pkg syscall (netbsd-arm64-cgo), const TCP_MAXSEG ideal-int +pkg syscall (netbsd-arm64-cgo), const TCP_MAXWIN = 65535 +pkg syscall (netbsd-arm64-cgo), const TCP_MAXWIN ideal-int +pkg syscall (netbsd-arm64-cgo), const TCP_MAX_WINSHIFT = 14 +pkg syscall (netbsd-arm64-cgo), const TCP_MAX_WINSHIFT ideal-int +pkg syscall (netbsd-arm64-cgo), const TCP_MD5SIG = 16 +pkg syscall (netbsd-arm64-cgo), const TCP_MD5SIG ideal-int +pkg syscall (netbsd-arm64-cgo), const TCP_MINMSS = 216 +pkg syscall (netbsd-arm64-cgo), const TCP_MINMSS ideal-int +pkg syscall (netbsd-arm64-cgo), const TCP_MSS = 536 +pkg syscall (netbsd-arm64-cgo), const TCP_MSS ideal-int +pkg syscall (netbsd-arm64-cgo), const TCSAFLUSH = 2 +pkg syscall (netbsd-arm64-cgo), const TCSAFLUSH ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCCBRK = 536900730 +pkg syscall (netbsd-arm64-cgo), const TIOCCBRK ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCCDTR = 536900728 +pkg syscall (netbsd-arm64-cgo), const TIOCCDTR ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCCONS = 2147775586 +pkg syscall (netbsd-arm64-cgo), const TIOCCONS ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCDCDTIMESTAMP = 1074820184 +pkg syscall (netbsd-arm64-cgo), const TIOCDCDTIMESTAMP ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCDRAIN = 536900702 +pkg syscall (netbsd-arm64-cgo), const TIOCDRAIN ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCEXCL = 536900621 +pkg syscall (netbsd-arm64-cgo), const TIOCEXCL ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCEXT = 2147775584 +pkg syscall (netbsd-arm64-cgo), const TIOCEXT ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_CDTRCTS = 16 +pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_CDTRCTS ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_CLOCAL = 2 +pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_CLOCAL ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_CRTSCTS = 4 +pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_CRTSCTS ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_MDMBUF = 8 +pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_MDMBUF ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_SOFTCAR = 1 +pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_SOFTCAR ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCFLUSH = 2147775504 +pkg syscall (netbsd-arm64-cgo), const TIOCFLUSH ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCGETA = 1076655123 +pkg syscall (netbsd-arm64-cgo), const TIOCGETA ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCGETD = 1074033690 +pkg syscall (netbsd-arm64-cgo), const TIOCGETD ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCGFLAGS = 1074033757 +pkg syscall (netbsd-arm64-cgo), const TIOCGFLAGS ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCGLINED = 1075868738 +pkg syscall (netbsd-arm64-cgo), const TIOCGLINED ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCGPGRP = 1074033783 +pkg syscall (netbsd-arm64-cgo), const TIOCGPGRP ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCGQSIZE = 1074033793 +pkg syscall (netbsd-arm64-cgo), const TIOCGQSIZE ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCGRANTPT = 536900679 +pkg syscall (netbsd-arm64-cgo), const TIOCGRANTPT ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCGSID = 1074033763 +pkg syscall (netbsd-arm64-cgo), const TIOCGSID ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCGSIZE = 1074295912 +pkg syscall (netbsd-arm64-cgo), const TIOCGSIZE ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCGWINSZ = 1074295912 +pkg syscall (netbsd-arm64-cgo), const TIOCGWINSZ ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCMBIC = 2147775595 +pkg syscall (netbsd-arm64-cgo), const TIOCMBIC ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCMBIS = 2147775596 +pkg syscall (netbsd-arm64-cgo), const TIOCMBIS ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCM_CAR = 64 +pkg syscall (netbsd-arm64-cgo), const TIOCM_CAR ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCM_CD = 64 +pkg syscall (netbsd-arm64-cgo), const TIOCM_CD ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCM_CTS = 32 +pkg syscall (netbsd-arm64-cgo), const TIOCM_CTS ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCM_DSR = 256 +pkg syscall (netbsd-arm64-cgo), const TIOCM_DSR ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCM_DTR = 2 +pkg syscall (netbsd-arm64-cgo), const TIOCM_DTR ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCMGET = 1074033770 +pkg syscall (netbsd-arm64-cgo), const TIOCMGET ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCM_LE = 1 +pkg syscall (netbsd-arm64-cgo), const TIOCM_LE ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCM_RI = 128 +pkg syscall (netbsd-arm64-cgo), const TIOCM_RI ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCM_RNG = 128 +pkg syscall (netbsd-arm64-cgo), const TIOCM_RNG ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCM_RTS = 4 +pkg syscall (netbsd-arm64-cgo), const TIOCM_RTS ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCMSET = 2147775597 +pkg syscall (netbsd-arm64-cgo), const TIOCMSET ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCM_SR = 16 +pkg syscall (netbsd-arm64-cgo), const TIOCM_SR ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCM_ST = 8 +pkg syscall (netbsd-arm64-cgo), const TIOCM_ST ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCNOTTY = 536900721 +pkg syscall (netbsd-arm64-cgo), const TIOCNOTTY ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCNXCL = 536900622 +pkg syscall (netbsd-arm64-cgo), const TIOCNXCL ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCOUTQ = 1074033779 +pkg syscall (netbsd-arm64-cgo), const TIOCOUTQ ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCPKT = 2147775600 +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_DATA = 0 +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_DATA ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_DOSTOP = 32 +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_DOSTOP ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_FLUSHREAD = 1 +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_FLUSHREAD ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_FLUSHWRITE = 2 +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_FLUSHWRITE ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCPKT ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_IOCTL = 64 +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_IOCTL ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_NOSTOP = 16 +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_NOSTOP ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_START = 8 +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_START ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_STOP = 4 +pkg syscall (netbsd-arm64-cgo), const TIOCPKT_STOP ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCPTMGET = 1076393030 +pkg syscall (netbsd-arm64-cgo), const TIOCPTMGET ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCPTSNAME = 1076393032 +pkg syscall (netbsd-arm64-cgo), const TIOCPTSNAME ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCRCVFRAME = 2148037701 +pkg syscall (netbsd-arm64-cgo), const TIOCRCVFRAME ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCREMOTE = 2147775593 +pkg syscall (netbsd-arm64-cgo), const TIOCREMOTE ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSBRK = 536900731 +pkg syscall (netbsd-arm64-cgo), const TIOCSBRK ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSCTTY = 536900705 +pkg syscall (netbsd-arm64-cgo), const TIOCSCTTY ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSDTR = 536900729 +pkg syscall (netbsd-arm64-cgo), const TIOCSDTR ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSETA = 2150396948 +pkg syscall (netbsd-arm64-cgo), const TIOCSETAF = 2150396950 +pkg syscall (netbsd-arm64-cgo), const TIOCSETAF ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSETA ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSETAW = 2150396949 +pkg syscall (netbsd-arm64-cgo), const TIOCSETAW ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSETD = 2147775515 +pkg syscall (netbsd-arm64-cgo), const TIOCSETD ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSFLAGS = 2147775580 +pkg syscall (netbsd-arm64-cgo), const TIOCSFLAGS ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSIG = 536900703 +pkg syscall (netbsd-arm64-cgo), const TIOCSIG ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSLINED = 2149610563 +pkg syscall (netbsd-arm64-cgo), const TIOCSLINED ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSPGRP = 2147775606 +pkg syscall (netbsd-arm64-cgo), const TIOCSPGRP ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSQSIZE = 2147775616 +pkg syscall (netbsd-arm64-cgo), const TIOCSQSIZE ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSSIZE = 2148037735 +pkg syscall (netbsd-arm64-cgo), const TIOCSSIZE ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSTART = 536900718 +pkg syscall (netbsd-arm64-cgo), const TIOCSTART ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSTAT = 2147775589 +pkg syscall (netbsd-arm64-cgo), const TIOCSTAT ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSTI = 2147578994 +pkg syscall (netbsd-arm64-cgo), const TIOCSTI ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSTOP = 536900719 +pkg syscall (netbsd-arm64-cgo), const TIOCSTOP ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCSWINSZ = 2148037735 +pkg syscall (netbsd-arm64-cgo), const TIOCSWINSZ ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCUCNTL = 2147775590 +pkg syscall (netbsd-arm64-cgo), const TIOCUCNTL ideal-int +pkg syscall (netbsd-arm64-cgo), const TIOCXMTFRAME = 2148037700 +pkg syscall (netbsd-arm64-cgo), const TIOCXMTFRAME ideal-int +pkg syscall (netbsd-arm64-cgo), const TOSTOP = 4194304 +pkg syscall (netbsd-arm64-cgo), const TOSTOP ideal-int +pkg syscall (netbsd-arm64-cgo), const VDISCARD = 15 +pkg syscall (netbsd-arm64-cgo), const VDISCARD ideal-int +pkg syscall (netbsd-arm64-cgo), const VDSUSP = 11 +pkg syscall (netbsd-arm64-cgo), const VDSUSP ideal-int +pkg syscall (netbsd-arm64-cgo), const VEOF = 0 +pkg syscall (netbsd-arm64-cgo), const VEOF ideal-int +pkg syscall (netbsd-arm64-cgo), const VEOL = 1 +pkg syscall (netbsd-arm64-cgo), const VEOL2 = 2 +pkg syscall (netbsd-arm64-cgo), const VEOL2 ideal-int +pkg syscall (netbsd-arm64-cgo), const VEOL ideal-int +pkg syscall (netbsd-arm64-cgo), const VERASE = 3 +pkg syscall (netbsd-arm64-cgo), const VERASE ideal-int +pkg syscall (netbsd-arm64-cgo), const VINTR = 8 +pkg syscall (netbsd-arm64-cgo), const VINTR ideal-int +pkg syscall (netbsd-arm64-cgo), const VKILL = 5 +pkg syscall (netbsd-arm64-cgo), const VKILL ideal-int +pkg syscall (netbsd-arm64-cgo), const VLNEXT = 14 +pkg syscall (netbsd-arm64-cgo), const VLNEXT ideal-int +pkg syscall (netbsd-arm64-cgo), const VMIN = 16 +pkg syscall (netbsd-arm64-cgo), const VMIN ideal-int +pkg syscall (netbsd-arm64-cgo), const VQUIT = 9 +pkg syscall (netbsd-arm64-cgo), const VQUIT ideal-int +pkg syscall (netbsd-arm64-cgo), const VREPRINT = 6 +pkg syscall (netbsd-arm64-cgo), const VREPRINT ideal-int +pkg syscall (netbsd-arm64-cgo), const VSTART = 12 +pkg syscall (netbsd-arm64-cgo), const VSTART ideal-int +pkg syscall (netbsd-arm64-cgo), const VSTATUS = 18 +pkg syscall (netbsd-arm64-cgo), const VSTATUS ideal-int +pkg syscall (netbsd-arm64-cgo), const VSTOP = 13 +pkg syscall (netbsd-arm64-cgo), const VSTOP ideal-int +pkg syscall (netbsd-arm64-cgo), const VSUSP = 10 +pkg syscall (netbsd-arm64-cgo), const VSUSP ideal-int +pkg syscall (netbsd-arm64-cgo), const VTIME = 17 +pkg syscall (netbsd-arm64-cgo), const VTIME ideal-int +pkg syscall (netbsd-arm64-cgo), const VWERASE = 4 +pkg syscall (netbsd-arm64-cgo), const VWERASE ideal-int +pkg syscall (netbsd-arm64-cgo), const WALL = 8 +pkg syscall (netbsd-arm64-cgo), const WALL ideal-int +pkg syscall (netbsd-arm64-cgo), const WALLSIG = 8 +pkg syscall (netbsd-arm64-cgo), const WALLSIG ideal-int +pkg syscall (netbsd-arm64-cgo), const WALTSIG = 4 +pkg syscall (netbsd-arm64-cgo), const WALTSIG ideal-int +pkg syscall (netbsd-arm64-cgo), const WCLONE = 4 +pkg syscall (netbsd-arm64-cgo), const WCLONE ideal-int +pkg syscall (netbsd-arm64-cgo), const WCOREFLAG = 128 +pkg syscall (netbsd-arm64-cgo), const WCOREFLAG ideal-int +pkg syscall (netbsd-arm64-cgo), const WNOHANG = 1 +pkg syscall (netbsd-arm64-cgo), const WNOHANG ideal-int +pkg syscall (netbsd-arm64-cgo), const WNOWAIT = 65536 +pkg syscall (netbsd-arm64-cgo), const WNOWAIT ideal-int +pkg syscall (netbsd-arm64-cgo), const WNOZOMBIE = 131072 +pkg syscall (netbsd-arm64-cgo), const WNOZOMBIE ideal-int +pkg syscall (netbsd-arm64-cgo), const WOPTSCHECKED = 262144 +pkg syscall (netbsd-arm64-cgo), const WOPTSCHECKED ideal-int +pkg syscall (netbsd-arm64-cgo), const WSTOPPED = 127 +pkg syscall (netbsd-arm64-cgo), const WSTOPPED ideal-int +pkg syscall (netbsd-arm64-cgo), const WUNTRACED = 2 +pkg syscall (netbsd-arm64-cgo), const WUNTRACED ideal-int +pkg syscall (netbsd-arm64-cgo), func Accept4(int, int) (int, Sockaddr, error) +pkg syscall (netbsd-arm64-cgo), func Accept(int) (int, Sockaddr, error) +pkg syscall (netbsd-arm64-cgo), func Access(string, uint32) error +pkg syscall (netbsd-arm64-cgo), func Adjtime(*Timeval, *Timeval) error +pkg syscall (netbsd-arm64-cgo), func Bind(int, Sockaddr) error +pkg syscall (netbsd-arm64-cgo), func BpfBuflen(int) (int, error) +pkg syscall (netbsd-arm64-cgo), func BpfDatalink(int) (int, error) +pkg syscall (netbsd-arm64-cgo), func BpfHeadercmpl(int) (int, error) +pkg syscall (netbsd-arm64-cgo), func BpfInterface(int, string) (string, error) +pkg syscall (netbsd-arm64-cgo), func BpfJump(int, int, int, int) *BpfInsn +pkg syscall (netbsd-arm64-cgo), func BpfStats(int) (*BpfStat, error) +pkg syscall (netbsd-arm64-cgo), func BpfStmt(int, int) *BpfInsn +pkg syscall (netbsd-arm64-cgo), func BpfTimeout(int) (*Timeval, error) +pkg syscall (netbsd-arm64-cgo), func CheckBpfVersion(int) error +pkg syscall (netbsd-arm64-cgo), func Chflags(string, int) error +pkg syscall (netbsd-arm64-cgo), func Chroot(string) error +pkg syscall (netbsd-arm64-cgo), func Close(int) error +pkg syscall (netbsd-arm64-cgo), func CloseOnExec(int) +pkg syscall (netbsd-arm64-cgo), func CmsgLen(int) int +pkg syscall (netbsd-arm64-cgo), func CmsgSpace(int) int +pkg syscall (netbsd-arm64-cgo), func Connect(int, Sockaddr) error +pkg syscall (netbsd-arm64-cgo), func Dup2(int, int) error +pkg syscall (netbsd-arm64-cgo), func Dup(int) (int, error) +pkg syscall (netbsd-arm64-cgo), func Fchdir(int) error +pkg syscall (netbsd-arm64-cgo), func Fchflags(int, int) error +pkg syscall (netbsd-arm64-cgo), func Fchmod(int, uint32) error +pkg syscall (netbsd-arm64-cgo), func Fchown(int, int, int) error +pkg syscall (netbsd-arm64-cgo), func FcntlFlock(uintptr, int, *Flock_t) error +pkg syscall (netbsd-arm64-cgo), func Flock(int, int) error +pkg syscall (netbsd-arm64-cgo), func FlushBpf(int) error +pkg syscall (netbsd-arm64-cgo), func ForkExec(string, []string, *ProcAttr) (int, error) +pkg syscall (netbsd-arm64-cgo), func Fpathconf(int, int) (int, error) +pkg syscall (netbsd-arm64-cgo), func Fstat(int, *Stat_t) error +pkg syscall (netbsd-arm64-cgo), func Fsync(int) error +pkg syscall (netbsd-arm64-cgo), func Ftruncate(int, int64) error +pkg syscall (netbsd-arm64-cgo), func Futimes(int, []Timeval) error +pkg syscall (netbsd-arm64-cgo), func Getdirentries(int, []uint8, *uintptr) (int, error) +pkg syscall (netbsd-arm64-cgo), func Getpeername(int) (Sockaddr, error) +pkg syscall (netbsd-arm64-cgo), func Getpgid(int) (int, error) +pkg syscall (netbsd-arm64-cgo), func Getpgrp() int +pkg syscall (netbsd-arm64-cgo), func Getpriority(int, int) (int, error) +pkg syscall (netbsd-arm64-cgo), func Getrlimit(int, *Rlimit) error +pkg syscall (netbsd-arm64-cgo), func Getrusage(int, *Rusage) error +pkg syscall (netbsd-arm64-cgo), func Getsid(int) (int, error) +pkg syscall (netbsd-arm64-cgo), func Getsockname(int) (Sockaddr, error) +pkg syscall (netbsd-arm64-cgo), func GetsockoptByte(int, int, int) (uint8, error) +pkg syscall (netbsd-arm64-cgo), func GetsockoptICMPv6Filter(int, int, int) (*ICMPv6Filter, error) +pkg syscall (netbsd-arm64-cgo), func GetsockoptInet4Addr(int, int, int) ([4]uint8, error) +pkg syscall (netbsd-arm64-cgo), func GetsockoptInt(int, int, int) (int, error) +pkg syscall (netbsd-arm64-cgo), func GetsockoptIPMreq(int, int, int) (*IPMreq, error) +pkg syscall (netbsd-arm64-cgo), func GetsockoptIPv6Mreq(int, int, int) (*IPv6Mreq, error) +pkg syscall (netbsd-arm64-cgo), func GetsockoptIPv6MTUInfo(int, int, int) (*IPv6MTUInfo, error) +pkg syscall (netbsd-arm64-cgo), func Issetugid() bool +pkg syscall (netbsd-arm64-cgo), func Kevent(int, []Kevent_t, []Kevent_t, *Timespec) (int, error) +pkg syscall (netbsd-arm64-cgo), func Kill(int, Signal) error +pkg syscall (netbsd-arm64-cgo), func Kqueue() (int, error) +pkg syscall (netbsd-arm64-cgo), func Listen(int, int) error +pkg syscall (netbsd-arm64-cgo), func Lstat(string, *Stat_t) error +pkg syscall (netbsd-arm64-cgo), func Mkfifo(string, uint32) error +pkg syscall (netbsd-arm64-cgo), func Mknod(string, uint32, int) error +pkg syscall (netbsd-arm64-cgo), func Mmap(int, int64, int, int, int) ([]uint8, error) +pkg syscall (netbsd-arm64-cgo), func Munmap([]uint8) error +pkg syscall (netbsd-arm64-cgo), func Nanosleep(*Timespec, *Timespec) error +pkg syscall (netbsd-arm64-cgo), func Open(string, int, uint32) (int, error) +pkg syscall (netbsd-arm64-cgo), func ParseDirent([]uint8, int, []string) (int, int, []string) +pkg syscall (netbsd-arm64-cgo), func ParseRoutingMessage([]uint8) ([]RoutingMessage, error) +pkg syscall (netbsd-arm64-cgo), func ParseRoutingSockaddr(RoutingMessage) ([]Sockaddr, error) +pkg syscall (netbsd-arm64-cgo), func ParseSocketControlMessage([]uint8) ([]SocketControlMessage, error) +pkg syscall (netbsd-arm64-cgo), func ParseUnixRights(*SocketControlMessage) ([]int, error) +pkg syscall (netbsd-arm64-cgo), func Pathconf(string, int) (int, error) +pkg syscall (netbsd-arm64-cgo), func Pipe2([]int, int) error +pkg syscall (netbsd-arm64-cgo), func Pipe([]int) error +pkg syscall (netbsd-arm64-cgo), func Pread(int, []uint8, int64) (int, error) +pkg syscall (netbsd-arm64-cgo), func Pwrite(int, []uint8, int64) (int, error) +pkg syscall (netbsd-arm64-cgo), func RawSyscall6(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) +pkg syscall (netbsd-arm64-cgo), func RawSyscall(uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) +pkg syscall (netbsd-arm64-cgo), func ReadDirent(int, []uint8) (int, error) +pkg syscall (netbsd-arm64-cgo), func Read(int, []uint8) (int, error) +pkg syscall (netbsd-arm64-cgo), func Recvfrom(int, []uint8, int) (int, Sockaddr, error) +pkg syscall (netbsd-arm64-cgo), func Recvmsg(int, []uint8, []uint8, int) (int, int, int, Sockaddr, error) +pkg syscall (netbsd-arm64-cgo), func Revoke(string) error +pkg syscall (netbsd-arm64-cgo), func RouteRIB(int, int) ([]uint8, error) +pkg syscall (netbsd-arm64-cgo), func Seek(int, int64, int) (int64, error) +pkg syscall (netbsd-arm64-cgo), func Select(int, *FdSet, *FdSet, *FdSet, *Timeval) error +pkg syscall (netbsd-arm64-cgo), func Sendfile(int, int, *int64, int) (int, error) +pkg syscall (netbsd-arm64-cgo), func Sendmsg(int, []uint8, []uint8, Sockaddr, int) error +pkg syscall (netbsd-arm64-cgo), func SendmsgN(int, []uint8, []uint8, Sockaddr, int) (int, error) +pkg syscall (netbsd-arm64-cgo), func Sendto(int, []uint8, int, Sockaddr) error +pkg syscall (netbsd-arm64-cgo), func SetBpfBuflen(int, int) (int, error) +pkg syscall (netbsd-arm64-cgo), func SetBpfDatalink(int, int) (int, error) +pkg syscall (netbsd-arm64-cgo), func SetBpfHeadercmpl(int, int) error +pkg syscall (netbsd-arm64-cgo), func SetBpfImmediate(int, int) error +pkg syscall (netbsd-arm64-cgo), func SetBpf(int, []BpfInsn) error +pkg syscall (netbsd-arm64-cgo), func SetBpfInterface(int, string) error +pkg syscall (netbsd-arm64-cgo), func SetBpfPromisc(int, int) error +pkg syscall (netbsd-arm64-cgo), func SetBpfTimeout(int, *Timeval) error +pkg syscall (netbsd-arm64-cgo), func Setegid(int) error +pkg syscall (netbsd-arm64-cgo), func Seteuid(int) error +pkg syscall (netbsd-arm64-cgo), func Setgid(int) error +pkg syscall (netbsd-arm64-cgo), func Setgroups([]int) error +pkg syscall (netbsd-arm64-cgo), func SetKevent(*Kevent_t, int, int, int) +pkg syscall (netbsd-arm64-cgo), func SetNonblock(int, bool) error +pkg syscall (netbsd-arm64-cgo), func Setpgid(int, int) error +pkg syscall (netbsd-arm64-cgo), func Setpriority(int, int, int) error +pkg syscall (netbsd-arm64-cgo), func Setregid(int, int) error +pkg syscall (netbsd-arm64-cgo), func Setreuid(int, int) error +pkg syscall (netbsd-arm64-cgo), func Setrlimit(int, *Rlimit) error +pkg syscall (netbsd-arm64-cgo), func Setsid() (int, error) +pkg syscall (netbsd-arm64-cgo), func SetsockoptByte(int, int, int, uint8) error +pkg syscall (netbsd-arm64-cgo), func SetsockoptICMPv6Filter(int, int, int, *ICMPv6Filter) error +pkg syscall (netbsd-arm64-cgo), func SetsockoptInet4Addr(int, int, int, [4]uint8) error +pkg syscall (netbsd-arm64-cgo), func SetsockoptInt(int, int, int, int) error +pkg syscall (netbsd-arm64-cgo), func SetsockoptIPMreq(int, int, int, *IPMreq) error +pkg syscall (netbsd-arm64-cgo), func SetsockoptIPv6Mreq(int, int, int, *IPv6Mreq) error +pkg syscall (netbsd-arm64-cgo), func SetsockoptLinger(int, int, int, *Linger) error +pkg syscall (netbsd-arm64-cgo), func SetsockoptString(int, int, int, string) error +pkg syscall (netbsd-arm64-cgo), func SetsockoptTimeval(int, int, int, *Timeval) error +pkg syscall (netbsd-arm64-cgo), func Settimeofday(*Timeval) error +pkg syscall (netbsd-arm64-cgo), func Setuid(int) error +pkg syscall (netbsd-arm64-cgo), func Shutdown(int, int) error +pkg syscall (netbsd-arm64-cgo), func SlicePtrFromStrings([]string) ([]*uint8, error) +pkg syscall (netbsd-arm64-cgo), func Socket(int, int, int) (int, error) +pkg syscall (netbsd-arm64-cgo), func Socketpair(int, int, int) ([2]int, error) +pkg syscall (netbsd-arm64-cgo), func Stat(string, *Stat_t) error +pkg syscall (netbsd-arm64-cgo), func StringSlicePtr([]string) []*uint8 +pkg syscall (netbsd-arm64-cgo), func Sync() error +pkg syscall (netbsd-arm64-cgo), func Syscall6(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) +pkg syscall (netbsd-arm64-cgo), func Syscall9(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) +pkg syscall (netbsd-arm64-cgo), func Syscall(uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) +pkg syscall (netbsd-arm64-cgo), func Sysctl(string) (string, error) +pkg syscall (netbsd-arm64-cgo), func SysctlUint32(string) (uint32, error) +pkg syscall (netbsd-arm64-cgo), func TimevalToNsec(Timeval) int64 +pkg syscall (netbsd-arm64-cgo), func Truncate(string, int64) error +pkg syscall (netbsd-arm64-cgo), func Umask(int) int +pkg syscall (netbsd-arm64-cgo), func UnixRights(...int) []uint8 +pkg syscall (netbsd-arm64-cgo), func Unmount(string, int) error +pkg syscall (netbsd-arm64-cgo), func Wait4(int, *WaitStatus, int, *Rusage) (int, error) +pkg syscall (netbsd-arm64-cgo), func Write(int, []uint8) (int, error) +pkg syscall (netbsd-arm64-cgo), method (*Cmsghdr) SetLen(int) +pkg syscall (netbsd-arm64-cgo), method (*Iovec) SetLen(int) +pkg syscall (netbsd-arm64-cgo), method (*Msghdr) SetControllen(int) +pkg syscall (netbsd-arm64-cgo), type BpfHdr struct +pkg syscall (netbsd-arm64-cgo), type BpfHdr struct, Caplen uint32 +pkg syscall (netbsd-arm64-cgo), type BpfHdr struct, Datalen uint32 +pkg syscall (netbsd-arm64-cgo), type BpfHdr struct, Hdrlen uint16 +pkg syscall (netbsd-arm64-cgo), type BpfHdr struct, Pad_cgo_0 [6]uint8 +pkg syscall (netbsd-arm64-cgo), type BpfHdr struct, Tstamp BpfTimeval +pkg syscall (netbsd-arm64-cgo), type BpfInsn struct +pkg syscall (netbsd-arm64-cgo), type BpfInsn struct, Code uint16 +pkg syscall (netbsd-arm64-cgo), type BpfInsn struct, Jf uint8 +pkg syscall (netbsd-arm64-cgo), type BpfInsn struct, Jt uint8 +pkg syscall (netbsd-arm64-cgo), type BpfInsn struct, K uint32 +pkg syscall (netbsd-arm64-cgo), type BpfProgram struct +pkg syscall (netbsd-arm64-cgo), type BpfProgram struct, Insns *BpfInsn +pkg syscall (netbsd-arm64-cgo), type BpfProgram struct, Len uint32 +pkg syscall (netbsd-arm64-cgo), type BpfProgram struct, Pad_cgo_0 [4]uint8 +pkg syscall (netbsd-arm64-cgo), type BpfStat struct +pkg syscall (netbsd-arm64-cgo), type BpfStat struct, Capt uint64 +pkg syscall (netbsd-arm64-cgo), type BpfStat struct, Drop uint64 +pkg syscall (netbsd-arm64-cgo), type BpfStat struct, Padding [13]uint64 +pkg syscall (netbsd-arm64-cgo), type BpfStat struct, Recv uint64 +pkg syscall (netbsd-arm64-cgo), type BpfTimeval struct +pkg syscall (netbsd-arm64-cgo), type BpfTimeval struct, Sec int64 +pkg syscall (netbsd-arm64-cgo), type BpfTimeval struct, Usec int64 +pkg syscall (netbsd-arm64-cgo), type BpfVersion struct +pkg syscall (netbsd-arm64-cgo), type BpfVersion struct, Major uint16 +pkg syscall (netbsd-arm64-cgo), type BpfVersion struct, Minor uint16 +pkg syscall (netbsd-arm64-cgo), type Cmsghdr struct +pkg syscall (netbsd-arm64-cgo), type Cmsghdr struct, Len uint32 +pkg syscall (netbsd-arm64-cgo), type Cmsghdr struct, Level int32 +pkg syscall (netbsd-arm64-cgo), type Cmsghdr struct, Type int32 +pkg syscall (netbsd-arm64-cgo), type Credential struct +pkg syscall (netbsd-arm64-cgo), type Credential struct, Gid uint32 +pkg syscall (netbsd-arm64-cgo), type Credential struct, Groups []uint32 +pkg syscall (netbsd-arm64-cgo), type Credential struct, NoSetGroups bool +pkg syscall (netbsd-arm64-cgo), type Credential struct, Uid uint32 +pkg syscall (netbsd-arm64-cgo), type Dirent struct +pkg syscall (netbsd-arm64-cgo), type Dirent struct, Fileno uint64 +pkg syscall (netbsd-arm64-cgo), type Dirent struct, Name [512]int8 +pkg syscall (netbsd-arm64-cgo), type Dirent struct, Namlen uint16 +pkg syscall (netbsd-arm64-cgo), type Dirent struct, Pad_cgo_0 [3]uint8 +pkg syscall (netbsd-arm64-cgo), type Dirent struct, Reclen uint16 +pkg syscall (netbsd-arm64-cgo), type Dirent struct, Type uint8 +pkg syscall (netbsd-arm64-cgo), type FdSet struct +pkg syscall (netbsd-arm64-cgo), type FdSet struct, Bits [8]uint32 +pkg syscall (netbsd-arm64-cgo), type Flock_t struct +pkg syscall (netbsd-arm64-cgo), type Flock_t struct, Len int64 +pkg syscall (netbsd-arm64-cgo), type Flock_t struct, Pid int32 +pkg syscall (netbsd-arm64-cgo), type Flock_t struct, Start int64 +pkg syscall (netbsd-arm64-cgo), type Flock_t struct, Type int16 +pkg syscall (netbsd-arm64-cgo), type Flock_t struct, Whence int16 +pkg syscall (netbsd-arm64-cgo), type Fsid struct +pkg syscall (netbsd-arm64-cgo), type Fsid struct, X__fsid_val [2]int32 +pkg syscall (netbsd-arm64-cgo), type ICMPv6Filter struct +pkg syscall (netbsd-arm64-cgo), type ICMPv6Filter struct, Filt [8]uint32 +pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct +pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Addrs int32 +pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Flags int32 +pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Index uint16 +pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Metric int32 +pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Msglen uint16 +pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Pad_cgo_0 [6]uint8 +pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Type uint8 +pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Version uint8 +pkg syscall (netbsd-arm64-cgo), type IfAnnounceMsghdr struct +pkg syscall (netbsd-arm64-cgo), type IfAnnounceMsghdr struct, Index uint16 +pkg syscall (netbsd-arm64-cgo), type IfAnnounceMsghdr struct, Msglen uint16 +pkg syscall (netbsd-arm64-cgo), type IfAnnounceMsghdr struct, Name [16]int8 +pkg syscall (netbsd-arm64-cgo), type IfAnnounceMsghdr struct, Type uint8 +pkg syscall (netbsd-arm64-cgo), type IfAnnounceMsghdr struct, Version uint8 +pkg syscall (netbsd-arm64-cgo), type IfAnnounceMsghdr struct, What uint16 +pkg syscall (netbsd-arm64-cgo), type IfData struct +pkg syscall (netbsd-arm64-cgo), type IfData struct, Addrlen uint8 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Baudrate uint64 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Collisions uint64 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Hdrlen uint8 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Ibytes uint64 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Ierrors uint64 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Imcasts uint64 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Ipackets uint64 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Iqdrops uint64 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Lastchange Timespec +pkg syscall (netbsd-arm64-cgo), type IfData struct, Link_state int32 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Metric uint64 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Mtu uint64 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Noproto uint64 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Obytes uint64 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Oerrors uint64 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Omcasts uint64 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Opackets uint64 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Pad_cgo_0 [1]uint8 +pkg syscall (netbsd-arm64-cgo), type IfData struct, Type uint8 +pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct +pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Addrs int32 +pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Data IfData +pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Flags int32 +pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Index uint16 +pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Msglen uint16 +pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Pad_cgo_0 [2]uint8 +pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Type uint8 +pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Version uint8 +pkg syscall (netbsd-arm64-cgo), type Inet6Pktinfo struct +pkg syscall (netbsd-arm64-cgo), type Inet6Pktinfo struct, Addr [16]uint8 +pkg syscall (netbsd-arm64-cgo), type Inet6Pktinfo struct, Ifindex uint32 +pkg syscall (netbsd-arm64-cgo), type InterfaceAddrMessage struct +pkg syscall (netbsd-arm64-cgo), type InterfaceAddrMessage struct, Data []uint8 +pkg syscall (netbsd-arm64-cgo), type InterfaceAddrMessage struct, Header IfaMsghdr +pkg syscall (netbsd-arm64-cgo), type InterfaceAnnounceMessage struct +pkg syscall (netbsd-arm64-cgo), type InterfaceAnnounceMessage struct, Header IfAnnounceMsghdr +pkg syscall (netbsd-arm64-cgo), type InterfaceMessage struct +pkg syscall (netbsd-arm64-cgo), type InterfaceMessage struct, Data []uint8 +pkg syscall (netbsd-arm64-cgo), type InterfaceMessage struct, Header IfMsghdr +pkg syscall (netbsd-arm64-cgo), type Iovec struct +pkg syscall (netbsd-arm64-cgo), type Iovec struct, Base *uint8 +pkg syscall (netbsd-arm64-cgo), type Iovec struct, Len uint64 +pkg syscall (netbsd-arm64-cgo), type IPv6MTUInfo struct +pkg syscall (netbsd-arm64-cgo), type IPv6MTUInfo struct, Addr RawSockaddrInet6 +pkg syscall (netbsd-arm64-cgo), type IPv6MTUInfo struct, Mtu uint32 +pkg syscall (netbsd-arm64-cgo), type Kevent_t struct +pkg syscall (netbsd-arm64-cgo), type Kevent_t struct, Data int64 +pkg syscall (netbsd-arm64-cgo), type Kevent_t struct, Fflags uint32 +pkg syscall (netbsd-arm64-cgo), type Kevent_t struct, Filter uint32 +pkg syscall (netbsd-arm64-cgo), type Kevent_t struct, Flags uint32 +pkg syscall (netbsd-arm64-cgo), type Kevent_t struct, Ident uint64 +pkg syscall (netbsd-arm64-cgo), type Kevent_t struct, Pad_cgo_0 [4]uint8 +pkg syscall (netbsd-arm64-cgo), type Kevent_t struct, Udata int64 +pkg syscall (netbsd-arm64-cgo), type Mclpool [0]uint8 +pkg syscall (netbsd-arm64-cgo), type Msghdr struct +pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Controllen uint32 +pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Control *uint8 +pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Flags int32 +pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Iov *Iovec +pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Iovlen int32 +pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Namelen uint32 +pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Name *uint8 +pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Pad_cgo_0 [4]uint8 +pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Pad_cgo_1 [4]uint8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrAny struct, Pad [92]int8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct +pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Alen uint8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Data [12]int8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Family uint8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Index uint16 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Len uint8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Nlen uint8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Slen uint8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Type uint8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrInet4 struct, Family uint8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrInet4 struct, Len uint8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrInet4 struct, Zero [8]int8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrInet6 struct, Family uint8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrInet6 struct, Len uint8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddr struct, Data [14]int8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddr struct, Family uint8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddr struct, Len uint8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrUnix struct, Family uint8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrUnix struct, Len uint8 +pkg syscall (netbsd-arm64-cgo), type RawSockaddrUnix struct, Path [104]int8 +pkg syscall (netbsd-arm64-cgo), type Rlimit struct +pkg syscall (netbsd-arm64-cgo), type Rlimit struct, Cur uint64 +pkg syscall (netbsd-arm64-cgo), type Rlimit struct, Max uint64 +pkg syscall (netbsd-arm64-cgo), type RouteMessage struct +pkg syscall (netbsd-arm64-cgo), type RouteMessage struct, Data []uint8 +pkg syscall (netbsd-arm64-cgo), type RouteMessage struct, Header RtMsghdr +pkg syscall (netbsd-arm64-cgo), type RoutingMessage interface, unexported methods +pkg syscall (netbsd-arm64-cgo), type RtMetrics struct +pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Expire int64 +pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Hopcount uint64 +pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Locks uint64 +pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Mtu uint64 +pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Pksent int64 +pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Recvpipe uint64 +pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Rtt uint64 +pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Rttvar uint64 +pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Sendpipe uint64 +pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Ssthresh uint64 +pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct +pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Addrs int32 +pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Errno int32 +pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Flags int32 +pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Index uint16 +pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Inits int32 +pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Msglen uint16 +pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Pad_cgo_0 [2]uint8 +pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Pad_cgo_1 [4]uint8 +pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Pid int32 +pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Rmx RtMetrics +pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Seq int32 +pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Type uint8 +pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Use int32 +pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Version uint8 +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Idrss int64 +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Inblock int64 +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Isrss int64 +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Ixrss int64 +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Majflt int64 +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Maxrss int64 +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Minflt int64 +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Msgrcv int64 +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Msgsnd int64 +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Nivcsw int64 +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Nsignals int64 +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Nswap int64 +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Nvcsw int64 +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Oublock int64 +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Stime Timeval +pkg syscall (netbsd-arm64-cgo), type Rusage struct, Utime Timeval +pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct +pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Alen uint8 +pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Data [12]int8 +pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Family uint8 +pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Index uint16 +pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Len uint8 +pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Nlen uint8 +pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Slen uint8 +pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Type uint8 +pkg syscall (netbsd-arm64-cgo), type SocketControlMessage struct +pkg syscall (netbsd-arm64-cgo), type SocketControlMessage struct, Data []uint8 +pkg syscall (netbsd-arm64-cgo), type SocketControlMessage struct, Header Cmsghdr +pkg syscall (netbsd-arm64-cgo), type Statfs_t [0]uint8 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Atimespec Timespec +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Birthtimespec Timespec +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Blksize uint32 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Blocks int64 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Ctimespec Timespec +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Dev uint64 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Flags uint32 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Gen uint32 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Gid uint32 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Ino uint64 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Mode uint32 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Mtimespec Timespec +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Nlink uint32 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Pad_cgo_0 [4]uint8 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Pad_cgo_1 [4]uint8 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Pad_cgo_2 [4]uint8 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Rdev uint64 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Size int64 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Spare [2]uint32 +pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Uid uint32 +pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct +pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, Flags uint32 +pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, Name [32]int8 +pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, Num int32 +pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, Un [16]uint8 +pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, Ver uint32 +pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, X__rsvd uint32 +pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, X_sysctl_desc [8]uint8 +pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, X_sysctl_func [8]uint8 +pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, X_sysctl_parent [8]uint8 +pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, X_sysctl_size [8]uint8 +pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Chroot string +pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Credential *Credential +pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Ctty int +pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Foreground bool +pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Noctty bool +pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Pgid int +pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Ptrace bool +pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Setctty bool +pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Setpgid bool +pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Setsid bool +pkg syscall (netbsd-arm64-cgo), type Termios struct +pkg syscall (netbsd-arm64-cgo), type Termios struct, Cc [20]uint8 +pkg syscall (netbsd-arm64-cgo), type Termios struct, Cflag uint32 +pkg syscall (netbsd-arm64-cgo), type Termios struct, Iflag uint32 +pkg syscall (netbsd-arm64-cgo), type Termios struct, Ispeed int32 +pkg syscall (netbsd-arm64-cgo), type Termios struct, Lflag uint32 +pkg syscall (netbsd-arm64-cgo), type Termios struct, Oflag uint32 +pkg syscall (netbsd-arm64-cgo), type Termios struct, Ospeed int32 +pkg syscall (netbsd-arm64-cgo), type Timespec struct, Nsec int64 +pkg syscall (netbsd-arm64-cgo), type Timespec struct, Sec int64 +pkg syscall (netbsd-arm64-cgo), type Timeval struct, Pad_cgo_0 [4]uint8 +pkg syscall (netbsd-arm64-cgo), type Timeval struct, Sec int64 +pkg syscall (netbsd-arm64-cgo), type Timeval struct, Usec int32 +pkg syscall (netbsd-arm64-cgo), type WaitStatus uint32 +pkg syscall (netbsd-arm64-cgo), var Stderr int +pkg syscall (netbsd-arm64-cgo), var Stdin int +pkg syscall (netbsd-arm64-cgo), var Stdout int +pkg syscall (netbsd-arm64), const AF_APPLETALK = 16 +pkg syscall (netbsd-arm64), const AF_APPLETALK ideal-int +pkg syscall (netbsd-arm64), const AF_ARP = 28 +pkg syscall (netbsd-arm64), const AF_ARP ideal-int +pkg syscall (netbsd-arm64), const AF_BLUETOOTH = 31 +pkg syscall (netbsd-arm64), const AF_BLUETOOTH ideal-int +pkg syscall (netbsd-arm64), const AF_CCITT = 10 +pkg syscall (netbsd-arm64), const AF_CCITT ideal-int +pkg syscall (netbsd-arm64), const AF_CHAOS = 5 +pkg syscall (netbsd-arm64), const AF_CHAOS ideal-int +pkg syscall (netbsd-arm64), const AF_CNT = 21 +pkg syscall (netbsd-arm64), const AF_CNT ideal-int +pkg syscall (netbsd-arm64), const AF_COIP = 20 +pkg syscall (netbsd-arm64), const AF_COIP ideal-int +pkg syscall (netbsd-arm64), const AF_DATAKIT = 9 +pkg syscall (netbsd-arm64), const AF_DATAKIT ideal-int +pkg syscall (netbsd-arm64), const AF_DECnet = 12 +pkg syscall (netbsd-arm64), const AF_DECnet ideal-int +pkg syscall (netbsd-arm64), const AF_DLI = 13 +pkg syscall (netbsd-arm64), const AF_DLI ideal-int +pkg syscall (netbsd-arm64), const AF_E164 = 26 +pkg syscall (netbsd-arm64), const AF_E164 ideal-int +pkg syscall (netbsd-arm64), const AF_ECMA = 8 +pkg syscall (netbsd-arm64), const AF_ECMA ideal-int +pkg syscall (netbsd-arm64), const AF_HYLINK = 15 +pkg syscall (netbsd-arm64), const AF_HYLINK ideal-int +pkg syscall (netbsd-arm64), const AF_IEEE80211 = 32 +pkg syscall (netbsd-arm64), const AF_IEEE80211 ideal-int +pkg syscall (netbsd-arm64), const AF_IMPLINK = 3 +pkg syscall (netbsd-arm64), const AF_IMPLINK ideal-int +pkg syscall (netbsd-arm64), const AF_INET6 = 24 +pkg syscall (netbsd-arm64), const AF_IPX = 23 +pkg syscall (netbsd-arm64), const AF_IPX ideal-int +pkg syscall (netbsd-arm64), const AF_ISDN = 26 +pkg syscall (netbsd-arm64), const AF_ISDN ideal-int +pkg syscall (netbsd-arm64), const AF_ISO = 7 +pkg syscall (netbsd-arm64), const AF_ISO ideal-int +pkg syscall (netbsd-arm64), const AF_LAT = 14 +pkg syscall (netbsd-arm64), const AF_LAT ideal-int +pkg syscall (netbsd-arm64), const AF_LINK = 18 +pkg syscall (netbsd-arm64), const AF_LINK ideal-int +pkg syscall (netbsd-arm64), const AF_LOCAL = 1 +pkg syscall (netbsd-arm64), const AF_LOCAL ideal-int +pkg syscall (netbsd-arm64), const AF_MAX = 35 +pkg syscall (netbsd-arm64), const AF_MAX ideal-int +pkg syscall (netbsd-arm64), const AF_MPLS = 33 +pkg syscall (netbsd-arm64), const AF_MPLS ideal-int +pkg syscall (netbsd-arm64), const AF_NATM = 27 +pkg syscall (netbsd-arm64), const AF_NATM ideal-int +pkg syscall (netbsd-arm64), const AF_NS = 6 +pkg syscall (netbsd-arm64), const AF_NS ideal-int +pkg syscall (netbsd-arm64), const AF_OROUTE = 17 +pkg syscall (netbsd-arm64), const AF_OROUTE ideal-int +pkg syscall (netbsd-arm64), const AF_OSI = 7 +pkg syscall (netbsd-arm64), const AF_OSI ideal-int +pkg syscall (netbsd-arm64), const AF_PUP = 4 +pkg syscall (netbsd-arm64), const AF_PUP ideal-int +pkg syscall (netbsd-arm64), const AF_ROUTE = 34 +pkg syscall (netbsd-arm64), const AF_ROUTE ideal-int +pkg syscall (netbsd-arm64), const AF_SNA = 11 +pkg syscall (netbsd-arm64), const AF_SNA ideal-int +pkg syscall (netbsd-arm64), const ARPHRD_ARCNET = 7 +pkg syscall (netbsd-arm64), const ARPHRD_ARCNET ideal-int +pkg syscall (netbsd-arm64), const ARPHRD_ETHER = 1 +pkg syscall (netbsd-arm64), const ARPHRD_ETHER ideal-int +pkg syscall (netbsd-arm64), const ARPHRD_FRELAY = 15 +pkg syscall (netbsd-arm64), const ARPHRD_FRELAY ideal-int +pkg syscall (netbsd-arm64), const ARPHRD_IEEE1394 = 24 +pkg syscall (netbsd-arm64), const ARPHRD_IEEE1394 ideal-int +pkg syscall (netbsd-arm64), const ARPHRD_IEEE802 = 6 +pkg syscall (netbsd-arm64), const ARPHRD_IEEE802 ideal-int +pkg syscall (netbsd-arm64), const ARPHRD_STRIP = 23 +pkg syscall (netbsd-arm64), const ARPHRD_STRIP ideal-int +pkg syscall (netbsd-arm64), const B0 = 0 +pkg syscall (netbsd-arm64), const B0 ideal-int +pkg syscall (netbsd-arm64), const B110 = 110 +pkg syscall (netbsd-arm64), const B110 ideal-int +pkg syscall (netbsd-arm64), const B115200 = 115200 +pkg syscall (netbsd-arm64), const B115200 ideal-int +pkg syscall (netbsd-arm64), const B1200 = 1200 +pkg syscall (netbsd-arm64), const B1200 ideal-int +pkg syscall (netbsd-arm64), const B134 = 134 +pkg syscall (netbsd-arm64), const B134 ideal-int +pkg syscall (netbsd-arm64), const B14400 = 14400 +pkg syscall (netbsd-arm64), const B14400 ideal-int +pkg syscall (netbsd-arm64), const B150 = 150 +pkg syscall (netbsd-arm64), const B150 ideal-int +pkg syscall (netbsd-arm64), const B1800 = 1800 +pkg syscall (netbsd-arm64), const B1800 ideal-int +pkg syscall (netbsd-arm64), const B19200 = 19200 +pkg syscall (netbsd-arm64), const B19200 ideal-int +pkg syscall (netbsd-arm64), const B200 = 200 +pkg syscall (netbsd-arm64), const B200 ideal-int +pkg syscall (netbsd-arm64), const B230400 = 230400 +pkg syscall (netbsd-arm64), const B230400 ideal-int +pkg syscall (netbsd-arm64), const B2400 = 2400 +pkg syscall (netbsd-arm64), const B2400 ideal-int +pkg syscall (netbsd-arm64), const B28800 = 28800 +pkg syscall (netbsd-arm64), const B28800 ideal-int +pkg syscall (netbsd-arm64), const B300 = 300 +pkg syscall (netbsd-arm64), const B300 ideal-int +pkg syscall (netbsd-arm64), const B38400 = 38400 +pkg syscall (netbsd-arm64), const B38400 ideal-int +pkg syscall (netbsd-arm64), const B460800 = 460800 +pkg syscall (netbsd-arm64), const B460800 ideal-int +pkg syscall (netbsd-arm64), const B4800 = 4800 +pkg syscall (netbsd-arm64), const B4800 ideal-int +pkg syscall (netbsd-arm64), const B50 = 50 +pkg syscall (netbsd-arm64), const B50 ideal-int +pkg syscall (netbsd-arm64), const B57600 = 57600 +pkg syscall (netbsd-arm64), const B57600 ideal-int +pkg syscall (netbsd-arm64), const B600 = 600 +pkg syscall (netbsd-arm64), const B600 ideal-int +pkg syscall (netbsd-arm64), const B7200 = 7200 +pkg syscall (netbsd-arm64), const B7200 ideal-int +pkg syscall (netbsd-arm64), const B75 = 75 +pkg syscall (netbsd-arm64), const B75 ideal-int +pkg syscall (netbsd-arm64), const B76800 = 76800 +pkg syscall (netbsd-arm64), const B76800 ideal-int +pkg syscall (netbsd-arm64), const B921600 = 921600 +pkg syscall (netbsd-arm64), const B921600 ideal-int +pkg syscall (netbsd-arm64), const B9600 = 9600 +pkg syscall (netbsd-arm64), const B9600 ideal-int +pkg syscall (netbsd-arm64), const BIOCFEEDBACK = 2147762813 +pkg syscall (netbsd-arm64), const BIOCFEEDBACK ideal-int +pkg syscall (netbsd-arm64), const BIOCFLUSH = 536887912 +pkg syscall (netbsd-arm64), const BIOCFLUSH ideal-int +pkg syscall (netbsd-arm64), const BIOCGBLEN = 1074020966 +pkg syscall (netbsd-arm64), const BIOCGBLEN ideal-int +pkg syscall (netbsd-arm64), const BIOCGDLT = 1074020970 +pkg syscall (netbsd-arm64), const BIOCGDLT ideal-int +pkg syscall (netbsd-arm64), const BIOCGDLTLIST = 3222291063 +pkg syscall (netbsd-arm64), const BIOCGDLTLIST ideal-int +pkg syscall (netbsd-arm64), const BIOCGETIF = 1083196011 +pkg syscall (netbsd-arm64), const BIOCGETIF ideal-int +pkg syscall (netbsd-arm64), const BIOCGFEEDBACK = 1074020988 +pkg syscall (netbsd-arm64), const BIOCGFEEDBACK ideal-int +pkg syscall (netbsd-arm64), const BIOCGHDRCMPLT = 1074020980 +pkg syscall (netbsd-arm64), const BIOCGHDRCMPLT ideal-int +pkg syscall (netbsd-arm64), const BIOCGRTIMEOUT = 1074807419 +pkg syscall (netbsd-arm64), const BIOCGRTIMEOUT ideal-int +pkg syscall (netbsd-arm64), const BIOCGSEESENT = 1074020984 +pkg syscall (netbsd-arm64), const BIOCGSEESENT ideal-int +pkg syscall (netbsd-arm64), const BIOCGSTATS = 1082147439 +pkg syscall (netbsd-arm64), const BIOCGSTATS ideal-int +pkg syscall (netbsd-arm64), const BIOCGSTATSOLD = 1074283119 +pkg syscall (netbsd-arm64), const BIOCGSTATSOLD ideal-int +pkg syscall (netbsd-arm64), const BIOCIMMEDIATE = 2147762800 +pkg syscall (netbsd-arm64), const BIOCIMMEDIATE ideal-int +pkg syscall (netbsd-arm64), const BIOCPROMISC = 536887913 +pkg syscall (netbsd-arm64), const BIOCPROMISC ideal-int +pkg syscall (netbsd-arm64), const BIOCSBLEN = 3221504614 +pkg syscall (netbsd-arm64), const BIOCSBLEN ideal-int +pkg syscall (netbsd-arm64), const BIOCSDLT = 2147762806 +pkg syscall (netbsd-arm64), const BIOCSDLT ideal-int +pkg syscall (netbsd-arm64), const BIOCSETF = 2148549223 +pkg syscall (netbsd-arm64), const BIOCSETF ideal-int +pkg syscall (netbsd-arm64), const BIOCSETIF = 2156937836 +pkg syscall (netbsd-arm64), const BIOCSETIF ideal-int +pkg syscall (netbsd-arm64), const BIOCSFEEDBACK = 2147762813 +pkg syscall (netbsd-arm64), const BIOCSFEEDBACK ideal-int +pkg syscall (netbsd-arm64), const BIOCSHDRCMPLT = 2147762805 +pkg syscall (netbsd-arm64), const BIOCSHDRCMPLT ideal-int +pkg syscall (netbsd-arm64), const BIOCSRTIMEOUT = 2148549242 +pkg syscall (netbsd-arm64), const BIOCSRTIMEOUT ideal-int +pkg syscall (netbsd-arm64), const BIOCSSEESENT = 2147762809 +pkg syscall (netbsd-arm64), const BIOCSSEESENT ideal-int +pkg syscall (netbsd-arm64), const BIOCSTCPF = 2148549234 +pkg syscall (netbsd-arm64), const BIOCSTCPF ideal-int +pkg syscall (netbsd-arm64), const BIOCSUDPF = 2148549235 +pkg syscall (netbsd-arm64), const BIOCSUDPF ideal-int +pkg syscall (netbsd-arm64), const BIOCVERSION = 1074020977 +pkg syscall (netbsd-arm64), const BIOCVERSION ideal-int +pkg syscall (netbsd-arm64), const BPF_A = 16 +pkg syscall (netbsd-arm64), const BPF_ABS = 32 +pkg syscall (netbsd-arm64), const BPF_ABS ideal-int +pkg syscall (netbsd-arm64), const BPF_ADD = 0 +pkg syscall (netbsd-arm64), const BPF_ADD ideal-int +pkg syscall (netbsd-arm64), const BPF_A ideal-int +pkg syscall (netbsd-arm64), const BPF_ALIGNMENT32 = 4 +pkg syscall (netbsd-arm64), const BPF_ALIGNMENT32 ideal-int +pkg syscall (netbsd-arm64), const BPF_ALIGNMENT = 8 +pkg syscall (netbsd-arm64), const BPF_ALIGNMENT ideal-int +pkg syscall (netbsd-arm64), const BPF_ALU = 4 +pkg syscall (netbsd-arm64), const BPF_ALU ideal-int +pkg syscall (netbsd-arm64), const BPF_AND = 80 +pkg syscall (netbsd-arm64), const BPF_AND ideal-int +pkg syscall (netbsd-arm64), const BPF_B = 16 +pkg syscall (netbsd-arm64), const BPF_B ideal-int +pkg syscall (netbsd-arm64), const BPF_DFLTBUFSIZE = 1048576 +pkg syscall (netbsd-arm64), const BPF_DFLTBUFSIZE ideal-int +pkg syscall (netbsd-arm64), const BPF_DIV = 48 +pkg syscall (netbsd-arm64), const BPF_DIV ideal-int +pkg syscall (netbsd-arm64), const BPF_H = 8 +pkg syscall (netbsd-arm64), const BPF_H ideal-int +pkg syscall (netbsd-arm64), const BPF_IMM = 0 +pkg syscall (netbsd-arm64), const BPF_IMM ideal-int +pkg syscall (netbsd-arm64), const BPF_IND = 64 +pkg syscall (netbsd-arm64), const BPF_IND ideal-int +pkg syscall (netbsd-arm64), const BPF_JA = 0 +pkg syscall (netbsd-arm64), const BPF_JA ideal-int +pkg syscall (netbsd-arm64), const BPF_JEQ = 16 +pkg syscall (netbsd-arm64), const BPF_JEQ ideal-int +pkg syscall (netbsd-arm64), const BPF_JGE = 48 +pkg syscall (netbsd-arm64), const BPF_JGE ideal-int +pkg syscall (netbsd-arm64), const BPF_JGT = 32 +pkg syscall (netbsd-arm64), const BPF_JGT ideal-int +pkg syscall (netbsd-arm64), const BPF_JMP = 5 +pkg syscall (netbsd-arm64), const BPF_JMP ideal-int +pkg syscall (netbsd-arm64), const BPF_JSET = 64 +pkg syscall (netbsd-arm64), const BPF_JSET ideal-int +pkg syscall (netbsd-arm64), const BPF_K = 0 +pkg syscall (netbsd-arm64), const BPF_K ideal-int +pkg syscall (netbsd-arm64), const BPF_LD = 0 +pkg syscall (netbsd-arm64), const BPF_LD ideal-int +pkg syscall (netbsd-arm64), const BPF_LDX = 1 +pkg syscall (netbsd-arm64), const BPF_LDX ideal-int +pkg syscall (netbsd-arm64), const BPF_LEN = 128 +pkg syscall (netbsd-arm64), const BPF_LEN ideal-int +pkg syscall (netbsd-arm64), const BPF_LSH = 96 +pkg syscall (netbsd-arm64), const BPF_LSH ideal-int +pkg syscall (netbsd-arm64), const BPF_MAJOR_VERSION = 1 +pkg syscall (netbsd-arm64), const BPF_MAJOR_VERSION ideal-int +pkg syscall (netbsd-arm64), const BPF_MAXBUFSIZE = 16777216 +pkg syscall (netbsd-arm64), const BPF_MAXBUFSIZE ideal-int +pkg syscall (netbsd-arm64), const BPF_MAXINSNS = 512 +pkg syscall (netbsd-arm64), const BPF_MAXINSNS ideal-int +pkg syscall (netbsd-arm64), const BPF_MEM = 96 +pkg syscall (netbsd-arm64), const BPF_MEM ideal-int +pkg syscall (netbsd-arm64), const BPF_MEMWORDS = 16 +pkg syscall (netbsd-arm64), const BPF_MEMWORDS ideal-int +pkg syscall (netbsd-arm64), const BPF_MINBUFSIZE = 32 +pkg syscall (netbsd-arm64), const BPF_MINBUFSIZE ideal-int +pkg syscall (netbsd-arm64), const BPF_MINOR_VERSION = 1 +pkg syscall (netbsd-arm64), const BPF_MINOR_VERSION ideal-int +pkg syscall (netbsd-arm64), const BPF_MISC = 7 +pkg syscall (netbsd-arm64), const BPF_MISC ideal-int +pkg syscall (netbsd-arm64), const BPF_MSH = 160 +pkg syscall (netbsd-arm64), const BPF_MSH ideal-int +pkg syscall (netbsd-arm64), const BPF_MUL = 32 +pkg syscall (netbsd-arm64), const BPF_MUL ideal-int +pkg syscall (netbsd-arm64), const BPF_NEG = 128 +pkg syscall (netbsd-arm64), const BPF_NEG ideal-int +pkg syscall (netbsd-arm64), const BPF_OR = 64 +pkg syscall (netbsd-arm64), const BPF_OR ideal-int +pkg syscall (netbsd-arm64), const BPF_RELEASE = 199606 +pkg syscall (netbsd-arm64), const BPF_RELEASE ideal-int +pkg syscall (netbsd-arm64), const BPF_RET = 6 +pkg syscall (netbsd-arm64), const BPF_RET ideal-int +pkg syscall (netbsd-arm64), const BPF_RSH = 112 +pkg syscall (netbsd-arm64), const BPF_RSH ideal-int +pkg syscall (netbsd-arm64), const BPF_ST = 2 +pkg syscall (netbsd-arm64), const BPF_ST ideal-int +pkg syscall (netbsd-arm64), const BPF_STX = 3 +pkg syscall (netbsd-arm64), const BPF_STX ideal-int +pkg syscall (netbsd-arm64), const BPF_SUB = 16 +pkg syscall (netbsd-arm64), const BPF_SUB ideal-int +pkg syscall (netbsd-arm64), const BPF_TAX = 0 +pkg syscall (netbsd-arm64), const BPF_TAX ideal-int +pkg syscall (netbsd-arm64), const BPF_TXA = 128 +pkg syscall (netbsd-arm64), const BPF_TXA ideal-int +pkg syscall (netbsd-arm64), const BPF_W = 0 +pkg syscall (netbsd-arm64), const BPF_W ideal-int +pkg syscall (netbsd-arm64), const BPF_X = 8 +pkg syscall (netbsd-arm64), const BPF_X ideal-int +pkg syscall (netbsd-arm64), const BRKINT = 2 +pkg syscall (netbsd-arm64), const BRKINT ideal-int +pkg syscall (netbsd-arm64), const CFLUSH = 15 +pkg syscall (netbsd-arm64), const CFLUSH ideal-int +pkg syscall (netbsd-arm64), const CLOCAL = 32768 +pkg syscall (netbsd-arm64), const CLOCAL ideal-int +pkg syscall (netbsd-arm64), const CLONE_CSIGNAL = 255 +pkg syscall (netbsd-arm64), const CLONE_CSIGNAL ideal-int +pkg syscall (netbsd-arm64), const CLONE_FILES = 1024 +pkg syscall (netbsd-arm64), const CLONE_FILES ideal-int +pkg syscall (netbsd-arm64), const CLONE_FS = 512 +pkg syscall (netbsd-arm64), const CLONE_FS ideal-int +pkg syscall (netbsd-arm64), const CLONE_PID = 4096 +pkg syscall (netbsd-arm64), const CLONE_PID ideal-int +pkg syscall (netbsd-arm64), const CLONE_PTRACE = 8192 +pkg syscall (netbsd-arm64), const CLONE_PTRACE ideal-int +pkg syscall (netbsd-arm64), const CLONE_SIGHAND = 2048 +pkg syscall (netbsd-arm64), const CLONE_SIGHAND ideal-int +pkg syscall (netbsd-arm64), const CLONE_VFORK = 16384 +pkg syscall (netbsd-arm64), const CLONE_VFORK ideal-int +pkg syscall (netbsd-arm64), const CLONE_VM = 256 +pkg syscall (netbsd-arm64), const CLONE_VM ideal-int +pkg syscall (netbsd-arm64), const CREAD = 2048 +pkg syscall (netbsd-arm64), const CREAD ideal-int +pkg syscall (netbsd-arm64), const CS5 = 0 +pkg syscall (netbsd-arm64), const CS5 ideal-int +pkg syscall (netbsd-arm64), const CS6 = 256 +pkg syscall (netbsd-arm64), const CS6 ideal-int +pkg syscall (netbsd-arm64), const CS7 = 512 +pkg syscall (netbsd-arm64), const CS7 ideal-int +pkg syscall (netbsd-arm64), const CS8 = 768 +pkg syscall (netbsd-arm64), const CS8 ideal-int +pkg syscall (netbsd-arm64), const CSIZE = 768 +pkg syscall (netbsd-arm64), const CSIZE ideal-int +pkg syscall (netbsd-arm64), const CSTART = 17 +pkg syscall (netbsd-arm64), const CSTART ideal-int +pkg syscall (netbsd-arm64), const CSTATUS = 20 +pkg syscall (netbsd-arm64), const CSTATUS ideal-int +pkg syscall (netbsd-arm64), const CSTOP = 19 +pkg syscall (netbsd-arm64), const CSTOPB = 1024 +pkg syscall (netbsd-arm64), const CSTOPB ideal-int +pkg syscall (netbsd-arm64), const CSTOP ideal-int +pkg syscall (netbsd-arm64), const CSUSP = 26 +pkg syscall (netbsd-arm64), const CSUSP ideal-int +pkg syscall (netbsd-arm64), const CTL_MAXNAME = 12 +pkg syscall (netbsd-arm64), const CTL_MAXNAME ideal-int +pkg syscall (netbsd-arm64), const CTL_NET = 4 +pkg syscall (netbsd-arm64), const CTL_NET ideal-int +pkg syscall (netbsd-arm64), const CTL_QUERY = -2 +pkg syscall (netbsd-arm64), const CTL_QUERY ideal-int +pkg syscall (netbsd-arm64), const DIOCBSFLUSH = 536896632 +pkg syscall (netbsd-arm64), const DIOCBSFLUSH ideal-int +pkg syscall (netbsd-arm64), const DLT_A429 = 184 +pkg syscall (netbsd-arm64), const DLT_A429 ideal-int +pkg syscall (netbsd-arm64), const DLT_A653_ICM = 185 +pkg syscall (netbsd-arm64), const DLT_A653_ICM ideal-int +pkg syscall (netbsd-arm64), const DLT_AIRONET_HEADER = 120 +pkg syscall (netbsd-arm64), const DLT_AIRONET_HEADER ideal-int +pkg syscall (netbsd-arm64), const DLT_AOS = 222 +pkg syscall (netbsd-arm64), const DLT_AOS ideal-int +pkg syscall (netbsd-arm64), const DLT_APPLE_IP_OVER_IEEE1394 = 138 +pkg syscall (netbsd-arm64), const DLT_APPLE_IP_OVER_IEEE1394 ideal-int +pkg syscall (netbsd-arm64), const DLT_ARCNET = 7 +pkg syscall (netbsd-arm64), const DLT_ARCNET ideal-int +pkg syscall (netbsd-arm64), const DLT_ARCNET_LINUX = 129 +pkg syscall (netbsd-arm64), const DLT_ARCNET_LINUX ideal-int +pkg syscall (netbsd-arm64), const DLT_ATM_CLIP = 19 +pkg syscall (netbsd-arm64), const DLT_ATM_CLIP ideal-int +pkg syscall (netbsd-arm64), const DLT_ATM_RFC1483 = 11 +pkg syscall (netbsd-arm64), const DLT_ATM_RFC1483 ideal-int +pkg syscall (netbsd-arm64), const DLT_AURORA = 126 +pkg syscall (netbsd-arm64), const DLT_AURORA ideal-int +pkg syscall (netbsd-arm64), const DLT_AX25 = 3 +pkg syscall (netbsd-arm64), const DLT_AX25 ideal-int +pkg syscall (netbsd-arm64), const DLT_AX25_KISS = 202 +pkg syscall (netbsd-arm64), const DLT_AX25_KISS ideal-int +pkg syscall (netbsd-arm64), const DLT_BACNET_MS_TP = 165 +pkg syscall (netbsd-arm64), const DLT_BACNET_MS_TP ideal-int +pkg syscall (netbsd-arm64), const DLT_BLUETOOTH_HCI_H4 = 187 +pkg syscall (netbsd-arm64), const DLT_BLUETOOTH_HCI_H4 ideal-int +pkg syscall (netbsd-arm64), const DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 201 +pkg syscall (netbsd-arm64), const DLT_BLUETOOTH_HCI_H4_WITH_PHDR ideal-int +pkg syscall (netbsd-arm64), const DLT_CAN20B = 190 +pkg syscall (netbsd-arm64), const DLT_CAN20B ideal-int +pkg syscall (netbsd-arm64), const DLT_CAN_SOCKETCAN = 227 +pkg syscall (netbsd-arm64), const DLT_CAN_SOCKETCAN ideal-int +pkg syscall (netbsd-arm64), const DLT_CHAOS = 5 +pkg syscall (netbsd-arm64), const DLT_CHAOS ideal-int +pkg syscall (netbsd-arm64), const DLT_C_HDLC = 104 +pkg syscall (netbsd-arm64), const DLT_C_HDLC ideal-int +pkg syscall (netbsd-arm64), const DLT_C_HDLC_WITH_DIR = 205 +pkg syscall (netbsd-arm64), const DLT_C_HDLC_WITH_DIR ideal-int +pkg syscall (netbsd-arm64), const DLT_CISCO_IOS = 118 +pkg syscall (netbsd-arm64), const DLT_CISCO_IOS ideal-int +pkg syscall (netbsd-arm64), const DLT_DECT = 221 +pkg syscall (netbsd-arm64), const DLT_DECT ideal-int +pkg syscall (netbsd-arm64), const DLT_DOCSIS = 143 +pkg syscall (netbsd-arm64), const DLT_DOCSIS ideal-int +pkg syscall (netbsd-arm64), const DLT_ECONET = 115 +pkg syscall (netbsd-arm64), const DLT_ECONET ideal-int +pkg syscall (netbsd-arm64), const DLT_EN10MB = 1 +pkg syscall (netbsd-arm64), const DLT_EN10MB ideal-int +pkg syscall (netbsd-arm64), const DLT_EN3MB = 2 +pkg syscall (netbsd-arm64), const DLT_EN3MB ideal-int +pkg syscall (netbsd-arm64), const DLT_ENC = 109 +pkg syscall (netbsd-arm64), const DLT_ENC ideal-int +pkg syscall (netbsd-arm64), const DLT_ERF = 197 +pkg syscall (netbsd-arm64), const DLT_ERF_ETH = 175 +pkg syscall (netbsd-arm64), const DLT_ERF_ETH ideal-int +pkg syscall (netbsd-arm64), const DLT_ERF ideal-int +pkg syscall (netbsd-arm64), const DLT_ERF_POS = 176 +pkg syscall (netbsd-arm64), const DLT_ERF_POS ideal-int +pkg syscall (netbsd-arm64), const DLT_FC_2 = 224 +pkg syscall (netbsd-arm64), const DLT_FC_2 ideal-int +pkg syscall (netbsd-arm64), const DLT_FC_2_WITH_FRAME_DELIMS = 225 +pkg syscall (netbsd-arm64), const DLT_FC_2_WITH_FRAME_DELIMS ideal-int +pkg syscall (netbsd-arm64), const DLT_FDDI = 10 +pkg syscall (netbsd-arm64), const DLT_FDDI ideal-int +pkg syscall (netbsd-arm64), const DLT_FLEXRAY = 210 +pkg syscall (netbsd-arm64), const DLT_FLEXRAY ideal-int +pkg syscall (netbsd-arm64), const DLT_FRELAY = 107 +pkg syscall (netbsd-arm64), const DLT_FRELAY ideal-int +pkg syscall (netbsd-arm64), const DLT_FRELAY_WITH_DIR = 206 +pkg syscall (netbsd-arm64), const DLT_FRELAY_WITH_DIR ideal-int +pkg syscall (netbsd-arm64), const DLT_GCOM_SERIAL = 173 +pkg syscall (netbsd-arm64), const DLT_GCOM_SERIAL ideal-int +pkg syscall (netbsd-arm64), const DLT_GCOM_T1E1 = 172 +pkg syscall (netbsd-arm64), const DLT_GCOM_T1E1 ideal-int +pkg syscall (netbsd-arm64), const DLT_GPF_F = 171 +pkg syscall (netbsd-arm64), const DLT_GPF_F ideal-int +pkg syscall (netbsd-arm64), const DLT_GPF_T = 170 +pkg syscall (netbsd-arm64), const DLT_GPF_T ideal-int +pkg syscall (netbsd-arm64), const DLT_GPRS_LLC = 169 +pkg syscall (netbsd-arm64), const DLT_GPRS_LLC ideal-int +pkg syscall (netbsd-arm64), const DLT_GSMTAP_ABIS = 218 +pkg syscall (netbsd-arm64), const DLT_GSMTAP_ABIS ideal-int +pkg syscall (netbsd-arm64), const DLT_GSMTAP_UM = 217 +pkg syscall (netbsd-arm64), const DLT_GSMTAP_UM ideal-int +pkg syscall (netbsd-arm64), const DLT_HDLC = 16 +pkg syscall (netbsd-arm64), const DLT_HDLC ideal-int +pkg syscall (netbsd-arm64), const DLT_HHDLC = 121 +pkg syscall (netbsd-arm64), const DLT_HHDLC ideal-int +pkg syscall (netbsd-arm64), const DLT_HIPPI = 15 +pkg syscall (netbsd-arm64), const DLT_HIPPI ideal-int +pkg syscall (netbsd-arm64), const DLT_IBM_SN = 146 +pkg syscall (netbsd-arm64), const DLT_IBM_SN ideal-int +pkg syscall (netbsd-arm64), const DLT_IBM_SP = 145 +pkg syscall (netbsd-arm64), const DLT_IBM_SP ideal-int +pkg syscall (netbsd-arm64), const DLT_IEEE802_11 = 105 +pkg syscall (netbsd-arm64), const DLT_IEEE802_11 ideal-int +pkg syscall (netbsd-arm64), const DLT_IEEE802_11_RADIO = 127 +pkg syscall (netbsd-arm64), const DLT_IEEE802_11_RADIO_AVS = 163 +pkg syscall (netbsd-arm64), const DLT_IEEE802_11_RADIO_AVS ideal-int +pkg syscall (netbsd-arm64), const DLT_IEEE802_11_RADIO ideal-int +pkg syscall (netbsd-arm64), const DLT_IEEE802_15_4 = 195 +pkg syscall (netbsd-arm64), const DLT_IEEE802_15_4 ideal-int +pkg syscall (netbsd-arm64), const DLT_IEEE802_15_4_LINUX = 191 +pkg syscall (netbsd-arm64), const DLT_IEEE802_15_4_LINUX ideal-int +pkg syscall (netbsd-arm64), const DLT_IEEE802_15_4_NONASK_PHY = 215 +pkg syscall (netbsd-arm64), const DLT_IEEE802_15_4_NONASK_PHY ideal-int +pkg syscall (netbsd-arm64), const DLT_IEEE802_16_MAC_CPS = 188 +pkg syscall (netbsd-arm64), const DLT_IEEE802_16_MAC_CPS ideal-int +pkg syscall (netbsd-arm64), const DLT_IEEE802_16_MAC_CPS_RADIO = 193 +pkg syscall (netbsd-arm64), const DLT_IEEE802_16_MAC_CPS_RADIO ideal-int +pkg syscall (netbsd-arm64), const DLT_IEEE802 = 6 +pkg syscall (netbsd-arm64), const DLT_IEEE802 ideal-int +pkg syscall (netbsd-arm64), const DLT_IPMB = 199 +pkg syscall (netbsd-arm64), const DLT_IPMB ideal-int +pkg syscall (netbsd-arm64), const DLT_IPMB_LINUX = 209 +pkg syscall (netbsd-arm64), const DLT_IPMB_LINUX ideal-int +pkg syscall (netbsd-arm64), const DLT_IPNET = 226 +pkg syscall (netbsd-arm64), const DLT_IPNET ideal-int +pkg syscall (netbsd-arm64), const DLT_IP_OVER_FC = 122 +pkg syscall (netbsd-arm64), const DLT_IP_OVER_FC ideal-int +pkg syscall (netbsd-arm64), const DLT_IPV4 = 228 +pkg syscall (netbsd-arm64), const DLT_IPV4 ideal-int +pkg syscall (netbsd-arm64), const DLT_IPV6 = 229 +pkg syscall (netbsd-arm64), const DLT_IPV6 ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_ATM1 = 137 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_ATM1 ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_ATM2 = 135 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_ATM2 ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_CHDLC = 181 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_CHDLC ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_ES = 132 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_ES ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_ETHER = 178 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_ETHER ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_FRELAY = 180 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_FRELAY ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_GGSN = 133 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_GGSN ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_ISM = 194 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_ISM ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_MFR = 134 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_MFR ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_MLFR = 131 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_MLFR ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_MLPPP = 130 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_MLPPP ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_MONITOR = 164 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_MONITOR ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_PIC_PEER = 174 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_PIC_PEER ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_PPP = 179 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_PPP ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_PPPOE = 167 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_PPPOE_ATM = 168 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_PPPOE_ATM ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_PPPOE ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_SERVICES = 136 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_SERVICES ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_ST = 200 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_ST ideal-int +pkg syscall (netbsd-arm64), const DLT_JUNIPER_VP = 183 +pkg syscall (netbsd-arm64), const DLT_JUNIPER_VP ideal-int +pkg syscall (netbsd-arm64), const DLT_LAPB_WITH_DIR = 207 +pkg syscall (netbsd-arm64), const DLT_LAPB_WITH_DIR ideal-int +pkg syscall (netbsd-arm64), const DLT_LAPD = 203 +pkg syscall (netbsd-arm64), const DLT_LAPD ideal-int +pkg syscall (netbsd-arm64), const DLT_LIN = 212 +pkg syscall (netbsd-arm64), const DLT_LIN ideal-int +pkg syscall (netbsd-arm64), const DLT_LINUX_EVDEV = 216 +pkg syscall (netbsd-arm64), const DLT_LINUX_EVDEV ideal-int +pkg syscall (netbsd-arm64), const DLT_LINUX_IRDA = 144 +pkg syscall (netbsd-arm64), const DLT_LINUX_IRDA ideal-int +pkg syscall (netbsd-arm64), const DLT_LINUX_LAPD = 177 +pkg syscall (netbsd-arm64), const DLT_LINUX_LAPD ideal-int +pkg syscall (netbsd-arm64), const DLT_LINUX_SLL = 113 +pkg syscall (netbsd-arm64), const DLT_LINUX_SLL ideal-int +pkg syscall (netbsd-arm64), const DLT_LOOP = 108 +pkg syscall (netbsd-arm64), const DLT_LOOP ideal-int +pkg syscall (netbsd-arm64), const DLT_LTALK = 114 +pkg syscall (netbsd-arm64), const DLT_LTALK ideal-int +pkg syscall (netbsd-arm64), const DLT_MFR = 182 +pkg syscall (netbsd-arm64), const DLT_MFR ideal-int +pkg syscall (netbsd-arm64), const DLT_MOST = 211 +pkg syscall (netbsd-arm64), const DLT_MOST ideal-int +pkg syscall (netbsd-arm64), const DLT_MPLS = 219 +pkg syscall (netbsd-arm64), const DLT_MPLS ideal-int +pkg syscall (netbsd-arm64), const DLT_MTP2 = 140 +pkg syscall (netbsd-arm64), const DLT_MTP2 ideal-int +pkg syscall (netbsd-arm64), const DLT_MTP2_WITH_PHDR = 139 +pkg syscall (netbsd-arm64), const DLT_MTP2_WITH_PHDR ideal-int +pkg syscall (netbsd-arm64), const DLT_MTP3 = 141 +pkg syscall (netbsd-arm64), const DLT_MTP3 ideal-int +pkg syscall (netbsd-arm64), const DLT_NULL = 0 +pkg syscall (netbsd-arm64), const DLT_NULL ideal-int +pkg syscall (netbsd-arm64), const DLT_PCI_EXP = 125 +pkg syscall (netbsd-arm64), const DLT_PCI_EXP ideal-int +pkg syscall (netbsd-arm64), const DLT_PFLOG = 117 +pkg syscall (netbsd-arm64), const DLT_PFLOG ideal-int +pkg syscall (netbsd-arm64), const DLT_PFSYNC = 18 +pkg syscall (netbsd-arm64), const DLT_PFSYNC ideal-int +pkg syscall (netbsd-arm64), const DLT_PPI = 192 +pkg syscall (netbsd-arm64), const DLT_PPI ideal-int +pkg syscall (netbsd-arm64), const DLT_PPP = 9 +pkg syscall (netbsd-arm64), const DLT_PPP_BSDOS = 14 +pkg syscall (netbsd-arm64), const DLT_PPP_BSDOS ideal-int +pkg syscall (netbsd-arm64), const DLT_PPP_ETHER = 51 +pkg syscall (netbsd-arm64), const DLT_PPP_ETHER ideal-int +pkg syscall (netbsd-arm64), const DLT_PPP ideal-int +pkg syscall (netbsd-arm64), const DLT_PPP_PPPD = 166 +pkg syscall (netbsd-arm64), const DLT_PPP_PPPD ideal-int +pkg syscall (netbsd-arm64), const DLT_PPP_SERIAL = 50 +pkg syscall (netbsd-arm64), const DLT_PPP_SERIAL ideal-int +pkg syscall (netbsd-arm64), const DLT_PPP_WITH_DIR = 204 +pkg syscall (netbsd-arm64), const DLT_PPP_WITH_DIR ideal-int +pkg syscall (netbsd-arm64), const DLT_PRISM_HEADER = 119 +pkg syscall (netbsd-arm64), const DLT_PRISM_HEADER ideal-int +pkg syscall (netbsd-arm64), const DLT_PRONET = 4 +pkg syscall (netbsd-arm64), const DLT_PRONET ideal-int +pkg syscall (netbsd-arm64), const DLT_RAIF1 = 198 +pkg syscall (netbsd-arm64), const DLT_RAIF1 ideal-int +pkg syscall (netbsd-arm64), const DLT_RAW = 12 +pkg syscall (netbsd-arm64), const DLT_RAWAF_MASK = 35913728 +pkg syscall (netbsd-arm64), const DLT_RAWAF_MASK ideal-int +pkg syscall (netbsd-arm64), const DLT_RAW ideal-int +pkg syscall (netbsd-arm64), const DLT_RIO = 124 +pkg syscall (netbsd-arm64), const DLT_RIO ideal-int +pkg syscall (netbsd-arm64), const DLT_SCCP = 142 +pkg syscall (netbsd-arm64), const DLT_SCCP ideal-int +pkg syscall (netbsd-arm64), const DLT_SITA = 196 +pkg syscall (netbsd-arm64), const DLT_SITA ideal-int +pkg syscall (netbsd-arm64), const DLT_SLIP = 8 +pkg syscall (netbsd-arm64), const DLT_SLIP_BSDOS = 13 +pkg syscall (netbsd-arm64), const DLT_SLIP_BSDOS ideal-int +pkg syscall (netbsd-arm64), const DLT_SLIP ideal-int +pkg syscall (netbsd-arm64), const DLT_SUNATM = 123 +pkg syscall (netbsd-arm64), const DLT_SUNATM ideal-int +pkg syscall (netbsd-arm64), const DLT_SYMANTEC_FIREWALL = 99 +pkg syscall (netbsd-arm64), const DLT_SYMANTEC_FIREWALL ideal-int +pkg syscall (netbsd-arm64), const DLT_TZSP = 128 +pkg syscall (netbsd-arm64), const DLT_TZSP ideal-int +pkg syscall (netbsd-arm64), const DLT_USB = 186 +pkg syscall (netbsd-arm64), const DLT_USB ideal-int +pkg syscall (netbsd-arm64), const DLT_USB_LINUX = 189 +pkg syscall (netbsd-arm64), const DLT_USB_LINUX ideal-int +pkg syscall (netbsd-arm64), const DLT_USB_LINUX_MMAPPED = 220 +pkg syscall (netbsd-arm64), const DLT_USB_LINUX_MMAPPED ideal-int +pkg syscall (netbsd-arm64), const DLT_WIHART = 223 +pkg syscall (netbsd-arm64), const DLT_WIHART ideal-int +pkg syscall (netbsd-arm64), const DLT_X2E_SERIAL = 213 +pkg syscall (netbsd-arm64), const DLT_X2E_SERIAL ideal-int +pkg syscall (netbsd-arm64), const DLT_X2E_XORAYA = 214 +pkg syscall (netbsd-arm64), const DLT_X2E_XORAYA ideal-int +pkg syscall (netbsd-arm64), const DT_BLK = 6 +pkg syscall (netbsd-arm64), const DT_BLK ideal-int +pkg syscall (netbsd-arm64), const DT_CHR = 2 +pkg syscall (netbsd-arm64), const DT_CHR ideal-int +pkg syscall (netbsd-arm64), const DT_DIR = 4 +pkg syscall (netbsd-arm64), const DT_DIR ideal-int +pkg syscall (netbsd-arm64), const DT_FIFO = 1 +pkg syscall (netbsd-arm64), const DT_FIFO ideal-int +pkg syscall (netbsd-arm64), const DT_LNK = 10 +pkg syscall (netbsd-arm64), const DT_LNK ideal-int +pkg syscall (netbsd-arm64), const DT_REG = 8 +pkg syscall (netbsd-arm64), const DT_REG ideal-int +pkg syscall (netbsd-arm64), const DT_SOCK = 12 +pkg syscall (netbsd-arm64), const DT_SOCK ideal-int +pkg syscall (netbsd-arm64), const DT_UNKNOWN = 0 +pkg syscall (netbsd-arm64), const DT_UNKNOWN ideal-int +pkg syscall (netbsd-arm64), const DT_WHT = 14 +pkg syscall (netbsd-arm64), const DT_WHT ideal-int +pkg syscall (netbsd-arm64), const E2BIG = 7 +pkg syscall (netbsd-arm64), const EACCES = 13 +pkg syscall (netbsd-arm64), const EADDRINUSE = 48 +pkg syscall (netbsd-arm64), const EADDRNOTAVAIL = 49 +pkg syscall (netbsd-arm64), const EAFNOSUPPORT = 47 +pkg syscall (netbsd-arm64), const EAGAIN = 35 +pkg syscall (netbsd-arm64), const EALREADY = 37 +pkg syscall (netbsd-arm64), const EAUTH = 80 +pkg syscall (netbsd-arm64), const EAUTH Errno +pkg syscall (netbsd-arm64), const EBADF = 9 +pkg syscall (netbsd-arm64), const EBADMSG = 88 +pkg syscall (netbsd-arm64), const EBADMSG Errno +pkg syscall (netbsd-arm64), const EBADRPC = 72 +pkg syscall (netbsd-arm64), const EBADRPC Errno +pkg syscall (netbsd-arm64), const EBUSY = 16 +pkg syscall (netbsd-arm64), const ECANCELED = 87 +pkg syscall (netbsd-arm64), const ECHILD = 10 +pkg syscall (netbsd-arm64), const ECHO = 8 +pkg syscall (netbsd-arm64), const ECHOCTL = 64 +pkg syscall (netbsd-arm64), const ECHOCTL ideal-int +pkg syscall (netbsd-arm64), const ECHOE = 2 +pkg syscall (netbsd-arm64), const ECHOE ideal-int +pkg syscall (netbsd-arm64), const ECHO ideal-int +pkg syscall (netbsd-arm64), const ECHOK = 4 +pkg syscall (netbsd-arm64), const ECHOKE = 1 +pkg syscall (netbsd-arm64), const ECHOKE ideal-int +pkg syscall (netbsd-arm64), const ECHOK ideal-int +pkg syscall (netbsd-arm64), const ECHONL = 16 +pkg syscall (netbsd-arm64), const ECHONL ideal-int +pkg syscall (netbsd-arm64), const ECHOPRT = 32 +pkg syscall (netbsd-arm64), const ECHOPRT ideal-int +pkg syscall (netbsd-arm64), const ECONNABORTED = 53 +pkg syscall (netbsd-arm64), const ECONNREFUSED = 61 +pkg syscall (netbsd-arm64), const ECONNRESET = 54 +pkg syscall (netbsd-arm64), const EDEADLK = 11 +pkg syscall (netbsd-arm64), const EDESTADDRREQ = 39 +pkg syscall (netbsd-arm64), const EDOM = 33 +pkg syscall (netbsd-arm64), const EDQUOT = 69 +pkg syscall (netbsd-arm64), const EEXIST = 17 +pkg syscall (netbsd-arm64), const EFAULT = 14 +pkg syscall (netbsd-arm64), const EFBIG = 27 +pkg syscall (netbsd-arm64), const EFTYPE = 79 +pkg syscall (netbsd-arm64), const EFTYPE Errno +pkg syscall (netbsd-arm64), const EHOSTDOWN = 64 +pkg syscall (netbsd-arm64), const EHOSTUNREACH = 65 +pkg syscall (netbsd-arm64), const EIDRM = 82 +pkg syscall (netbsd-arm64), const EILSEQ = 85 +pkg syscall (netbsd-arm64), const EINPROGRESS = 36 +pkg syscall (netbsd-arm64), const EINTR = 4 +pkg syscall (netbsd-arm64), const EINVAL = 22 +pkg syscall (netbsd-arm64), const EIO = 5 +pkg syscall (netbsd-arm64), const EISCONN = 56 +pkg syscall (netbsd-arm64), const EISDIR = 21 +pkg syscall (netbsd-arm64), const ELAST = 96 +pkg syscall (netbsd-arm64), const ELAST Errno +pkg syscall (netbsd-arm64), const ELOOP = 62 +pkg syscall (netbsd-arm64), const EMFILE = 24 +pkg syscall (netbsd-arm64), const EMLINK = 31 +pkg syscall (netbsd-arm64), const EMSGSIZE = 40 +pkg syscall (netbsd-arm64), const EMUL_LINUX = 1 +pkg syscall (netbsd-arm64), const EMUL_LINUX32 = 5 +pkg syscall (netbsd-arm64), const EMUL_LINUX32 ideal-int +pkg syscall (netbsd-arm64), const EMUL_LINUX ideal-int +pkg syscall (netbsd-arm64), const EMUL_MAXID = 6 +pkg syscall (netbsd-arm64), const EMUL_MAXID ideal-int +pkg syscall (netbsd-arm64), const EMULTIHOP = 94 +pkg syscall (netbsd-arm64), const EMULTIHOP Errno +pkg syscall (netbsd-arm64), const ENAMETOOLONG = 63 +pkg syscall (netbsd-arm64), const ENEEDAUTH = 81 +pkg syscall (netbsd-arm64), const ENEEDAUTH Errno +pkg syscall (netbsd-arm64), const ENETDOWN = 50 +pkg syscall (netbsd-arm64), const ENETRESET = 52 +pkg syscall (netbsd-arm64), const ENETUNREACH = 51 +pkg syscall (netbsd-arm64), const ENFILE = 23 +pkg syscall (netbsd-arm64), const ENOATTR = 93 +pkg syscall (netbsd-arm64), const ENOATTR Errno +pkg syscall (netbsd-arm64), const ENOBUFS = 55 +pkg syscall (netbsd-arm64), const ENODATA = 89 +pkg syscall (netbsd-arm64), const ENODATA Errno +pkg syscall (netbsd-arm64), const ENODEV = 19 +pkg syscall (netbsd-arm64), const ENOEXEC = 8 +pkg syscall (netbsd-arm64), const ENOLCK = 77 +pkg syscall (netbsd-arm64), const ENOLINK = 95 +pkg syscall (netbsd-arm64), const ENOLINK Errno +pkg syscall (netbsd-arm64), const ENOMEM = 12 +pkg syscall (netbsd-arm64), const ENOMSG = 83 +pkg syscall (netbsd-arm64), const ENOPROTOOPT = 42 +pkg syscall (netbsd-arm64), const ENOSPC = 28 +pkg syscall (netbsd-arm64), const ENOSR = 90 +pkg syscall (netbsd-arm64), const ENOSR Errno +pkg syscall (netbsd-arm64), const ENOSTR = 91 +pkg syscall (netbsd-arm64), const ENOSTR Errno +pkg syscall (netbsd-arm64), const ENOSYS = 78 +pkg syscall (netbsd-arm64), const ENOTBLK = 15 +pkg syscall (netbsd-arm64), const ENOTCONN = 57 +pkg syscall (netbsd-arm64), const ENOTDIR = 20 +pkg syscall (netbsd-arm64), const ENOTEMPTY = 66 +pkg syscall (netbsd-arm64), const ENOTSOCK = 38 +pkg syscall (netbsd-arm64), const ENOTSUP = 86 +pkg syscall (netbsd-arm64), const ENOTTY = 25 +pkg syscall (netbsd-arm64), const ENXIO = 6 +pkg syscall (netbsd-arm64), const EOPNOTSUPP = 45 +pkg syscall (netbsd-arm64), const EOVERFLOW = 84 +pkg syscall (netbsd-arm64), const EPERM = 1 +pkg syscall (netbsd-arm64), const EPFNOSUPPORT = 46 +pkg syscall (netbsd-arm64), const EPIPE = 32 +pkg syscall (netbsd-arm64), const EPROCLIM = 67 +pkg syscall (netbsd-arm64), const EPROCLIM Errno +pkg syscall (netbsd-arm64), const EPROCUNAVAIL = 76 +pkg syscall (netbsd-arm64), const EPROCUNAVAIL Errno +pkg syscall (netbsd-arm64), const EPROGMISMATCH = 75 +pkg syscall (netbsd-arm64), const EPROGMISMATCH Errno +pkg syscall (netbsd-arm64), const EPROGUNAVAIL = 74 +pkg syscall (netbsd-arm64), const EPROGUNAVAIL Errno +pkg syscall (netbsd-arm64), const EPROTO = 96 +pkg syscall (netbsd-arm64), const EPROTO Errno +pkg syscall (netbsd-arm64), const EPROTONOSUPPORT = 43 +pkg syscall (netbsd-arm64), const EPROTOTYPE = 41 +pkg syscall (netbsd-arm64), const ERANGE = 34 +pkg syscall (netbsd-arm64), const EREMOTE = 71 +pkg syscall (netbsd-arm64), const EROFS = 30 +pkg syscall (netbsd-arm64), const ERPCMISMATCH = 73 +pkg syscall (netbsd-arm64), const ERPCMISMATCH Errno +pkg syscall (netbsd-arm64), const ESHUTDOWN = 58 +pkg syscall (netbsd-arm64), const ESOCKTNOSUPPORT = 44 +pkg syscall (netbsd-arm64), const ESPIPE = 29 +pkg syscall (netbsd-arm64), const ESRCH = 3 +pkg syscall (netbsd-arm64), const ESTALE = 70 +pkg syscall (netbsd-arm64), const ETHER_ADDR_LEN = 6 +pkg syscall (netbsd-arm64), const ETHER_ADDR_LEN ideal-int +pkg syscall (netbsd-arm64), const ETHERCAP_JUMBO_MTU = 4 +pkg syscall (netbsd-arm64), const ETHERCAP_JUMBO_MTU ideal-int +pkg syscall (netbsd-arm64), const ETHERCAP_VLAN_HWTAGGING = 2 +pkg syscall (netbsd-arm64), const ETHERCAP_VLAN_HWTAGGING ideal-int +pkg syscall (netbsd-arm64), const ETHERCAP_VLAN_MTU = 1 +pkg syscall (netbsd-arm64), const ETHERCAP_VLAN_MTU ideal-int +pkg syscall (netbsd-arm64), const ETHER_CRC_LEN = 4 +pkg syscall (netbsd-arm64), const ETHER_CRC_LEN ideal-int +pkg syscall (netbsd-arm64), const ETHER_CRC_POLY_BE = 79764918 +pkg syscall (netbsd-arm64), const ETHER_CRC_POLY_BE ideal-int +pkg syscall (netbsd-arm64), const ETHER_CRC_POLY_LE = 3988292384 +pkg syscall (netbsd-arm64), const ETHER_CRC_POLY_LE ideal-int +pkg syscall (netbsd-arm64), const ETHER_HDR_LEN = 14 +pkg syscall (netbsd-arm64), const ETHER_HDR_LEN ideal-int +pkg syscall (netbsd-arm64), const ETHER_MAX_LEN = 1518 +pkg syscall (netbsd-arm64), const ETHER_MAX_LEN ideal-int +pkg syscall (netbsd-arm64), const ETHER_MAX_LEN_JUMBO = 9018 +pkg syscall (netbsd-arm64), const ETHER_MAX_LEN_JUMBO ideal-int +pkg syscall (netbsd-arm64), const ETHERMIN = 46 +pkg syscall (netbsd-arm64), const ETHERMIN ideal-int +pkg syscall (netbsd-arm64), const ETHER_MIN_LEN = 64 +pkg syscall (netbsd-arm64), const ETHER_MIN_LEN ideal-int +pkg syscall (netbsd-arm64), const ETHERMTU = 1500 +pkg syscall (netbsd-arm64), const ETHERMTU ideal-int +pkg syscall (netbsd-arm64), const ETHERMTU_JUMBO = 9000 +pkg syscall (netbsd-arm64), const ETHERMTU_JUMBO ideal-int +pkg syscall (netbsd-arm64), const ETHER_PPPOE_ENCAP_LEN = 8 +pkg syscall (netbsd-arm64), const ETHER_PPPOE_ENCAP_LEN ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_8023 = 4 +pkg syscall (netbsd-arm64), const ETHERTYPE_8023 ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_AARP = 33011 +pkg syscall (netbsd-arm64), const ETHERTYPE_AARP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_ACCTON = 33680 +pkg syscall (netbsd-arm64), const ETHERTYPE_ACCTON ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_AEONIC = 32822 +pkg syscall (netbsd-arm64), const ETHERTYPE_AEONIC ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_ALPHA = 33098 +pkg syscall (netbsd-arm64), const ETHERTYPE_ALPHA ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_AMBER = 24584 +pkg syscall (netbsd-arm64), const ETHERTYPE_AMBER ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_AMOEBA = 33093 +pkg syscall (netbsd-arm64), const ETHERTYPE_AMOEBA ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_APOLLO = 33015 +pkg syscall (netbsd-arm64), const ETHERTYPE_APOLLODOMAIN = 32793 +pkg syscall (netbsd-arm64), const ETHERTYPE_APOLLODOMAIN ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_APOLLO ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_APPLETALK = 32923 +pkg syscall (netbsd-arm64), const ETHERTYPE_APPLETALK ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_APPLITEK = 32967 +pkg syscall (netbsd-arm64), const ETHERTYPE_APPLITEK ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_ARGONAUT = 32826 +pkg syscall (netbsd-arm64), const ETHERTYPE_ARGONAUT ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_ARP = 2054 +pkg syscall (netbsd-arm64), const ETHERTYPE_ARP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_AT = 32923 +pkg syscall (netbsd-arm64), const ETHERTYPE_ATALK = 32923 +pkg syscall (netbsd-arm64), const ETHERTYPE_ATALK ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_AT ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_ATOMIC = 34527 +pkg syscall (netbsd-arm64), const ETHERTYPE_ATOMIC ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_ATT = 32873 +pkg syscall (netbsd-arm64), const ETHERTYPE_ATT ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_ATTSTANFORD = 32776 +pkg syscall (netbsd-arm64), const ETHERTYPE_ATTSTANFORD ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_AUTOPHON = 32874 +pkg syscall (netbsd-arm64), const ETHERTYPE_AUTOPHON ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_AXIS = 34902 +pkg syscall (netbsd-arm64), const ETHERTYPE_AXIS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_BCLOOP = 36867 +pkg syscall (netbsd-arm64), const ETHERTYPE_BCLOOP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_BOFL = 33026 +pkg syscall (netbsd-arm64), const ETHERTYPE_BOFL ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_CABLETRON = 28724 +pkg syscall (netbsd-arm64), const ETHERTYPE_CABLETRON ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_CHAOS = 2052 +pkg syscall (netbsd-arm64), const ETHERTYPE_CHAOS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_COMDESIGN = 32876 +pkg syscall (netbsd-arm64), const ETHERTYPE_COMDESIGN ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_COMPUGRAPHIC = 32877 +pkg syscall (netbsd-arm64), const ETHERTYPE_COMPUGRAPHIC ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_COUNTERPOINT = 32866 +pkg syscall (netbsd-arm64), const ETHERTYPE_COUNTERPOINT ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_CRONUS = 32772 +pkg syscall (netbsd-arm64), const ETHERTYPE_CRONUS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_CRONUSVLN = 32771 +pkg syscall (netbsd-arm64), const ETHERTYPE_CRONUSVLN ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DCA = 4660 +pkg syscall (netbsd-arm64), const ETHERTYPE_DCA ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DDE = 32891 +pkg syscall (netbsd-arm64), const ETHERTYPE_DDE ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DEBNI = 43690 +pkg syscall (netbsd-arm64), const ETHERTYPE_DEBNI ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DECAM = 32840 +pkg syscall (netbsd-arm64), const ETHERTYPE_DECAM ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DECCUST = 24582 +pkg syscall (netbsd-arm64), const ETHERTYPE_DECCUST ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DECDIAG = 24581 +pkg syscall (netbsd-arm64), const ETHERTYPE_DECDIAG ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DECDNS = 32828 +pkg syscall (netbsd-arm64), const ETHERTYPE_DECDNS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DECDTS = 32830 +pkg syscall (netbsd-arm64), const ETHERTYPE_DECDTS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DECEXPER = 24576 +pkg syscall (netbsd-arm64), const ETHERTYPE_DECEXPER ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DECLAST = 32833 +pkg syscall (netbsd-arm64), const ETHERTYPE_DECLAST ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DECLTM = 32831 +pkg syscall (netbsd-arm64), const ETHERTYPE_DECLTM ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DECMUMPS = 24585 +pkg syscall (netbsd-arm64), const ETHERTYPE_DECMUMPS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DECNETBIOS = 32832 +pkg syscall (netbsd-arm64), const ETHERTYPE_DECNETBIOS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DELTACON = 34526 +pkg syscall (netbsd-arm64), const ETHERTYPE_DELTACON ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DIDDLE = 17185 +pkg syscall (netbsd-arm64), const ETHERTYPE_DIDDLE ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DLOG1 = 1632 +pkg syscall (netbsd-arm64), const ETHERTYPE_DLOG1 ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DLOG2 = 1633 +pkg syscall (netbsd-arm64), const ETHERTYPE_DLOG2 ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DN = 24579 +pkg syscall (netbsd-arm64), const ETHERTYPE_DN ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DOGFIGHT = 6537 +pkg syscall (netbsd-arm64), const ETHERTYPE_DOGFIGHT ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_DSMD = 32825 +pkg syscall (netbsd-arm64), const ETHERTYPE_DSMD ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_ECMA = 2051 +pkg syscall (netbsd-arm64), const ETHERTYPE_ECMA ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_ENCRYPT = 32829 +pkg syscall (netbsd-arm64), const ETHERTYPE_ENCRYPT ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_ES = 32861 +pkg syscall (netbsd-arm64), const ETHERTYPE_ES ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_EXCELAN = 32784 +pkg syscall (netbsd-arm64), const ETHERTYPE_EXCELAN ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_EXPERDATA = 32841 +pkg syscall (netbsd-arm64), const ETHERTYPE_EXPERDATA ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_FLIP = 33094 +pkg syscall (netbsd-arm64), const ETHERTYPE_FLIP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_FLOWCONTROL = 34824 +pkg syscall (netbsd-arm64), const ETHERTYPE_FLOWCONTROL ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_FRARP = 2056 +pkg syscall (netbsd-arm64), const ETHERTYPE_FRARP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_GENDYN = 32872 +pkg syscall (netbsd-arm64), const ETHERTYPE_GENDYN ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_HAYES = 33072 +pkg syscall (netbsd-arm64), const ETHERTYPE_HAYES ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_HIPPI_FP = 33152 +pkg syscall (netbsd-arm64), const ETHERTYPE_HIPPI_FP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_HITACHI = 34848 +pkg syscall (netbsd-arm64), const ETHERTYPE_HITACHI ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_HP = 32773 +pkg syscall (netbsd-arm64), const ETHERTYPE_HP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_IEEEPUP = 2560 +pkg syscall (netbsd-arm64), const ETHERTYPE_IEEEPUPAT = 2561 +pkg syscall (netbsd-arm64), const ETHERTYPE_IEEEPUPAT ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_IEEEPUP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_IMLBL = 19522 +pkg syscall (netbsd-arm64), const ETHERTYPE_IMLBLDIAG = 16972 +pkg syscall (netbsd-arm64), const ETHERTYPE_IMLBLDIAG ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_IMLBL ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_IP = 2048 +pkg syscall (netbsd-arm64), const ETHERTYPE_IPAS = 34668 +pkg syscall (netbsd-arm64), const ETHERTYPE_IPAS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_IP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_IPV6 = 34525 +pkg syscall (netbsd-arm64), const ETHERTYPE_IPV6 ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_IPX = 33079 +pkg syscall (netbsd-arm64), const ETHERTYPE_IPX ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_IPXNEW = 32823 +pkg syscall (netbsd-arm64), const ETHERTYPE_IPXNEW ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_KALPANA = 34178 +pkg syscall (netbsd-arm64), const ETHERTYPE_KALPANA ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_LANBRIDGE = 32824 +pkg syscall (netbsd-arm64), const ETHERTYPE_LANBRIDGE ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_LANPROBE = 34952 +pkg syscall (netbsd-arm64), const ETHERTYPE_LANPROBE ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_LAT = 24580 +pkg syscall (netbsd-arm64), const ETHERTYPE_LAT ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_LBACK = 36864 +pkg syscall (netbsd-arm64), const ETHERTYPE_LBACK ideal-int +pkg syscall (netbsd-arm64), const ETHER_TYPE_LEN = 2 +pkg syscall (netbsd-arm64), const ETHER_TYPE_LEN ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_LITTLE = 32864 +pkg syscall (netbsd-arm64), const ETHERTYPE_LITTLE ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_LOGICRAFT = 33096 +pkg syscall (netbsd-arm64), const ETHERTYPE_LOGICRAFT ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_LOOPBACK = 36864 +pkg syscall (netbsd-arm64), const ETHERTYPE_LOOPBACK ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_MATRA = 32890 +pkg syscall (netbsd-arm64), const ETHERTYPE_MATRA ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_MAX = 65535 +pkg syscall (netbsd-arm64), const ETHERTYPE_MAX ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_MERIT = 32892 +pkg syscall (netbsd-arm64), const ETHERTYPE_MERIT ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_MICP = 34618 +pkg syscall (netbsd-arm64), const ETHERTYPE_MICP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_MOPDL = 24577 +pkg syscall (netbsd-arm64), const ETHERTYPE_MOPDL ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_MOPRC = 24578 +pkg syscall (netbsd-arm64), const ETHERTYPE_MOPRC ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_MOTOROLA = 33165 +pkg syscall (netbsd-arm64), const ETHERTYPE_MOTOROLA ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_MPLS = 34887 +pkg syscall (netbsd-arm64), const ETHERTYPE_MPLS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_MPLS_MCAST = 34888 +pkg syscall (netbsd-arm64), const ETHERTYPE_MPLS_MCAST ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_MUMPS = 33087 +pkg syscall (netbsd-arm64), const ETHERTYPE_MUMPS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCC = 15364 +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCC ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCLAIM = 15369 +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCLAIM ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCLREQ = 15365 +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCLREQ ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCLRSP = 15366 +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCLRSP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCREQ = 15362 +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCREQ ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCRSP = 15363 +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCRSP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPDG = 15367 +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPDGB = 15368 +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPDGB ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPDG ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPDLTE = 15370 +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPDLTE ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPRAR = 15372 +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPRAR ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPRAS = 15371 +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPRAS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPRST = 15373 +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPRST ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPSCD = 15361 +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPSCD ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPVCD = 15360 +pkg syscall (netbsd-arm64), const ETHERTYPE_NBPVCD ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NBS = 2050 +pkg syscall (netbsd-arm64), const ETHERTYPE_NBS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NCD = 33097 +pkg syscall (netbsd-arm64), const ETHERTYPE_NCD ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NESTAR = 32774 +pkg syscall (netbsd-arm64), const ETHERTYPE_NESTAR ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NETBEUI = 33169 +pkg syscall (netbsd-arm64), const ETHERTYPE_NETBEUI ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NOVELL = 33080 +pkg syscall (netbsd-arm64), const ETHERTYPE_NOVELL ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NS = 1536 +pkg syscall (netbsd-arm64), const ETHERTYPE_NSAT = 1537 +pkg syscall (netbsd-arm64), const ETHERTYPE_NSAT ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NSCOMPAT = 2055 +pkg syscall (netbsd-arm64), const ETHERTYPE_NSCOMPAT ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_NTRAILER = 16 +pkg syscall (netbsd-arm64), const ETHERTYPE_NTRAILER ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_OS9 = 28679 +pkg syscall (netbsd-arm64), const ETHERTYPE_OS9 ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_OS9NET = 28681 +pkg syscall (netbsd-arm64), const ETHERTYPE_OS9NET ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_PACER = 32966 +pkg syscall (netbsd-arm64), const ETHERTYPE_PACER ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_PAE = 34958 +pkg syscall (netbsd-arm64), const ETHERTYPE_PAE ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_PCS = 16962 +pkg syscall (netbsd-arm64), const ETHERTYPE_PCS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_PLANNING = 32836 +pkg syscall (netbsd-arm64), const ETHERTYPE_PLANNING ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_PPP = 34827 +pkg syscall (netbsd-arm64), const ETHERTYPE_PPP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_PPPOE = 34916 +pkg syscall (netbsd-arm64), const ETHERTYPE_PPPOEDISC = 34915 +pkg syscall (netbsd-arm64), const ETHERTYPE_PPPOEDISC ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_PPPOE ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_PRIMENTS = 28721 +pkg syscall (netbsd-arm64), const ETHERTYPE_PRIMENTS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_PUP = 512 +pkg syscall (netbsd-arm64), const ETHERTYPE_PUPAT = 512 +pkg syscall (netbsd-arm64), const ETHERTYPE_PUPAT ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_PUP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_RACAL = 28720 +pkg syscall (netbsd-arm64), const ETHERTYPE_RACAL ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_RATIONAL = 33104 +pkg syscall (netbsd-arm64), const ETHERTYPE_RATIONAL ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_RAWFR = 25945 +pkg syscall (netbsd-arm64), const ETHERTYPE_RAWFR ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_RCL = 6549 +pkg syscall (netbsd-arm64), const ETHERTYPE_RCL ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_RDP = 34617 +pkg syscall (netbsd-arm64), const ETHERTYPE_RDP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_RETIX = 33010 +pkg syscall (netbsd-arm64), const ETHERTYPE_RETIX ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_REVARP = 32821 +pkg syscall (netbsd-arm64), const ETHERTYPE_REVARP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_SCA = 24583 +pkg syscall (netbsd-arm64), const ETHERTYPE_SCA ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_SECTRA = 34523 +pkg syscall (netbsd-arm64), const ETHERTYPE_SECTRA ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_SECUREDATA = 34669 +pkg syscall (netbsd-arm64), const ETHERTYPE_SECUREDATA ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_SG_BOUNCE = 32790 +pkg syscall (netbsd-arm64), const ETHERTYPE_SG_BOUNCE ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_SG_DIAG = 32787 +pkg syscall (netbsd-arm64), const ETHERTYPE_SG_DIAG ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_SGITW = 33150 +pkg syscall (netbsd-arm64), const ETHERTYPE_SGITW ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_SG_NETGAMES = 32788 +pkg syscall (netbsd-arm64), const ETHERTYPE_SG_NETGAMES ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_SG_RESV = 32789 +pkg syscall (netbsd-arm64), const ETHERTYPE_SG_RESV ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_SIMNET = 21000 +pkg syscall (netbsd-arm64), const ETHERTYPE_SIMNET ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_SLOWPROTOCOLS = 34825 +pkg syscall (netbsd-arm64), const ETHERTYPE_SLOWPROTOCOLS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_SNA = 32981 +pkg syscall (netbsd-arm64), const ETHERTYPE_SNA ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_SNMP = 33100 +pkg syscall (netbsd-arm64), const ETHERTYPE_SNMP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_SONIX = 64245 +pkg syscall (netbsd-arm64), const ETHERTYPE_SONIX ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_SPIDER = 32927 +pkg syscall (netbsd-arm64), const ETHERTYPE_SPIDER ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_SPRITE = 1280 +pkg syscall (netbsd-arm64), const ETHERTYPE_SPRITE ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_STP = 33153 +pkg syscall (netbsd-arm64), const ETHERTYPE_STP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_TALARIS = 33067 +pkg syscall (netbsd-arm64), const ETHERTYPE_TALARIS ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_TALARISMC = 34091 +pkg syscall (netbsd-arm64), const ETHERTYPE_TALARISMC ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_TCPCOMP = 34667 +pkg syscall (netbsd-arm64), const ETHERTYPE_TCPCOMP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_TCPSM = 36866 +pkg syscall (netbsd-arm64), const ETHERTYPE_TCPSM ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_TEC = 33103 +pkg syscall (netbsd-arm64), const ETHERTYPE_TEC ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_TIGAN = 32815 +pkg syscall (netbsd-arm64), const ETHERTYPE_TIGAN ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_TRAIL = 4096 +pkg syscall (netbsd-arm64), const ETHERTYPE_TRAIL ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_TRANSETHER = 25944 +pkg syscall (netbsd-arm64), const ETHERTYPE_TRANSETHER ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_TYMSHARE = 32814 +pkg syscall (netbsd-arm64), const ETHERTYPE_TYMSHARE ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_UBBST = 28677 +pkg syscall (netbsd-arm64), const ETHERTYPE_UBBST ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_UBDEBUG = 2304 +pkg syscall (netbsd-arm64), const ETHERTYPE_UBDEBUG ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_UBDIAGLOOP = 28674 +pkg syscall (netbsd-arm64), const ETHERTYPE_UBDIAGLOOP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_UBDL = 28672 +pkg syscall (netbsd-arm64), const ETHERTYPE_UBDL ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_UBNIU = 28673 +pkg syscall (netbsd-arm64), const ETHERTYPE_UBNIU ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_UBNMC = 28675 +pkg syscall (netbsd-arm64), const ETHERTYPE_UBNMC ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_VALID = 5632 +pkg syscall (netbsd-arm64), const ETHERTYPE_VALID ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_VARIAN = 32989 +pkg syscall (netbsd-arm64), const ETHERTYPE_VARIAN ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_VAXELN = 32827 +pkg syscall (netbsd-arm64), const ETHERTYPE_VAXELN ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_VEECO = 32871 +pkg syscall (netbsd-arm64), const ETHERTYPE_VEECO ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_VEXP = 32859 +pkg syscall (netbsd-arm64), const ETHERTYPE_VEXP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_VGLAB = 33073 +pkg syscall (netbsd-arm64), const ETHERTYPE_VGLAB ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_VINES = 2989 +pkg syscall (netbsd-arm64), const ETHERTYPE_VINESECHO = 2991 +pkg syscall (netbsd-arm64), const ETHERTYPE_VINESECHO ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_VINES ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_VINESLOOP = 2990 +pkg syscall (netbsd-arm64), const ETHERTYPE_VINESLOOP ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_VITAL = 65280 +pkg syscall (netbsd-arm64), const ETHERTYPE_VITAL ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_VLAN = 33024 +pkg syscall (netbsd-arm64), const ETHERTYPE_VLAN ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_VLTLMAN = 32896 +pkg syscall (netbsd-arm64), const ETHERTYPE_VLTLMAN ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_VPROD = 32860 +pkg syscall (netbsd-arm64), const ETHERTYPE_VPROD ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_VURESERVED = 33095 +pkg syscall (netbsd-arm64), const ETHERTYPE_VURESERVED ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_WATERLOO = 33072 +pkg syscall (netbsd-arm64), const ETHERTYPE_WATERLOO ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_WELLFLEET = 33027 +pkg syscall (netbsd-arm64), const ETHERTYPE_WELLFLEET ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_X25 = 2053 +pkg syscall (netbsd-arm64), const ETHERTYPE_X25 ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_X75 = 2049 +pkg syscall (netbsd-arm64), const ETHERTYPE_X75 ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_XNSSM = 36865 +pkg syscall (netbsd-arm64), const ETHERTYPE_XNSSM ideal-int +pkg syscall (netbsd-arm64), const ETHERTYPE_XTP = 33149 +pkg syscall (netbsd-arm64), const ETHERTYPE_XTP ideal-int +pkg syscall (netbsd-arm64), const ETHER_VLAN_ENCAP_LEN = 4 +pkg syscall (netbsd-arm64), const ETHER_VLAN_ENCAP_LEN ideal-int +pkg syscall (netbsd-arm64), const ETIME = 92 +pkg syscall (netbsd-arm64), const ETIMEDOUT = 60 +pkg syscall (netbsd-arm64), const ETIME Errno +pkg syscall (netbsd-arm64), const ETOOMANYREFS = 59 +pkg syscall (netbsd-arm64), const ETXTBSY = 26 +pkg syscall (netbsd-arm64), const EUSERS = 68 +pkg syscall (netbsd-arm64), const EV_ADD = 1 +pkg syscall (netbsd-arm64), const EV_ADD ideal-int +pkg syscall (netbsd-arm64), const EV_CLEAR = 32 +pkg syscall (netbsd-arm64), const EV_CLEAR ideal-int +pkg syscall (netbsd-arm64), const EV_DELETE = 2 +pkg syscall (netbsd-arm64), const EV_DELETE ideal-int +pkg syscall (netbsd-arm64), const EV_DISABLE = 8 +pkg syscall (netbsd-arm64), const EV_DISABLE ideal-int +pkg syscall (netbsd-arm64), const EV_ENABLE = 4 +pkg syscall (netbsd-arm64), const EV_ENABLE ideal-int +pkg syscall (netbsd-arm64), const EV_EOF = 32768 +pkg syscall (netbsd-arm64), const EV_EOF ideal-int +pkg syscall (netbsd-arm64), const EV_ERROR = 16384 +pkg syscall (netbsd-arm64), const EV_ERROR ideal-int +pkg syscall (netbsd-arm64), const EVFILT_AIO = 2 +pkg syscall (netbsd-arm64), const EVFILT_AIO ideal-int +pkg syscall (netbsd-arm64), const EVFILT_PROC = 4 +pkg syscall (netbsd-arm64), const EVFILT_PROC ideal-int +pkg syscall (netbsd-arm64), const EVFILT_READ = 0 +pkg syscall (netbsd-arm64), const EVFILT_READ ideal-int +pkg syscall (netbsd-arm64), const EVFILT_SIGNAL = 5 +pkg syscall (netbsd-arm64), const EVFILT_SIGNAL ideal-int +pkg syscall (netbsd-arm64), const EVFILT_SYSCOUNT = 7 +pkg syscall (netbsd-arm64), const EVFILT_SYSCOUNT ideal-int +pkg syscall (netbsd-arm64), const EVFILT_TIMER = 6 +pkg syscall (netbsd-arm64), const EVFILT_TIMER ideal-int +pkg syscall (netbsd-arm64), const EVFILT_VNODE = 3 +pkg syscall (netbsd-arm64), const EVFILT_VNODE ideal-int +pkg syscall (netbsd-arm64), const EVFILT_WRITE = 1 +pkg syscall (netbsd-arm64), const EVFILT_WRITE ideal-int +pkg syscall (netbsd-arm64), const EV_FLAG1 = 8192 +pkg syscall (netbsd-arm64), const EV_FLAG1 ideal-int +pkg syscall (netbsd-arm64), const EV_ONESHOT = 16 +pkg syscall (netbsd-arm64), const EV_ONESHOT ideal-int +pkg syscall (netbsd-arm64), const EV_SYSFLAGS = 61440 +pkg syscall (netbsd-arm64), const EV_SYSFLAGS ideal-int +pkg syscall (netbsd-arm64), const EWOULDBLOCK = 35 +pkg syscall (netbsd-arm64), const EXDEV = 18 +pkg syscall (netbsd-arm64), const EXTA = 19200 +pkg syscall (netbsd-arm64), const EXTA ideal-int +pkg syscall (netbsd-arm64), const EXTB = 38400 +pkg syscall (netbsd-arm64), const EXTB ideal-int +pkg syscall (netbsd-arm64), const EXTPROC = 2048 +pkg syscall (netbsd-arm64), const EXTPROC ideal-int +pkg syscall (netbsd-arm64), const F_CLOSEM = 10 +pkg syscall (netbsd-arm64), const F_CLOSEM ideal-int +pkg syscall (netbsd-arm64), const FD_CLOEXEC = 1 +pkg syscall (netbsd-arm64), const FD_CLOEXEC ideal-int +pkg syscall (netbsd-arm64), const FD_SETSIZE = 256 +pkg syscall (netbsd-arm64), const FD_SETSIZE ideal-int +pkg syscall (netbsd-arm64), const F_DUPFD = 0 +pkg syscall (netbsd-arm64), const F_DUPFD_CLOEXEC = 12 +pkg syscall (netbsd-arm64), const F_DUPFD_CLOEXEC ideal-int +pkg syscall (netbsd-arm64), const F_DUPFD ideal-int +pkg syscall (netbsd-arm64), const F_FSCTL = -2147483648 +pkg syscall (netbsd-arm64), const F_FSCTL ideal-int +pkg syscall (netbsd-arm64), const F_FSDIRMASK = 1879048192 +pkg syscall (netbsd-arm64), const F_FSDIRMASK ideal-int +pkg syscall (netbsd-arm64), const F_FSIN = 268435456 +pkg syscall (netbsd-arm64), const F_FSIN ideal-int +pkg syscall (netbsd-arm64), const F_FSINOUT = 805306368 +pkg syscall (netbsd-arm64), const F_FSINOUT ideal-int +pkg syscall (netbsd-arm64), const F_FSOUT = 536870912 +pkg syscall (netbsd-arm64), const F_FSOUT ideal-int +pkg syscall (netbsd-arm64), const F_FSPRIV = 32768 +pkg syscall (netbsd-arm64), const F_FSPRIV ideal-int +pkg syscall (netbsd-arm64), const F_FSVOID = 1073741824 +pkg syscall (netbsd-arm64), const F_FSVOID ideal-int +pkg syscall (netbsd-arm64), const F_GETFD = 1 +pkg syscall (netbsd-arm64), const F_GETFD ideal-int +pkg syscall (netbsd-arm64), const F_GETFL = 3 +pkg syscall (netbsd-arm64), const F_GETFL ideal-int +pkg syscall (netbsd-arm64), const F_GETLK = 7 +pkg syscall (netbsd-arm64), const F_GETLK ideal-int +pkg syscall (netbsd-arm64), const F_GETNOSIGPIPE = 13 +pkg syscall (netbsd-arm64), const F_GETNOSIGPIPE ideal-int +pkg syscall (netbsd-arm64), const F_GETOWN = 5 +pkg syscall (netbsd-arm64), const F_GETOWN ideal-int +pkg syscall (netbsd-arm64), const FLUSHO = 8388608 +pkg syscall (netbsd-arm64), const FLUSHO ideal-int +pkg syscall (netbsd-arm64), const F_MAXFD = 11 +pkg syscall (netbsd-arm64), const F_MAXFD ideal-int +pkg syscall (netbsd-arm64), const F_OK = 0 +pkg syscall (netbsd-arm64), const F_OK ideal-int +pkg syscall (netbsd-arm64), const F_PARAM_MASK = 4095 +pkg syscall (netbsd-arm64), const F_PARAM_MASK ideal-int +pkg syscall (netbsd-arm64), const F_PARAM_MAX = 4095 +pkg syscall (netbsd-arm64), const F_PARAM_MAX ideal-int +pkg syscall (netbsd-arm64), const F_RDLCK = 1 +pkg syscall (netbsd-arm64), const F_RDLCK ideal-int +pkg syscall (netbsd-arm64), const F_SETFD = 2 +pkg syscall (netbsd-arm64), const F_SETFD ideal-int +pkg syscall (netbsd-arm64), const F_SETFL = 4 +pkg syscall (netbsd-arm64), const F_SETFL ideal-int +pkg syscall (netbsd-arm64), const F_SETLK = 8 +pkg syscall (netbsd-arm64), const F_SETLK ideal-int +pkg syscall (netbsd-arm64), const F_SETLKW = 9 +pkg syscall (netbsd-arm64), const F_SETLKW ideal-int +pkg syscall (netbsd-arm64), const F_SETNOSIGPIPE = 14 +pkg syscall (netbsd-arm64), const F_SETNOSIGPIPE ideal-int +pkg syscall (netbsd-arm64), const F_SETOWN = 6 +pkg syscall (netbsd-arm64), const F_SETOWN ideal-int +pkg syscall (netbsd-arm64), const F_UNLCK = 2 +pkg syscall (netbsd-arm64), const F_UNLCK ideal-int +pkg syscall (netbsd-arm64), const F_WRLCK = 3 +pkg syscall (netbsd-arm64), const F_WRLCK ideal-int +pkg syscall (netbsd-arm64), const HUPCL = 16384 +pkg syscall (netbsd-arm64), const HUPCL ideal-int +pkg syscall (netbsd-arm64), const ICANON = 256 +pkg syscall (netbsd-arm64), const ICANON ideal-int +pkg syscall (netbsd-arm64), const ICMP6_FILTER = 18 +pkg syscall (netbsd-arm64), const ICMP6_FILTER ideal-int +pkg syscall (netbsd-arm64), const ICRNL = 256 +pkg syscall (netbsd-arm64), const ICRNL ideal-int +pkg syscall (netbsd-arm64), const IEXTEN = 1024 +pkg syscall (netbsd-arm64), const IEXTEN ideal-int +pkg syscall (netbsd-arm64), const IFAN_ARRIVAL = 0 +pkg syscall (netbsd-arm64), const IFAN_ARRIVAL ideal-int +pkg syscall (netbsd-arm64), const IFAN_DEPARTURE = 1 +pkg syscall (netbsd-arm64), const IFAN_DEPARTURE ideal-int +pkg syscall (netbsd-arm64), const IFA_ROUTE = 1 +pkg syscall (netbsd-arm64), const IFA_ROUTE ideal-int +pkg syscall (netbsd-arm64), const IFF_ALLMULTI = 512 +pkg syscall (netbsd-arm64), const IFF_ALLMULTI ideal-int +pkg syscall (netbsd-arm64), const IFF_CANTCHANGE = 36690 +pkg syscall (netbsd-arm64), const IFF_CANTCHANGE ideal-int +pkg syscall (netbsd-arm64), const IFF_DEBUG = 4 +pkg syscall (netbsd-arm64), const IFF_DEBUG ideal-int +pkg syscall (netbsd-arm64), const IFF_LINK0 = 4096 +pkg syscall (netbsd-arm64), const IFF_LINK0 ideal-int +pkg syscall (netbsd-arm64), const IFF_LINK1 = 8192 +pkg syscall (netbsd-arm64), const IFF_LINK1 ideal-int +pkg syscall (netbsd-arm64), const IFF_LINK2 = 16384 +pkg syscall (netbsd-arm64), const IFF_LINK2 ideal-int +pkg syscall (netbsd-arm64), const IFF_LOOPBACK = 8 +pkg syscall (netbsd-arm64), const IFF_MULTICAST = 32768 +pkg syscall (netbsd-arm64), const IFF_NOARP = 128 +pkg syscall (netbsd-arm64), const IFF_NOARP ideal-int +pkg syscall (netbsd-arm64), const IFF_NOTRAILERS = 32 +pkg syscall (netbsd-arm64), const IFF_NOTRAILERS ideal-int +pkg syscall (netbsd-arm64), const IFF_OACTIVE = 1024 +pkg syscall (netbsd-arm64), const IFF_OACTIVE ideal-int +pkg syscall (netbsd-arm64), const IFF_POINTOPOINT = 16 +pkg syscall (netbsd-arm64), const IFF_POINTOPOINT ideal-int +pkg syscall (netbsd-arm64), const IFF_PROMISC = 256 +pkg syscall (netbsd-arm64), const IFF_PROMISC ideal-int +pkg syscall (netbsd-arm64), const IFF_RUNNING = 64 +pkg syscall (netbsd-arm64), const IFF_RUNNING ideal-int +pkg syscall (netbsd-arm64), const IFF_SIMPLEX = 2048 +pkg syscall (netbsd-arm64), const IFF_SIMPLEX ideal-int +pkg syscall (netbsd-arm64), const IFNAMSIZ = 16 +pkg syscall (netbsd-arm64), const IFNAMSIZ ideal-int +pkg syscall (netbsd-arm64), const IFT_1822 = 2 +pkg syscall (netbsd-arm64), const IFT_1822 ideal-int +pkg syscall (netbsd-arm64), const IFT_A12MPPSWITCH = 130 +pkg syscall (netbsd-arm64), const IFT_A12MPPSWITCH ideal-int +pkg syscall (netbsd-arm64), const IFT_AAL2 = 187 +pkg syscall (netbsd-arm64), const IFT_AAL2 ideal-int +pkg syscall (netbsd-arm64), const IFT_AAL5 = 49 +pkg syscall (netbsd-arm64), const IFT_AAL5 ideal-int +pkg syscall (netbsd-arm64), const IFT_ADSL = 94 +pkg syscall (netbsd-arm64), const IFT_ADSL ideal-int +pkg syscall (netbsd-arm64), const IFT_AFLANE8023 = 59 +pkg syscall (netbsd-arm64), const IFT_AFLANE8023 ideal-int +pkg syscall (netbsd-arm64), const IFT_AFLANE8025 = 60 +pkg syscall (netbsd-arm64), const IFT_AFLANE8025 ideal-int +pkg syscall (netbsd-arm64), const IFT_ARAP = 88 +pkg syscall (netbsd-arm64), const IFT_ARAP ideal-int +pkg syscall (netbsd-arm64), const IFT_ARCNET = 35 +pkg syscall (netbsd-arm64), const IFT_ARCNET ideal-int +pkg syscall (netbsd-arm64), const IFT_ARCNETPLUS = 36 +pkg syscall (netbsd-arm64), const IFT_ARCNETPLUS ideal-int +pkg syscall (netbsd-arm64), const IFT_ASYNC = 84 +pkg syscall (netbsd-arm64), const IFT_ASYNC ideal-int +pkg syscall (netbsd-arm64), const IFT_ATM = 37 +pkg syscall (netbsd-arm64), const IFT_ATMDXI = 105 +pkg syscall (netbsd-arm64), const IFT_ATMDXI ideal-int +pkg syscall (netbsd-arm64), const IFT_ATMFUNI = 106 +pkg syscall (netbsd-arm64), const IFT_ATMFUNI ideal-int +pkg syscall (netbsd-arm64), const IFT_ATM ideal-int +pkg syscall (netbsd-arm64), const IFT_ATMIMA = 107 +pkg syscall (netbsd-arm64), const IFT_ATMIMA ideal-int +pkg syscall (netbsd-arm64), const IFT_ATMLOGICAL = 80 +pkg syscall (netbsd-arm64), const IFT_ATMLOGICAL ideal-int +pkg syscall (netbsd-arm64), const IFT_ATMRADIO = 189 +pkg syscall (netbsd-arm64), const IFT_ATMRADIO ideal-int +pkg syscall (netbsd-arm64), const IFT_ATMSUBINTERFACE = 134 +pkg syscall (netbsd-arm64), const IFT_ATMSUBINTERFACE ideal-int +pkg syscall (netbsd-arm64), const IFT_ATMVCIENDPT = 194 +pkg syscall (netbsd-arm64), const IFT_ATMVCIENDPT ideal-int +pkg syscall (netbsd-arm64), const IFT_ATMVIRTUAL = 149 +pkg syscall (netbsd-arm64), const IFT_ATMVIRTUAL ideal-int +pkg syscall (netbsd-arm64), const IFT_BGPPOLICYACCOUNTING = 162 +pkg syscall (netbsd-arm64), const IFT_BGPPOLICYACCOUNTING ideal-int +pkg syscall (netbsd-arm64), const IFT_BRIDGE = 209 +pkg syscall (netbsd-arm64), const IFT_BRIDGE ideal-int +pkg syscall (netbsd-arm64), const IFT_BSC = 83 +pkg syscall (netbsd-arm64), const IFT_BSC ideal-int +pkg syscall (netbsd-arm64), const IFT_CARP = 248 +pkg syscall (netbsd-arm64), const IFT_CARP ideal-int +pkg syscall (netbsd-arm64), const IFT_CCTEMUL = 61 +pkg syscall (netbsd-arm64), const IFT_CCTEMUL ideal-int +pkg syscall (netbsd-arm64), const IFT_CEPT = 19 +pkg syscall (netbsd-arm64), const IFT_CEPT ideal-int +pkg syscall (netbsd-arm64), const IFT_CES = 133 +pkg syscall (netbsd-arm64), const IFT_CES ideal-int +pkg syscall (netbsd-arm64), const IFT_CHANNEL = 70 +pkg syscall (netbsd-arm64), const IFT_CHANNEL ideal-int +pkg syscall (netbsd-arm64), const IFT_CNR = 85 +pkg syscall (netbsd-arm64), const IFT_CNR ideal-int +pkg syscall (netbsd-arm64), const IFT_COFFEE = 132 +pkg syscall (netbsd-arm64), const IFT_COFFEE ideal-int +pkg syscall (netbsd-arm64), const IFT_COMPOSITELINK = 155 +pkg syscall (netbsd-arm64), const IFT_COMPOSITELINK ideal-int +pkg syscall (netbsd-arm64), const IFT_DCN = 141 +pkg syscall (netbsd-arm64), const IFT_DCN ideal-int +pkg syscall (netbsd-arm64), const IFT_DIGITALPOWERLINE = 138 +pkg syscall (netbsd-arm64), const IFT_DIGITALPOWERLINE ideal-int +pkg syscall (netbsd-arm64), const IFT_DIGITALWRAPPEROVERHEADCHANNEL = 186 +pkg syscall (netbsd-arm64), const IFT_DIGITALWRAPPEROVERHEADCHANNEL ideal-int +pkg syscall (netbsd-arm64), const IFT_DLSW = 74 +pkg syscall (netbsd-arm64), const IFT_DLSW ideal-int +pkg syscall (netbsd-arm64), const IFT_DOCSCABLEDOWNSTREAM = 128 +pkg syscall (netbsd-arm64), const IFT_DOCSCABLEDOWNSTREAM ideal-int +pkg syscall (netbsd-arm64), const IFT_DOCSCABLEMACLAYER = 127 +pkg syscall (netbsd-arm64), const IFT_DOCSCABLEMACLAYER ideal-int +pkg syscall (netbsd-arm64), const IFT_DOCSCABLEUPSTREAM = 129 +pkg syscall (netbsd-arm64), const IFT_DOCSCABLEUPSTREAMCHANNEL = 205 +pkg syscall (netbsd-arm64), const IFT_DOCSCABLEUPSTREAMCHANNEL ideal-int +pkg syscall (netbsd-arm64), const IFT_DOCSCABLEUPSTREAM ideal-int +pkg syscall (netbsd-arm64), const IFT_DS0 = 81 +pkg syscall (netbsd-arm64), const IFT_DS0BUNDLE = 82 +pkg syscall (netbsd-arm64), const IFT_DS0BUNDLE ideal-int +pkg syscall (netbsd-arm64), const IFT_DS0 ideal-int +pkg syscall (netbsd-arm64), const IFT_DS1FDL = 170 +pkg syscall (netbsd-arm64), const IFT_DS1FDL ideal-int +pkg syscall (netbsd-arm64), const IFT_DS3 = 30 +pkg syscall (netbsd-arm64), const IFT_DS3 ideal-int +pkg syscall (netbsd-arm64), const IFT_DTM = 140 +pkg syscall (netbsd-arm64), const IFT_DTM ideal-int +pkg syscall (netbsd-arm64), const IFT_DVBASILN = 172 +pkg syscall (netbsd-arm64), const IFT_DVBASILN ideal-int +pkg syscall (netbsd-arm64), const IFT_DVBASIOUT = 173 +pkg syscall (netbsd-arm64), const IFT_DVBASIOUT ideal-int +pkg syscall (netbsd-arm64), const IFT_DVBRCCDOWNSTREAM = 147 +pkg syscall (netbsd-arm64), const IFT_DVBRCCDOWNSTREAM ideal-int +pkg syscall (netbsd-arm64), const IFT_DVBRCCMACLAYER = 146 +pkg syscall (netbsd-arm64), const IFT_DVBRCCMACLAYER ideal-int +pkg syscall (netbsd-arm64), const IFT_DVBRCCUPSTREAM = 148 +pkg syscall (netbsd-arm64), const IFT_DVBRCCUPSTREAM ideal-int +pkg syscall (netbsd-arm64), const IFT_ECONET = 206 +pkg syscall (netbsd-arm64), const IFT_ECONET ideal-int +pkg syscall (netbsd-arm64), const IFT_EON = 25 +pkg syscall (netbsd-arm64), const IFT_EON ideal-int +pkg syscall (netbsd-arm64), const IFT_EPLRS = 87 +pkg syscall (netbsd-arm64), const IFT_EPLRS ideal-int +pkg syscall (netbsd-arm64), const IFT_ESCON = 73 +pkg syscall (netbsd-arm64), const IFT_ESCON ideal-int +pkg syscall (netbsd-arm64), const IFT_ETHER = 6 +pkg syscall (netbsd-arm64), const IFT_ETHER ideal-int +pkg syscall (netbsd-arm64), const IFT_FAITH = 242 +pkg syscall (netbsd-arm64), const IFT_FAITH ideal-int +pkg syscall (netbsd-arm64), const IFT_FAST = 125 +pkg syscall (netbsd-arm64), const IFT_FASTETHER = 62 +pkg syscall (netbsd-arm64), const IFT_FASTETHERFX = 69 +pkg syscall (netbsd-arm64), const IFT_FASTETHERFX ideal-int +pkg syscall (netbsd-arm64), const IFT_FASTETHER ideal-int +pkg syscall (netbsd-arm64), const IFT_FAST ideal-int +pkg syscall (netbsd-arm64), const IFT_FDDI = 15 +pkg syscall (netbsd-arm64), const IFT_FDDI ideal-int +pkg syscall (netbsd-arm64), const IFT_FIBRECHANNEL = 56 +pkg syscall (netbsd-arm64), const IFT_FIBRECHANNEL ideal-int +pkg syscall (netbsd-arm64), const IFT_FRAMERELAYINTERCONNECT = 58 +pkg syscall (netbsd-arm64), const IFT_FRAMERELAYINTERCONNECT ideal-int +pkg syscall (netbsd-arm64), const IFT_FRAMERELAYMPI = 92 +pkg syscall (netbsd-arm64), const IFT_FRAMERELAYMPI ideal-int +pkg syscall (netbsd-arm64), const IFT_FRDLCIENDPT = 193 +pkg syscall (netbsd-arm64), const IFT_FRDLCIENDPT ideal-int +pkg syscall (netbsd-arm64), const IFT_FRELAY = 32 +pkg syscall (netbsd-arm64), const IFT_FRELAYDCE = 44 +pkg syscall (netbsd-arm64), const IFT_FRELAYDCE ideal-int +pkg syscall (netbsd-arm64), const IFT_FRELAY ideal-int +pkg syscall (netbsd-arm64), const IFT_FRF16MFRBUNDLE = 163 +pkg syscall (netbsd-arm64), const IFT_FRF16MFRBUNDLE ideal-int +pkg syscall (netbsd-arm64), const IFT_FRFORWARD = 158 +pkg syscall (netbsd-arm64), const IFT_FRFORWARD ideal-int +pkg syscall (netbsd-arm64), const IFT_G703AT2MB = 67 +pkg syscall (netbsd-arm64), const IFT_G703AT2MB ideal-int +pkg syscall (netbsd-arm64), const IFT_G703AT64K = 66 +pkg syscall (netbsd-arm64), const IFT_G703AT64K ideal-int +pkg syscall (netbsd-arm64), const IFT_GIF = 240 +pkg syscall (netbsd-arm64), const IFT_GIF ideal-int +pkg syscall (netbsd-arm64), const IFT_GIGABITETHERNET = 117 +pkg syscall (netbsd-arm64), const IFT_GIGABITETHERNET ideal-int +pkg syscall (netbsd-arm64), const IFT_GR303IDT = 178 +pkg syscall (netbsd-arm64), const IFT_GR303IDT ideal-int +pkg syscall (netbsd-arm64), const IFT_GR303RDT = 177 +pkg syscall (netbsd-arm64), const IFT_GR303RDT ideal-int +pkg syscall (netbsd-arm64), const IFT_H323GATEKEEPER = 164 +pkg syscall (netbsd-arm64), const IFT_H323GATEKEEPER ideal-int +pkg syscall (netbsd-arm64), const IFT_H323PROXY = 165 +pkg syscall (netbsd-arm64), const IFT_H323PROXY ideal-int +pkg syscall (netbsd-arm64), const IFT_HDH1822 = 3 +pkg syscall (netbsd-arm64), const IFT_HDH1822 ideal-int +pkg syscall (netbsd-arm64), const IFT_HDLC = 118 +pkg syscall (netbsd-arm64), const IFT_HDLC ideal-int +pkg syscall (netbsd-arm64), const IFT_HDSL2 = 168 +pkg syscall (netbsd-arm64), const IFT_HDSL2 ideal-int +pkg syscall (netbsd-arm64), const IFT_HIPERLAN2 = 183 +pkg syscall (netbsd-arm64), const IFT_HIPERLAN2 ideal-int +pkg syscall (netbsd-arm64), const IFT_HIPPI = 47 +pkg syscall (netbsd-arm64), const IFT_HIPPI ideal-int +pkg syscall (netbsd-arm64), const IFT_HIPPIINTERFACE = 57 +pkg syscall (netbsd-arm64), const IFT_HIPPIINTERFACE ideal-int +pkg syscall (netbsd-arm64), const IFT_HOSTPAD = 90 +pkg syscall (netbsd-arm64), const IFT_HOSTPAD ideal-int +pkg syscall (netbsd-arm64), const IFT_HSSI = 46 +pkg syscall (netbsd-arm64), const IFT_HSSI ideal-int +pkg syscall (netbsd-arm64), const IFT_HY = 14 +pkg syscall (netbsd-arm64), const IFT_HY ideal-int +pkg syscall (netbsd-arm64), const IFT_IBM370PARCHAN = 72 +pkg syscall (netbsd-arm64), const IFT_IBM370PARCHAN ideal-int +pkg syscall (netbsd-arm64), const IFT_IDSL = 154 +pkg syscall (netbsd-arm64), const IFT_IDSL ideal-int +pkg syscall (netbsd-arm64), const IFT_IEEE1394 = 144 +pkg syscall (netbsd-arm64), const IFT_IEEE1394 ideal-int +pkg syscall (netbsd-arm64), const IFT_IEEE80211 = 71 +pkg syscall (netbsd-arm64), const IFT_IEEE80211 ideal-int +pkg syscall (netbsd-arm64), const IFT_IEEE80212 = 55 +pkg syscall (netbsd-arm64), const IFT_IEEE80212 ideal-int +pkg syscall (netbsd-arm64), const IFT_IEEE8023ADLAG = 161 +pkg syscall (netbsd-arm64), const IFT_IEEE8023ADLAG ideal-int +pkg syscall (netbsd-arm64), const IFT_IFGSN = 145 +pkg syscall (netbsd-arm64), const IFT_IFGSN ideal-int +pkg syscall (netbsd-arm64), const IFT_IMT = 190 +pkg syscall (netbsd-arm64), const IFT_IMT ideal-int +pkg syscall (netbsd-arm64), const IFT_INFINIBAND = 199 +pkg syscall (netbsd-arm64), const IFT_INFINIBAND ideal-int +pkg syscall (netbsd-arm64), const IFT_INTERLEAVE = 124 +pkg syscall (netbsd-arm64), const IFT_INTERLEAVE ideal-int +pkg syscall (netbsd-arm64), const IFT_IP = 126 +pkg syscall (netbsd-arm64), const IFT_IPFORWARD = 142 +pkg syscall (netbsd-arm64), const IFT_IPFORWARD ideal-int +pkg syscall (netbsd-arm64), const IFT_IP ideal-int +pkg syscall (netbsd-arm64), const IFT_IPOVERATM = 114 +pkg syscall (netbsd-arm64), const IFT_IPOVERATM ideal-int +pkg syscall (netbsd-arm64), const IFT_IPOVERCDLC = 109 +pkg syscall (netbsd-arm64), const IFT_IPOVERCDLC ideal-int +pkg syscall (netbsd-arm64), const IFT_IPOVERCLAW = 110 +pkg syscall (netbsd-arm64), const IFT_IPOVERCLAW ideal-int +pkg syscall (netbsd-arm64), const IFT_IPSWITCH = 78 +pkg syscall (netbsd-arm64), const IFT_IPSWITCH ideal-int +pkg syscall (netbsd-arm64), const IFT_ISDN = 63 +pkg syscall (netbsd-arm64), const IFT_ISDNBASIC = 20 +pkg syscall (netbsd-arm64), const IFT_ISDNBASIC ideal-int +pkg syscall (netbsd-arm64), const IFT_ISDN ideal-int +pkg syscall (netbsd-arm64), const IFT_ISDNPRIMARY = 21 +pkg syscall (netbsd-arm64), const IFT_ISDNPRIMARY ideal-int +pkg syscall (netbsd-arm64), const IFT_ISDNS = 75 +pkg syscall (netbsd-arm64), const IFT_ISDNS ideal-int +pkg syscall (netbsd-arm64), const IFT_ISDNU = 76 +pkg syscall (netbsd-arm64), const IFT_ISDNU ideal-int +pkg syscall (netbsd-arm64), const IFT_ISO88022LLC = 41 +pkg syscall (netbsd-arm64), const IFT_ISO88022LLC ideal-int +pkg syscall (netbsd-arm64), const IFT_ISO88023 = 7 +pkg syscall (netbsd-arm64), const IFT_ISO88023 ideal-int +pkg syscall (netbsd-arm64), const IFT_ISO88024 = 8 +pkg syscall (netbsd-arm64), const IFT_ISO88024 ideal-int +pkg syscall (netbsd-arm64), const IFT_ISO88025 = 9 +pkg syscall (netbsd-arm64), const IFT_ISO88025CRFPINT = 98 +pkg syscall (netbsd-arm64), const IFT_ISO88025CRFPINT ideal-int +pkg syscall (netbsd-arm64), const IFT_ISO88025DTR = 86 +pkg syscall (netbsd-arm64), const IFT_ISO88025DTR ideal-int +pkg syscall (netbsd-arm64), const IFT_ISO88025FIBER = 115 +pkg syscall (netbsd-arm64), const IFT_ISO88025FIBER ideal-int +pkg syscall (netbsd-arm64), const IFT_ISO88025 ideal-int +pkg syscall (netbsd-arm64), const IFT_ISO88026 = 10 +pkg syscall (netbsd-arm64), const IFT_ISO88026 ideal-int +pkg syscall (netbsd-arm64), const IFT_ISUP = 179 +pkg syscall (netbsd-arm64), const IFT_ISUP ideal-int +pkg syscall (netbsd-arm64), const IFT_L2VLAN = 135 +pkg syscall (netbsd-arm64), const IFT_L2VLAN ideal-int +pkg syscall (netbsd-arm64), const IFT_L3IPVLAN = 136 +pkg syscall (netbsd-arm64), const IFT_L3IPVLAN ideal-int +pkg syscall (netbsd-arm64), const IFT_L3IPXVLAN = 137 +pkg syscall (netbsd-arm64), const IFT_L3IPXVLAN ideal-int +pkg syscall (netbsd-arm64), const IFT_LAPB = 16 +pkg syscall (netbsd-arm64), const IFT_LAPB ideal-int +pkg syscall (netbsd-arm64), const IFT_LAPD = 77 +pkg syscall (netbsd-arm64), const IFT_LAPD ideal-int +pkg syscall (netbsd-arm64), const IFT_LAPF = 119 +pkg syscall (netbsd-arm64), const IFT_LAPF ideal-int +pkg syscall (netbsd-arm64), const IFT_LINEGROUP = 210 +pkg syscall (netbsd-arm64), const IFT_LINEGROUP ideal-int +pkg syscall (netbsd-arm64), const IFT_LOCALTALK = 42 +pkg syscall (netbsd-arm64), const IFT_LOCALTALK ideal-int +pkg syscall (netbsd-arm64), const IFT_LOOP = 24 +pkg syscall (netbsd-arm64), const IFT_LOOP ideal-int +pkg syscall (netbsd-arm64), const IFT_MEDIAMAILOVERIP = 139 +pkg syscall (netbsd-arm64), const IFT_MEDIAMAILOVERIP ideal-int +pkg syscall (netbsd-arm64), const IFT_MFSIGLINK = 167 +pkg syscall (netbsd-arm64), const IFT_MFSIGLINK ideal-int +pkg syscall (netbsd-arm64), const IFT_MIOX25 = 38 +pkg syscall (netbsd-arm64), const IFT_MIOX25 ideal-int +pkg syscall (netbsd-arm64), const IFT_MODEM = 48 +pkg syscall (netbsd-arm64), const IFT_MODEM ideal-int +pkg syscall (netbsd-arm64), const IFT_MPC = 113 +pkg syscall (netbsd-arm64), const IFT_MPC ideal-int +pkg syscall (netbsd-arm64), const IFT_MPLS = 166 +pkg syscall (netbsd-arm64), const IFT_MPLS ideal-int +pkg syscall (netbsd-arm64), const IFT_MPLSTUNNEL = 150 +pkg syscall (netbsd-arm64), const IFT_MPLSTUNNEL ideal-int +pkg syscall (netbsd-arm64), const IFT_MSDSL = 143 +pkg syscall (netbsd-arm64), const IFT_MSDSL ideal-int +pkg syscall (netbsd-arm64), const IFT_MVL = 191 +pkg syscall (netbsd-arm64), const IFT_MVL ideal-int +pkg syscall (netbsd-arm64), const IFT_MYRINET = 99 +pkg syscall (netbsd-arm64), const IFT_MYRINET ideal-int +pkg syscall (netbsd-arm64), const IFT_NFAS = 175 +pkg syscall (netbsd-arm64), const IFT_NFAS ideal-int +pkg syscall (netbsd-arm64), const IFT_NSIP = 27 +pkg syscall (netbsd-arm64), const IFT_NSIP ideal-int +pkg syscall (netbsd-arm64), const IFT_OPTICALCHANNEL = 195 +pkg syscall (netbsd-arm64), const IFT_OPTICALCHANNEL ideal-int +pkg syscall (netbsd-arm64), const IFT_OPTICALTRANSPORT = 196 +pkg syscall (netbsd-arm64), const IFT_OPTICALTRANSPORT ideal-int +pkg syscall (netbsd-arm64), const IFT_OTHER = 1 +pkg syscall (netbsd-arm64), const IFT_OTHER ideal-int +pkg syscall (netbsd-arm64), const IFT_P10 = 12 +pkg syscall (netbsd-arm64), const IFT_P10 ideal-int +pkg syscall (netbsd-arm64), const IFT_P80 = 13 +pkg syscall (netbsd-arm64), const IFT_P80 ideal-int +pkg syscall (netbsd-arm64), const IFT_PARA = 34 +pkg syscall (netbsd-arm64), const IFT_PARA ideal-int +pkg syscall (netbsd-arm64), const IFT_PFLOG = 245 +pkg syscall (netbsd-arm64), const IFT_PFLOG ideal-int +pkg syscall (netbsd-arm64), const IFT_PFSYNC = 246 +pkg syscall (netbsd-arm64), const IFT_PFSYNC ideal-int +pkg syscall (netbsd-arm64), const IFT_PLC = 174 +pkg syscall (netbsd-arm64), const IFT_PLC ideal-int +pkg syscall (netbsd-arm64), const IFT_PON155 = 207 +pkg syscall (netbsd-arm64), const IFT_PON155 ideal-int +pkg syscall (netbsd-arm64), const IFT_PON622 = 208 +pkg syscall (netbsd-arm64), const IFT_PON622 ideal-int +pkg syscall (netbsd-arm64), const IFT_POS = 171 +pkg syscall (netbsd-arm64), const IFT_POS ideal-int +pkg syscall (netbsd-arm64), const IFT_PPP = 23 +pkg syscall (netbsd-arm64), const IFT_PPP ideal-int +pkg syscall (netbsd-arm64), const IFT_PPPMULTILINKBUNDLE = 108 +pkg syscall (netbsd-arm64), const IFT_PPPMULTILINKBUNDLE ideal-int +pkg syscall (netbsd-arm64), const IFT_PROPATM = 197 +pkg syscall (netbsd-arm64), const IFT_PROPATM ideal-int +pkg syscall (netbsd-arm64), const IFT_PROPBWAP2MP = 184 +pkg syscall (netbsd-arm64), const IFT_PROPBWAP2MP ideal-int +pkg syscall (netbsd-arm64), const IFT_PROPCNLS = 89 +pkg syscall (netbsd-arm64), const IFT_PROPCNLS ideal-int +pkg syscall (netbsd-arm64), const IFT_PROPDOCSWIRELESSDOWNSTREAM = 181 +pkg syscall (netbsd-arm64), const IFT_PROPDOCSWIRELESSDOWNSTREAM ideal-int +pkg syscall (netbsd-arm64), const IFT_PROPDOCSWIRELESSMACLAYER = 180 +pkg syscall (netbsd-arm64), const IFT_PROPDOCSWIRELESSMACLAYER ideal-int +pkg syscall (netbsd-arm64), const IFT_PROPDOCSWIRELESSUPSTREAM = 182 +pkg syscall (netbsd-arm64), const IFT_PROPDOCSWIRELESSUPSTREAM ideal-int +pkg syscall (netbsd-arm64), const IFT_PROPMUX = 54 +pkg syscall (netbsd-arm64), const IFT_PROPMUX ideal-int +pkg syscall (netbsd-arm64), const IFT_PROPVIRTUAL = 53 +pkg syscall (netbsd-arm64), const IFT_PROPVIRTUAL ideal-int +pkg syscall (netbsd-arm64), const IFT_PROPWIRELESSP2P = 157 +pkg syscall (netbsd-arm64), const IFT_PROPWIRELESSP2P ideal-int +pkg syscall (netbsd-arm64), const IFT_PTPSERIAL = 22 +pkg syscall (netbsd-arm64), const IFT_PTPSERIAL ideal-int +pkg syscall (netbsd-arm64), const IFT_PVC = 241 +pkg syscall (netbsd-arm64), const IFT_PVC ideal-int +pkg syscall (netbsd-arm64), const IFT_Q2931 = 201 +pkg syscall (netbsd-arm64), const IFT_Q2931 ideal-int +pkg syscall (netbsd-arm64), const IFT_QLLC = 68 +pkg syscall (netbsd-arm64), const IFT_QLLC ideal-int +pkg syscall (netbsd-arm64), const IFT_RADIOMAC = 188 +pkg syscall (netbsd-arm64), const IFT_RADIOMAC ideal-int +pkg syscall (netbsd-arm64), const IFT_RADSL = 95 +pkg syscall (netbsd-arm64), const IFT_RADSL ideal-int +pkg syscall (netbsd-arm64), const IFT_REACHDSL = 192 +pkg syscall (netbsd-arm64), const IFT_REACHDSL ideal-int +pkg syscall (netbsd-arm64), const IFT_RFC1483 = 159 +pkg syscall (netbsd-arm64), const IFT_RFC1483 ideal-int +pkg syscall (netbsd-arm64), const IFT_RS232 = 33 +pkg syscall (netbsd-arm64), const IFT_RS232 ideal-int +pkg syscall (netbsd-arm64), const IFT_RSRB = 79 +pkg syscall (netbsd-arm64), const IFT_RSRB ideal-int +pkg syscall (netbsd-arm64), const IFT_SDLC = 17 +pkg syscall (netbsd-arm64), const IFT_SDLC ideal-int +pkg syscall (netbsd-arm64), const IFT_SDSL = 96 +pkg syscall (netbsd-arm64), const IFT_SDSL ideal-int +pkg syscall (netbsd-arm64), const IFT_SHDSL = 169 +pkg syscall (netbsd-arm64), const IFT_SHDSL ideal-int +pkg syscall (netbsd-arm64), const IFT_SIP = 31 +pkg syscall (netbsd-arm64), const IFT_SIP ideal-int +pkg syscall (netbsd-arm64), const IFT_SIPSIG = 204 +pkg syscall (netbsd-arm64), const IFT_SIPSIG ideal-int +pkg syscall (netbsd-arm64), const IFT_SIPTG = 203 +pkg syscall (netbsd-arm64), const IFT_SIPTG ideal-int +pkg syscall (netbsd-arm64), const IFT_SLIP = 28 +pkg syscall (netbsd-arm64), const IFT_SLIP ideal-int +pkg syscall (netbsd-arm64), const IFT_SMDSDXI = 43 +pkg syscall (netbsd-arm64), const IFT_SMDSDXI ideal-int +pkg syscall (netbsd-arm64), const IFT_SMDSICIP = 52 +pkg syscall (netbsd-arm64), const IFT_SMDSICIP ideal-int +pkg syscall (netbsd-arm64), const IFT_SONET = 39 +pkg syscall (netbsd-arm64), const IFT_SONET ideal-int +pkg syscall (netbsd-arm64), const IFT_SONETOVERHEADCHANNEL = 185 +pkg syscall (netbsd-arm64), const IFT_SONETOVERHEADCHANNEL ideal-int +pkg syscall (netbsd-arm64), const IFT_SONETPATH = 50 +pkg syscall (netbsd-arm64), const IFT_SONETPATH ideal-int +pkg syscall (netbsd-arm64), const IFT_SONETVT = 51 +pkg syscall (netbsd-arm64), const IFT_SONETVT ideal-int +pkg syscall (netbsd-arm64), const IFT_SRP = 151 +pkg syscall (netbsd-arm64), const IFT_SRP ideal-int +pkg syscall (netbsd-arm64), const IFT_SS7SIGLINK = 156 +pkg syscall (netbsd-arm64), const IFT_SS7SIGLINK ideal-int +pkg syscall (netbsd-arm64), const IFT_STACKTOSTACK = 111 +pkg syscall (netbsd-arm64), const IFT_STACKTOSTACK ideal-int +pkg syscall (netbsd-arm64), const IFT_STARLAN = 11 +pkg syscall (netbsd-arm64), const IFT_STARLAN ideal-int +pkg syscall (netbsd-arm64), const IFT_STF = 215 +pkg syscall (netbsd-arm64), const IFT_STF ideal-int +pkg syscall (netbsd-arm64), const IFT_T1 = 18 +pkg syscall (netbsd-arm64), const IFT_T1 ideal-int +pkg syscall (netbsd-arm64), const IFT_TDLC = 116 +pkg syscall (netbsd-arm64), const IFT_TDLC ideal-int +pkg syscall (netbsd-arm64), const IFT_TELINK = 200 +pkg syscall (netbsd-arm64), const IFT_TELINK ideal-int +pkg syscall (netbsd-arm64), const IFT_TERMPAD = 91 +pkg syscall (netbsd-arm64), const IFT_TERMPAD ideal-int +pkg syscall (netbsd-arm64), const IFT_TR008 = 176 +pkg syscall (netbsd-arm64), const IFT_TR008 ideal-int +pkg syscall (netbsd-arm64), const IFT_TRANSPHDLC = 123 +pkg syscall (netbsd-arm64), const IFT_TRANSPHDLC ideal-int +pkg syscall (netbsd-arm64), const IFT_TUNNEL = 131 +pkg syscall (netbsd-arm64), const IFT_TUNNEL ideal-int +pkg syscall (netbsd-arm64), const IFT_ULTRA = 29 +pkg syscall (netbsd-arm64), const IFT_ULTRA ideal-int +pkg syscall (netbsd-arm64), const IFT_USB = 160 +pkg syscall (netbsd-arm64), const IFT_USB ideal-int +pkg syscall (netbsd-arm64), const IFT_V11 = 64 +pkg syscall (netbsd-arm64), const IFT_V11 ideal-int +pkg syscall (netbsd-arm64), const IFT_V35 = 45 +pkg syscall (netbsd-arm64), const IFT_V35 ideal-int +pkg syscall (netbsd-arm64), const IFT_V36 = 65 +pkg syscall (netbsd-arm64), const IFT_V36 ideal-int +pkg syscall (netbsd-arm64), const IFT_V37 = 120 +pkg syscall (netbsd-arm64), const IFT_V37 ideal-int +pkg syscall (netbsd-arm64), const IFT_VDSL = 97 +pkg syscall (netbsd-arm64), const IFT_VDSL ideal-int +pkg syscall (netbsd-arm64), const IFT_VIRTUALIPADDRESS = 112 +pkg syscall (netbsd-arm64), const IFT_VIRTUALIPADDRESS ideal-int +pkg syscall (netbsd-arm64), const IFT_VIRTUALTG = 202 +pkg syscall (netbsd-arm64), const IFT_VIRTUALTG ideal-int +pkg syscall (netbsd-arm64), const IFT_VOICEDID = 213 +pkg syscall (netbsd-arm64), const IFT_VOICEDID ideal-int +pkg syscall (netbsd-arm64), const IFT_VOICEEM = 100 +pkg syscall (netbsd-arm64), const IFT_VOICEEMFGD = 211 +pkg syscall (netbsd-arm64), const IFT_VOICEEMFGD ideal-int +pkg syscall (netbsd-arm64), const IFT_VOICEEM ideal-int +pkg syscall (netbsd-arm64), const IFT_VOICEENCAP = 103 +pkg syscall (netbsd-arm64), const IFT_VOICEENCAP ideal-int +pkg syscall (netbsd-arm64), const IFT_VOICEFGDEANA = 212 +pkg syscall (netbsd-arm64), const IFT_VOICEFGDEANA ideal-int +pkg syscall (netbsd-arm64), const IFT_VOICEFXO = 101 +pkg syscall (netbsd-arm64), const IFT_VOICEFXO ideal-int +pkg syscall (netbsd-arm64), const IFT_VOICEFXS = 102 +pkg syscall (netbsd-arm64), const IFT_VOICEFXS ideal-int +pkg syscall (netbsd-arm64), const IFT_VOICEOVERATM = 152 +pkg syscall (netbsd-arm64), const IFT_VOICEOVERATM ideal-int +pkg syscall (netbsd-arm64), const IFT_VOICEOVERCABLE = 198 +pkg syscall (netbsd-arm64), const IFT_VOICEOVERCABLE ideal-int +pkg syscall (netbsd-arm64), const IFT_VOICEOVERFRAMERELAY = 153 +pkg syscall (netbsd-arm64), const IFT_VOICEOVERFRAMERELAY ideal-int +pkg syscall (netbsd-arm64), const IFT_VOICEOVERIP = 104 +pkg syscall (netbsd-arm64), const IFT_VOICEOVERIP ideal-int +pkg syscall (netbsd-arm64), const IFT_X213 = 93 +pkg syscall (netbsd-arm64), const IFT_X213 ideal-int +pkg syscall (netbsd-arm64), const IFT_X25 = 5 +pkg syscall (netbsd-arm64), const IFT_X25DDN = 4 +pkg syscall (netbsd-arm64), const IFT_X25DDN ideal-int +pkg syscall (netbsd-arm64), const IFT_X25HUNTGROUP = 122 +pkg syscall (netbsd-arm64), const IFT_X25HUNTGROUP ideal-int +pkg syscall (netbsd-arm64), const IFT_X25 ideal-int +pkg syscall (netbsd-arm64), const IFT_X25MLP = 121 +pkg syscall (netbsd-arm64), const IFT_X25MLP ideal-int +pkg syscall (netbsd-arm64), const IFT_X25PLE = 40 +pkg syscall (netbsd-arm64), const IFT_X25PLE ideal-int +pkg syscall (netbsd-arm64), const IFT_XETHER = 26 +pkg syscall (netbsd-arm64), const IFT_XETHER ideal-int +pkg syscall (netbsd-arm64), const IGNBRK = 1 +pkg syscall (netbsd-arm64), const IGNBRK ideal-int +pkg syscall (netbsd-arm64), const IGNCR = 128 +pkg syscall (netbsd-arm64), const IGNCR ideal-int +pkg syscall (netbsd-arm64), const IGNPAR = 4 +pkg syscall (netbsd-arm64), const IGNPAR ideal-int +pkg syscall (netbsd-arm64), const IMAXBEL = 8192 +pkg syscall (netbsd-arm64), const IMAXBEL ideal-int +pkg syscall (netbsd-arm64), const IN_CLASSA_HOST = 16777215 +pkg syscall (netbsd-arm64), const IN_CLASSA_HOST ideal-int +pkg syscall (netbsd-arm64), const IN_CLASSA_MAX = 128 +pkg syscall (netbsd-arm64), const IN_CLASSA_MAX ideal-int +pkg syscall (netbsd-arm64), const IN_CLASSA_NET = 4278190080 +pkg syscall (netbsd-arm64), const IN_CLASSA_NET ideal-int +pkg syscall (netbsd-arm64), const IN_CLASSA_NSHIFT = 24 +pkg syscall (netbsd-arm64), const IN_CLASSA_NSHIFT ideal-int +pkg syscall (netbsd-arm64), const IN_CLASSB_HOST = 65535 +pkg syscall (netbsd-arm64), const IN_CLASSB_HOST ideal-int +pkg syscall (netbsd-arm64), const IN_CLASSB_MAX = 65536 +pkg syscall (netbsd-arm64), const IN_CLASSB_MAX ideal-int +pkg syscall (netbsd-arm64), const IN_CLASSB_NET = 4294901760 +pkg syscall (netbsd-arm64), const IN_CLASSB_NET ideal-int +pkg syscall (netbsd-arm64), const IN_CLASSB_NSHIFT = 16 +pkg syscall (netbsd-arm64), const IN_CLASSB_NSHIFT ideal-int +pkg syscall (netbsd-arm64), const IN_CLASSC_HOST = 255 +pkg syscall (netbsd-arm64), const IN_CLASSC_HOST ideal-int +pkg syscall (netbsd-arm64), const IN_CLASSC_NET = 4294967040 +pkg syscall (netbsd-arm64), const IN_CLASSC_NET ideal-int +pkg syscall (netbsd-arm64), const IN_CLASSC_NSHIFT = 8 +pkg syscall (netbsd-arm64), const IN_CLASSC_NSHIFT ideal-int +pkg syscall (netbsd-arm64), const IN_CLASSD_HOST = 268435455 +pkg syscall (netbsd-arm64), const IN_CLASSD_HOST ideal-int +pkg syscall (netbsd-arm64), const IN_CLASSD_NET = 4026531840 +pkg syscall (netbsd-arm64), const IN_CLASSD_NET ideal-int +pkg syscall (netbsd-arm64), const IN_CLASSD_NSHIFT = 28 +pkg syscall (netbsd-arm64), const IN_CLASSD_NSHIFT ideal-int +pkg syscall (netbsd-arm64), const INLCR = 64 +pkg syscall (netbsd-arm64), const INLCR ideal-int +pkg syscall (netbsd-arm64), const IN_LOOPBACKNET = 127 +pkg syscall (netbsd-arm64), const IN_LOOPBACKNET ideal-int +pkg syscall (netbsd-arm64), const INPCK = 16 +pkg syscall (netbsd-arm64), const INPCK ideal-int +pkg syscall (netbsd-arm64), const IP_ADD_MEMBERSHIP = 12 +pkg syscall (netbsd-arm64), const IP_DEFAULT_MULTICAST_LOOP = 1 +pkg syscall (netbsd-arm64), const IP_DEFAULT_MULTICAST_LOOP ideal-int +pkg syscall (netbsd-arm64), const IP_DEFAULT_MULTICAST_TTL = 1 +pkg syscall (netbsd-arm64), const IP_DEFAULT_MULTICAST_TTL ideal-int +pkg syscall (netbsd-arm64), const IP_DF = 16384 +pkg syscall (netbsd-arm64), const IP_DF ideal-int +pkg syscall (netbsd-arm64), const IP_DROP_MEMBERSHIP = 13 +pkg syscall (netbsd-arm64), const IP_EF = 32768 +pkg syscall (netbsd-arm64), const IP_EF ideal-int +pkg syscall (netbsd-arm64), const IP_ERRORMTU = 21 +pkg syscall (netbsd-arm64), const IP_ERRORMTU ideal-int +pkg syscall (netbsd-arm64), const IP_HDRINCL = 2 +pkg syscall (netbsd-arm64), const IP_HDRINCL ideal-int +pkg syscall (netbsd-arm64), const IP_IPSEC_POLICY = 22 +pkg syscall (netbsd-arm64), const IP_IPSEC_POLICY ideal-int +pkg syscall (netbsd-arm64), const IP_MAX_MEMBERSHIPS = 20 +pkg syscall (netbsd-arm64), const IP_MAX_MEMBERSHIPS ideal-int +pkg syscall (netbsd-arm64), const IP_MAXPACKET = 65535 +pkg syscall (netbsd-arm64), const IP_MAXPACKET ideal-int +pkg syscall (netbsd-arm64), const IP_MF = 8192 +pkg syscall (netbsd-arm64), const IP_MF ideal-int +pkg syscall (netbsd-arm64), const IP_MINFRAGSIZE = 69 +pkg syscall (netbsd-arm64), const IP_MINFRAGSIZE ideal-int +pkg syscall (netbsd-arm64), const IP_MINTTL = 24 +pkg syscall (netbsd-arm64), const IP_MINTTL ideal-int +pkg syscall (netbsd-arm64), const IP_MSS = 576 +pkg syscall (netbsd-arm64), const IP_MSS ideal-int +pkg syscall (netbsd-arm64), const IP_MULTICAST_IF = 9 +pkg syscall (netbsd-arm64), const IP_MULTICAST_LOOP = 11 +pkg syscall (netbsd-arm64), const IP_MULTICAST_TTL = 10 +pkg syscall (netbsd-arm64), const IP_OFFMASK = 8191 +pkg syscall (netbsd-arm64), const IP_OFFMASK ideal-int +pkg syscall (netbsd-arm64), const IP_OPTIONS = 1 +pkg syscall (netbsd-arm64), const IP_OPTIONS ideal-int +pkg syscall (netbsd-arm64), const IP_PORTRANGE = 19 +pkg syscall (netbsd-arm64), const IP_PORTRANGE_DEFAULT = 0 +pkg syscall (netbsd-arm64), const IP_PORTRANGE_DEFAULT ideal-int +pkg syscall (netbsd-arm64), const IP_PORTRANGE_HIGH = 1 +pkg syscall (netbsd-arm64), const IP_PORTRANGE_HIGH ideal-int +pkg syscall (netbsd-arm64), const IP_PORTRANGE ideal-int +pkg syscall (netbsd-arm64), const IP_PORTRANGE_LOW = 2 +pkg syscall (netbsd-arm64), const IP_PORTRANGE_LOW ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_AH = 51 +pkg syscall (netbsd-arm64), const IPPROTO_AH ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_CARP = 112 +pkg syscall (netbsd-arm64), const IPPROTO_CARP ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_DONE = 257 +pkg syscall (netbsd-arm64), const IPPROTO_DONE ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_DSTOPTS = 60 +pkg syscall (netbsd-arm64), const IPPROTO_DSTOPTS ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_EGP = 8 +pkg syscall (netbsd-arm64), const IPPROTO_EGP ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_ENCAP = 98 +pkg syscall (netbsd-arm64), const IPPROTO_ENCAP ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_EON = 80 +pkg syscall (netbsd-arm64), const IPPROTO_EON ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_ESP = 50 +pkg syscall (netbsd-arm64), const IPPROTO_ESP ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_ETHERIP = 97 +pkg syscall (netbsd-arm64), const IPPROTO_ETHERIP ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_FRAGMENT = 44 +pkg syscall (netbsd-arm64), const IPPROTO_FRAGMENT ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_GGP = 3 +pkg syscall (netbsd-arm64), const IPPROTO_GGP ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_GRE = 47 +pkg syscall (netbsd-arm64), const IPPROTO_GRE ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_HOPOPTS = 0 +pkg syscall (netbsd-arm64), const IPPROTO_HOPOPTS ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_ICMP = 1 +pkg syscall (netbsd-arm64), const IPPROTO_ICMP ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_ICMPV6 = 58 +pkg syscall (netbsd-arm64), const IPPROTO_ICMPV6 ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_IDP = 22 +pkg syscall (netbsd-arm64), const IPPROTO_IDP ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_IGMP = 2 +pkg syscall (netbsd-arm64), const IPPROTO_IGMP ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_IPCOMP = 108 +pkg syscall (netbsd-arm64), const IPPROTO_IPCOMP ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_IPIP = 4 +pkg syscall (netbsd-arm64), const IPPROTO_IPIP ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_IPV4 = 4 +pkg syscall (netbsd-arm64), const IPPROTO_IPV4 ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_IPV6_ICMP = 58 +pkg syscall (netbsd-arm64), const IPPROTO_IPV6_ICMP ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_MAX = 256 +pkg syscall (netbsd-arm64), const IPPROTO_MAXID = 52 +pkg syscall (netbsd-arm64), const IPPROTO_MAX ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_MAXID ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_MOBILE = 55 +pkg syscall (netbsd-arm64), const IPPROTO_MOBILE ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_NONE = 59 +pkg syscall (netbsd-arm64), const IPPROTO_NONE ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_PFSYNC = 240 +pkg syscall (netbsd-arm64), const IPPROTO_PFSYNC ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_PIM = 103 +pkg syscall (netbsd-arm64), const IPPROTO_PIM ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_PUP = 12 +pkg syscall (netbsd-arm64), const IPPROTO_PUP ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_RAW = 255 +pkg syscall (netbsd-arm64), const IPPROTO_RAW ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_ROUTING = 43 +pkg syscall (netbsd-arm64), const IPPROTO_ROUTING ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_RSVP = 46 +pkg syscall (netbsd-arm64), const IPPROTO_RSVP ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_TP = 29 +pkg syscall (netbsd-arm64), const IPPROTO_TP ideal-int +pkg syscall (netbsd-arm64), const IPPROTO_VRRP = 112 +pkg syscall (netbsd-arm64), const IPPROTO_VRRP ideal-int +pkg syscall (netbsd-arm64), const IP_RECVDSTADDR = 7 +pkg syscall (netbsd-arm64), const IP_RECVDSTADDR ideal-int +pkg syscall (netbsd-arm64), const IP_RECVIF = 20 +pkg syscall (netbsd-arm64), const IP_RECVIF ideal-int +pkg syscall (netbsd-arm64), const IP_RECVOPTS = 5 +pkg syscall (netbsd-arm64), const IP_RECVOPTS ideal-int +pkg syscall (netbsd-arm64), const IP_RECVRETOPTS = 6 +pkg syscall (netbsd-arm64), const IP_RECVRETOPTS ideal-int +pkg syscall (netbsd-arm64), const IP_RECVTTL = 23 +pkg syscall (netbsd-arm64), const IP_RECVTTL ideal-int +pkg syscall (netbsd-arm64), const IP_RETOPTS = 8 +pkg syscall (netbsd-arm64), const IP_RETOPTS ideal-int +pkg syscall (netbsd-arm64), const IP_RF = 32768 +pkg syscall (netbsd-arm64), const IP_RF ideal-int +pkg syscall (netbsd-arm64), const IP_TOS = 3 +pkg syscall (netbsd-arm64), const IP_TTL = 4 +pkg syscall (netbsd-arm64), const IPV6_CHECKSUM = 26 +pkg syscall (netbsd-arm64), const IPV6_CHECKSUM ideal-int +pkg syscall (netbsd-arm64), const IPV6_DEFAULT_MULTICAST_HOPS = 1 +pkg syscall (netbsd-arm64), const IPV6_DEFAULT_MULTICAST_HOPS ideal-int +pkg syscall (netbsd-arm64), const IPV6_DEFAULT_MULTICAST_LOOP = 1 +pkg syscall (netbsd-arm64), const IPV6_DEFAULT_MULTICAST_LOOP ideal-int +pkg syscall (netbsd-arm64), const IPV6_DEFHLIM = 64 +pkg syscall (netbsd-arm64), const IPV6_DEFHLIM ideal-int +pkg syscall (netbsd-arm64), const IPV6_DONTFRAG = 62 +pkg syscall (netbsd-arm64), const IPV6_DONTFRAG ideal-int +pkg syscall (netbsd-arm64), const IPV6_DSTOPTS = 50 +pkg syscall (netbsd-arm64), const IPV6_DSTOPTS ideal-int +pkg syscall (netbsd-arm64), const IPV6_FAITH = 29 +pkg syscall (netbsd-arm64), const IPV6_FAITH ideal-int +pkg syscall (netbsd-arm64), const IPV6_FLOWINFO_MASK = 4294967055 +pkg syscall (netbsd-arm64), const IPV6_FLOWINFO_MASK ideal-int +pkg syscall (netbsd-arm64), const IPV6_FLOWLABEL_MASK = 4294905600 +pkg syscall (netbsd-arm64), const IPV6_FLOWLABEL_MASK ideal-int +pkg syscall (netbsd-arm64), const IPV6_FRAGTTL = 120 +pkg syscall (netbsd-arm64), const IPV6_FRAGTTL ideal-int +pkg syscall (netbsd-arm64), const IPV6_HLIMDEC = 1 +pkg syscall (netbsd-arm64), const IPV6_HLIMDEC ideal-int +pkg syscall (netbsd-arm64), const IPV6_HOPLIMIT = 47 +pkg syscall (netbsd-arm64), const IPV6_HOPLIMIT ideal-int +pkg syscall (netbsd-arm64), const IPV6_HOPOPTS = 49 +pkg syscall (netbsd-arm64), const IPV6_HOPOPTS ideal-int +pkg syscall (netbsd-arm64), const IPV6_IPSEC_POLICY = 28 +pkg syscall (netbsd-arm64), const IPV6_IPSEC_POLICY ideal-int +pkg syscall (netbsd-arm64), const IPV6_JOIN_GROUP = 12 +pkg syscall (netbsd-arm64), const IPV6_LEAVE_GROUP = 13 +pkg syscall (netbsd-arm64), const IPV6_MAXHLIM = 255 +pkg syscall (netbsd-arm64), const IPV6_MAXHLIM ideal-int +pkg syscall (netbsd-arm64), const IPV6_MAXPACKET = 65535 +pkg syscall (netbsd-arm64), const IPV6_MAXPACKET ideal-int +pkg syscall (netbsd-arm64), const IPV6_MMTU = 1280 +pkg syscall (netbsd-arm64), const IPV6_MMTU ideal-int +pkg syscall (netbsd-arm64), const IPV6_MULTICAST_HOPS = 10 +pkg syscall (netbsd-arm64), const IPV6_MULTICAST_IF = 9 +pkg syscall (netbsd-arm64), const IPV6_MULTICAST_LOOP = 11 +pkg syscall (netbsd-arm64), const IPV6_NEXTHOP = 48 +pkg syscall (netbsd-arm64), const IPV6_NEXTHOP ideal-int +pkg syscall (netbsd-arm64), const IPV6_PATHMTU = 44 +pkg syscall (netbsd-arm64), const IPV6_PATHMTU ideal-int +pkg syscall (netbsd-arm64), const IPV6_PKTINFO = 46 +pkg syscall (netbsd-arm64), const IPV6_PKTINFO ideal-int +pkg syscall (netbsd-arm64), const IPV6_PORTRANGE = 14 +pkg syscall (netbsd-arm64), const IPV6_PORTRANGE_DEFAULT = 0 +pkg syscall (netbsd-arm64), const IPV6_PORTRANGE_DEFAULT ideal-int +pkg syscall (netbsd-arm64), const IPV6_PORTRANGE_HIGH = 1 +pkg syscall (netbsd-arm64), const IPV6_PORTRANGE_HIGH ideal-int +pkg syscall (netbsd-arm64), const IPV6_PORTRANGE ideal-int +pkg syscall (netbsd-arm64), const IPV6_PORTRANGE_LOW = 2 +pkg syscall (netbsd-arm64), const IPV6_PORTRANGE_LOW ideal-int +pkg syscall (netbsd-arm64), const IPV6_RECVDSTOPTS = 40 +pkg syscall (netbsd-arm64), const IPV6_RECVDSTOPTS ideal-int +pkg syscall (netbsd-arm64), const IPV6_RECVHOPLIMIT = 37 +pkg syscall (netbsd-arm64), const IPV6_RECVHOPLIMIT ideal-int +pkg syscall (netbsd-arm64), const IPV6_RECVHOPOPTS = 39 +pkg syscall (netbsd-arm64), const IPV6_RECVHOPOPTS ideal-int +pkg syscall (netbsd-arm64), const IPV6_RECVPATHMTU = 43 +pkg syscall (netbsd-arm64), const IPV6_RECVPATHMTU ideal-int +pkg syscall (netbsd-arm64), const IPV6_RECVPKTINFO = 36 +pkg syscall (netbsd-arm64), const IPV6_RECVPKTINFO ideal-int +pkg syscall (netbsd-arm64), const IPV6_RECVRTHDR = 38 +pkg syscall (netbsd-arm64), const IPV6_RECVRTHDR ideal-int +pkg syscall (netbsd-arm64), const IPV6_RECVTCLASS = 57 +pkg syscall (netbsd-arm64), const IPV6_RECVTCLASS ideal-int +pkg syscall (netbsd-arm64), const IPV6_RTHDR = 51 +pkg syscall (netbsd-arm64), const IPV6_RTHDRDSTOPTS = 35 +pkg syscall (netbsd-arm64), const IPV6_RTHDRDSTOPTS ideal-int +pkg syscall (netbsd-arm64), const IPV6_RTHDR ideal-int +pkg syscall (netbsd-arm64), const IPV6_RTHDR_LOOSE = 0 +pkg syscall (netbsd-arm64), const IPV6_RTHDR_LOOSE ideal-int +pkg syscall (netbsd-arm64), const IPV6_RTHDR_STRICT = 1 +pkg syscall (netbsd-arm64), const IPV6_RTHDR_STRICT ideal-int +pkg syscall (netbsd-arm64), const IPV6_RTHDR_TYPE_0 = 0 +pkg syscall (netbsd-arm64), const IPV6_RTHDR_TYPE_0 ideal-int +pkg syscall (netbsd-arm64), const IPV6_SOCKOPT_RESERVED1 = 3 +pkg syscall (netbsd-arm64), const IPV6_SOCKOPT_RESERVED1 ideal-int +pkg syscall (netbsd-arm64), const IPV6_TCLASS = 61 +pkg syscall (netbsd-arm64), const IPV6_TCLASS ideal-int +pkg syscall (netbsd-arm64), const IPV6_UNICAST_HOPS = 4 +pkg syscall (netbsd-arm64), const IPV6_USE_MIN_MTU = 42 +pkg syscall (netbsd-arm64), const IPV6_USE_MIN_MTU ideal-int +pkg syscall (netbsd-arm64), const IPV6_V6ONLY = 27 +pkg syscall (netbsd-arm64), const IPV6_VERSION = 96 +pkg syscall (netbsd-arm64), const IPV6_VERSION ideal-int +pkg syscall (netbsd-arm64), const IPV6_VERSION_MASK = 240 +pkg syscall (netbsd-arm64), const IPV6_VERSION_MASK ideal-int +pkg syscall (netbsd-arm64), const ISIG = 128 +pkg syscall (netbsd-arm64), const ISIG ideal-int +pkg syscall (netbsd-arm64), const ISTRIP = 32 +pkg syscall (netbsd-arm64), const ISTRIP ideal-int +pkg syscall (netbsd-arm64), const IXANY = 2048 +pkg syscall (netbsd-arm64), const IXANY ideal-int +pkg syscall (netbsd-arm64), const IXOFF = 1024 +pkg syscall (netbsd-arm64), const IXOFF ideal-int +pkg syscall (netbsd-arm64), const IXON = 512 +pkg syscall (netbsd-arm64), const IXON ideal-int +pkg syscall (netbsd-arm64), const LOCK_EX = 2 +pkg syscall (netbsd-arm64), const LOCK_EX ideal-int +pkg syscall (netbsd-arm64), const LOCK_NB = 4 +pkg syscall (netbsd-arm64), const LOCK_NB ideal-int +pkg syscall (netbsd-arm64), const LOCK_SH = 1 +pkg syscall (netbsd-arm64), const LOCK_SH ideal-int +pkg syscall (netbsd-arm64), const LOCK_UN = 8 +pkg syscall (netbsd-arm64), const LOCK_UN ideal-int +pkg syscall (netbsd-arm64), const MADV_DONTNEED = 4 +pkg syscall (netbsd-arm64), const MADV_DONTNEED ideal-int +pkg syscall (netbsd-arm64), const MADV_FREE = 6 +pkg syscall (netbsd-arm64), const MADV_FREE ideal-int +pkg syscall (netbsd-arm64), const MADV_NORMAL = 0 +pkg syscall (netbsd-arm64), const MADV_NORMAL ideal-int +pkg syscall (netbsd-arm64), const MADV_RANDOM = 1 +pkg syscall (netbsd-arm64), const MADV_RANDOM ideal-int +pkg syscall (netbsd-arm64), const MADV_SEQUENTIAL = 2 +pkg syscall (netbsd-arm64), const MADV_SEQUENTIAL ideal-int +pkg syscall (netbsd-arm64), const MADV_SPACEAVAIL = 5 +pkg syscall (netbsd-arm64), const MADV_SPACEAVAIL ideal-int +pkg syscall (netbsd-arm64), const MADV_WILLNEED = 3 +pkg syscall (netbsd-arm64), const MADV_WILLNEED ideal-int +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_16MB = 402653184 +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_16MB ideal-int +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_1TB = 671088640 +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_1TB ideal-int +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_256TB = 805306368 +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_256TB ideal-int +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_4GB = 536870912 +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_4GB ideal-int +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_64KB = 268435456 +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_64KB ideal-int +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_64PB = 939524096 +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_64PB ideal-int +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_MASK = -16777216 +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_MASK ideal-int +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_SHIFT = 24 +pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_SHIFT ideal-int +pkg syscall (netbsd-arm64), const MAP_ANON = 4096 +pkg syscall (netbsd-arm64), const MAP_ANON ideal-int +pkg syscall (netbsd-arm64), const MAP_FILE = 0 +pkg syscall (netbsd-arm64), const MAP_FILE ideal-int +pkg syscall (netbsd-arm64), const MAP_FIXED = 16 +pkg syscall (netbsd-arm64), const MAP_FIXED ideal-int +pkg syscall (netbsd-arm64), const MAP_HASSEMAPHORE = 512 +pkg syscall (netbsd-arm64), const MAP_HASSEMAPHORE ideal-int +pkg syscall (netbsd-arm64), const MAP_INHERIT = 128 +pkg syscall (netbsd-arm64), const MAP_INHERIT_COPY = 1 +pkg syscall (netbsd-arm64), const MAP_INHERIT_COPY ideal-int +pkg syscall (netbsd-arm64), const MAP_INHERIT_DEFAULT = 1 +pkg syscall (netbsd-arm64), const MAP_INHERIT_DEFAULT ideal-int +pkg syscall (netbsd-arm64), const MAP_INHERIT_DONATE_COPY = 3 +pkg syscall (netbsd-arm64), const MAP_INHERIT_DONATE_COPY ideal-int +pkg syscall (netbsd-arm64), const MAP_INHERIT ideal-int +pkg syscall (netbsd-arm64), const MAP_INHERIT_NONE = 2 +pkg syscall (netbsd-arm64), const MAP_INHERIT_NONE ideal-int +pkg syscall (netbsd-arm64), const MAP_INHERIT_SHARE = 0 +pkg syscall (netbsd-arm64), const MAP_INHERIT_SHARE ideal-int +pkg syscall (netbsd-arm64), const MAP_NORESERVE = 64 +pkg syscall (netbsd-arm64), const MAP_NORESERVE ideal-int +pkg syscall (netbsd-arm64), const MAP_PRIVATE = 2 +pkg syscall (netbsd-arm64), const MAP_PRIVATE ideal-int +pkg syscall (netbsd-arm64), const MAP_RENAME = 32 +pkg syscall (netbsd-arm64), const MAP_RENAME ideal-int +pkg syscall (netbsd-arm64), const MAP_SHARED = 1 +pkg syscall (netbsd-arm64), const MAP_SHARED ideal-int +pkg syscall (netbsd-arm64), const MAP_STACK = 8192 +pkg syscall (netbsd-arm64), const MAP_STACK ideal-int +pkg syscall (netbsd-arm64), const MAP_TRYFIXED = 1024 +pkg syscall (netbsd-arm64), const MAP_TRYFIXED ideal-int +pkg syscall (netbsd-arm64), const MAP_WIRED = 2048 +pkg syscall (netbsd-arm64), const MAP_WIRED ideal-int +pkg syscall (netbsd-arm64), const MCL_CURRENT = 1 +pkg syscall (netbsd-arm64), const MCL_CURRENT ideal-int +pkg syscall (netbsd-arm64), const MCL_FUTURE = 2 +pkg syscall (netbsd-arm64), const MCL_FUTURE ideal-int +pkg syscall (netbsd-arm64), const MS_ASYNC = 1 +pkg syscall (netbsd-arm64), const MS_ASYNC ideal-int +pkg syscall (netbsd-arm64), const MSG_BCAST = 256 +pkg syscall (netbsd-arm64), const MSG_BCAST ideal-int +pkg syscall (netbsd-arm64), const MSG_CMSG_CLOEXEC = 2048 +pkg syscall (netbsd-arm64), const MSG_CMSG_CLOEXEC ideal-int +pkg syscall (netbsd-arm64), const MSG_CONTROLMBUF = 33554432 +pkg syscall (netbsd-arm64), const MSG_CONTROLMBUF ideal-int +pkg syscall (netbsd-arm64), const MSG_CTRUNC = 32 +pkg syscall (netbsd-arm64), const MSG_CTRUNC ideal-int +pkg syscall (netbsd-arm64), const MSG_DONTROUTE = 4 +pkg syscall (netbsd-arm64), const MSG_DONTROUTE ideal-int +pkg syscall (netbsd-arm64), const MSG_DONTWAIT = 128 +pkg syscall (netbsd-arm64), const MSG_DONTWAIT ideal-int +pkg syscall (netbsd-arm64), const MSG_EOR = 8 +pkg syscall (netbsd-arm64), const MSG_EOR ideal-int +pkg syscall (netbsd-arm64), const MSG_IOVUSRSPACE = 67108864 +pkg syscall (netbsd-arm64), const MSG_IOVUSRSPACE ideal-int +pkg syscall (netbsd-arm64), const MSG_LENUSRSPACE = 134217728 +pkg syscall (netbsd-arm64), const MSG_LENUSRSPACE ideal-int +pkg syscall (netbsd-arm64), const MSG_MCAST = 512 +pkg syscall (netbsd-arm64), const MSG_MCAST ideal-int +pkg syscall (netbsd-arm64), const MSG_NAMEMBUF = 16777216 +pkg syscall (netbsd-arm64), const MSG_NAMEMBUF ideal-int +pkg syscall (netbsd-arm64), const MSG_NBIO = 4096 +pkg syscall (netbsd-arm64), const MSG_NBIO ideal-int +pkg syscall (netbsd-arm64), const MSG_NOSIGNAL = 1024 +pkg syscall (netbsd-arm64), const MSG_NOSIGNAL ideal-int +pkg syscall (netbsd-arm64), const MSG_OOB = 1 +pkg syscall (netbsd-arm64), const MSG_OOB ideal-int +pkg syscall (netbsd-arm64), const MSG_PEEK = 2 +pkg syscall (netbsd-arm64), const MSG_PEEK ideal-int +pkg syscall (netbsd-arm64), const MSG_TRUNC = 16 +pkg syscall (netbsd-arm64), const MSG_TRUNC ideal-int +pkg syscall (netbsd-arm64), const MSG_USERFLAGS = 16777215 +pkg syscall (netbsd-arm64), const MSG_USERFLAGS ideal-int +pkg syscall (netbsd-arm64), const MSG_WAITALL = 64 +pkg syscall (netbsd-arm64), const MSG_WAITALL ideal-int +pkg syscall (netbsd-arm64), const MS_INVALIDATE = 2 +pkg syscall (netbsd-arm64), const MS_INVALIDATE ideal-int +pkg syscall (netbsd-arm64), const MS_SYNC = 4 +pkg syscall (netbsd-arm64), const MS_SYNC ideal-int +pkg syscall (netbsd-arm64), const NAME_MAX = 511 +pkg syscall (netbsd-arm64), const NAME_MAX ideal-int +pkg syscall (netbsd-arm64), const NET_RT_DUMP = 1 +pkg syscall (netbsd-arm64), const NET_RT_DUMP ideal-int +pkg syscall (netbsd-arm64), const NET_RT_FLAGS = 2 +pkg syscall (netbsd-arm64), const NET_RT_FLAGS ideal-int +pkg syscall (netbsd-arm64), const NET_RT_IFLIST = 5 +pkg syscall (netbsd-arm64), const NET_RT_IFLIST ideal-int +pkg syscall (netbsd-arm64), const NET_RT_MAXID = 6 +pkg syscall (netbsd-arm64), const NET_RT_MAXID ideal-int +pkg syscall (netbsd-arm64), const NET_RT_OIFLIST = 4 +pkg syscall (netbsd-arm64), const NET_RT_OIFLIST ideal-int +pkg syscall (netbsd-arm64), const NET_RT_OOIFLIST = 3 +pkg syscall (netbsd-arm64), const NET_RT_OOIFLIST ideal-int +pkg syscall (netbsd-arm64), const NOFLSH = 2147483648 +pkg syscall (netbsd-arm64), const NOFLSH ideal-int +pkg syscall (netbsd-arm64), const NOTE_ATTRIB = 8 +pkg syscall (netbsd-arm64), const NOTE_ATTRIB ideal-int +pkg syscall (netbsd-arm64), const NOTE_CHILD = 4 +pkg syscall (netbsd-arm64), const NOTE_CHILD ideal-int +pkg syscall (netbsd-arm64), const NOTE_DELETE = 1 +pkg syscall (netbsd-arm64), const NOTE_DELETE ideal-int +pkg syscall (netbsd-arm64), const NOTE_EXEC = 536870912 +pkg syscall (netbsd-arm64), const NOTE_EXEC ideal-int +pkg syscall (netbsd-arm64), const NOTE_EXIT = 2147483648 +pkg syscall (netbsd-arm64), const NOTE_EXIT ideal-int +pkg syscall (netbsd-arm64), const NOTE_EXTEND = 4 +pkg syscall (netbsd-arm64), const NOTE_EXTEND ideal-int +pkg syscall (netbsd-arm64), const NOTE_FORK = 1073741824 +pkg syscall (netbsd-arm64), const NOTE_FORK ideal-int +pkg syscall (netbsd-arm64), const NOTE_LINK = 16 +pkg syscall (netbsd-arm64), const NOTE_LINK ideal-int +pkg syscall (netbsd-arm64), const NOTE_LOWAT = 1 +pkg syscall (netbsd-arm64), const NOTE_LOWAT ideal-int +pkg syscall (netbsd-arm64), const NOTE_PCTRLMASK = 4026531840 +pkg syscall (netbsd-arm64), const NOTE_PCTRLMASK ideal-int +pkg syscall (netbsd-arm64), const NOTE_PDATAMASK = 1048575 +pkg syscall (netbsd-arm64), const NOTE_PDATAMASK ideal-int +pkg syscall (netbsd-arm64), const NOTE_RENAME = 32 +pkg syscall (netbsd-arm64), const NOTE_RENAME ideal-int +pkg syscall (netbsd-arm64), const NOTE_REVOKE = 64 +pkg syscall (netbsd-arm64), const NOTE_REVOKE ideal-int +pkg syscall (netbsd-arm64), const NOTE_TRACK = 1 +pkg syscall (netbsd-arm64), const NOTE_TRACKERR = 2 +pkg syscall (netbsd-arm64), const NOTE_TRACKERR ideal-int +pkg syscall (netbsd-arm64), const NOTE_TRACK ideal-int +pkg syscall (netbsd-arm64), const NOTE_WRITE = 2 +pkg syscall (netbsd-arm64), const NOTE_WRITE ideal-int +pkg syscall (netbsd-arm64), const O_ACCMODE = 3 +pkg syscall (netbsd-arm64), const O_ACCMODE ideal-int +pkg syscall (netbsd-arm64), const O_ALT_IO = 262144 +pkg syscall (netbsd-arm64), const O_ALT_IO ideal-int +pkg syscall (netbsd-arm64), const O_APPEND = 8 +pkg syscall (netbsd-arm64), const O_ASYNC = 64 +pkg syscall (netbsd-arm64), const O_CLOEXEC = 4194304 +pkg syscall (netbsd-arm64), const O_CREAT = 512 +pkg syscall (netbsd-arm64), const OCRNL = 16 +pkg syscall (netbsd-arm64), const OCRNL ideal-int +pkg syscall (netbsd-arm64), const O_DIRECT = 524288 +pkg syscall (netbsd-arm64), const O_DIRECT ideal-int +pkg syscall (netbsd-arm64), const O_DIRECTORY = 2097152 +pkg syscall (netbsd-arm64), const O_DIRECTORY ideal-int +pkg syscall (netbsd-arm64), const O_DSYNC = 65536 +pkg syscall (netbsd-arm64), const O_DSYNC ideal-int +pkg syscall (netbsd-arm64), const O_EXCL = 2048 +pkg syscall (netbsd-arm64), const O_EXLOCK = 32 +pkg syscall (netbsd-arm64), const O_EXLOCK ideal-int +pkg syscall (netbsd-arm64), const OFIOGETBMAP = 3221513850 +pkg syscall (netbsd-arm64), const OFIOGETBMAP ideal-int +pkg syscall (netbsd-arm64), const O_FSYNC = 128 +pkg syscall (netbsd-arm64), const O_FSYNC ideal-int +pkg syscall (netbsd-arm64), const O_NDELAY = 4 +pkg syscall (netbsd-arm64), const O_NDELAY ideal-int +pkg syscall (netbsd-arm64), const ONLCR = 2 +pkg syscall (netbsd-arm64), const ONLCR ideal-int +pkg syscall (netbsd-arm64), const ONLRET = 64 +pkg syscall (netbsd-arm64), const ONLRET ideal-int +pkg syscall (netbsd-arm64), const ONOCR = 32 +pkg syscall (netbsd-arm64), const ONOCR ideal-int +pkg syscall (netbsd-arm64), const O_NOCTTY = 32768 +pkg syscall (netbsd-arm64), const ONOEOT = 8 +pkg syscall (netbsd-arm64), const ONOEOT ideal-int +pkg syscall (netbsd-arm64), const O_NOFOLLOW = 256 +pkg syscall (netbsd-arm64), const O_NOFOLLOW ideal-int +pkg syscall (netbsd-arm64), const O_NONBLOCK = 4 +pkg syscall (netbsd-arm64), const O_NOSIGPIPE = 16777216 +pkg syscall (netbsd-arm64), const O_NOSIGPIPE ideal-int +pkg syscall (netbsd-arm64), const OPOST = 1 +pkg syscall (netbsd-arm64), const OPOST ideal-int +pkg syscall (netbsd-arm64), const O_RSYNC = 131072 +pkg syscall (netbsd-arm64), const O_RSYNC ideal-int +pkg syscall (netbsd-arm64), const O_SHLOCK = 16 +pkg syscall (netbsd-arm64), const O_SHLOCK ideal-int +pkg syscall (netbsd-arm64), const O_SYNC = 128 +pkg syscall (netbsd-arm64), const O_TRUNC = 1024 +pkg syscall (netbsd-arm64), const PARENB = 4096 +pkg syscall (netbsd-arm64), const PARENB ideal-int +pkg syscall (netbsd-arm64), const PARMRK = 8 +pkg syscall (netbsd-arm64), const PARMRK ideal-int +pkg syscall (netbsd-arm64), const PARODD = 8192 +pkg syscall (netbsd-arm64), const PARODD ideal-int +pkg syscall (netbsd-arm64), const PENDIN = 536870912 +pkg syscall (netbsd-arm64), const PENDIN ideal-int +pkg syscall (netbsd-arm64), const PRI_IOFLUSH = 124 +pkg syscall (netbsd-arm64), const PRI_IOFLUSH ideal-int +pkg syscall (netbsd-arm64), const PRIO_PGRP = 1 +pkg syscall (netbsd-arm64), const PRIO_PGRP ideal-int +pkg syscall (netbsd-arm64), const PRIO_PROCESS = 0 +pkg syscall (netbsd-arm64), const PRIO_PROCESS ideal-int +pkg syscall (netbsd-arm64), const PRIO_USER = 2 +pkg syscall (netbsd-arm64), const PRIO_USER ideal-int +pkg syscall (netbsd-arm64), const PROT_EXEC = 4 +pkg syscall (netbsd-arm64), const PROT_EXEC ideal-int +pkg syscall (netbsd-arm64), const PROT_NONE = 0 +pkg syscall (netbsd-arm64), const PROT_NONE ideal-int +pkg syscall (netbsd-arm64), const PROT_READ = 1 +pkg syscall (netbsd-arm64), const PROT_READ ideal-int +pkg syscall (netbsd-arm64), const PROT_WRITE = 2 +pkg syscall (netbsd-arm64), const PROT_WRITE ideal-int +pkg syscall (netbsd-arm64), const PTRACE_CONT = 7 +pkg syscall (netbsd-arm64), const PTRACE_CONT ideal-int +pkg syscall (netbsd-arm64), const PTRACE_KILL = 8 +pkg syscall (netbsd-arm64), const PTRACE_KILL ideal-int +pkg syscall (netbsd-arm64), const PTRACE_TRACEME = 0 +pkg syscall (netbsd-arm64), const PTRACE_TRACEME ideal-int +pkg syscall (netbsd-arm64), const RLIM_INFINITY = 9223372036854775807 +pkg syscall (netbsd-arm64), const RLIM_INFINITY ideal-int +pkg syscall (netbsd-arm64), const RLIMIT_AS = 10 +pkg syscall (netbsd-arm64), const RLIMIT_AS ideal-int +pkg syscall (netbsd-arm64), const RLIMIT_CORE = 4 +pkg syscall (netbsd-arm64), const RLIMIT_CORE ideal-int +pkg syscall (netbsd-arm64), const RLIMIT_CPU = 0 +pkg syscall (netbsd-arm64), const RLIMIT_CPU ideal-int +pkg syscall (netbsd-arm64), const RLIMIT_DATA = 2 +pkg syscall (netbsd-arm64), const RLIMIT_DATA ideal-int +pkg syscall (netbsd-arm64), const RLIMIT_FSIZE = 1 +pkg syscall (netbsd-arm64), const RLIMIT_FSIZE ideal-int +pkg syscall (netbsd-arm64), const RLIMIT_NOFILE = 8 +pkg syscall (netbsd-arm64), const RLIMIT_NOFILE ideal-int +pkg syscall (netbsd-arm64), const RLIMIT_STACK = 3 +pkg syscall (netbsd-arm64), const RLIMIT_STACK ideal-int +pkg syscall (netbsd-arm64), const RTA_AUTHOR = 64 +pkg syscall (netbsd-arm64), const RTA_AUTHOR ideal-int +pkg syscall (netbsd-arm64), const RTA_BRD = 128 +pkg syscall (netbsd-arm64), const RTA_BRD ideal-int +pkg syscall (netbsd-arm64), const RTA_DST = 1 +pkg syscall (netbsd-arm64), const RTA_DST ideal-int +pkg syscall (netbsd-arm64), const RTA_GATEWAY = 2 +pkg syscall (netbsd-arm64), const RTA_GATEWAY ideal-int +pkg syscall (netbsd-arm64), const RTA_GENMASK = 8 +pkg syscall (netbsd-arm64), const RTA_GENMASK ideal-int +pkg syscall (netbsd-arm64), const RTA_IFA = 32 +pkg syscall (netbsd-arm64), const RTA_IFA ideal-int +pkg syscall (netbsd-arm64), const RTA_IFP = 16 +pkg syscall (netbsd-arm64), const RTA_IFP ideal-int +pkg syscall (netbsd-arm64), const RTA_NETMASK = 4 +pkg syscall (netbsd-arm64), const RTA_NETMASK ideal-int +pkg syscall (netbsd-arm64), const RTA_TAG = 256 +pkg syscall (netbsd-arm64), const RTA_TAG ideal-int +pkg syscall (netbsd-arm64), const RTAX_AUTHOR = 6 +pkg syscall (netbsd-arm64), const RTAX_AUTHOR ideal-int +pkg syscall (netbsd-arm64), const RTAX_BRD = 7 +pkg syscall (netbsd-arm64), const RTAX_BRD ideal-int +pkg syscall (netbsd-arm64), const RTAX_DST = 0 +pkg syscall (netbsd-arm64), const RTAX_DST ideal-int +pkg syscall (netbsd-arm64), const RTAX_GATEWAY = 1 +pkg syscall (netbsd-arm64), const RTAX_GATEWAY ideal-int +pkg syscall (netbsd-arm64), const RTAX_GENMASK = 3 +pkg syscall (netbsd-arm64), const RTAX_GENMASK ideal-int +pkg syscall (netbsd-arm64), const RTAX_IFA = 5 +pkg syscall (netbsd-arm64), const RTAX_IFA ideal-int +pkg syscall (netbsd-arm64), const RTAX_IFP = 4 +pkg syscall (netbsd-arm64), const RTAX_IFP ideal-int +pkg syscall (netbsd-arm64), const RTAX_MAX = 9 +pkg syscall (netbsd-arm64), const RTAX_MAX ideal-int +pkg syscall (netbsd-arm64), const RTAX_NETMASK = 2 +pkg syscall (netbsd-arm64), const RTAX_NETMASK ideal-int +pkg syscall (netbsd-arm64), const RTAX_TAG = 8 +pkg syscall (netbsd-arm64), const RTAX_TAG ideal-int +pkg syscall (netbsd-arm64), const RTF_ANNOUNCE = 131072 +pkg syscall (netbsd-arm64), const RTF_ANNOUNCE ideal-int +pkg syscall (netbsd-arm64), const RTF_BLACKHOLE = 4096 +pkg syscall (netbsd-arm64), const RTF_BLACKHOLE ideal-int +pkg syscall (netbsd-arm64), const RTF_CLONED = 8192 +pkg syscall (netbsd-arm64), const RTF_CLONED ideal-int +pkg syscall (netbsd-arm64), const RTF_CLONING = 256 +pkg syscall (netbsd-arm64), const RTF_CLONING ideal-int +pkg syscall (netbsd-arm64), const RTF_DONE = 64 +pkg syscall (netbsd-arm64), const RTF_DONE ideal-int +pkg syscall (netbsd-arm64), const RTF_DYNAMIC = 16 +pkg syscall (netbsd-arm64), const RTF_DYNAMIC ideal-int +pkg syscall (netbsd-arm64), const RTF_GATEWAY = 2 +pkg syscall (netbsd-arm64), const RTF_GATEWAY ideal-int +pkg syscall (netbsd-arm64), const RTF_HOST = 4 +pkg syscall (netbsd-arm64), const RTF_HOST ideal-int +pkg syscall (netbsd-arm64), const RTF_LLINFO = 1024 +pkg syscall (netbsd-arm64), const RTF_LLINFO ideal-int +pkg syscall (netbsd-arm64), const RTF_MASK = 128 +pkg syscall (netbsd-arm64), const RTF_MASK ideal-int +pkg syscall (netbsd-arm64), const RTF_MODIFIED = 32 +pkg syscall (netbsd-arm64), const RTF_MODIFIED ideal-int +pkg syscall (netbsd-arm64), const RTF_PROTO1 = 32768 +pkg syscall (netbsd-arm64), const RTF_PROTO1 ideal-int +pkg syscall (netbsd-arm64), const RTF_PROTO2 = 16384 +pkg syscall (netbsd-arm64), const RTF_PROTO2 ideal-int +pkg syscall (netbsd-arm64), const RTF_REJECT = 8 +pkg syscall (netbsd-arm64), const RTF_REJECT ideal-int +pkg syscall (netbsd-arm64), const RTF_SRC = 65536 +pkg syscall (netbsd-arm64), const RTF_SRC ideal-int +pkg syscall (netbsd-arm64), const RTF_STATIC = 2048 +pkg syscall (netbsd-arm64), const RTF_STATIC ideal-int +pkg syscall (netbsd-arm64), const RTF_UP = 1 +pkg syscall (netbsd-arm64), const RTF_UP ideal-int +pkg syscall (netbsd-arm64), const RTF_XRESOLVE = 512 +pkg syscall (netbsd-arm64), const RTF_XRESOLVE ideal-int +pkg syscall (netbsd-arm64), const RTM_ADD = 1 +pkg syscall (netbsd-arm64), const RTM_ADD ideal-int +pkg syscall (netbsd-arm64), const RTM_CHANGE = 3 +pkg syscall (netbsd-arm64), const RTM_CHANGE ideal-int +pkg syscall (netbsd-arm64), const RTM_CHGADDR = 21 +pkg syscall (netbsd-arm64), const RTM_CHGADDR ideal-int +pkg syscall (netbsd-arm64), const RTM_DELADDR = 13 +pkg syscall (netbsd-arm64), const RTM_DELADDR ideal-int +pkg syscall (netbsd-arm64), const RTM_DELETE = 2 +pkg syscall (netbsd-arm64), const RTM_DELETE ideal-int +pkg syscall (netbsd-arm64), const RTM_GET = 4 +pkg syscall (netbsd-arm64), const RTM_GET ideal-int +pkg syscall (netbsd-arm64), const RTM_IEEE80211 = 17 +pkg syscall (netbsd-arm64), const RTM_IEEE80211 ideal-int +pkg syscall (netbsd-arm64), const RTM_IFANNOUNCE = 16 +pkg syscall (netbsd-arm64), const RTM_IFANNOUNCE ideal-int +pkg syscall (netbsd-arm64), const RTM_IFINFO = 20 +pkg syscall (netbsd-arm64), const RTM_IFINFO ideal-int +pkg syscall (netbsd-arm64), const RTM_LLINFO_UPD = 19 +pkg syscall (netbsd-arm64), const RTM_LLINFO_UPD ideal-int +pkg syscall (netbsd-arm64), const RTM_LOCK = 8 +pkg syscall (netbsd-arm64), const RTM_LOCK ideal-int +pkg syscall (netbsd-arm64), const RTM_LOSING = 5 +pkg syscall (netbsd-arm64), const RTM_LOSING ideal-int +pkg syscall (netbsd-arm64), const RTM_MISS = 7 +pkg syscall (netbsd-arm64), const RTM_MISS ideal-int +pkg syscall (netbsd-arm64), const RTM_NEWADDR = 12 +pkg syscall (netbsd-arm64), const RTM_NEWADDR ideal-int +pkg syscall (netbsd-arm64), const RTM_OIFINFO = 15 +pkg syscall (netbsd-arm64), const RTM_OIFINFO ideal-int +pkg syscall (netbsd-arm64), const RTM_OLDADD = 9 +pkg syscall (netbsd-arm64), const RTM_OLDADD ideal-int +pkg syscall (netbsd-arm64), const RTM_OLDDEL = 10 +pkg syscall (netbsd-arm64), const RTM_OLDDEL ideal-int +pkg syscall (netbsd-arm64), const RTM_OOIFINFO = 14 +pkg syscall (netbsd-arm64), const RTM_OOIFINFO ideal-int +pkg syscall (netbsd-arm64), const RTM_REDIRECT = 6 +pkg syscall (netbsd-arm64), const RTM_REDIRECT ideal-int +pkg syscall (netbsd-arm64), const RTM_RESOLVE = 11 +pkg syscall (netbsd-arm64), const RTM_RESOLVE ideal-int +pkg syscall (netbsd-arm64), const RTM_RTTUNIT = 1000000 +pkg syscall (netbsd-arm64), const RTM_RTTUNIT ideal-int +pkg syscall (netbsd-arm64), const RTM_SETGATE = 18 +pkg syscall (netbsd-arm64), const RTM_SETGATE ideal-int +pkg syscall (netbsd-arm64), const RTM_VERSION = 4 +pkg syscall (netbsd-arm64), const RTM_VERSION ideal-int +pkg syscall (netbsd-arm64), const RTV_EXPIRE = 4 +pkg syscall (netbsd-arm64), const RTV_EXPIRE ideal-int +pkg syscall (netbsd-arm64), const RTV_HOPCOUNT = 2 +pkg syscall (netbsd-arm64), const RTV_HOPCOUNT ideal-int +pkg syscall (netbsd-arm64), const RTV_MTU = 1 +pkg syscall (netbsd-arm64), const RTV_MTU ideal-int +pkg syscall (netbsd-arm64), const RTV_RPIPE = 8 +pkg syscall (netbsd-arm64), const RTV_RPIPE ideal-int +pkg syscall (netbsd-arm64), const RTV_RTT = 64 +pkg syscall (netbsd-arm64), const RTV_RTT ideal-int +pkg syscall (netbsd-arm64), const RTV_RTTVAR = 128 +pkg syscall (netbsd-arm64), const RTV_RTTVAR ideal-int +pkg syscall (netbsd-arm64), const RTV_SPIPE = 16 +pkg syscall (netbsd-arm64), const RTV_SPIPE ideal-int +pkg syscall (netbsd-arm64), const RTV_SSTHRESH = 32 +pkg syscall (netbsd-arm64), const RTV_SSTHRESH ideal-int +pkg syscall (netbsd-arm64), const RUSAGE_CHILDREN = -1 +pkg syscall (netbsd-arm64), const RUSAGE_CHILDREN ideal-int +pkg syscall (netbsd-arm64), const RUSAGE_SELF = 0 +pkg syscall (netbsd-arm64), const RUSAGE_SELF ideal-int +pkg syscall (netbsd-arm64), const S_ARCH1 = 65536 +pkg syscall (netbsd-arm64), const S_ARCH1 ideal-int +pkg syscall (netbsd-arm64), const S_ARCH2 = 131072 +pkg syscall (netbsd-arm64), const S_ARCH2 ideal-int +pkg syscall (netbsd-arm64), const S_BLKSIZE = 512 +pkg syscall (netbsd-arm64), const S_BLKSIZE ideal-int +pkg syscall (netbsd-arm64), const SCM_CREDS = 4 +pkg syscall (netbsd-arm64), const SCM_CREDS ideal-int +pkg syscall (netbsd-arm64), const SCM_RIGHTS = 1 +pkg syscall (netbsd-arm64), const SCM_RIGHTS ideal-int +pkg syscall (netbsd-arm64), const SCM_TIMESTAMP = 8 +pkg syscall (netbsd-arm64), const SCM_TIMESTAMP ideal-int +pkg syscall (netbsd-arm64), const S_IEXEC = 64 +pkg syscall (netbsd-arm64), const S_IEXEC ideal-int +pkg syscall (netbsd-arm64), const S_IFMT = 61440 +pkg syscall (netbsd-arm64), const S_IFWHT = 57344 +pkg syscall (netbsd-arm64), const S_IFWHT ideal-int +pkg syscall (netbsd-arm64), const SIGBUS = 10 +pkg syscall (netbsd-arm64), const SIGCHLD = 20 +pkg syscall (netbsd-arm64), const SIGCHLD Signal +pkg syscall (netbsd-arm64), const SIGCONT = 19 +pkg syscall (netbsd-arm64), const SIGCONT Signal +pkg syscall (netbsd-arm64), const SIGEMT = 7 +pkg syscall (netbsd-arm64), const SIGEMT Signal +pkg syscall (netbsd-arm64), const SIGINFO = 29 +pkg syscall (netbsd-arm64), const SIGINFO Signal +pkg syscall (netbsd-arm64), const SIGIO = 23 +pkg syscall (netbsd-arm64), const SIGIO Signal +pkg syscall (netbsd-arm64), const SIGIOT = 6 +pkg syscall (netbsd-arm64), const SIGIOT Signal +pkg syscall (netbsd-arm64), const SIGPROF = 27 +pkg syscall (netbsd-arm64), const SIGPROF Signal +pkg syscall (netbsd-arm64), const SIGPWR = 32 +pkg syscall (netbsd-arm64), const SIGPWR Signal +pkg syscall (netbsd-arm64), const SIGSTOP = 17 +pkg syscall (netbsd-arm64), const SIGSTOP Signal +pkg syscall (netbsd-arm64), const SIGSYS = 12 +pkg syscall (netbsd-arm64), const SIGSYS Signal +pkg syscall (netbsd-arm64), const SIGTSTP = 18 +pkg syscall (netbsd-arm64), const SIGTSTP Signal +pkg syscall (netbsd-arm64), const SIGTTIN = 21 +pkg syscall (netbsd-arm64), const SIGTTIN Signal +pkg syscall (netbsd-arm64), const SIGTTOU = 22 +pkg syscall (netbsd-arm64), const SIGTTOU Signal +pkg syscall (netbsd-arm64), const SIGURG = 16 +pkg syscall (netbsd-arm64), const SIGURG Signal +pkg syscall (netbsd-arm64), const SIGUSR1 = 30 +pkg syscall (netbsd-arm64), const SIGUSR1 Signal +pkg syscall (netbsd-arm64), const SIGUSR2 = 31 +pkg syscall (netbsd-arm64), const SIGUSR2 Signal +pkg syscall (netbsd-arm64), const SIGVTALRM = 26 +pkg syscall (netbsd-arm64), const SIGVTALRM Signal +pkg syscall (netbsd-arm64), const SIGWINCH = 28 +pkg syscall (netbsd-arm64), const SIGWINCH Signal +pkg syscall (netbsd-arm64), const SIGXCPU = 24 +pkg syscall (netbsd-arm64), const SIGXCPU Signal +pkg syscall (netbsd-arm64), const SIGXFSZ = 25 +pkg syscall (netbsd-arm64), const SIGXFSZ Signal +pkg syscall (netbsd-arm64), const SIOCADDMULTI = 2156947761 +pkg syscall (netbsd-arm64), const SIOCADDMULTI ideal-int +pkg syscall (netbsd-arm64), const SIOCADDRT = 2151182858 +pkg syscall (netbsd-arm64), const SIOCADDRT ideal-int +pkg syscall (netbsd-arm64), const SIOCAIFADDR = 2151704858 +pkg syscall (netbsd-arm64), const SIOCAIFADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCALIFADDR = 2165860636 +pkg syscall (netbsd-arm64), const SIOCALIFADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCATMARK = 1074033415 +pkg syscall (netbsd-arm64), const SIOCATMARK ideal-int +pkg syscall (netbsd-arm64), const SIOCDELMULTI = 2156947762 +pkg syscall (netbsd-arm64), const SIOCDELMULTI ideal-int +pkg syscall (netbsd-arm64), const SIOCDELRT = 2151182859 +pkg syscall (netbsd-arm64), const SIOCDELRT ideal-int +pkg syscall (netbsd-arm64), const SIOCDIFADDR = 2156947737 +pkg syscall (netbsd-arm64), const SIOCDIFADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCDIFPHYADDR = 2156947785 +pkg syscall (netbsd-arm64), const SIOCDIFPHYADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCDLIFADDR = 2165860638 +pkg syscall (netbsd-arm64), const SIOCDLIFADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCGDRVSPEC = 3223873915 +pkg syscall (netbsd-arm64), const SIOCGDRVSPEC ideal-int +pkg syscall (netbsd-arm64), const SIOCGETPFSYNC = 3230689784 +pkg syscall (netbsd-arm64), const SIOCGETPFSYNC ideal-int +pkg syscall (netbsd-arm64), const SIOCGETSGCNT = 3223352628 +pkg syscall (netbsd-arm64), const SIOCGETSGCNT ideal-int +pkg syscall (netbsd-arm64), const SIOCGETVIFCNT = 3223876915 +pkg syscall (netbsd-arm64), const SIOCGETVIFCNT ideal-int +pkg syscall (netbsd-arm64), const SIOCGHIWAT = 1074033409 +pkg syscall (netbsd-arm64), const SIOCGHIWAT ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFADDR = 3230689569 +pkg syscall (netbsd-arm64), const SIOCGIFADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFADDRPREF = 3231213856 +pkg syscall (netbsd-arm64), const SIOCGIFADDRPREF ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFALIAS = 3225446683 +pkg syscall (netbsd-arm64), const SIOCGIFALIAS ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFBRDADDR = 3230689571 +pkg syscall (netbsd-arm64), const SIOCGIFBRDADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFCAP = 3223349622 +pkg syscall (netbsd-arm64), const SIOCGIFCAP ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFCONF = 3222300966 +pkg syscall (netbsd-arm64), const SIOCGIFCONF ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFDATA = 3231213957 +pkg syscall (netbsd-arm64), const SIOCGIFDATA ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFDLT = 3230689655 +pkg syscall (netbsd-arm64), const SIOCGIFDLT ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFDSTADDR = 3230689570 +pkg syscall (netbsd-arm64), const SIOCGIFDSTADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFFLAGS = 3230689553 +pkg syscall (netbsd-arm64), const SIOCGIFFLAGS ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFGENERIC = 3230689594 +pkg syscall (netbsd-arm64), const SIOCGIFGENERIC ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFMEDIA = 3224398134 +pkg syscall (netbsd-arm64), const SIOCGIFMEDIA ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFMETRIC = 3230689559 +pkg syscall (netbsd-arm64), const SIOCGIFMETRIC ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFMTU = 3230689662 +pkg syscall (netbsd-arm64), const SIOCGIFMTU ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFNETMASK = 3230689573 +pkg syscall (netbsd-arm64), const SIOCGIFNETMASK ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFPDSTADDR = 3230689608 +pkg syscall (netbsd-arm64), const SIOCGIFPDSTADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCGIFPSRCADDR = 3230689607 +pkg syscall (netbsd-arm64), const SIOCGIFPSRCADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCGLIFADDR = 3239602461 +pkg syscall (netbsd-arm64), const SIOCGLIFADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCGLIFPHYADDR = 3239602507 +pkg syscall (netbsd-arm64), const SIOCGLIFPHYADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCGLINKSTR = 3223873927 +pkg syscall (netbsd-arm64), const SIOCGLINKSTR ideal-int +pkg syscall (netbsd-arm64), const SIOCGLOWAT = 1074033411 +pkg syscall (netbsd-arm64), const SIOCGLOWAT ideal-int +pkg syscall (netbsd-arm64), const SIOCGPGRP = 1074033417 +pkg syscall (netbsd-arm64), const SIOCGPGRP ideal-int +pkg syscall (netbsd-arm64), const SIOCGVH = 3230689667 +pkg syscall (netbsd-arm64), const SIOCGVH ideal-int +pkg syscall (netbsd-arm64), const SIOCIFCREATE = 2156947834 +pkg syscall (netbsd-arm64), const SIOCIFCREATE ideal-int +pkg syscall (netbsd-arm64), const SIOCIFDESTROY = 2156947833 +pkg syscall (netbsd-arm64), const SIOCIFDESTROY ideal-int +pkg syscall (netbsd-arm64), const SIOCIFGCLONERS = 3222301048 +pkg syscall (netbsd-arm64), const SIOCIFGCLONERS ideal-int +pkg syscall (netbsd-arm64), const SIOCINITIFADDR = 3228592516 +pkg syscall (netbsd-arm64), const SIOCINITIFADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCSDRVSPEC = 2150132091 +pkg syscall (netbsd-arm64), const SIOCSDRVSPEC ideal-int +pkg syscall (netbsd-arm64), const SIOCSETPFSYNC = 2156947959 +pkg syscall (netbsd-arm64), const SIOCSETPFSYNC ideal-int +pkg syscall (netbsd-arm64), const SIOCSHIWAT = 2147775232 +pkg syscall (netbsd-arm64), const SIOCSHIWAT ideal-int +pkg syscall (netbsd-arm64), const SIOCSIFADDR = 2156947724 +pkg syscall (netbsd-arm64), const SIOCSIFADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCSIFADDRPREF = 2157472031 +pkg syscall (netbsd-arm64), const SIOCSIFADDRPREF ideal-int +pkg syscall (netbsd-arm64), const SIOCSIFBRDADDR = 2156947731 +pkg syscall (netbsd-arm64), const SIOCSIFBRDADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCSIFCAP = 2149607797 +pkg syscall (netbsd-arm64), const SIOCSIFCAP ideal-int +pkg syscall (netbsd-arm64), const SIOCSIFDSTADDR = 2156947726 +pkg syscall (netbsd-arm64), const SIOCSIFDSTADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCSIFFLAGS = 2156947728 +pkg syscall (netbsd-arm64), const SIOCSIFFLAGS ideal-int +pkg syscall (netbsd-arm64), const SIOCSIFGENERIC = 2156947769 +pkg syscall (netbsd-arm64), const SIOCSIFGENERIC ideal-int +pkg syscall (netbsd-arm64), const SIOCSIFMEDIA = 3230689589 +pkg syscall (netbsd-arm64), const SIOCSIFMEDIA ideal-int +pkg syscall (netbsd-arm64), const SIOCSIFMETRIC = 2156947736 +pkg syscall (netbsd-arm64), const SIOCSIFMETRIC ideal-int +pkg syscall (netbsd-arm64), const SIOCSIFMTU = 2156947839 +pkg syscall (netbsd-arm64), const SIOCSIFMTU ideal-int +pkg syscall (netbsd-arm64), const SIOCSIFNETMASK = 2156947734 +pkg syscall (netbsd-arm64), const SIOCSIFNETMASK ideal-int +pkg syscall (netbsd-arm64), const SIOCSIFPHYADDR = 2151704902 +pkg syscall (netbsd-arm64), const SIOCSIFPHYADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCSLIFPHYADDR = 2165860682 +pkg syscall (netbsd-arm64), const SIOCSLIFPHYADDR ideal-int +pkg syscall (netbsd-arm64), const SIOCSLINKSTR = 2150132104 +pkg syscall (netbsd-arm64), const SIOCSLINKSTR ideal-int +pkg syscall (netbsd-arm64), const SIOCSLOWAT = 2147775234 +pkg syscall (netbsd-arm64), const SIOCSLOWAT ideal-int +pkg syscall (netbsd-arm64), const SIOCSPGRP = 2147775240 +pkg syscall (netbsd-arm64), const SIOCSPGRP ideal-int +pkg syscall (netbsd-arm64), const SIOCSVH = 3230689666 +pkg syscall (netbsd-arm64), const SIOCSVH ideal-int +pkg syscall (netbsd-arm64), const SIOCZIFDATA = 3231213958 +pkg syscall (netbsd-arm64), const SIOCZIFDATA ideal-int +pkg syscall (netbsd-arm64), const S_IREAD = 256 +pkg syscall (netbsd-arm64), const S_IREAD ideal-int +pkg syscall (netbsd-arm64), const S_IRGRP = 32 +pkg syscall (netbsd-arm64), const S_IRGRP ideal-int +pkg syscall (netbsd-arm64), const S_IROTH = 4 +pkg syscall (netbsd-arm64), const S_IROTH ideal-int +pkg syscall (netbsd-arm64), const S_IRWXG = 56 +pkg syscall (netbsd-arm64), const S_IRWXG ideal-int +pkg syscall (netbsd-arm64), const S_IRWXO = 7 +pkg syscall (netbsd-arm64), const S_IRWXO ideal-int +pkg syscall (netbsd-arm64), const S_IRWXU = 448 +pkg syscall (netbsd-arm64), const S_IRWXU ideal-int +pkg syscall (netbsd-arm64), const S_ISTXT = 512 +pkg syscall (netbsd-arm64), const S_ISTXT ideal-int +pkg syscall (netbsd-arm64), const S_IWGRP = 16 +pkg syscall (netbsd-arm64), const S_IWGRP ideal-int +pkg syscall (netbsd-arm64), const S_IWOTH = 2 +pkg syscall (netbsd-arm64), const S_IWOTH ideal-int +pkg syscall (netbsd-arm64), const S_IWRITE = 128 +pkg syscall (netbsd-arm64), const S_IWRITE ideal-int +pkg syscall (netbsd-arm64), const S_IXGRP = 8 +pkg syscall (netbsd-arm64), const S_IXGRP ideal-int +pkg syscall (netbsd-arm64), const S_IXOTH = 1 +pkg syscall (netbsd-arm64), const S_IXOTH ideal-int +pkg syscall (netbsd-arm64), const SizeofBpfHdr = 32 +pkg syscall (netbsd-arm64), const SizeofBpfHdr ideal-int +pkg syscall (netbsd-arm64), const SizeofBpfInsn = 8 +pkg syscall (netbsd-arm64), const SizeofBpfInsn ideal-int +pkg syscall (netbsd-arm64), const SizeofBpfProgram = 16 +pkg syscall (netbsd-arm64), const SizeofBpfProgram ideal-int +pkg syscall (netbsd-arm64), const SizeofBpfStat = 128 +pkg syscall (netbsd-arm64), const SizeofBpfStat ideal-int +pkg syscall (netbsd-arm64), const SizeofBpfVersion = 4 +pkg syscall (netbsd-arm64), const SizeofBpfVersion ideal-int +pkg syscall (netbsd-arm64), const SizeofCmsghdr = 12 +pkg syscall (netbsd-arm64), const SizeofCmsghdr ideal-int +pkg syscall (netbsd-arm64), const SizeofICMPv6Filter = 32 +pkg syscall (netbsd-arm64), const SizeofICMPv6Filter ideal-int +pkg syscall (netbsd-arm64), const SizeofIfaMsghdr = 24 +pkg syscall (netbsd-arm64), const SizeofIfaMsghdr ideal-int +pkg syscall (netbsd-arm64), const SizeofIfAnnounceMsghdr = 24 +pkg syscall (netbsd-arm64), const SizeofIfAnnounceMsghdr ideal-int +pkg syscall (netbsd-arm64), const SizeofIfData = 136 +pkg syscall (netbsd-arm64), const SizeofIfData ideal-int +pkg syscall (netbsd-arm64), const SizeofIfMsghdr = 152 +pkg syscall (netbsd-arm64), const SizeofIfMsghdr ideal-int +pkg syscall (netbsd-arm64), const SizeofInet6Pktinfo = 20 +pkg syscall (netbsd-arm64), const SizeofInet6Pktinfo ideal-int +pkg syscall (netbsd-arm64), const SizeofIPMreq = 8 +pkg syscall (netbsd-arm64), const SizeofIPMreq ideal-int +pkg syscall (netbsd-arm64), const SizeofIPv6Mreq = 20 +pkg syscall (netbsd-arm64), const SizeofIPv6Mreq ideal-int +pkg syscall (netbsd-arm64), const SizeofIPv6MTUInfo = 32 +pkg syscall (netbsd-arm64), const SizeofIPv6MTUInfo ideal-int +pkg syscall (netbsd-arm64), const SizeofLinger = 8 +pkg syscall (netbsd-arm64), const SizeofLinger ideal-int +pkg syscall (netbsd-arm64), const SizeofMsghdr = 48 +pkg syscall (netbsd-arm64), const SizeofMsghdr ideal-int +pkg syscall (netbsd-arm64), const SizeofRtMetrics = 80 +pkg syscall (netbsd-arm64), const SizeofRtMetrics ideal-int +pkg syscall (netbsd-arm64), const SizeofRtMsghdr = 120 +pkg syscall (netbsd-arm64), const SizeofRtMsghdr ideal-int +pkg syscall (netbsd-arm64), const SizeofSockaddrAny = 108 +pkg syscall (netbsd-arm64), const SizeofSockaddrAny ideal-int +pkg syscall (netbsd-arm64), const SizeofSockaddrDatalink = 20 +pkg syscall (netbsd-arm64), const SizeofSockaddrDatalink ideal-int +pkg syscall (netbsd-arm64), const SizeofSockaddrInet4 = 16 +pkg syscall (netbsd-arm64), const SizeofSockaddrInet4 ideal-int +pkg syscall (netbsd-arm64), const SizeofSockaddrInet6 = 28 +pkg syscall (netbsd-arm64), const SizeofSockaddrInet6 ideal-int +pkg syscall (netbsd-arm64), const SizeofSockaddrUnix = 106 +pkg syscall (netbsd-arm64), const SizeofSockaddrUnix ideal-int +pkg syscall (netbsd-arm64), const S_LOGIN_SET = 1 +pkg syscall (netbsd-arm64), const S_LOGIN_SET ideal-int +pkg syscall (netbsd-arm64), const SO_ACCEPTCONN = 2 +pkg syscall (netbsd-arm64), const SO_ACCEPTCONN ideal-int +pkg syscall (netbsd-arm64), const SO_ACCEPTFILTER = 4096 +pkg syscall (netbsd-arm64), const SO_ACCEPTFILTER ideal-int +pkg syscall (netbsd-arm64), const SO_BROADCAST = 32 +pkg syscall (netbsd-arm64), const SOCK_CLOEXEC = 268435456 +pkg syscall (netbsd-arm64), const SOCK_CLOEXEC ideal-int +pkg syscall (netbsd-arm64), const SOCK_FLAGS_MASK = 4026531840 +pkg syscall (netbsd-arm64), const SOCK_FLAGS_MASK ideal-int +pkg syscall (netbsd-arm64), const SOCK_NONBLOCK = 536870912 +pkg syscall (netbsd-arm64), const SOCK_NONBLOCK ideal-int +pkg syscall (netbsd-arm64), const SOCK_NOSIGPIPE = 1073741824 +pkg syscall (netbsd-arm64), const SOCK_NOSIGPIPE ideal-int +pkg syscall (netbsd-arm64), const SOCK_RDM = 4 +pkg syscall (netbsd-arm64), const SOCK_RDM ideal-int +pkg syscall (netbsd-arm64), const SO_DEBUG = 1 +pkg syscall (netbsd-arm64), const SO_DEBUG ideal-int +pkg syscall (netbsd-arm64), const SO_DONTROUTE = 16 +pkg syscall (netbsd-arm64), const SO_ERROR = 4103 +pkg syscall (netbsd-arm64), const SO_ERROR ideal-int +pkg syscall (netbsd-arm64), const SO_KEEPALIVE = 8 +pkg syscall (netbsd-arm64), const SO_LINGER = 128 +pkg syscall (netbsd-arm64), const SOL_SOCKET = 65535 +pkg syscall (netbsd-arm64), const SOMAXCONN = 128 +pkg syscall (netbsd-arm64), const SO_NOHEADER = 4106 +pkg syscall (netbsd-arm64), const SO_NOHEADER ideal-int +pkg syscall (netbsd-arm64), const SO_NOSIGPIPE = 2048 +pkg syscall (netbsd-arm64), const SO_NOSIGPIPE ideal-int +pkg syscall (netbsd-arm64), const SO_OOBINLINE = 256 +pkg syscall (netbsd-arm64), const SO_OOBINLINE ideal-int +pkg syscall (netbsd-arm64), const SO_OVERFLOWED = 4105 +pkg syscall (netbsd-arm64), const SO_OVERFLOWED ideal-int +pkg syscall (netbsd-arm64), const SO_RCVBUF = 4098 +pkg syscall (netbsd-arm64), const SO_RCVLOWAT = 4100 +pkg syscall (netbsd-arm64), const SO_RCVLOWAT ideal-int +pkg syscall (netbsd-arm64), const SO_RCVTIMEO = 4108 +pkg syscall (netbsd-arm64), const SO_RCVTIMEO ideal-int +pkg syscall (netbsd-arm64), const SO_REUSEADDR = 4 +pkg syscall (netbsd-arm64), const SO_REUSEPORT = 512 +pkg syscall (netbsd-arm64), const SO_REUSEPORT ideal-int +pkg syscall (netbsd-arm64), const SO_SNDBUF = 4097 +pkg syscall (netbsd-arm64), const SO_SNDLOWAT = 4099 +pkg syscall (netbsd-arm64), const SO_SNDLOWAT ideal-int +pkg syscall (netbsd-arm64), const SO_SNDTIMEO = 4107 +pkg syscall (netbsd-arm64), const SO_SNDTIMEO ideal-int +pkg syscall (netbsd-arm64), const SO_TIMESTAMP = 8192 +pkg syscall (netbsd-arm64), const SO_TIMESTAMP ideal-int +pkg syscall (netbsd-arm64), const SO_TYPE = 4104 +pkg syscall (netbsd-arm64), const SO_TYPE ideal-int +pkg syscall (netbsd-arm64), const SO_USELOOPBACK = 64 +pkg syscall (netbsd-arm64), const SO_USELOOPBACK ideal-int +pkg syscall (netbsd-arm64), const SYS_ACCEPT = 30 +pkg syscall (netbsd-arm64), const SYS_ACCEPT ideal-int +pkg syscall (netbsd-arm64), const SYS_ACCESS = 33 +pkg syscall (netbsd-arm64), const SYS_ACCESS ideal-int +pkg syscall (netbsd-arm64), const SYS_ACCT = 51 +pkg syscall (netbsd-arm64), const SYS_ACCT ideal-int +pkg syscall (netbsd-arm64), const SYS_ADJTIME = 421 +pkg syscall (netbsd-arm64), const SYS_ADJTIME ideal-int +pkg syscall (netbsd-arm64), const SYS_BIND = 104 +pkg syscall (netbsd-arm64), const SYS_BIND ideal-int +pkg syscall (netbsd-arm64), const SYS_BREAK = 17 +pkg syscall (netbsd-arm64), const SYS_BREAK ideal-int +pkg syscall (netbsd-arm64), const SYS_CHDIR = 12 +pkg syscall (netbsd-arm64), const SYS_CHDIR ideal-int +pkg syscall (netbsd-arm64), const SYS_CHFLAGS = 34 +pkg syscall (netbsd-arm64), const SYS_CHFLAGS ideal-int +pkg syscall (netbsd-arm64), const SYS_CHMOD = 15 +pkg syscall (netbsd-arm64), const SYS_CHMOD ideal-int +pkg syscall (netbsd-arm64), const SYS_CHOWN = 16 +pkg syscall (netbsd-arm64), const SYS_CHOWN ideal-int +pkg syscall (netbsd-arm64), const SYS_CHROOT = 61 +pkg syscall (netbsd-arm64), const SYS_CHROOT ideal-int +pkg syscall (netbsd-arm64), const SYS_CLOCK_GETRES = 429 +pkg syscall (netbsd-arm64), const SYS_CLOCK_GETRES ideal-int +pkg syscall (netbsd-arm64), const SYS_CLOCK_GETTIME = 427 +pkg syscall (netbsd-arm64), const SYS_CLOCK_GETTIME ideal-int +pkg syscall (netbsd-arm64), const SYS_CLOCK_SETTIME = 428 +pkg syscall (netbsd-arm64), const SYS_CLOCK_SETTIME ideal-int +pkg syscall (netbsd-arm64), const SYS___CLONE = 287 +pkg syscall (netbsd-arm64), const SYS___CLONE ideal-int +pkg syscall (netbsd-arm64), const SYS_CLOSE = 6 +pkg syscall (netbsd-arm64), const SYS_CLOSE ideal-int +pkg syscall (netbsd-arm64), const SYS_CONNECT = 98 +pkg syscall (netbsd-arm64), const SYS_CONNECT ideal-int +pkg syscall (netbsd-arm64), const SYSCTL_VERS_0 = 0 +pkg syscall (netbsd-arm64), const SYSCTL_VERS_0 ideal-int +pkg syscall (netbsd-arm64), const SYSCTL_VERS_1 = 16777216 +pkg syscall (netbsd-arm64), const SYSCTL_VERS_1 ideal-int +pkg syscall (netbsd-arm64), const SYSCTL_VERSION = 16777216 +pkg syscall (netbsd-arm64), const SYSCTL_VERSION ideal-int +pkg syscall (netbsd-arm64), const SYSCTL_VERS_MASK = 4278190080 +pkg syscall (netbsd-arm64), const SYSCTL_VERS_MASK ideal-int +pkg syscall (netbsd-arm64), const SYS_DUP2 = 90 +pkg syscall (netbsd-arm64), const SYS_DUP2 ideal-int +pkg syscall (netbsd-arm64), const SYS_DUP3 = 454 +pkg syscall (netbsd-arm64), const SYS_DUP3 ideal-int +pkg syscall (netbsd-arm64), const SYS_DUP = 41 +pkg syscall (netbsd-arm64), const SYS_DUP ideal-int +pkg syscall (netbsd-arm64), const SYS_EXECVE = 59 +pkg syscall (netbsd-arm64), const SYS_EXECVE ideal-int +pkg syscall (netbsd-arm64), const SYS_EXIT = 1 +pkg syscall (netbsd-arm64), const SYS_EXIT ideal-int +pkg syscall (netbsd-arm64), const SYS_EXTATTRCTL = 360 +pkg syscall (netbsd-arm64), const SYS_EXTATTRCTL ideal-int +pkg syscall (netbsd-arm64), const SYS_EXTATTR_DELETE_FD = 366 +pkg syscall (netbsd-arm64), const SYS_EXTATTR_DELETE_FD ideal-int +pkg syscall (netbsd-arm64), const SYS_EXTATTR_DELETE_FILE = 363 +pkg syscall (netbsd-arm64), const SYS_EXTATTR_DELETE_FILE ideal-int +pkg syscall (netbsd-arm64), const SYS_EXTATTR_DELETE_LINK = 369 +pkg syscall (netbsd-arm64), const SYS_EXTATTR_DELETE_LINK ideal-int +pkg syscall (netbsd-arm64), const SYS_EXTATTR_GET_FD = 365 +pkg syscall (netbsd-arm64), const SYS_EXTATTR_GET_FD ideal-int +pkg syscall (netbsd-arm64), const SYS_EXTATTR_GET_FILE = 362 +pkg syscall (netbsd-arm64), const SYS_EXTATTR_GET_FILE ideal-int +pkg syscall (netbsd-arm64), const SYS_EXTATTR_GET_LINK = 368 +pkg syscall (netbsd-arm64), const SYS_EXTATTR_GET_LINK ideal-int +pkg syscall (netbsd-arm64), const SYS_EXTATTR_LIST_FD = 370 +pkg syscall (netbsd-arm64), const SYS_EXTATTR_LIST_FD ideal-int +pkg syscall (netbsd-arm64), const SYS_EXTATTR_LIST_FILE = 371 +pkg syscall (netbsd-arm64), const SYS_EXTATTR_LIST_FILE ideal-int +pkg syscall (netbsd-arm64), const SYS_EXTATTR_LIST_LINK = 372 +pkg syscall (netbsd-arm64), const SYS_EXTATTR_LIST_LINK ideal-int +pkg syscall (netbsd-arm64), const SYS_EXTATTR_SET_FD = 364 +pkg syscall (netbsd-arm64), const SYS_EXTATTR_SET_FD ideal-int +pkg syscall (netbsd-arm64), const SYS_EXTATTR_SET_FILE = 361 +pkg syscall (netbsd-arm64), const SYS_EXTATTR_SET_FILE ideal-int +pkg syscall (netbsd-arm64), const SYS_EXTATTR_SET_LINK = 367 +pkg syscall (netbsd-arm64), const SYS_EXTATTR_SET_LINK ideal-int +pkg syscall (netbsd-arm64), const SYS_FACCESSAT = 462 +pkg syscall (netbsd-arm64), const SYS_FACCESSAT ideal-int +pkg syscall (netbsd-arm64), const SYS_FCHDIR = 13 +pkg syscall (netbsd-arm64), const SYS_FCHDIR ideal-int +pkg syscall (netbsd-arm64), const SYS_FCHFLAGS = 35 +pkg syscall (netbsd-arm64), const SYS_FCHFLAGS ideal-int +pkg syscall (netbsd-arm64), const SYS_FCHMOD = 124 +pkg syscall (netbsd-arm64), const SYS_FCHMODAT = 463 +pkg syscall (netbsd-arm64), const SYS_FCHMODAT ideal-int +pkg syscall (netbsd-arm64), const SYS_FCHMOD ideal-int +pkg syscall (netbsd-arm64), const SYS_FCHOWN = 123 +pkg syscall (netbsd-arm64), const SYS_FCHOWNAT = 464 +pkg syscall (netbsd-arm64), const SYS_FCHOWNAT ideal-int +pkg syscall (netbsd-arm64), const SYS_FCHOWN ideal-int +pkg syscall (netbsd-arm64), const SYS_FCHROOT = 297 +pkg syscall (netbsd-arm64), const SYS_FCHROOT ideal-int +pkg syscall (netbsd-arm64), const SYS_FCNTL = 92 +pkg syscall (netbsd-arm64), const SYS_FCNTL ideal-int +pkg syscall (netbsd-arm64), const SYS_FDATASYNC = 241 +pkg syscall (netbsd-arm64), const SYS_FDATASYNC ideal-int +pkg syscall (netbsd-arm64), const SYS_FEXECVE = 465 +pkg syscall (netbsd-arm64), const SYS_FEXECVE ideal-int +pkg syscall (netbsd-arm64), const SYS_FGETXATTR = 380 +pkg syscall (netbsd-arm64), const SYS_FGETXATTR ideal-int +pkg syscall (netbsd-arm64), const SYS_FHSTAT = 451 +pkg syscall (netbsd-arm64), const SYS_FHSTAT ideal-int +pkg syscall (netbsd-arm64), const SYS_FKTRACE = 288 +pkg syscall (netbsd-arm64), const SYS_FKTRACE ideal-int +pkg syscall (netbsd-arm64), const SYS_FLISTXATTR = 383 +pkg syscall (netbsd-arm64), const SYS_FLISTXATTR ideal-int +pkg syscall (netbsd-arm64), const SYS_FLOCK = 131 +pkg syscall (netbsd-arm64), const SYS_FLOCK ideal-int +pkg syscall (netbsd-arm64), const SYS_FORK = 2 +pkg syscall (netbsd-arm64), const SYS_FORK ideal-int +pkg syscall (netbsd-arm64), const SYS_FPATHCONF = 192 +pkg syscall (netbsd-arm64), const SYS_FPATHCONF ideal-int +pkg syscall (netbsd-arm64), const SYS_FREMOVEXATTR = 386 +pkg syscall (netbsd-arm64), const SYS_FREMOVEXATTR ideal-int +pkg syscall (netbsd-arm64), const SYS_FSETXATTR = 377 +pkg syscall (netbsd-arm64), const SYS_FSETXATTR ideal-int +pkg syscall (netbsd-arm64), const SYS_FSTAT = 440 +pkg syscall (netbsd-arm64), const SYS_FSTATAT = 466 +pkg syscall (netbsd-arm64), const SYS_FSTATAT ideal-int +pkg syscall (netbsd-arm64), const SYS_FSTAT ideal-int +pkg syscall (netbsd-arm64), const SYS_FSTATVFS1 = 358 +pkg syscall (netbsd-arm64), const SYS_FSTATVFS1 ideal-int +pkg syscall (netbsd-arm64), const SYS_FSYNC = 95 +pkg syscall (netbsd-arm64), const SYS_FSYNC ideal-int +pkg syscall (netbsd-arm64), const SYS_FSYNC_RANGE = 354 +pkg syscall (netbsd-arm64), const SYS_FSYNC_RANGE ideal-int +pkg syscall (netbsd-arm64), const SYS_FTRUNCATE = 201 +pkg syscall (netbsd-arm64), const SYS_FTRUNCATE ideal-int +pkg syscall (netbsd-arm64), const SYS_FUTIMENS = 472 +pkg syscall (netbsd-arm64), const SYS_FUTIMENS ideal-int +pkg syscall (netbsd-arm64), const SYS_FUTIMES = 423 +pkg syscall (netbsd-arm64), const SYS_FUTIMES ideal-int +pkg syscall (netbsd-arm64), const SYS_GETCONTEXT = 307 +pkg syscall (netbsd-arm64), const SYS_GETCONTEXT ideal-int +pkg syscall (netbsd-arm64), const SYS___GETCWD = 296 +pkg syscall (netbsd-arm64), const SYS___GETCWD ideal-int +pkg syscall (netbsd-arm64), const SYS_GETDENTS = 390 +pkg syscall (netbsd-arm64), const SYS_GETDENTS ideal-int +pkg syscall (netbsd-arm64), const SYS_GETEGID = 43 +pkg syscall (netbsd-arm64), const SYS_GETEGID ideal-int +pkg syscall (netbsd-arm64), const SYS_GETEUID = 25 +pkg syscall (netbsd-arm64), const SYS_GETEUID ideal-int +pkg syscall (netbsd-arm64), const SYS_GETFH = 395 +pkg syscall (netbsd-arm64), const SYS_GETFH ideal-int +pkg syscall (netbsd-arm64), const SYS_GETGID = 47 +pkg syscall (netbsd-arm64), const SYS_GETGID ideal-int +pkg syscall (netbsd-arm64), const SYS_GETGROUPS = 79 +pkg syscall (netbsd-arm64), const SYS_GETGROUPS ideal-int +pkg syscall (netbsd-arm64), const SYS_GETITIMER = 426 +pkg syscall (netbsd-arm64), const SYS_GETITIMER ideal-int +pkg syscall (netbsd-arm64), const SYS___GETLOGIN = 49 +pkg syscall (netbsd-arm64), const SYS___GETLOGIN ideal-int +pkg syscall (netbsd-arm64), const SYS_GETPEERNAME = 31 +pkg syscall (netbsd-arm64), const SYS_GETPEERNAME ideal-int +pkg syscall (netbsd-arm64), const SYS_GETPGID = 207 +pkg syscall (netbsd-arm64), const SYS_GETPGID ideal-int +pkg syscall (netbsd-arm64), const SYS_GETPGRP = 81 +pkg syscall (netbsd-arm64), const SYS_GETPGRP ideal-int +pkg syscall (netbsd-arm64), const SYS_GETPID = 20 +pkg syscall (netbsd-arm64), const SYS_GETPID ideal-int +pkg syscall (netbsd-arm64), const SYS_GETPPID = 39 +pkg syscall (netbsd-arm64), const SYS_GETPPID ideal-int +pkg syscall (netbsd-arm64), const SYS_GETPRIORITY = 100 +pkg syscall (netbsd-arm64), const SYS_GETPRIORITY ideal-int +pkg syscall (netbsd-arm64), const SYS_GETRLIMIT = 194 +pkg syscall (netbsd-arm64), const SYS_GETRLIMIT ideal-int +pkg syscall (netbsd-arm64), const SYS_GETRUSAGE = 445 +pkg syscall (netbsd-arm64), const SYS_GETRUSAGE ideal-int +pkg syscall (netbsd-arm64), const SYS_GETSID = 286 +pkg syscall (netbsd-arm64), const SYS_GETSID ideal-int +pkg syscall (netbsd-arm64), const SYS_GETSOCKNAME = 32 +pkg syscall (netbsd-arm64), const SYS_GETSOCKNAME ideal-int +pkg syscall (netbsd-arm64), const SYS_GETSOCKOPT = 118 +pkg syscall (netbsd-arm64), const SYS_GETSOCKOPT ideal-int +pkg syscall (netbsd-arm64), const SYS_GETTIMEOFDAY = 418 +pkg syscall (netbsd-arm64), const SYS_GETTIMEOFDAY ideal-int +pkg syscall (netbsd-arm64), const SYS_GETUID = 24 +pkg syscall (netbsd-arm64), const SYS_GETUID ideal-int +pkg syscall (netbsd-arm64), const SYS_GETVFSSTAT = 356 +pkg syscall (netbsd-arm64), const SYS_GETVFSSTAT ideal-int +pkg syscall (netbsd-arm64), const SYS_GETXATTR = 378 +pkg syscall (netbsd-arm64), const SYS_GETXATTR ideal-int +pkg syscall (netbsd-arm64), const SYS_IOCTL = 54 +pkg syscall (netbsd-arm64), const SYS_IOCTL ideal-int +pkg syscall (netbsd-arm64), const SYS_ISSETUGID = 305 +pkg syscall (netbsd-arm64), const SYS_ISSETUGID ideal-int +pkg syscall (netbsd-arm64), const SYS_KEVENT = 435 +pkg syscall (netbsd-arm64), const SYS_KEVENT ideal-int +pkg syscall (netbsd-arm64), const SYS_KILL = 37 +pkg syscall (netbsd-arm64), const SYS_KILL ideal-int +pkg syscall (netbsd-arm64), const SYS_KQUEUE1 = 455 +pkg syscall (netbsd-arm64), const SYS_KQUEUE1 ideal-int +pkg syscall (netbsd-arm64), const SYS_KQUEUE = 344 +pkg syscall (netbsd-arm64), const SYS_KQUEUE ideal-int +pkg syscall (netbsd-arm64), const SYS_KTRACE = 45 +pkg syscall (netbsd-arm64), const SYS_KTRACE ideal-int +pkg syscall (netbsd-arm64), const SYS_LCHFLAGS = 304 +pkg syscall (netbsd-arm64), const SYS_LCHFLAGS ideal-int +pkg syscall (netbsd-arm64), const SYS_LCHMOD = 274 +pkg syscall (netbsd-arm64), const SYS_LCHMOD ideal-int +pkg syscall (netbsd-arm64), const SYS_LCHOWN = 275 +pkg syscall (netbsd-arm64), const SYS_LCHOWN ideal-int +pkg syscall (netbsd-arm64), const SYS_LGETXATTR = 379 +pkg syscall (netbsd-arm64), const SYS_LGETXATTR ideal-int +pkg syscall (netbsd-arm64), const SYS_LINK = 9 +pkg syscall (netbsd-arm64), const SYS_LINKAT = 457 +pkg syscall (netbsd-arm64), const SYS_LINKAT ideal-int +pkg syscall (netbsd-arm64), const SYS_LINK ideal-int +pkg syscall (netbsd-arm64), const SYS_LISTEN = 106 +pkg syscall (netbsd-arm64), const SYS_LISTEN ideal-int +pkg syscall (netbsd-arm64), const SYS_LISTXATTR = 381 +pkg syscall (netbsd-arm64), const SYS_LISTXATTR ideal-int +pkg syscall (netbsd-arm64), const SYS_LLISTXATTR = 382 +pkg syscall (netbsd-arm64), const SYS_LLISTXATTR ideal-int +pkg syscall (netbsd-arm64), const SYS_LREMOVEXATTR = 385 +pkg syscall (netbsd-arm64), const SYS_LREMOVEXATTR ideal-int +pkg syscall (netbsd-arm64), const SYS_LSEEK = 199 +pkg syscall (netbsd-arm64), const SYS_LSEEK ideal-int +pkg syscall (netbsd-arm64), const SYS_LSETXATTR = 376 +pkg syscall (netbsd-arm64), const SYS_LSETXATTR ideal-int +pkg syscall (netbsd-arm64), const SYS_LSTAT = 441 +pkg syscall (netbsd-arm64), const SYS_LSTAT ideal-int +pkg syscall (netbsd-arm64), const SYS_LUTIMES = 424 +pkg syscall (netbsd-arm64), const SYS_LUTIMES ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_CONTINUE = 314 +pkg syscall (netbsd-arm64), const SYS__LWP_CONTINUE ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_CREATE = 309 +pkg syscall (netbsd-arm64), const SYS__LWP_CREATE ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_CTL = 325 +pkg syscall (netbsd-arm64), const SYS__LWP_CTL ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_DETACH = 319 +pkg syscall (netbsd-arm64), const SYS__LWP_DETACH ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_EXIT = 310 +pkg syscall (netbsd-arm64), const SYS__LWP_EXIT ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_GETNAME = 324 +pkg syscall (netbsd-arm64), const SYS__LWP_GETNAME ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_GETPRIVATE = 316 +pkg syscall (netbsd-arm64), const SYS__LWP_GETPRIVATE ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_KILL = 318 +pkg syscall (netbsd-arm64), const SYS__LWP_KILL ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_PARK = 434 +pkg syscall (netbsd-arm64), const SYS__LWP_PARK ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_SELF = 311 +pkg syscall (netbsd-arm64), const SYS__LWP_SELF ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_SETNAME = 323 +pkg syscall (netbsd-arm64), const SYS__LWP_SETNAME ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_SETPRIVATE = 317 +pkg syscall (netbsd-arm64), const SYS__LWP_SETPRIVATE ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_SUSPEND = 313 +pkg syscall (netbsd-arm64), const SYS__LWP_SUSPEND ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_UNPARK = 321 +pkg syscall (netbsd-arm64), const SYS__LWP_UNPARK_ALL = 322 +pkg syscall (netbsd-arm64), const SYS__LWP_UNPARK_ALL ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_UNPARK ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_WAIT = 312 +pkg syscall (netbsd-arm64), const SYS__LWP_WAIT ideal-int +pkg syscall (netbsd-arm64), const SYS__LWP_WAKEUP = 315 +pkg syscall (netbsd-arm64), const SYS__LWP_WAKEUP ideal-int +pkg syscall (netbsd-arm64), const SYS_MADVISE = 75 +pkg syscall (netbsd-arm64), const SYS_MADVISE ideal-int +pkg syscall (netbsd-arm64), const SYS_MINCORE = 78 +pkg syscall (netbsd-arm64), const SYS_MINCORE ideal-int +pkg syscall (netbsd-arm64), const SYS_MINHERIT = 273 +pkg syscall (netbsd-arm64), const SYS_MINHERIT ideal-int +pkg syscall (netbsd-arm64), const SYS_MKDIR = 136 +pkg syscall (netbsd-arm64), const SYS_MKDIRAT = 461 +pkg syscall (netbsd-arm64), const SYS_MKDIRAT ideal-int +pkg syscall (netbsd-arm64), const SYS_MKDIR ideal-int +pkg syscall (netbsd-arm64), const SYS_MKFIFO = 132 +pkg syscall (netbsd-arm64), const SYS_MKFIFOAT = 459 +pkg syscall (netbsd-arm64), const SYS_MKFIFOAT ideal-int +pkg syscall (netbsd-arm64), const SYS_MKFIFO ideal-int +pkg syscall (netbsd-arm64), const SYS_MKNOD = 450 +pkg syscall (netbsd-arm64), const SYS_MKNODAT = 460 +pkg syscall (netbsd-arm64), const SYS_MKNODAT ideal-int +pkg syscall (netbsd-arm64), const SYS_MKNOD ideal-int +pkg syscall (netbsd-arm64), const SYS_MLOCK = 203 +pkg syscall (netbsd-arm64), const SYS_MLOCKALL = 242 +pkg syscall (netbsd-arm64), const SYS_MLOCKALL ideal-int +pkg syscall (netbsd-arm64), const SYS_MLOCK ideal-int +pkg syscall (netbsd-arm64), const SYS_MMAP = 197 +pkg syscall (netbsd-arm64), const SYS_MMAP ideal-int +pkg syscall (netbsd-arm64), const SYS_MODCTL = 246 +pkg syscall (netbsd-arm64), const SYS_MODCTL ideal-int +pkg syscall (netbsd-arm64), const SYS_MOUNT = 410 +pkg syscall (netbsd-arm64), const SYS_MOUNT ideal-int +pkg syscall (netbsd-arm64), const SYS_MPROTECT = 74 +pkg syscall (netbsd-arm64), const SYS_MPROTECT ideal-int +pkg syscall (netbsd-arm64), const SYS_MREMAP = 411 +pkg syscall (netbsd-arm64), const SYS_MREMAP ideal-int +pkg syscall (netbsd-arm64), const SYS_MSGCTL = 444 +pkg syscall (netbsd-arm64), const SYS_MSGCTL ideal-int +pkg syscall (netbsd-arm64), const SYS_MSGGET = 225 +pkg syscall (netbsd-arm64), const SYS_MSGGET ideal-int +pkg syscall (netbsd-arm64), const SYS_MSGRCV = 227 +pkg syscall (netbsd-arm64), const SYS_MSGRCV ideal-int +pkg syscall (netbsd-arm64), const SYS_MSGSND = 226 +pkg syscall (netbsd-arm64), const SYS_MSGSND ideal-int +pkg syscall (netbsd-arm64), const SYS_MUNLOCK = 204 +pkg syscall (netbsd-arm64), const SYS_MUNLOCKALL = 243 +pkg syscall (netbsd-arm64), const SYS_MUNLOCKALL ideal-int +pkg syscall (netbsd-arm64), const SYS_MUNLOCK ideal-int +pkg syscall (netbsd-arm64), const SYS_MUNMAP = 73 +pkg syscall (netbsd-arm64), const SYS_MUNMAP ideal-int +pkg syscall (netbsd-arm64), const SYS_NANOSLEEP = 430 +pkg syscall (netbsd-arm64), const SYS_NANOSLEEP ideal-int +pkg syscall (netbsd-arm64), const SYS_NTP_ADJTIME = 176 +pkg syscall (netbsd-arm64), const SYS_NTP_ADJTIME ideal-int +pkg syscall (netbsd-arm64), const SYS_NTP_GETTIME = 448 +pkg syscall (netbsd-arm64), const SYS_NTP_GETTIME ideal-int +pkg syscall (netbsd-arm64), const SYS_OPEN = 5 +pkg syscall (netbsd-arm64), const SYS_OPENAT = 468 +pkg syscall (netbsd-arm64), const SYS_OPENAT ideal-int +pkg syscall (netbsd-arm64), const SYS_OPEN ideal-int +pkg syscall (netbsd-arm64), const SYS_PACCEPT = 456 +pkg syscall (netbsd-arm64), const SYS_PACCEPT ideal-int +pkg syscall (netbsd-arm64), const SYS_PATHCONF = 191 +pkg syscall (netbsd-arm64), const SYS_PATHCONF ideal-int +pkg syscall (netbsd-arm64), const SYS_PIPE2 = 453 +pkg syscall (netbsd-arm64), const SYS_PIPE2 ideal-int +pkg syscall (netbsd-arm64), const SYS_PIPE = 42 +pkg syscall (netbsd-arm64), const SYS_PIPE ideal-int +pkg syscall (netbsd-arm64), const SYS_PMC_CONTROL = 342 +pkg syscall (netbsd-arm64), const SYS_PMC_CONTROL ideal-int +pkg syscall (netbsd-arm64), const SYS_PMC_GET_INFO = 341 +pkg syscall (netbsd-arm64), const SYS_PMC_GET_INFO ideal-int +pkg syscall (netbsd-arm64), const SYS_POLL = 209 +pkg syscall (netbsd-arm64), const SYS_POLL ideal-int +pkg syscall (netbsd-arm64), const SYS_POLLTS = 437 +pkg syscall (netbsd-arm64), const SYS_POLLTS ideal-int +pkg syscall (netbsd-arm64), const SYS___POSIX_CHOWN = 283 +pkg syscall (netbsd-arm64), const SYS___POSIX_CHOWN ideal-int +pkg syscall (netbsd-arm64), const SYS_POSIX_FADVISE = 416 +pkg syscall (netbsd-arm64), const SYS_POSIX_FADVISE ideal-int +pkg syscall (netbsd-arm64), const SYS___POSIX_FCHOWN = 284 +pkg syscall (netbsd-arm64), const SYS___POSIX_FCHOWN ideal-int +pkg syscall (netbsd-arm64), const SYS___POSIX_LCHOWN = 285 +pkg syscall (netbsd-arm64), const SYS___POSIX_LCHOWN ideal-int +pkg syscall (netbsd-arm64), const SYS___POSIX_RENAME = 270 +pkg syscall (netbsd-arm64), const SYS___POSIX_RENAME ideal-int +pkg syscall (netbsd-arm64), const SYS_POSIX_SPAWN = 474 +pkg syscall (netbsd-arm64), const SYS_POSIX_SPAWN ideal-int +pkg syscall (netbsd-arm64), const SYS_PREAD = 173 +pkg syscall (netbsd-arm64), const SYS_PREAD ideal-int +pkg syscall (netbsd-arm64), const SYS_PREADV = 289 +pkg syscall (netbsd-arm64), const SYS_PREADV ideal-int +pkg syscall (netbsd-arm64), const SYS_PROFIL = 44 +pkg syscall (netbsd-arm64), const SYS_PROFIL ideal-int +pkg syscall (netbsd-arm64), const SYS_PSELECT = 436 +pkg syscall (netbsd-arm64), const SYS_PSELECT ideal-int +pkg syscall (netbsd-arm64), const SYS_PSET_ASSIGN = 414 +pkg syscall (netbsd-arm64), const SYS_PSET_ASSIGN ideal-int +pkg syscall (netbsd-arm64), const SYS__PSET_BIND = 415 +pkg syscall (netbsd-arm64), const SYS__PSET_BIND ideal-int +pkg syscall (netbsd-arm64), const SYS_PSET_CREATE = 412 +pkg syscall (netbsd-arm64), const SYS_PSET_CREATE ideal-int +pkg syscall (netbsd-arm64), const SYS_PSET_DESTROY = 413 +pkg syscall (netbsd-arm64), const SYS_PSET_DESTROY ideal-int +pkg syscall (netbsd-arm64), const SYS_PTRACE = 26 +pkg syscall (netbsd-arm64), const SYS_PTRACE ideal-int +pkg syscall (netbsd-arm64), const SYS_PWRITE = 174 +pkg syscall (netbsd-arm64), const SYS_PWRITE ideal-int +pkg syscall (netbsd-arm64), const SYS_PWRITEV = 290 +pkg syscall (netbsd-arm64), const SYS_PWRITEV ideal-int +pkg syscall (netbsd-arm64), const SYS___QUOTACTL = 473 +pkg syscall (netbsd-arm64), const SYS___QUOTACTL ideal-int +pkg syscall (netbsd-arm64), const SYS_RASCTL = 343 +pkg syscall (netbsd-arm64), const SYS_RASCTL ideal-int +pkg syscall (netbsd-arm64), const SYS_READ = 3 +pkg syscall (netbsd-arm64), const SYS_READ ideal-int +pkg syscall (netbsd-arm64), const SYS_READLINK = 58 +pkg syscall (netbsd-arm64), const SYS_READLINKAT = 469 +pkg syscall (netbsd-arm64), const SYS_READLINKAT ideal-int +pkg syscall (netbsd-arm64), const SYS_READLINK ideal-int +pkg syscall (netbsd-arm64), const SYS_READV = 120 +pkg syscall (netbsd-arm64), const SYS_READV ideal-int +pkg syscall (netbsd-arm64), const SYS_REBOOT = 208 +pkg syscall (netbsd-arm64), const SYS_REBOOT ideal-int +pkg syscall (netbsd-arm64), const SYS_RECVFROM = 29 +pkg syscall (netbsd-arm64), const SYS_RECVFROM ideal-int +pkg syscall (netbsd-arm64), const SYS_RECVMMSG = 475 +pkg syscall (netbsd-arm64), const SYS_RECVMMSG ideal-int +pkg syscall (netbsd-arm64), const SYS_RECVMSG = 27 +pkg syscall (netbsd-arm64), const SYS_RECVMSG ideal-int +pkg syscall (netbsd-arm64), const SYS_REMOVEXATTR = 384 +pkg syscall (netbsd-arm64), const SYS_REMOVEXATTR ideal-int +pkg syscall (netbsd-arm64), const SYS_RENAME = 128 +pkg syscall (netbsd-arm64), const SYS_RENAMEAT = 458 +pkg syscall (netbsd-arm64), const SYS_RENAMEAT ideal-int +pkg syscall (netbsd-arm64), const SYS_RENAME ideal-int +pkg syscall (netbsd-arm64), const SYS_REVOKE = 56 +pkg syscall (netbsd-arm64), const SYS_REVOKE ideal-int +pkg syscall (netbsd-arm64), const SYS_RMDIR = 137 +pkg syscall (netbsd-arm64), const SYS_RMDIR ideal-int +pkg syscall (netbsd-arm64), const SYS_SBRK = 69 +pkg syscall (netbsd-arm64), const SYS_SBRK ideal-int +pkg syscall (netbsd-arm64), const SYS__SCHED_GETAFFINITY = 349 +pkg syscall (netbsd-arm64), const SYS__SCHED_GETAFFINITY ideal-int +pkg syscall (netbsd-arm64), const SYS__SCHED_GETPARAM = 347 +pkg syscall (netbsd-arm64), const SYS__SCHED_GETPARAM ideal-int +pkg syscall (netbsd-arm64), const SYS__SCHED_SETAFFINITY = 348 +pkg syscall (netbsd-arm64), const SYS__SCHED_SETAFFINITY ideal-int +pkg syscall (netbsd-arm64), const SYS__SCHED_SETPARAM = 346 +pkg syscall (netbsd-arm64), const SYS__SCHED_SETPARAM ideal-int +pkg syscall (netbsd-arm64), const SYS_SCHED_YIELD = 350 +pkg syscall (netbsd-arm64), const SYS_SCHED_YIELD ideal-int +pkg syscall (netbsd-arm64), const SYS_SELECT = 417 +pkg syscall (netbsd-arm64), const SYS_SELECT ideal-int +pkg syscall (netbsd-arm64), const SYS_SEMCONFIG = 223 +pkg syscall (netbsd-arm64), const SYS_SEMCONFIG ideal-int +pkg syscall (netbsd-arm64), const SYS___SEMCTL = 442 +pkg syscall (netbsd-arm64), const SYS___SEMCTL ideal-int +pkg syscall (netbsd-arm64), const SYS_SEMGET = 221 +pkg syscall (netbsd-arm64), const SYS_SEMGET ideal-int +pkg syscall (netbsd-arm64), const SYS_SEMOP = 222 +pkg syscall (netbsd-arm64), const SYS_SEMOP ideal-int +pkg syscall (netbsd-arm64), const SYS_SENDMMSG = 476 +pkg syscall (netbsd-arm64), const SYS_SENDMMSG ideal-int +pkg syscall (netbsd-arm64), const SYS_SENDMSG = 28 +pkg syscall (netbsd-arm64), const SYS_SENDMSG ideal-int +pkg syscall (netbsd-arm64), const SYS_SENDTO = 133 +pkg syscall (netbsd-arm64), const SYS_SENDTO ideal-int +pkg syscall (netbsd-arm64), const SYS_SETCONTEXT = 308 +pkg syscall (netbsd-arm64), const SYS_SETCONTEXT ideal-int +pkg syscall (netbsd-arm64), const SYS_SETEGID = 182 +pkg syscall (netbsd-arm64), const SYS_SETEGID ideal-int +pkg syscall (netbsd-arm64), const SYS_SETEUID = 183 +pkg syscall (netbsd-arm64), const SYS_SETEUID ideal-int +pkg syscall (netbsd-arm64), const SYS_SETGID = 181 +pkg syscall (netbsd-arm64), const SYS_SETGID ideal-int +pkg syscall (netbsd-arm64), const SYS_SETGROUPS = 80 +pkg syscall (netbsd-arm64), const SYS_SETGROUPS ideal-int +pkg syscall (netbsd-arm64), const SYS_SETITIMER = 425 +pkg syscall (netbsd-arm64), const SYS_SETITIMER ideal-int +pkg syscall (netbsd-arm64), const SYS___SETLOGIN = 50 +pkg syscall (netbsd-arm64), const SYS___SETLOGIN ideal-int +pkg syscall (netbsd-arm64), const SYS_SETPGID = 82 +pkg syscall (netbsd-arm64), const SYS_SETPGID ideal-int +pkg syscall (netbsd-arm64), const SYS_SETPRIORITY = 96 +pkg syscall (netbsd-arm64), const SYS_SETPRIORITY ideal-int +pkg syscall (netbsd-arm64), const SYS_SETREGID = 127 +pkg syscall (netbsd-arm64), const SYS_SETREGID ideal-int +pkg syscall (netbsd-arm64), const SYS_SETREUID = 126 +pkg syscall (netbsd-arm64), const SYS_SETREUID ideal-int +pkg syscall (netbsd-arm64), const SYS_SETRLIMIT = 195 +pkg syscall (netbsd-arm64), const SYS_SETRLIMIT ideal-int +pkg syscall (netbsd-arm64), const SYS_SETSID = 147 +pkg syscall (netbsd-arm64), const SYS_SETSID ideal-int +pkg syscall (netbsd-arm64), const SYS_SETSOCKOPT = 105 +pkg syscall (netbsd-arm64), const SYS_SETSOCKOPT ideal-int +pkg syscall (netbsd-arm64), const SYS_SETTIMEOFDAY = 419 +pkg syscall (netbsd-arm64), const SYS_SETTIMEOFDAY ideal-int +pkg syscall (netbsd-arm64), const SYS_SETUID = 23 +pkg syscall (netbsd-arm64), const SYS_SETUID ideal-int +pkg syscall (netbsd-arm64), const SYS_SETXATTR = 375 +pkg syscall (netbsd-arm64), const SYS_SETXATTR ideal-int +pkg syscall (netbsd-arm64), const SYS_SHMAT = 228 +pkg syscall (netbsd-arm64), const SYS_SHMAT ideal-int +pkg syscall (netbsd-arm64), const SYS_SHMCTL = 443 +pkg syscall (netbsd-arm64), const SYS_SHMCTL ideal-int +pkg syscall (netbsd-arm64), const SYS_SHMDT = 230 +pkg syscall (netbsd-arm64), const SYS_SHMDT ideal-int +pkg syscall (netbsd-arm64), const SYS_SHMGET = 231 +pkg syscall (netbsd-arm64), const SYS_SHMGET ideal-int +pkg syscall (netbsd-arm64), const SYS_SHUTDOWN = 134 +pkg syscall (netbsd-arm64), const SYS_SHUTDOWN ideal-int +pkg syscall (netbsd-arm64), const SYS___SIGACTION_SIGTRAMP = 340 +pkg syscall (netbsd-arm64), const SYS___SIGACTION_SIGTRAMP ideal-int +pkg syscall (netbsd-arm64), const SYS_SIGQUEUEINFO = 245 +pkg syscall (netbsd-arm64), const SYS_SIGQUEUEINFO ideal-int +pkg syscall (netbsd-arm64), const SYS___SIGTIMEDWAIT = 431 +pkg syscall (netbsd-arm64), const SYS___SIGTIMEDWAIT ideal-int +pkg syscall (netbsd-arm64), const SYS_SOCKET = 394 +pkg syscall (netbsd-arm64), const SYS_SOCKET ideal-int +pkg syscall (netbsd-arm64), const SYS_SOCKETPAIR = 135 +pkg syscall (netbsd-arm64), const SYS_SOCKETPAIR ideal-int +pkg syscall (netbsd-arm64), const SYS_SSTK = 70 +pkg syscall (netbsd-arm64), const SYS_SSTK ideal-int +pkg syscall (netbsd-arm64), const SYS_STAT = 439 +pkg syscall (netbsd-arm64), const SYS_STAT ideal-int +pkg syscall (netbsd-arm64), const SYS_STATVFS1 = 357 +pkg syscall (netbsd-arm64), const SYS_STATVFS1 ideal-int +pkg syscall (netbsd-arm64), const SYS_SWAPCTL = 271 +pkg syscall (netbsd-arm64), const SYS_SWAPCTL ideal-int +pkg syscall (netbsd-arm64), const SYS_SYMLINK = 57 +pkg syscall (netbsd-arm64), const SYS_SYMLINKAT = 470 +pkg syscall (netbsd-arm64), const SYS_SYMLINKAT ideal-int +pkg syscall (netbsd-arm64), const SYS_SYMLINK ideal-int +pkg syscall (netbsd-arm64), const SYS_SYNC = 36 +pkg syscall (netbsd-arm64), const SYS_SYNC ideal-int +pkg syscall (netbsd-arm64), const SYS_SYSARCH = 165 +pkg syscall (netbsd-arm64), const SYS_SYSARCH ideal-int +pkg syscall (netbsd-arm64), const SYS___SYSCTL = 202 +pkg syscall (netbsd-arm64), const SYS___SYSCTL ideal-int +pkg syscall (netbsd-arm64), const SYS_TIMER_CREATE = 235 +pkg syscall (netbsd-arm64), const SYS_TIMER_CREATE ideal-int +pkg syscall (netbsd-arm64), const SYS_TIMER_DELETE = 236 +pkg syscall (netbsd-arm64), const SYS_TIMER_DELETE ideal-int +pkg syscall (netbsd-arm64), const SYS_TIMER_GETOVERRUN = 239 +pkg syscall (netbsd-arm64), const SYS_TIMER_GETOVERRUN ideal-int +pkg syscall (netbsd-arm64), const SYS_TIMER_GETTIME = 447 +pkg syscall (netbsd-arm64), const SYS_TIMER_GETTIME ideal-int +pkg syscall (netbsd-arm64), const SYS_TIMER_SETTIME = 446 +pkg syscall (netbsd-arm64), const SYS_TIMER_SETTIME ideal-int +pkg syscall (netbsd-arm64), const SYS_TRUNCATE = 200 +pkg syscall (netbsd-arm64), const SYS_TRUNCATE ideal-int +pkg syscall (netbsd-arm64), const SYS_UMASK = 60 +pkg syscall (netbsd-arm64), const SYS_UMASK ideal-int +pkg syscall (netbsd-arm64), const SYS_UNDELETE = 205 +pkg syscall (netbsd-arm64), const SYS_UNDELETE ideal-int +pkg syscall (netbsd-arm64), const SYS_UNLINK = 10 +pkg syscall (netbsd-arm64), const SYS_UNLINKAT = 471 +pkg syscall (netbsd-arm64), const SYS_UNLINKAT ideal-int +pkg syscall (netbsd-arm64), const SYS_UNLINK ideal-int +pkg syscall (netbsd-arm64), const SYS_UNMOUNT = 22 +pkg syscall (netbsd-arm64), const SYS_UNMOUNT ideal-int +pkg syscall (netbsd-arm64), const SYS_UTIMENSAT = 467 +pkg syscall (netbsd-arm64), const SYS_UTIMENSAT ideal-int +pkg syscall (netbsd-arm64), const SYS_UTIMES = 420 +pkg syscall (netbsd-arm64), const SYS_UTIMES ideal-int +pkg syscall (netbsd-arm64), const SYS_UTRACE = 306 +pkg syscall (netbsd-arm64), const SYS_UTRACE ideal-int +pkg syscall (netbsd-arm64), const SYS_UUIDGEN = 355 +pkg syscall (netbsd-arm64), const SYS_UUIDGEN ideal-int +pkg syscall (netbsd-arm64), const SYS_VADVISE = 72 +pkg syscall (netbsd-arm64), const SYS_VADVISE ideal-int +pkg syscall (netbsd-arm64), const SYS_VFORK = 66 +pkg syscall (netbsd-arm64), const SYS_VFORK ideal-int +pkg syscall (netbsd-arm64), const SYS_WAIT4 = 449 +pkg syscall (netbsd-arm64), const SYS_WAIT4 ideal-int +pkg syscall (netbsd-arm64), const SYS_WRITE = 4 +pkg syscall (netbsd-arm64), const SYS_WRITE ideal-int +pkg syscall (netbsd-arm64), const SYS_WRITEV = 121 +pkg syscall (netbsd-arm64), const SYS_WRITEV ideal-int +pkg syscall (netbsd-arm64), const TCIFLUSH = 1 +pkg syscall (netbsd-arm64), const TCIFLUSH ideal-int +pkg syscall (netbsd-arm64), const TCIOFLUSH = 3 +pkg syscall (netbsd-arm64), const TCIOFLUSH ideal-int +pkg syscall (netbsd-arm64), const TCOFLUSH = 2 +pkg syscall (netbsd-arm64), const TCOFLUSH ideal-int +pkg syscall (netbsd-arm64), const TCP_CONGCTL = 32 +pkg syscall (netbsd-arm64), const TCP_CONGCTL ideal-int +pkg syscall (netbsd-arm64), const TCP_KEEPCNT = 6 +pkg syscall (netbsd-arm64), const TCP_KEEPCNT ideal-int +pkg syscall (netbsd-arm64), const TCP_KEEPIDLE = 3 +pkg syscall (netbsd-arm64), const TCP_KEEPIDLE ideal-int +pkg syscall (netbsd-arm64), const TCP_KEEPINIT = 7 +pkg syscall (netbsd-arm64), const TCP_KEEPINIT ideal-int +pkg syscall (netbsd-arm64), const TCP_KEEPINTVL = 5 +pkg syscall (netbsd-arm64), const TCP_KEEPINTVL ideal-int +pkg syscall (netbsd-arm64), const TCP_MAXBURST = 4 +pkg syscall (netbsd-arm64), const TCP_MAXBURST ideal-int +pkg syscall (netbsd-arm64), const TCP_MAXSEG = 2 +pkg syscall (netbsd-arm64), const TCP_MAXSEG ideal-int +pkg syscall (netbsd-arm64), const TCP_MAXWIN = 65535 +pkg syscall (netbsd-arm64), const TCP_MAXWIN ideal-int +pkg syscall (netbsd-arm64), const TCP_MAX_WINSHIFT = 14 +pkg syscall (netbsd-arm64), const TCP_MAX_WINSHIFT ideal-int +pkg syscall (netbsd-arm64), const TCP_MD5SIG = 16 +pkg syscall (netbsd-arm64), const TCP_MD5SIG ideal-int +pkg syscall (netbsd-arm64), const TCP_MINMSS = 216 +pkg syscall (netbsd-arm64), const TCP_MINMSS ideal-int +pkg syscall (netbsd-arm64), const TCP_MSS = 536 +pkg syscall (netbsd-arm64), const TCP_MSS ideal-int +pkg syscall (netbsd-arm64), const TCSAFLUSH = 2 +pkg syscall (netbsd-arm64), const TCSAFLUSH ideal-int +pkg syscall (netbsd-arm64), const TIOCCBRK = 536900730 +pkg syscall (netbsd-arm64), const TIOCCBRK ideal-int +pkg syscall (netbsd-arm64), const TIOCCDTR = 536900728 +pkg syscall (netbsd-arm64), const TIOCCDTR ideal-int +pkg syscall (netbsd-arm64), const TIOCCONS = 2147775586 +pkg syscall (netbsd-arm64), const TIOCCONS ideal-int +pkg syscall (netbsd-arm64), const TIOCDCDTIMESTAMP = 1074820184 +pkg syscall (netbsd-arm64), const TIOCDCDTIMESTAMP ideal-int +pkg syscall (netbsd-arm64), const TIOCDRAIN = 536900702 +pkg syscall (netbsd-arm64), const TIOCDRAIN ideal-int +pkg syscall (netbsd-arm64), const TIOCEXCL = 536900621 +pkg syscall (netbsd-arm64), const TIOCEXCL ideal-int +pkg syscall (netbsd-arm64), const TIOCEXT = 2147775584 +pkg syscall (netbsd-arm64), const TIOCEXT ideal-int +pkg syscall (netbsd-arm64), const TIOCFLAG_CDTRCTS = 16 +pkg syscall (netbsd-arm64), const TIOCFLAG_CDTRCTS ideal-int +pkg syscall (netbsd-arm64), const TIOCFLAG_CLOCAL = 2 +pkg syscall (netbsd-arm64), const TIOCFLAG_CLOCAL ideal-int +pkg syscall (netbsd-arm64), const TIOCFLAG_CRTSCTS = 4 +pkg syscall (netbsd-arm64), const TIOCFLAG_CRTSCTS ideal-int +pkg syscall (netbsd-arm64), const TIOCFLAG_MDMBUF = 8 +pkg syscall (netbsd-arm64), const TIOCFLAG_MDMBUF ideal-int +pkg syscall (netbsd-arm64), const TIOCFLAG_SOFTCAR = 1 +pkg syscall (netbsd-arm64), const TIOCFLAG_SOFTCAR ideal-int +pkg syscall (netbsd-arm64), const TIOCFLUSH = 2147775504 +pkg syscall (netbsd-arm64), const TIOCFLUSH ideal-int +pkg syscall (netbsd-arm64), const TIOCGETA = 1076655123 +pkg syscall (netbsd-arm64), const TIOCGETA ideal-int +pkg syscall (netbsd-arm64), const TIOCGETD = 1074033690 +pkg syscall (netbsd-arm64), const TIOCGETD ideal-int +pkg syscall (netbsd-arm64), const TIOCGFLAGS = 1074033757 +pkg syscall (netbsd-arm64), const TIOCGFLAGS ideal-int +pkg syscall (netbsd-arm64), const TIOCGLINED = 1075868738 +pkg syscall (netbsd-arm64), const TIOCGLINED ideal-int +pkg syscall (netbsd-arm64), const TIOCGPGRP = 1074033783 +pkg syscall (netbsd-arm64), const TIOCGPGRP ideal-int +pkg syscall (netbsd-arm64), const TIOCGQSIZE = 1074033793 +pkg syscall (netbsd-arm64), const TIOCGQSIZE ideal-int +pkg syscall (netbsd-arm64), const TIOCGRANTPT = 536900679 +pkg syscall (netbsd-arm64), const TIOCGRANTPT ideal-int +pkg syscall (netbsd-arm64), const TIOCGSID = 1074033763 +pkg syscall (netbsd-arm64), const TIOCGSID ideal-int +pkg syscall (netbsd-arm64), const TIOCGSIZE = 1074295912 +pkg syscall (netbsd-arm64), const TIOCGSIZE ideal-int +pkg syscall (netbsd-arm64), const TIOCGWINSZ = 1074295912 +pkg syscall (netbsd-arm64), const TIOCGWINSZ ideal-int +pkg syscall (netbsd-arm64), const TIOCMBIC = 2147775595 +pkg syscall (netbsd-arm64), const TIOCMBIC ideal-int +pkg syscall (netbsd-arm64), const TIOCMBIS = 2147775596 +pkg syscall (netbsd-arm64), const TIOCMBIS ideal-int +pkg syscall (netbsd-arm64), const TIOCM_CAR = 64 +pkg syscall (netbsd-arm64), const TIOCM_CAR ideal-int +pkg syscall (netbsd-arm64), const TIOCM_CD = 64 +pkg syscall (netbsd-arm64), const TIOCM_CD ideal-int +pkg syscall (netbsd-arm64), const TIOCM_CTS = 32 +pkg syscall (netbsd-arm64), const TIOCM_CTS ideal-int +pkg syscall (netbsd-arm64), const TIOCM_DSR = 256 +pkg syscall (netbsd-arm64), const TIOCM_DSR ideal-int +pkg syscall (netbsd-arm64), const TIOCM_DTR = 2 +pkg syscall (netbsd-arm64), const TIOCM_DTR ideal-int +pkg syscall (netbsd-arm64), const TIOCMGET = 1074033770 +pkg syscall (netbsd-arm64), const TIOCMGET ideal-int +pkg syscall (netbsd-arm64), const TIOCM_LE = 1 +pkg syscall (netbsd-arm64), const TIOCM_LE ideal-int +pkg syscall (netbsd-arm64), const TIOCM_RI = 128 +pkg syscall (netbsd-arm64), const TIOCM_RI ideal-int +pkg syscall (netbsd-arm64), const TIOCM_RNG = 128 +pkg syscall (netbsd-arm64), const TIOCM_RNG ideal-int +pkg syscall (netbsd-arm64), const TIOCM_RTS = 4 +pkg syscall (netbsd-arm64), const TIOCM_RTS ideal-int +pkg syscall (netbsd-arm64), const TIOCMSET = 2147775597 +pkg syscall (netbsd-arm64), const TIOCMSET ideal-int +pkg syscall (netbsd-arm64), const TIOCM_SR = 16 +pkg syscall (netbsd-arm64), const TIOCM_SR ideal-int +pkg syscall (netbsd-arm64), const TIOCM_ST = 8 +pkg syscall (netbsd-arm64), const TIOCM_ST ideal-int +pkg syscall (netbsd-arm64), const TIOCNOTTY = 536900721 +pkg syscall (netbsd-arm64), const TIOCNOTTY ideal-int +pkg syscall (netbsd-arm64), const TIOCNXCL = 536900622 +pkg syscall (netbsd-arm64), const TIOCNXCL ideal-int +pkg syscall (netbsd-arm64), const TIOCOUTQ = 1074033779 +pkg syscall (netbsd-arm64), const TIOCOUTQ ideal-int +pkg syscall (netbsd-arm64), const TIOCPKT = 2147775600 +pkg syscall (netbsd-arm64), const TIOCPKT_DATA = 0 +pkg syscall (netbsd-arm64), const TIOCPKT_DATA ideal-int +pkg syscall (netbsd-arm64), const TIOCPKT_DOSTOP = 32 +pkg syscall (netbsd-arm64), const TIOCPKT_DOSTOP ideal-int +pkg syscall (netbsd-arm64), const TIOCPKT_FLUSHREAD = 1 +pkg syscall (netbsd-arm64), const TIOCPKT_FLUSHREAD ideal-int +pkg syscall (netbsd-arm64), const TIOCPKT_FLUSHWRITE = 2 +pkg syscall (netbsd-arm64), const TIOCPKT_FLUSHWRITE ideal-int +pkg syscall (netbsd-arm64), const TIOCPKT ideal-int +pkg syscall (netbsd-arm64), const TIOCPKT_IOCTL = 64 +pkg syscall (netbsd-arm64), const TIOCPKT_IOCTL ideal-int +pkg syscall (netbsd-arm64), const TIOCPKT_NOSTOP = 16 +pkg syscall (netbsd-arm64), const TIOCPKT_NOSTOP ideal-int +pkg syscall (netbsd-arm64), const TIOCPKT_START = 8 +pkg syscall (netbsd-arm64), const TIOCPKT_START ideal-int +pkg syscall (netbsd-arm64), const TIOCPKT_STOP = 4 +pkg syscall (netbsd-arm64), const TIOCPKT_STOP ideal-int +pkg syscall (netbsd-arm64), const TIOCPTMGET = 1076393030 +pkg syscall (netbsd-arm64), const TIOCPTMGET ideal-int +pkg syscall (netbsd-arm64), const TIOCPTSNAME = 1076393032 +pkg syscall (netbsd-arm64), const TIOCPTSNAME ideal-int +pkg syscall (netbsd-arm64), const TIOCRCVFRAME = 2148037701 +pkg syscall (netbsd-arm64), const TIOCRCVFRAME ideal-int +pkg syscall (netbsd-arm64), const TIOCREMOTE = 2147775593 +pkg syscall (netbsd-arm64), const TIOCREMOTE ideal-int +pkg syscall (netbsd-arm64), const TIOCSBRK = 536900731 +pkg syscall (netbsd-arm64), const TIOCSBRK ideal-int +pkg syscall (netbsd-arm64), const TIOCSCTTY = 536900705 +pkg syscall (netbsd-arm64), const TIOCSCTTY ideal-int +pkg syscall (netbsd-arm64), const TIOCSDTR = 536900729 +pkg syscall (netbsd-arm64), const TIOCSDTR ideal-int +pkg syscall (netbsd-arm64), const TIOCSETA = 2150396948 +pkg syscall (netbsd-arm64), const TIOCSETAF = 2150396950 +pkg syscall (netbsd-arm64), const TIOCSETAF ideal-int +pkg syscall (netbsd-arm64), const TIOCSETA ideal-int +pkg syscall (netbsd-arm64), const TIOCSETAW = 2150396949 +pkg syscall (netbsd-arm64), const TIOCSETAW ideal-int +pkg syscall (netbsd-arm64), const TIOCSETD = 2147775515 +pkg syscall (netbsd-arm64), const TIOCSETD ideal-int +pkg syscall (netbsd-arm64), const TIOCSFLAGS = 2147775580 +pkg syscall (netbsd-arm64), const TIOCSFLAGS ideal-int +pkg syscall (netbsd-arm64), const TIOCSIG = 536900703 +pkg syscall (netbsd-arm64), const TIOCSIG ideal-int +pkg syscall (netbsd-arm64), const TIOCSLINED = 2149610563 +pkg syscall (netbsd-arm64), const TIOCSLINED ideal-int +pkg syscall (netbsd-arm64), const TIOCSPGRP = 2147775606 +pkg syscall (netbsd-arm64), const TIOCSPGRP ideal-int +pkg syscall (netbsd-arm64), const TIOCSQSIZE = 2147775616 +pkg syscall (netbsd-arm64), const TIOCSQSIZE ideal-int +pkg syscall (netbsd-arm64), const TIOCSSIZE = 2148037735 +pkg syscall (netbsd-arm64), const TIOCSSIZE ideal-int +pkg syscall (netbsd-arm64), const TIOCSTART = 536900718 +pkg syscall (netbsd-arm64), const TIOCSTART ideal-int +pkg syscall (netbsd-arm64), const TIOCSTAT = 2147775589 +pkg syscall (netbsd-arm64), const TIOCSTAT ideal-int +pkg syscall (netbsd-arm64), const TIOCSTI = 2147578994 +pkg syscall (netbsd-arm64), const TIOCSTI ideal-int +pkg syscall (netbsd-arm64), const TIOCSTOP = 536900719 +pkg syscall (netbsd-arm64), const TIOCSTOP ideal-int +pkg syscall (netbsd-arm64), const TIOCSWINSZ = 2148037735 +pkg syscall (netbsd-arm64), const TIOCSWINSZ ideal-int +pkg syscall (netbsd-arm64), const TIOCUCNTL = 2147775590 +pkg syscall (netbsd-arm64), const TIOCUCNTL ideal-int +pkg syscall (netbsd-arm64), const TIOCXMTFRAME = 2148037700 +pkg syscall (netbsd-arm64), const TIOCXMTFRAME ideal-int +pkg syscall (netbsd-arm64), const TOSTOP = 4194304 +pkg syscall (netbsd-arm64), const TOSTOP ideal-int +pkg syscall (netbsd-arm64), const VDISCARD = 15 +pkg syscall (netbsd-arm64), const VDISCARD ideal-int +pkg syscall (netbsd-arm64), const VDSUSP = 11 +pkg syscall (netbsd-arm64), const VDSUSP ideal-int +pkg syscall (netbsd-arm64), const VEOF = 0 +pkg syscall (netbsd-arm64), const VEOF ideal-int +pkg syscall (netbsd-arm64), const VEOL = 1 +pkg syscall (netbsd-arm64), const VEOL2 = 2 +pkg syscall (netbsd-arm64), const VEOL2 ideal-int +pkg syscall (netbsd-arm64), const VEOL ideal-int +pkg syscall (netbsd-arm64), const VERASE = 3 +pkg syscall (netbsd-arm64), const VERASE ideal-int +pkg syscall (netbsd-arm64), const VINTR = 8 +pkg syscall (netbsd-arm64), const VINTR ideal-int +pkg syscall (netbsd-arm64), const VKILL = 5 +pkg syscall (netbsd-arm64), const VKILL ideal-int +pkg syscall (netbsd-arm64), const VLNEXT = 14 +pkg syscall (netbsd-arm64), const VLNEXT ideal-int +pkg syscall (netbsd-arm64), const VMIN = 16 +pkg syscall (netbsd-arm64), const VMIN ideal-int +pkg syscall (netbsd-arm64), const VQUIT = 9 +pkg syscall (netbsd-arm64), const VQUIT ideal-int +pkg syscall (netbsd-arm64), const VREPRINT = 6 +pkg syscall (netbsd-arm64), const VREPRINT ideal-int +pkg syscall (netbsd-arm64), const VSTART = 12 +pkg syscall (netbsd-arm64), const VSTART ideal-int +pkg syscall (netbsd-arm64), const VSTATUS = 18 +pkg syscall (netbsd-arm64), const VSTATUS ideal-int +pkg syscall (netbsd-arm64), const VSTOP = 13 +pkg syscall (netbsd-arm64), const VSTOP ideal-int +pkg syscall (netbsd-arm64), const VSUSP = 10 +pkg syscall (netbsd-arm64), const VSUSP ideal-int +pkg syscall (netbsd-arm64), const VTIME = 17 +pkg syscall (netbsd-arm64), const VTIME ideal-int +pkg syscall (netbsd-arm64), const VWERASE = 4 +pkg syscall (netbsd-arm64), const VWERASE ideal-int +pkg syscall (netbsd-arm64), const WALL = 8 +pkg syscall (netbsd-arm64), const WALL ideal-int +pkg syscall (netbsd-arm64), const WALLSIG = 8 +pkg syscall (netbsd-arm64), const WALLSIG ideal-int +pkg syscall (netbsd-arm64), const WALTSIG = 4 +pkg syscall (netbsd-arm64), const WALTSIG ideal-int +pkg syscall (netbsd-arm64), const WCLONE = 4 +pkg syscall (netbsd-arm64), const WCLONE ideal-int +pkg syscall (netbsd-arm64), const WCOREFLAG = 128 +pkg syscall (netbsd-arm64), const WCOREFLAG ideal-int +pkg syscall (netbsd-arm64), const WNOHANG = 1 +pkg syscall (netbsd-arm64), const WNOHANG ideal-int +pkg syscall (netbsd-arm64), const WNOWAIT = 65536 +pkg syscall (netbsd-arm64), const WNOWAIT ideal-int +pkg syscall (netbsd-arm64), const WNOZOMBIE = 131072 +pkg syscall (netbsd-arm64), const WNOZOMBIE ideal-int +pkg syscall (netbsd-arm64), const WOPTSCHECKED = 262144 +pkg syscall (netbsd-arm64), const WOPTSCHECKED ideal-int +pkg syscall (netbsd-arm64), const WSTOPPED = 127 +pkg syscall (netbsd-arm64), const WSTOPPED ideal-int +pkg syscall (netbsd-arm64), const WUNTRACED = 2 +pkg syscall (netbsd-arm64), const WUNTRACED ideal-int +pkg syscall (netbsd-arm64), func Accept4(int, int) (int, Sockaddr, error) +pkg syscall (netbsd-arm64), func Accept(int) (int, Sockaddr, error) +pkg syscall (netbsd-arm64), func Access(string, uint32) error +pkg syscall (netbsd-arm64), func Adjtime(*Timeval, *Timeval) error +pkg syscall (netbsd-arm64), func Bind(int, Sockaddr) error +pkg syscall (netbsd-arm64), func BpfBuflen(int) (int, error) +pkg syscall (netbsd-arm64), func BpfDatalink(int) (int, error) +pkg syscall (netbsd-arm64), func BpfHeadercmpl(int) (int, error) +pkg syscall (netbsd-arm64), func BpfInterface(int, string) (string, error) +pkg syscall (netbsd-arm64), func BpfJump(int, int, int, int) *BpfInsn +pkg syscall (netbsd-arm64), func BpfStats(int) (*BpfStat, error) +pkg syscall (netbsd-arm64), func BpfStmt(int, int) *BpfInsn +pkg syscall (netbsd-arm64), func BpfTimeout(int) (*Timeval, error) +pkg syscall (netbsd-arm64), func CheckBpfVersion(int) error +pkg syscall (netbsd-arm64), func Chflags(string, int) error +pkg syscall (netbsd-arm64), func Chroot(string) error +pkg syscall (netbsd-arm64), func Close(int) error +pkg syscall (netbsd-arm64), func CloseOnExec(int) +pkg syscall (netbsd-arm64), func CmsgLen(int) int +pkg syscall (netbsd-arm64), func CmsgSpace(int) int +pkg syscall (netbsd-arm64), func Connect(int, Sockaddr) error +pkg syscall (netbsd-arm64), func Dup2(int, int) error +pkg syscall (netbsd-arm64), func Dup(int) (int, error) +pkg syscall (netbsd-arm64), func Fchdir(int) error +pkg syscall (netbsd-arm64), func Fchflags(int, int) error +pkg syscall (netbsd-arm64), func Fchmod(int, uint32) error +pkg syscall (netbsd-arm64), func Fchown(int, int, int) error +pkg syscall (netbsd-arm64), func FcntlFlock(uintptr, int, *Flock_t) error +pkg syscall (netbsd-arm64), func Flock(int, int) error +pkg syscall (netbsd-arm64), func FlushBpf(int) error +pkg syscall (netbsd-arm64), func ForkExec(string, []string, *ProcAttr) (int, error) +pkg syscall (netbsd-arm64), func Fpathconf(int, int) (int, error) +pkg syscall (netbsd-arm64), func Fstat(int, *Stat_t) error +pkg syscall (netbsd-arm64), func Fsync(int) error +pkg syscall (netbsd-arm64), func Ftruncate(int, int64) error +pkg syscall (netbsd-arm64), func Futimes(int, []Timeval) error +pkg syscall (netbsd-arm64), func Getdirentries(int, []uint8, *uintptr) (int, error) +pkg syscall (netbsd-arm64), func Getpeername(int) (Sockaddr, error) +pkg syscall (netbsd-arm64), func Getpgid(int) (int, error) +pkg syscall (netbsd-arm64), func Getpgrp() int +pkg syscall (netbsd-arm64), func Getpriority(int, int) (int, error) +pkg syscall (netbsd-arm64), func Getrlimit(int, *Rlimit) error +pkg syscall (netbsd-arm64), func Getrusage(int, *Rusage) error +pkg syscall (netbsd-arm64), func Getsid(int) (int, error) +pkg syscall (netbsd-arm64), func Getsockname(int) (Sockaddr, error) +pkg syscall (netbsd-arm64), func GetsockoptByte(int, int, int) (uint8, error) +pkg syscall (netbsd-arm64), func GetsockoptICMPv6Filter(int, int, int) (*ICMPv6Filter, error) +pkg syscall (netbsd-arm64), func GetsockoptInet4Addr(int, int, int) ([4]uint8, error) +pkg syscall (netbsd-arm64), func GetsockoptInt(int, int, int) (int, error) +pkg syscall (netbsd-arm64), func GetsockoptIPMreq(int, int, int) (*IPMreq, error) +pkg syscall (netbsd-arm64), func GetsockoptIPv6Mreq(int, int, int) (*IPv6Mreq, error) +pkg syscall (netbsd-arm64), func GetsockoptIPv6MTUInfo(int, int, int) (*IPv6MTUInfo, error) +pkg syscall (netbsd-arm64), func Issetugid() bool +pkg syscall (netbsd-arm64), func Kevent(int, []Kevent_t, []Kevent_t, *Timespec) (int, error) +pkg syscall (netbsd-arm64), func Kill(int, Signal) error +pkg syscall (netbsd-arm64), func Kqueue() (int, error) +pkg syscall (netbsd-arm64), func Listen(int, int) error +pkg syscall (netbsd-arm64), func Lstat(string, *Stat_t) error +pkg syscall (netbsd-arm64), func Mkfifo(string, uint32) error +pkg syscall (netbsd-arm64), func Mknod(string, uint32, int) error +pkg syscall (netbsd-arm64), func Mmap(int, int64, int, int, int) ([]uint8, error) +pkg syscall (netbsd-arm64), func Munmap([]uint8) error +pkg syscall (netbsd-arm64), func Nanosleep(*Timespec, *Timespec) error +pkg syscall (netbsd-arm64), func Open(string, int, uint32) (int, error) +pkg syscall (netbsd-arm64), func ParseDirent([]uint8, int, []string) (int, int, []string) +pkg syscall (netbsd-arm64), func ParseRoutingMessage([]uint8) ([]RoutingMessage, error) +pkg syscall (netbsd-arm64), func ParseRoutingSockaddr(RoutingMessage) ([]Sockaddr, error) +pkg syscall (netbsd-arm64), func ParseSocketControlMessage([]uint8) ([]SocketControlMessage, error) +pkg syscall (netbsd-arm64), func ParseUnixRights(*SocketControlMessage) ([]int, error) +pkg syscall (netbsd-arm64), func Pathconf(string, int) (int, error) +pkg syscall (netbsd-arm64), func Pipe2([]int, int) error +pkg syscall (netbsd-arm64), func Pipe([]int) error +pkg syscall (netbsd-arm64), func Pread(int, []uint8, int64) (int, error) +pkg syscall (netbsd-arm64), func Pwrite(int, []uint8, int64) (int, error) +pkg syscall (netbsd-arm64), func RawSyscall6(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) +pkg syscall (netbsd-arm64), func RawSyscall(uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) +pkg syscall (netbsd-arm64), func ReadDirent(int, []uint8) (int, error) +pkg syscall (netbsd-arm64), func Read(int, []uint8) (int, error) +pkg syscall (netbsd-arm64), func Recvfrom(int, []uint8, int) (int, Sockaddr, error) +pkg syscall (netbsd-arm64), func Recvmsg(int, []uint8, []uint8, int) (int, int, int, Sockaddr, error) +pkg syscall (netbsd-arm64), func Revoke(string) error +pkg syscall (netbsd-arm64), func RouteRIB(int, int) ([]uint8, error) +pkg syscall (netbsd-arm64), func Seek(int, int64, int) (int64, error) +pkg syscall (netbsd-arm64), func Select(int, *FdSet, *FdSet, *FdSet, *Timeval) error +pkg syscall (netbsd-arm64), func Sendfile(int, int, *int64, int) (int, error) +pkg syscall (netbsd-arm64), func Sendmsg(int, []uint8, []uint8, Sockaddr, int) error +pkg syscall (netbsd-arm64), func SendmsgN(int, []uint8, []uint8, Sockaddr, int) (int, error) +pkg syscall (netbsd-arm64), func Sendto(int, []uint8, int, Sockaddr) error +pkg syscall (netbsd-arm64), func SetBpfBuflen(int, int) (int, error) +pkg syscall (netbsd-arm64), func SetBpfDatalink(int, int) (int, error) +pkg syscall (netbsd-arm64), func SetBpfHeadercmpl(int, int) error +pkg syscall (netbsd-arm64), func SetBpfImmediate(int, int) error +pkg syscall (netbsd-arm64), func SetBpf(int, []BpfInsn) error +pkg syscall (netbsd-arm64), func SetBpfInterface(int, string) error +pkg syscall (netbsd-arm64), func SetBpfPromisc(int, int) error +pkg syscall (netbsd-arm64), func SetBpfTimeout(int, *Timeval) error +pkg syscall (netbsd-arm64), func Setegid(int) error +pkg syscall (netbsd-arm64), func Seteuid(int) error +pkg syscall (netbsd-arm64), func Setgid(int) error +pkg syscall (netbsd-arm64), func Setgroups([]int) error +pkg syscall (netbsd-arm64), func SetKevent(*Kevent_t, int, int, int) +pkg syscall (netbsd-arm64), func SetNonblock(int, bool) error +pkg syscall (netbsd-arm64), func Setpgid(int, int) error +pkg syscall (netbsd-arm64), func Setpriority(int, int, int) error +pkg syscall (netbsd-arm64), func Setregid(int, int) error +pkg syscall (netbsd-arm64), func Setreuid(int, int) error +pkg syscall (netbsd-arm64), func Setrlimit(int, *Rlimit) error +pkg syscall (netbsd-arm64), func Setsid() (int, error) +pkg syscall (netbsd-arm64), func SetsockoptByte(int, int, int, uint8) error +pkg syscall (netbsd-arm64), func SetsockoptICMPv6Filter(int, int, int, *ICMPv6Filter) error +pkg syscall (netbsd-arm64), func SetsockoptInet4Addr(int, int, int, [4]uint8) error +pkg syscall (netbsd-arm64), func SetsockoptInt(int, int, int, int) error +pkg syscall (netbsd-arm64), func SetsockoptIPMreq(int, int, int, *IPMreq) error +pkg syscall (netbsd-arm64), func SetsockoptIPv6Mreq(int, int, int, *IPv6Mreq) error +pkg syscall (netbsd-arm64), func SetsockoptLinger(int, int, int, *Linger) error +pkg syscall (netbsd-arm64), func SetsockoptString(int, int, int, string) error +pkg syscall (netbsd-arm64), func SetsockoptTimeval(int, int, int, *Timeval) error +pkg syscall (netbsd-arm64), func Settimeofday(*Timeval) error +pkg syscall (netbsd-arm64), func Setuid(int) error +pkg syscall (netbsd-arm64), func Shutdown(int, int) error +pkg syscall (netbsd-arm64), func SlicePtrFromStrings([]string) ([]*uint8, error) +pkg syscall (netbsd-arm64), func Socket(int, int, int) (int, error) +pkg syscall (netbsd-arm64), func Socketpair(int, int, int) ([2]int, error) +pkg syscall (netbsd-arm64), func Stat(string, *Stat_t) error +pkg syscall (netbsd-arm64), func StringSlicePtr([]string) []*uint8 +pkg syscall (netbsd-arm64), func Sync() error +pkg syscall (netbsd-arm64), func Syscall6(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) +pkg syscall (netbsd-arm64), func Syscall9(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) +pkg syscall (netbsd-arm64), func Syscall(uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) +pkg syscall (netbsd-arm64), func Sysctl(string) (string, error) +pkg syscall (netbsd-arm64), func SysctlUint32(string) (uint32, error) +pkg syscall (netbsd-arm64), func TimevalToNsec(Timeval) int64 +pkg syscall (netbsd-arm64), func Truncate(string, int64) error +pkg syscall (netbsd-arm64), func Umask(int) int +pkg syscall (netbsd-arm64), func UnixRights(...int) []uint8 +pkg syscall (netbsd-arm64), func Unmount(string, int) error +pkg syscall (netbsd-arm64), func Wait4(int, *WaitStatus, int, *Rusage) (int, error) +pkg syscall (netbsd-arm64), func Write(int, []uint8) (int, error) +pkg syscall (netbsd-arm64), method (*Cmsghdr) SetLen(int) +pkg syscall (netbsd-arm64), method (*Iovec) SetLen(int) +pkg syscall (netbsd-arm64), method (*Msghdr) SetControllen(int) +pkg syscall (netbsd-arm64), type BpfHdr struct +pkg syscall (netbsd-arm64), type BpfHdr struct, Caplen uint32 +pkg syscall (netbsd-arm64), type BpfHdr struct, Datalen uint32 +pkg syscall (netbsd-arm64), type BpfHdr struct, Hdrlen uint16 +pkg syscall (netbsd-arm64), type BpfHdr struct, Pad_cgo_0 [6]uint8 +pkg syscall (netbsd-arm64), type BpfHdr struct, Tstamp BpfTimeval +pkg syscall (netbsd-arm64), type BpfInsn struct +pkg syscall (netbsd-arm64), type BpfInsn struct, Code uint16 +pkg syscall (netbsd-arm64), type BpfInsn struct, Jf uint8 +pkg syscall (netbsd-arm64), type BpfInsn struct, Jt uint8 +pkg syscall (netbsd-arm64), type BpfInsn struct, K uint32 +pkg syscall (netbsd-arm64), type BpfProgram struct +pkg syscall (netbsd-arm64), type BpfProgram struct, Insns *BpfInsn +pkg syscall (netbsd-arm64), type BpfProgram struct, Len uint32 +pkg syscall (netbsd-arm64), type BpfProgram struct, Pad_cgo_0 [4]uint8 +pkg syscall (netbsd-arm64), type BpfStat struct +pkg syscall (netbsd-arm64), type BpfStat struct, Capt uint64 +pkg syscall (netbsd-arm64), type BpfStat struct, Drop uint64 +pkg syscall (netbsd-arm64), type BpfStat struct, Padding [13]uint64 +pkg syscall (netbsd-arm64), type BpfStat struct, Recv uint64 +pkg syscall (netbsd-arm64), type BpfTimeval struct +pkg syscall (netbsd-arm64), type BpfTimeval struct, Sec int64 +pkg syscall (netbsd-arm64), type BpfTimeval struct, Usec int64 +pkg syscall (netbsd-arm64), type BpfVersion struct +pkg syscall (netbsd-arm64), type BpfVersion struct, Major uint16 +pkg syscall (netbsd-arm64), type BpfVersion struct, Minor uint16 +pkg syscall (netbsd-arm64), type Cmsghdr struct +pkg syscall (netbsd-arm64), type Cmsghdr struct, Len uint32 +pkg syscall (netbsd-arm64), type Cmsghdr struct, Level int32 +pkg syscall (netbsd-arm64), type Cmsghdr struct, Type int32 +pkg syscall (netbsd-arm64), type Credential struct +pkg syscall (netbsd-arm64), type Credential struct, Gid uint32 +pkg syscall (netbsd-arm64), type Credential struct, Groups []uint32 +pkg syscall (netbsd-arm64), type Credential struct, NoSetGroups bool +pkg syscall (netbsd-arm64), type Credential struct, Uid uint32 +pkg syscall (netbsd-arm64), type Dirent struct +pkg syscall (netbsd-arm64), type Dirent struct, Fileno uint64 +pkg syscall (netbsd-arm64), type Dirent struct, Name [512]int8 +pkg syscall (netbsd-arm64), type Dirent struct, Namlen uint16 +pkg syscall (netbsd-arm64), type Dirent struct, Pad_cgo_0 [3]uint8 +pkg syscall (netbsd-arm64), type Dirent struct, Reclen uint16 +pkg syscall (netbsd-arm64), type Dirent struct, Type uint8 +pkg syscall (netbsd-arm64), type FdSet struct +pkg syscall (netbsd-arm64), type FdSet struct, Bits [8]uint32 +pkg syscall (netbsd-arm64), type Flock_t struct +pkg syscall (netbsd-arm64), type Flock_t struct, Len int64 +pkg syscall (netbsd-arm64), type Flock_t struct, Pid int32 +pkg syscall (netbsd-arm64), type Flock_t struct, Start int64 +pkg syscall (netbsd-arm64), type Flock_t struct, Type int16 +pkg syscall (netbsd-arm64), type Flock_t struct, Whence int16 +pkg syscall (netbsd-arm64), type Fsid struct +pkg syscall (netbsd-arm64), type Fsid struct, X__fsid_val [2]int32 +pkg syscall (netbsd-arm64), type ICMPv6Filter struct +pkg syscall (netbsd-arm64), type ICMPv6Filter struct, Filt [8]uint32 +pkg syscall (netbsd-arm64), type IfaMsghdr struct +pkg syscall (netbsd-arm64), type IfaMsghdr struct, Addrs int32 +pkg syscall (netbsd-arm64), type IfaMsghdr struct, Flags int32 +pkg syscall (netbsd-arm64), type IfaMsghdr struct, Index uint16 +pkg syscall (netbsd-arm64), type IfaMsghdr struct, Metric int32 +pkg syscall (netbsd-arm64), type IfaMsghdr struct, Msglen uint16 +pkg syscall (netbsd-arm64), type IfaMsghdr struct, Pad_cgo_0 [6]uint8 +pkg syscall (netbsd-arm64), type IfaMsghdr struct, Type uint8 +pkg syscall (netbsd-arm64), type IfaMsghdr struct, Version uint8 +pkg syscall (netbsd-arm64), type IfAnnounceMsghdr struct +pkg syscall (netbsd-arm64), type IfAnnounceMsghdr struct, Index uint16 +pkg syscall (netbsd-arm64), type IfAnnounceMsghdr struct, Msglen uint16 +pkg syscall (netbsd-arm64), type IfAnnounceMsghdr struct, Name [16]int8 +pkg syscall (netbsd-arm64), type IfAnnounceMsghdr struct, Type uint8 +pkg syscall (netbsd-arm64), type IfAnnounceMsghdr struct, Version uint8 +pkg syscall (netbsd-arm64), type IfAnnounceMsghdr struct, What uint16 +pkg syscall (netbsd-arm64), type IfData struct +pkg syscall (netbsd-arm64), type IfData struct, Addrlen uint8 +pkg syscall (netbsd-arm64), type IfData struct, Baudrate uint64 +pkg syscall (netbsd-arm64), type IfData struct, Collisions uint64 +pkg syscall (netbsd-arm64), type IfData struct, Hdrlen uint8 +pkg syscall (netbsd-arm64), type IfData struct, Ibytes uint64 +pkg syscall (netbsd-arm64), type IfData struct, Ierrors uint64 +pkg syscall (netbsd-arm64), type IfData struct, Imcasts uint64 +pkg syscall (netbsd-arm64), type IfData struct, Ipackets uint64 +pkg syscall (netbsd-arm64), type IfData struct, Iqdrops uint64 +pkg syscall (netbsd-arm64), type IfData struct, Lastchange Timespec +pkg syscall (netbsd-arm64), type IfData struct, Link_state int32 +pkg syscall (netbsd-arm64), type IfData struct, Metric uint64 +pkg syscall (netbsd-arm64), type IfData struct, Mtu uint64 +pkg syscall (netbsd-arm64), type IfData struct, Noproto uint64 +pkg syscall (netbsd-arm64), type IfData struct, Obytes uint64 +pkg syscall (netbsd-arm64), type IfData struct, Oerrors uint64 +pkg syscall (netbsd-arm64), type IfData struct, Omcasts uint64 +pkg syscall (netbsd-arm64), type IfData struct, Opackets uint64 +pkg syscall (netbsd-arm64), type IfData struct, Pad_cgo_0 [1]uint8 +pkg syscall (netbsd-arm64), type IfData struct, Type uint8 +pkg syscall (netbsd-arm64), type IfMsghdr struct +pkg syscall (netbsd-arm64), type IfMsghdr struct, Addrs int32 +pkg syscall (netbsd-arm64), type IfMsghdr struct, Data IfData +pkg syscall (netbsd-arm64), type IfMsghdr struct, Flags int32 +pkg syscall (netbsd-arm64), type IfMsghdr struct, Index uint16 +pkg syscall (netbsd-arm64), type IfMsghdr struct, Msglen uint16 +pkg syscall (netbsd-arm64), type IfMsghdr struct, Pad_cgo_0 [2]uint8 +pkg syscall (netbsd-arm64), type IfMsghdr struct, Type uint8 +pkg syscall (netbsd-arm64), type IfMsghdr struct, Version uint8 +pkg syscall (netbsd-arm64), type Inet6Pktinfo struct +pkg syscall (netbsd-arm64), type Inet6Pktinfo struct, Addr [16]uint8 +pkg syscall (netbsd-arm64), type Inet6Pktinfo struct, Ifindex uint32 +pkg syscall (netbsd-arm64), type InterfaceAddrMessage struct +pkg syscall (netbsd-arm64), type InterfaceAddrMessage struct, Data []uint8 +pkg syscall (netbsd-arm64), type InterfaceAddrMessage struct, Header IfaMsghdr +pkg syscall (netbsd-arm64), type InterfaceAnnounceMessage struct +pkg syscall (netbsd-arm64), type InterfaceAnnounceMessage struct, Header IfAnnounceMsghdr +pkg syscall (netbsd-arm64), type InterfaceMessage struct +pkg syscall (netbsd-arm64), type InterfaceMessage struct, Data []uint8 +pkg syscall (netbsd-arm64), type InterfaceMessage struct, Header IfMsghdr +pkg syscall (netbsd-arm64), type Iovec struct +pkg syscall (netbsd-arm64), type Iovec struct, Base *uint8 +pkg syscall (netbsd-arm64), type Iovec struct, Len uint64 +pkg syscall (netbsd-arm64), type IPv6MTUInfo struct +pkg syscall (netbsd-arm64), type IPv6MTUInfo struct, Addr RawSockaddrInet6 +pkg syscall (netbsd-arm64), type IPv6MTUInfo struct, Mtu uint32 +pkg syscall (netbsd-arm64), type Kevent_t struct +pkg syscall (netbsd-arm64), type Kevent_t struct, Data int64 +pkg syscall (netbsd-arm64), type Kevent_t struct, Fflags uint32 +pkg syscall (netbsd-arm64), type Kevent_t struct, Filter uint32 +pkg syscall (netbsd-arm64), type Kevent_t struct, Flags uint32 +pkg syscall (netbsd-arm64), type Kevent_t struct, Ident uint64 +pkg syscall (netbsd-arm64), type Kevent_t struct, Pad_cgo_0 [4]uint8 +pkg syscall (netbsd-arm64), type Kevent_t struct, Udata int64 +pkg syscall (netbsd-arm64), type Mclpool [0]uint8 +pkg syscall (netbsd-arm64), type Msghdr struct +pkg syscall (netbsd-arm64), type Msghdr struct, Controllen uint32 +pkg syscall (netbsd-arm64), type Msghdr struct, Control *uint8 +pkg syscall (netbsd-arm64), type Msghdr struct, Flags int32 +pkg syscall (netbsd-arm64), type Msghdr struct, Iov *Iovec +pkg syscall (netbsd-arm64), type Msghdr struct, Iovlen int32 +pkg syscall (netbsd-arm64), type Msghdr struct, Namelen uint32 +pkg syscall (netbsd-arm64), type Msghdr struct, Name *uint8 +pkg syscall (netbsd-arm64), type Msghdr struct, Pad_cgo_0 [4]uint8 +pkg syscall (netbsd-arm64), type Msghdr struct, Pad_cgo_1 [4]uint8 +pkg syscall (netbsd-arm64), type RawSockaddrAny struct, Pad [92]int8 +pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct +pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Alen uint8 +pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Data [12]int8 +pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Family uint8 +pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Index uint16 +pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Len uint8 +pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Nlen uint8 +pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Slen uint8 +pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Type uint8 +pkg syscall (netbsd-arm64), type RawSockaddrInet4 struct, Family uint8 +pkg syscall (netbsd-arm64), type RawSockaddrInet4 struct, Len uint8 +pkg syscall (netbsd-arm64), type RawSockaddrInet4 struct, Zero [8]int8 +pkg syscall (netbsd-arm64), type RawSockaddrInet6 struct, Family uint8 +pkg syscall (netbsd-arm64), type RawSockaddrInet6 struct, Len uint8 +pkg syscall (netbsd-arm64), type RawSockaddr struct, Data [14]int8 +pkg syscall (netbsd-arm64), type RawSockaddr struct, Family uint8 +pkg syscall (netbsd-arm64), type RawSockaddr struct, Len uint8 +pkg syscall (netbsd-arm64), type RawSockaddrUnix struct, Family uint8 +pkg syscall (netbsd-arm64), type RawSockaddrUnix struct, Len uint8 +pkg syscall (netbsd-arm64), type RawSockaddrUnix struct, Path [104]int8 +pkg syscall (netbsd-arm64), type Rlimit struct +pkg syscall (netbsd-arm64), type Rlimit struct, Cur uint64 +pkg syscall (netbsd-arm64), type Rlimit struct, Max uint64 +pkg syscall (netbsd-arm64), type RouteMessage struct +pkg syscall (netbsd-arm64), type RouteMessage struct, Data []uint8 +pkg syscall (netbsd-arm64), type RouteMessage struct, Header RtMsghdr +pkg syscall (netbsd-arm64), type RoutingMessage interface, unexported methods +pkg syscall (netbsd-arm64), type RtMetrics struct +pkg syscall (netbsd-arm64), type RtMetrics struct, Expire int64 +pkg syscall (netbsd-arm64), type RtMetrics struct, Hopcount uint64 +pkg syscall (netbsd-arm64), type RtMetrics struct, Locks uint64 +pkg syscall (netbsd-arm64), type RtMetrics struct, Mtu uint64 +pkg syscall (netbsd-arm64), type RtMetrics struct, Pksent int64 +pkg syscall (netbsd-arm64), type RtMetrics struct, Recvpipe uint64 +pkg syscall (netbsd-arm64), type RtMetrics struct, Rtt uint64 +pkg syscall (netbsd-arm64), type RtMetrics struct, Rttvar uint64 +pkg syscall (netbsd-arm64), type RtMetrics struct, Sendpipe uint64 +pkg syscall (netbsd-arm64), type RtMetrics struct, Ssthresh uint64 +pkg syscall (netbsd-arm64), type RtMsghdr struct +pkg syscall (netbsd-arm64), type RtMsghdr struct, Addrs int32 +pkg syscall (netbsd-arm64), type RtMsghdr struct, Errno int32 +pkg syscall (netbsd-arm64), type RtMsghdr struct, Flags int32 +pkg syscall (netbsd-arm64), type RtMsghdr struct, Index uint16 +pkg syscall (netbsd-arm64), type RtMsghdr struct, Inits int32 +pkg syscall (netbsd-arm64), type RtMsghdr struct, Msglen uint16 +pkg syscall (netbsd-arm64), type RtMsghdr struct, Pad_cgo_0 [2]uint8 +pkg syscall (netbsd-arm64), type RtMsghdr struct, Pad_cgo_1 [4]uint8 +pkg syscall (netbsd-arm64), type RtMsghdr struct, Pid int32 +pkg syscall (netbsd-arm64), type RtMsghdr struct, Rmx RtMetrics +pkg syscall (netbsd-arm64), type RtMsghdr struct, Seq int32 +pkg syscall (netbsd-arm64), type RtMsghdr struct, Type uint8 +pkg syscall (netbsd-arm64), type RtMsghdr struct, Use int32 +pkg syscall (netbsd-arm64), type RtMsghdr struct, Version uint8 +pkg syscall (netbsd-arm64), type Rusage struct, Idrss int64 +pkg syscall (netbsd-arm64), type Rusage struct, Inblock int64 +pkg syscall (netbsd-arm64), type Rusage struct, Isrss int64 +pkg syscall (netbsd-arm64), type Rusage struct, Ixrss int64 +pkg syscall (netbsd-arm64), type Rusage struct, Majflt int64 +pkg syscall (netbsd-arm64), type Rusage struct, Maxrss int64 +pkg syscall (netbsd-arm64), type Rusage struct, Minflt int64 +pkg syscall (netbsd-arm64), type Rusage struct, Msgrcv int64 +pkg syscall (netbsd-arm64), type Rusage struct, Msgsnd int64 +pkg syscall (netbsd-arm64), type Rusage struct, Nivcsw int64 +pkg syscall (netbsd-arm64), type Rusage struct, Nsignals int64 +pkg syscall (netbsd-arm64), type Rusage struct, Nswap int64 +pkg syscall (netbsd-arm64), type Rusage struct, Nvcsw int64 +pkg syscall (netbsd-arm64), type Rusage struct, Oublock int64 +pkg syscall (netbsd-arm64), type Rusage struct, Stime Timeval +pkg syscall (netbsd-arm64), type Rusage struct, Utime Timeval +pkg syscall (netbsd-arm64), type SockaddrDatalink struct +pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Alen uint8 +pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Data [12]int8 +pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Family uint8 +pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Index uint16 +pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Len uint8 +pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Nlen uint8 +pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Slen uint8 +pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Type uint8 +pkg syscall (netbsd-arm64), type SocketControlMessage struct +pkg syscall (netbsd-arm64), type SocketControlMessage struct, Data []uint8 +pkg syscall (netbsd-arm64), type SocketControlMessage struct, Header Cmsghdr +pkg syscall (netbsd-arm64), type Statfs_t [0]uint8 +pkg syscall (netbsd-arm64), type Stat_t struct +pkg syscall (netbsd-arm64), type Stat_t struct, Atimespec Timespec +pkg syscall (netbsd-arm64), type Stat_t struct, Birthtimespec Timespec +pkg syscall (netbsd-arm64), type Stat_t struct, Blksize uint32 +pkg syscall (netbsd-arm64), type Stat_t struct, Blocks int64 +pkg syscall (netbsd-arm64), type Stat_t struct, Ctimespec Timespec +pkg syscall (netbsd-arm64), type Stat_t struct, Dev uint64 +pkg syscall (netbsd-arm64), type Stat_t struct, Flags uint32 +pkg syscall (netbsd-arm64), type Stat_t struct, Gen uint32 +pkg syscall (netbsd-arm64), type Stat_t struct, Gid uint32 +pkg syscall (netbsd-arm64), type Stat_t struct, Ino uint64 +pkg syscall (netbsd-arm64), type Stat_t struct, Mode uint32 +pkg syscall (netbsd-arm64), type Stat_t struct, Mtimespec Timespec +pkg syscall (netbsd-arm64), type Stat_t struct, Nlink uint32 +pkg syscall (netbsd-arm64), type Stat_t struct, Pad_cgo_0 [4]uint8 +pkg syscall (netbsd-arm64), type Stat_t struct, Pad_cgo_1 [4]uint8 +pkg syscall (netbsd-arm64), type Stat_t struct, Pad_cgo_2 [4]uint8 +pkg syscall (netbsd-arm64), type Stat_t struct, Rdev uint64 +pkg syscall (netbsd-arm64), type Stat_t struct, Size int64 +pkg syscall (netbsd-arm64), type Stat_t struct, Spare [2]uint32 +pkg syscall (netbsd-arm64), type Stat_t struct, Uid uint32 +pkg syscall (netbsd-arm64), type Sysctlnode struct +pkg syscall (netbsd-arm64), type Sysctlnode struct, Flags uint32 +pkg syscall (netbsd-arm64), type Sysctlnode struct, Name [32]int8 +pkg syscall (netbsd-arm64), type Sysctlnode struct, Num int32 +pkg syscall (netbsd-arm64), type Sysctlnode struct, Un [16]uint8 +pkg syscall (netbsd-arm64), type Sysctlnode struct, Ver uint32 +pkg syscall (netbsd-arm64), type Sysctlnode struct, X__rsvd uint32 +pkg syscall (netbsd-arm64), type Sysctlnode struct, X_sysctl_desc [8]uint8 +pkg syscall (netbsd-arm64), type Sysctlnode struct, X_sysctl_func [8]uint8 +pkg syscall (netbsd-arm64), type Sysctlnode struct, X_sysctl_parent [8]uint8 +pkg syscall (netbsd-arm64), type Sysctlnode struct, X_sysctl_size [8]uint8 +pkg syscall (netbsd-arm64), type SysProcAttr struct, Chroot string +pkg syscall (netbsd-arm64), type SysProcAttr struct, Credential *Credential +pkg syscall (netbsd-arm64), type SysProcAttr struct, Ctty int +pkg syscall (netbsd-arm64), type SysProcAttr struct, Foreground bool +pkg syscall (netbsd-arm64), type SysProcAttr struct, Noctty bool +pkg syscall (netbsd-arm64), type SysProcAttr struct, Pgid int +pkg syscall (netbsd-arm64), type SysProcAttr struct, Ptrace bool +pkg syscall (netbsd-arm64), type SysProcAttr struct, Setctty bool +pkg syscall (netbsd-arm64), type SysProcAttr struct, Setpgid bool +pkg syscall (netbsd-arm64), type SysProcAttr struct, Setsid bool +pkg syscall (netbsd-arm64), type Termios struct +pkg syscall (netbsd-arm64), type Termios struct, Cc [20]uint8 +pkg syscall (netbsd-arm64), type Termios struct, Cflag uint32 +pkg syscall (netbsd-arm64), type Termios struct, Iflag uint32 +pkg syscall (netbsd-arm64), type Termios struct, Ispeed int32 +pkg syscall (netbsd-arm64), type Termios struct, Lflag uint32 +pkg syscall (netbsd-arm64), type Termios struct, Oflag uint32 +pkg syscall (netbsd-arm64), type Termios struct, Ospeed int32 +pkg syscall (netbsd-arm64), type Timespec struct, Nsec int64 +pkg syscall (netbsd-arm64), type Timespec struct, Sec int64 +pkg syscall (netbsd-arm64), type Timeval struct, Pad_cgo_0 [4]uint8 +pkg syscall (netbsd-arm64), type Timeval struct, Sec int64 +pkg syscall (netbsd-arm64), type Timeval struct, Usec int32 +pkg syscall (netbsd-arm64), type WaitStatus uint32 +pkg syscall (netbsd-arm64), var Stderr int +pkg syscall (netbsd-arm64), var Stdin int +pkg syscall (netbsd-arm64), var Stdout int +pkg syscall (windows-386), type SysProcAttr struct, ProcessAttributes *SecurityAttributes +pkg syscall (windows-386), type SysProcAttr struct, ThreadAttributes *SecurityAttributes +pkg syscall (windows-amd64), type SysProcAttr struct, ProcessAttributes *SecurityAttributes +pkg syscall (windows-amd64), type SysProcAttr struct, ThreadAttributes *SecurityAttributes +pkg testing, func Init() +pkg testing, method (*B) ReportMetric(float64, string) +pkg testing, type BenchmarkResult struct, Extra map[string]float64 +pkg text/template, method (ExecError) Unwrap() error +pkg time, method (Duration) Microseconds() int64 +pkg time, method (Duration) Milliseconds() int64 +pkg unicode, const Version = "11.0.0" +pkg unicode, var Dogra *RangeTable +pkg unicode, var Gunjala_Gondi *RangeTable +pkg unicode, var Hanifi_Rohingya *RangeTable +pkg unicode, var Makasar *RangeTable +pkg unicode, var Medefaidrin *RangeTable +pkg unicode, var Old_Sogdian *RangeTable +pkg unicode, var Sogdian *RangeTable diff --git a/api/next.txt b/api/next.txt index 24c4daf1ad..e69de29bb2 100644 --- a/api/next.txt +++ b/api/next.txt @@ -1,8042 +0,0 @@ -pkg bytes, func ToValidUTF8([]uint8, []uint8) []uint8 -pkg crypto/ed25519, const PrivateKeySize = 64 -pkg crypto/ed25519, const PrivateKeySize ideal-int -pkg crypto/ed25519, const PublicKeySize = 32 -pkg crypto/ed25519, const PublicKeySize ideal-int -pkg crypto/ed25519, const SeedSize = 32 -pkg crypto/ed25519, const SeedSize ideal-int -pkg crypto/ed25519, const SignatureSize = 64 -pkg crypto/ed25519, const SignatureSize ideal-int -pkg crypto/ed25519, func GenerateKey(io.Reader) (PublicKey, PrivateKey, error) -pkg crypto/ed25519, func NewKeyFromSeed([]uint8) PrivateKey -pkg crypto/ed25519, func Sign(PrivateKey, []uint8) []uint8 -pkg crypto/ed25519, func Verify(PublicKey, []uint8, []uint8) bool -pkg crypto/ed25519, method (PrivateKey) Public() crypto.PublicKey -pkg crypto/ed25519, method (PrivateKey) Seed() []uint8 -pkg crypto/ed25519, method (PrivateKey) Sign(io.Reader, []uint8, crypto.SignerOpts) ([]uint8, error) -pkg crypto/ed25519, type PrivateKey []uint8 -pkg crypto/ed25519, type PublicKey []uint8 -pkg database/sql, method (*NullInt32) Scan(interface{}) error -pkg database/sql, method (*NullTime) Scan(interface{}) error -pkg database/sql, method (NullInt32) Value() (driver.Value, error) -pkg database/sql, method (NullTime) Value() (driver.Value, error) -pkg database/sql, type NullInt32 struct -pkg database/sql, type NullInt32 struct, Int32 int32 -pkg database/sql, type NullInt32 struct, Valid bool -pkg database/sql, type NullTime struct -pkg database/sql, type NullTime struct, Time time.Time -pkg database/sql, type NullTime struct, Valid bool -pkg debug/dwarf, method (*UnsupportedType) Common() *CommonType -pkg debug/dwarf, method (*UnsupportedType) Size() int64 -pkg debug/dwarf, method (*UnsupportedType) String() string -pkg debug/dwarf, type UnsupportedType struct -pkg debug/dwarf, type UnsupportedType struct, Tag Tag -pkg debug/dwarf, type UnsupportedType struct, embedded CommonType -pkg encoding/csv, method (*ParseError) Unwrap() error -pkg encoding/json, method (*MarshalerError) Unwrap() error -pkg errors, func As(error, interface{}) bool -pkg errors, func Caller(int) Frame -pkg errors, func Is(error, error) bool -pkg errors, func Opaque(error) error -pkg errors, func Unwrap(error) error -pkg errors, method (Frame) Format(Printer) -pkg errors, type Formatter interface { Error, FormatError } -pkg errors, type Formatter interface, Error() string -pkg errors, type Formatter interface, FormatError(Printer) error -pkg errors, type Frame struct -pkg errors, type Printer interface { Detail, Print, Printf } -pkg errors, type Printer interface, Detail() bool -pkg errors, type Printer interface, Print(...interface{}) -pkg errors, type Printer interface, Printf(string, ...interface{}) -pkg errors, type Wrapper interface { Unwrap } -pkg errors, type Wrapper interface, Unwrap() error -pkg go/constant, func Make(interface{}) Value -pkg go/constant, func Val(Value) interface{} -pkg go/token, func IsExported(string) bool -pkg go/token, func IsIdentifier(string) bool -pkg go/token, func IsKeyword(string) bool -pkg log, func Writer() io.Writer -pkg log/syslog (netbsd-arm64), const LOG_ALERT = 1 -pkg log/syslog (netbsd-arm64), const LOG_ALERT Priority -pkg log/syslog (netbsd-arm64), const LOG_AUTH = 32 -pkg log/syslog (netbsd-arm64), const LOG_AUTH Priority -pkg log/syslog (netbsd-arm64), const LOG_AUTHPRIV = 80 -pkg log/syslog (netbsd-arm64), const LOG_AUTHPRIV Priority -pkg log/syslog (netbsd-arm64), const LOG_CRIT = 2 -pkg log/syslog (netbsd-arm64), const LOG_CRIT Priority -pkg log/syslog (netbsd-arm64), const LOG_CRON = 72 -pkg log/syslog (netbsd-arm64), const LOG_CRON Priority -pkg log/syslog (netbsd-arm64), const LOG_DAEMON = 24 -pkg log/syslog (netbsd-arm64), const LOG_DAEMON Priority -pkg log/syslog (netbsd-arm64), const LOG_DEBUG = 7 -pkg log/syslog (netbsd-arm64), const LOG_DEBUG Priority -pkg log/syslog (netbsd-arm64), const LOG_EMERG = 0 -pkg log/syslog (netbsd-arm64), const LOG_EMERG Priority -pkg log/syslog (netbsd-arm64), const LOG_ERR = 3 -pkg log/syslog (netbsd-arm64), const LOG_ERR Priority -pkg log/syslog (netbsd-arm64), const LOG_FTP = 88 -pkg log/syslog (netbsd-arm64), const LOG_FTP Priority -pkg log/syslog (netbsd-arm64), const LOG_INFO = 6 -pkg log/syslog (netbsd-arm64), const LOG_INFO Priority -pkg log/syslog (netbsd-arm64), const LOG_KERN = 0 -pkg log/syslog (netbsd-arm64), const LOG_KERN Priority -pkg log/syslog (netbsd-arm64), const LOG_LOCAL0 = 128 -pkg log/syslog (netbsd-arm64), const LOG_LOCAL0 Priority -pkg log/syslog (netbsd-arm64), const LOG_LOCAL1 = 136 -pkg log/syslog (netbsd-arm64), const LOG_LOCAL1 Priority -pkg log/syslog (netbsd-arm64), const LOG_LOCAL2 = 144 -pkg log/syslog (netbsd-arm64), const LOG_LOCAL2 Priority -pkg log/syslog (netbsd-arm64), const LOG_LOCAL3 = 152 -pkg log/syslog (netbsd-arm64), const LOG_LOCAL3 Priority -pkg log/syslog (netbsd-arm64), const LOG_LOCAL4 = 160 -pkg log/syslog (netbsd-arm64), const LOG_LOCAL4 Priority -pkg log/syslog (netbsd-arm64), const LOG_LOCAL5 = 168 -pkg log/syslog (netbsd-arm64), const LOG_LOCAL5 Priority -pkg log/syslog (netbsd-arm64), const LOG_LOCAL6 = 176 -pkg log/syslog (netbsd-arm64), const LOG_LOCAL6 Priority -pkg log/syslog (netbsd-arm64), const LOG_LOCAL7 = 184 -pkg log/syslog (netbsd-arm64), const LOG_LOCAL7 Priority -pkg log/syslog (netbsd-arm64), const LOG_LPR = 48 -pkg log/syslog (netbsd-arm64), const LOG_LPR Priority -pkg log/syslog (netbsd-arm64), const LOG_MAIL = 16 -pkg log/syslog (netbsd-arm64), const LOG_MAIL Priority -pkg log/syslog (netbsd-arm64), const LOG_NEWS = 56 -pkg log/syslog (netbsd-arm64), const LOG_NEWS Priority -pkg log/syslog (netbsd-arm64), const LOG_NOTICE = 5 -pkg log/syslog (netbsd-arm64), const LOG_NOTICE Priority -pkg log/syslog (netbsd-arm64), const LOG_SYSLOG = 40 -pkg log/syslog (netbsd-arm64), const LOG_SYSLOG Priority -pkg log/syslog (netbsd-arm64), const LOG_USER = 8 -pkg log/syslog (netbsd-arm64), const LOG_USER Priority -pkg log/syslog (netbsd-arm64), const LOG_UUCP = 64 -pkg log/syslog (netbsd-arm64), const LOG_UUCP Priority -pkg log/syslog (netbsd-arm64), const LOG_WARNING = 4 -pkg log/syslog (netbsd-arm64), const LOG_WARNING Priority -pkg log/syslog (netbsd-arm64), func Dial(string, string, Priority, string) (*Writer, error) -pkg log/syslog (netbsd-arm64), func New(Priority, string) (*Writer, error) -pkg log/syslog (netbsd-arm64), func NewLogger(Priority, int) (*log.Logger, error) -pkg log/syslog (netbsd-arm64), method (*Writer) Alert(string) error -pkg log/syslog (netbsd-arm64), method (*Writer) Close() error -pkg log/syslog (netbsd-arm64), method (*Writer) Crit(string) error -pkg log/syslog (netbsd-arm64), method (*Writer) Debug(string) error -pkg log/syslog (netbsd-arm64), method (*Writer) Emerg(string) error -pkg log/syslog (netbsd-arm64), method (*Writer) Err(string) error -pkg log/syslog (netbsd-arm64), method (*Writer) Info(string) error -pkg log/syslog (netbsd-arm64), method (*Writer) Notice(string) error -pkg log/syslog (netbsd-arm64), method (*Writer) Warning(string) error -pkg log/syslog (netbsd-arm64), method (*Writer) Write([]uint8) (int, error) -pkg log/syslog (netbsd-arm64), type Priority int -pkg log/syslog (netbsd-arm64), type Writer struct -pkg log/syslog (netbsd-arm64-cgo), const LOG_ALERT = 1 -pkg log/syslog (netbsd-arm64-cgo), const LOG_ALERT Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_AUTH = 32 -pkg log/syslog (netbsd-arm64-cgo), const LOG_AUTH Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_AUTHPRIV = 80 -pkg log/syslog (netbsd-arm64-cgo), const LOG_AUTHPRIV Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_CRIT = 2 -pkg log/syslog (netbsd-arm64-cgo), const LOG_CRIT Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_CRON = 72 -pkg log/syslog (netbsd-arm64-cgo), const LOG_CRON Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_DAEMON = 24 -pkg log/syslog (netbsd-arm64-cgo), const LOG_DAEMON Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_DEBUG = 7 -pkg log/syslog (netbsd-arm64-cgo), const LOG_DEBUG Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_EMERG = 0 -pkg log/syslog (netbsd-arm64-cgo), const LOG_EMERG Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_ERR = 3 -pkg log/syslog (netbsd-arm64-cgo), const LOG_ERR Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_FTP = 88 -pkg log/syslog (netbsd-arm64-cgo), const LOG_FTP Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_INFO = 6 -pkg log/syslog (netbsd-arm64-cgo), const LOG_INFO Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_KERN = 0 -pkg log/syslog (netbsd-arm64-cgo), const LOG_KERN Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL0 = 128 -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL0 Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL1 = 136 -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL1 Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL2 = 144 -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL2 Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL3 = 152 -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL3 Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL4 = 160 -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL4 Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL5 = 168 -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL5 Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL6 = 176 -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL6 Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL7 = 184 -pkg log/syslog (netbsd-arm64-cgo), const LOG_LOCAL7 Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_LPR = 48 -pkg log/syslog (netbsd-arm64-cgo), const LOG_LPR Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_MAIL = 16 -pkg log/syslog (netbsd-arm64-cgo), const LOG_MAIL Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_NEWS = 56 -pkg log/syslog (netbsd-arm64-cgo), const LOG_NEWS Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_NOTICE = 5 -pkg log/syslog (netbsd-arm64-cgo), const LOG_NOTICE Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_SYSLOG = 40 -pkg log/syslog (netbsd-arm64-cgo), const LOG_SYSLOG Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_USER = 8 -pkg log/syslog (netbsd-arm64-cgo), const LOG_USER Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_UUCP = 64 -pkg log/syslog (netbsd-arm64-cgo), const LOG_UUCP Priority -pkg log/syslog (netbsd-arm64-cgo), const LOG_WARNING = 4 -pkg log/syslog (netbsd-arm64-cgo), const LOG_WARNING Priority -pkg log/syslog (netbsd-arm64-cgo), func Dial(string, string, Priority, string) (*Writer, error) -pkg log/syslog (netbsd-arm64-cgo), func New(Priority, string) (*Writer, error) -pkg log/syslog (netbsd-arm64-cgo), func NewLogger(Priority, int) (*log.Logger, error) -pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Alert(string) error -pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Close() error -pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Crit(string) error -pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Debug(string) error -pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Emerg(string) error -pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Err(string) error -pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Info(string) error -pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Notice(string) error -pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Warning(string) error -pkg log/syslog (netbsd-arm64-cgo), method (*Writer) Write([]uint8) (int, error) -pkg log/syslog (netbsd-arm64-cgo), type Priority int -pkg log/syslog (netbsd-arm64-cgo), type Writer struct -pkg math/big, method (*Int) TrailingZeroBits() uint -pkg math/big, method (*Rat) SetUint64(uint64) *Rat -pkg net, method (*DNSConfigError) Unwrap() error -pkg net, method (*DNSError) Is(error) bool -pkg net, method (*OpError) Is(error) bool -pkg net, method (*OpError) Unwrap() error -pkg net, type DNSError struct, IsNotFound bool -pkg net, type ListenConfig struct, KeepAlive time.Duration -pkg net/http, const SameSiteNoneMode = 4 -pkg net/http, const SameSiteNoneMode SameSite -pkg net/http, const StatusEarlyHints = 103 -pkg net/http, const StatusEarlyHints ideal-int -pkg net/http, func NewRequestWithContext(context.Context, string, string, io.Reader) (*Request, error) -pkg net/http, method (*Request) Clone(context.Context) *Request -pkg net/http, method (*Transport) Clone() *Transport -pkg net/http, method (Header) Clone() Header -pkg net/http, type Server struct, BaseContext func(net.Listener) context.Context -pkg net/http, type Server struct, ConnContext func(context.Context, net.Conn) context.Context -pkg net/http, type Transport struct, ForceAttemptHTTP2 bool -pkg net/http, type Transport struct, ReadBufferSize int -pkg net/http, type Transport struct, WriteBufferSize int -pkg net/url, method (*Error) Unwrap() error -pkg os (netbsd-arm64), const DevNull = "/dev/null" -pkg os (netbsd-arm64), const O_APPEND = 8 -pkg os (netbsd-arm64), const O_CREATE = 512 -pkg os (netbsd-arm64), const O_EXCL = 2048 -pkg os (netbsd-arm64), const O_SYNC = 128 -pkg os (netbsd-arm64), const O_TRUNC = 1024 -pkg os (netbsd-arm64), const PathListSeparator = 58 -pkg os (netbsd-arm64), const PathSeparator = 47 -pkg os (netbsd-arm64-cgo), const DevNull = "/dev/null" -pkg os (netbsd-arm64-cgo), const O_APPEND = 8 -pkg os (netbsd-arm64-cgo), const O_CREATE = 512 -pkg os (netbsd-arm64-cgo), const O_EXCL = 2048 -pkg os (netbsd-arm64-cgo), const O_SYNC = 128 -pkg os (netbsd-arm64-cgo), const O_TRUNC = 1024 -pkg os (netbsd-arm64-cgo), const PathListSeparator = 58 -pkg os (netbsd-arm64-cgo), const PathSeparator = 47 -pkg os, func UserConfigDir() (string, error) -pkg os, method (*LinkError) Unwrap() error -pkg os, method (*PathError) Unwrap() error -pkg os, method (*SyscallError) Unwrap() error -pkg os, var ErrTemporary error -pkg os, var ErrTimeout error -pkg os/exec, method (*Cmd) String() string -pkg os/exec, method (*Error) Unwrap() error -pkg path/filepath (netbsd-arm64), const ListSeparator = 58 -pkg path/filepath (netbsd-arm64), const Separator = 47 -pkg path/filepath (netbsd-arm64-cgo), const ListSeparator = 58 -pkg path/filepath (netbsd-arm64-cgo), const Separator = 47 -pkg reflect, method (Value) IsZero() bool -pkg runtime (netbsd-arm64), const GOARCH = "arm64" -pkg runtime (netbsd-arm64), const GOOS = "netbsd" -pkg runtime (netbsd-arm64-cgo), const GOARCH = "arm64" -pkg runtime (netbsd-arm64-cgo), const GOOS = "netbsd" -pkg strings, func ToValidUTF8(string, string) string -pkg syscall (netbsd-arm64), const AF_APPLETALK = 16 -pkg syscall (netbsd-arm64), const AF_APPLETALK ideal-int -pkg syscall (netbsd-arm64), const AF_ARP = 28 -pkg syscall (netbsd-arm64), const AF_ARP ideal-int -pkg syscall (netbsd-arm64), const AF_BLUETOOTH = 31 -pkg syscall (netbsd-arm64), const AF_BLUETOOTH ideal-int -pkg syscall (netbsd-arm64), const AF_CCITT = 10 -pkg syscall (netbsd-arm64), const AF_CCITT ideal-int -pkg syscall (netbsd-arm64), const AF_CHAOS = 5 -pkg syscall (netbsd-arm64), const AF_CHAOS ideal-int -pkg syscall (netbsd-arm64), const AF_CNT = 21 -pkg syscall (netbsd-arm64), const AF_CNT ideal-int -pkg syscall (netbsd-arm64), const AF_COIP = 20 -pkg syscall (netbsd-arm64), const AF_COIP ideal-int -pkg syscall (netbsd-arm64), const AF_DATAKIT = 9 -pkg syscall (netbsd-arm64), const AF_DATAKIT ideal-int -pkg syscall (netbsd-arm64), const AF_DECnet = 12 -pkg syscall (netbsd-arm64), const AF_DECnet ideal-int -pkg syscall (netbsd-arm64), const AF_DLI = 13 -pkg syscall (netbsd-arm64), const AF_DLI ideal-int -pkg syscall (netbsd-arm64), const AF_E164 = 26 -pkg syscall (netbsd-arm64), const AF_E164 ideal-int -pkg syscall (netbsd-arm64), const AF_ECMA = 8 -pkg syscall (netbsd-arm64), const AF_ECMA ideal-int -pkg syscall (netbsd-arm64), const AF_HYLINK = 15 -pkg syscall (netbsd-arm64), const AF_HYLINK ideal-int -pkg syscall (netbsd-arm64), const AF_IEEE80211 = 32 -pkg syscall (netbsd-arm64), const AF_IEEE80211 ideal-int -pkg syscall (netbsd-arm64), const AF_IMPLINK = 3 -pkg syscall (netbsd-arm64), const AF_IMPLINK ideal-int -pkg syscall (netbsd-arm64), const AF_INET6 = 24 -pkg syscall (netbsd-arm64), const AF_IPX = 23 -pkg syscall (netbsd-arm64), const AF_IPX ideal-int -pkg syscall (netbsd-arm64), const AF_ISDN = 26 -pkg syscall (netbsd-arm64), const AF_ISDN ideal-int -pkg syscall (netbsd-arm64), const AF_ISO = 7 -pkg syscall (netbsd-arm64), const AF_ISO ideal-int -pkg syscall (netbsd-arm64), const AF_LAT = 14 -pkg syscall (netbsd-arm64), const AF_LAT ideal-int -pkg syscall (netbsd-arm64), const AF_LINK = 18 -pkg syscall (netbsd-arm64), const AF_LINK ideal-int -pkg syscall (netbsd-arm64), const AF_LOCAL = 1 -pkg syscall (netbsd-arm64), const AF_LOCAL ideal-int -pkg syscall (netbsd-arm64), const AF_MAX = 35 -pkg syscall (netbsd-arm64), const AF_MAX ideal-int -pkg syscall (netbsd-arm64), const AF_MPLS = 33 -pkg syscall (netbsd-arm64), const AF_MPLS ideal-int -pkg syscall (netbsd-arm64), const AF_NATM = 27 -pkg syscall (netbsd-arm64), const AF_NATM ideal-int -pkg syscall (netbsd-arm64), const AF_NS = 6 -pkg syscall (netbsd-arm64), const AF_NS ideal-int -pkg syscall (netbsd-arm64), const AF_OROUTE = 17 -pkg syscall (netbsd-arm64), const AF_OROUTE ideal-int -pkg syscall (netbsd-arm64), const AF_OSI = 7 -pkg syscall (netbsd-arm64), const AF_OSI ideal-int -pkg syscall (netbsd-arm64), const AF_PUP = 4 -pkg syscall (netbsd-arm64), const AF_PUP ideal-int -pkg syscall (netbsd-arm64), const AF_ROUTE = 34 -pkg syscall (netbsd-arm64), const AF_ROUTE ideal-int -pkg syscall (netbsd-arm64), const AF_SNA = 11 -pkg syscall (netbsd-arm64), const AF_SNA ideal-int -pkg syscall (netbsd-arm64), const ARPHRD_ARCNET = 7 -pkg syscall (netbsd-arm64), const ARPHRD_ARCNET ideal-int -pkg syscall (netbsd-arm64), const ARPHRD_ETHER = 1 -pkg syscall (netbsd-arm64), const ARPHRD_ETHER ideal-int -pkg syscall (netbsd-arm64), const ARPHRD_FRELAY = 15 -pkg syscall (netbsd-arm64), const ARPHRD_FRELAY ideal-int -pkg syscall (netbsd-arm64), const ARPHRD_IEEE1394 = 24 -pkg syscall (netbsd-arm64), const ARPHRD_IEEE1394 ideal-int -pkg syscall (netbsd-arm64), const ARPHRD_IEEE802 = 6 -pkg syscall (netbsd-arm64), const ARPHRD_IEEE802 ideal-int -pkg syscall (netbsd-arm64), const ARPHRD_STRIP = 23 -pkg syscall (netbsd-arm64), const ARPHRD_STRIP ideal-int -pkg syscall (netbsd-arm64), const B0 = 0 -pkg syscall (netbsd-arm64), const B0 ideal-int -pkg syscall (netbsd-arm64), const B110 = 110 -pkg syscall (netbsd-arm64), const B110 ideal-int -pkg syscall (netbsd-arm64), const B115200 = 115200 -pkg syscall (netbsd-arm64), const B115200 ideal-int -pkg syscall (netbsd-arm64), const B1200 = 1200 -pkg syscall (netbsd-arm64), const B1200 ideal-int -pkg syscall (netbsd-arm64), const B134 = 134 -pkg syscall (netbsd-arm64), const B134 ideal-int -pkg syscall (netbsd-arm64), const B14400 = 14400 -pkg syscall (netbsd-arm64), const B14400 ideal-int -pkg syscall (netbsd-arm64), const B150 = 150 -pkg syscall (netbsd-arm64), const B150 ideal-int -pkg syscall (netbsd-arm64), const B1800 = 1800 -pkg syscall (netbsd-arm64), const B1800 ideal-int -pkg syscall (netbsd-arm64), const B19200 = 19200 -pkg syscall (netbsd-arm64), const B19200 ideal-int -pkg syscall (netbsd-arm64), const B200 = 200 -pkg syscall (netbsd-arm64), const B200 ideal-int -pkg syscall (netbsd-arm64), const B230400 = 230400 -pkg syscall (netbsd-arm64), const B230400 ideal-int -pkg syscall (netbsd-arm64), const B2400 = 2400 -pkg syscall (netbsd-arm64), const B2400 ideal-int -pkg syscall (netbsd-arm64), const B28800 = 28800 -pkg syscall (netbsd-arm64), const B28800 ideal-int -pkg syscall (netbsd-arm64), const B300 = 300 -pkg syscall (netbsd-arm64), const B300 ideal-int -pkg syscall (netbsd-arm64), const B38400 = 38400 -pkg syscall (netbsd-arm64), const B38400 ideal-int -pkg syscall (netbsd-arm64), const B460800 = 460800 -pkg syscall (netbsd-arm64), const B460800 ideal-int -pkg syscall (netbsd-arm64), const B4800 = 4800 -pkg syscall (netbsd-arm64), const B4800 ideal-int -pkg syscall (netbsd-arm64), const B50 = 50 -pkg syscall (netbsd-arm64), const B50 ideal-int -pkg syscall (netbsd-arm64), const B57600 = 57600 -pkg syscall (netbsd-arm64), const B57600 ideal-int -pkg syscall (netbsd-arm64), const B600 = 600 -pkg syscall (netbsd-arm64), const B600 ideal-int -pkg syscall (netbsd-arm64), const B7200 = 7200 -pkg syscall (netbsd-arm64), const B7200 ideal-int -pkg syscall (netbsd-arm64), const B75 = 75 -pkg syscall (netbsd-arm64), const B75 ideal-int -pkg syscall (netbsd-arm64), const B76800 = 76800 -pkg syscall (netbsd-arm64), const B76800 ideal-int -pkg syscall (netbsd-arm64), const B921600 = 921600 -pkg syscall (netbsd-arm64), const B921600 ideal-int -pkg syscall (netbsd-arm64), const B9600 = 9600 -pkg syscall (netbsd-arm64), const B9600 ideal-int -pkg syscall (netbsd-arm64), const BIOCFEEDBACK = 2147762813 -pkg syscall (netbsd-arm64), const BIOCFEEDBACK ideal-int -pkg syscall (netbsd-arm64), const BIOCFLUSH = 536887912 -pkg syscall (netbsd-arm64), const BIOCFLUSH ideal-int -pkg syscall (netbsd-arm64), const BIOCGBLEN = 1074020966 -pkg syscall (netbsd-arm64), const BIOCGBLEN ideal-int -pkg syscall (netbsd-arm64), const BIOCGDLT = 1074020970 -pkg syscall (netbsd-arm64), const BIOCGDLT ideal-int -pkg syscall (netbsd-arm64), const BIOCGDLTLIST = 3222291063 -pkg syscall (netbsd-arm64), const BIOCGDLTLIST ideal-int -pkg syscall (netbsd-arm64), const BIOCGETIF = 1083196011 -pkg syscall (netbsd-arm64), const BIOCGETIF ideal-int -pkg syscall (netbsd-arm64), const BIOCGFEEDBACK = 1074020988 -pkg syscall (netbsd-arm64), const BIOCGFEEDBACK ideal-int -pkg syscall (netbsd-arm64), const BIOCGHDRCMPLT = 1074020980 -pkg syscall (netbsd-arm64), const BIOCGHDRCMPLT ideal-int -pkg syscall (netbsd-arm64), const BIOCGRTIMEOUT = 1074807419 -pkg syscall (netbsd-arm64), const BIOCGRTIMEOUT ideal-int -pkg syscall (netbsd-arm64), const BIOCGSEESENT = 1074020984 -pkg syscall (netbsd-arm64), const BIOCGSEESENT ideal-int -pkg syscall (netbsd-arm64), const BIOCGSTATS = 1082147439 -pkg syscall (netbsd-arm64), const BIOCGSTATS ideal-int -pkg syscall (netbsd-arm64), const BIOCGSTATSOLD = 1074283119 -pkg syscall (netbsd-arm64), const BIOCGSTATSOLD ideal-int -pkg syscall (netbsd-arm64), const BIOCIMMEDIATE = 2147762800 -pkg syscall (netbsd-arm64), const BIOCIMMEDIATE ideal-int -pkg syscall (netbsd-arm64), const BIOCPROMISC = 536887913 -pkg syscall (netbsd-arm64), const BIOCPROMISC ideal-int -pkg syscall (netbsd-arm64), const BIOCSBLEN = 3221504614 -pkg syscall (netbsd-arm64), const BIOCSBLEN ideal-int -pkg syscall (netbsd-arm64), const BIOCSDLT = 2147762806 -pkg syscall (netbsd-arm64), const BIOCSDLT ideal-int -pkg syscall (netbsd-arm64), const BIOCSETF = 2148549223 -pkg syscall (netbsd-arm64), const BIOCSETF ideal-int -pkg syscall (netbsd-arm64), const BIOCSETIF = 2156937836 -pkg syscall (netbsd-arm64), const BIOCSETIF ideal-int -pkg syscall (netbsd-arm64), const BIOCSFEEDBACK = 2147762813 -pkg syscall (netbsd-arm64), const BIOCSFEEDBACK ideal-int -pkg syscall (netbsd-arm64), const BIOCSHDRCMPLT = 2147762805 -pkg syscall (netbsd-arm64), const BIOCSHDRCMPLT ideal-int -pkg syscall (netbsd-arm64), const BIOCSRTIMEOUT = 2148549242 -pkg syscall (netbsd-arm64), const BIOCSRTIMEOUT ideal-int -pkg syscall (netbsd-arm64), const BIOCSSEESENT = 2147762809 -pkg syscall (netbsd-arm64), const BIOCSSEESENT ideal-int -pkg syscall (netbsd-arm64), const BIOCSTCPF = 2148549234 -pkg syscall (netbsd-arm64), const BIOCSTCPF ideal-int -pkg syscall (netbsd-arm64), const BIOCSUDPF = 2148549235 -pkg syscall (netbsd-arm64), const BIOCSUDPF ideal-int -pkg syscall (netbsd-arm64), const BIOCVERSION = 1074020977 -pkg syscall (netbsd-arm64), const BIOCVERSION ideal-int -pkg syscall (netbsd-arm64), const BPF_A = 16 -pkg syscall (netbsd-arm64), const BPF_A ideal-int -pkg syscall (netbsd-arm64), const BPF_ABS = 32 -pkg syscall (netbsd-arm64), const BPF_ABS ideal-int -pkg syscall (netbsd-arm64), const BPF_ADD = 0 -pkg syscall (netbsd-arm64), const BPF_ADD ideal-int -pkg syscall (netbsd-arm64), const BPF_ALIGNMENT = 8 -pkg syscall (netbsd-arm64), const BPF_ALIGNMENT ideal-int -pkg syscall (netbsd-arm64), const BPF_ALIGNMENT32 = 4 -pkg syscall (netbsd-arm64), const BPF_ALIGNMENT32 ideal-int -pkg syscall (netbsd-arm64), const BPF_ALU = 4 -pkg syscall (netbsd-arm64), const BPF_ALU ideal-int -pkg syscall (netbsd-arm64), const BPF_AND = 80 -pkg syscall (netbsd-arm64), const BPF_AND ideal-int -pkg syscall (netbsd-arm64), const BPF_B = 16 -pkg syscall (netbsd-arm64), const BPF_B ideal-int -pkg syscall (netbsd-arm64), const BPF_DFLTBUFSIZE = 1048576 -pkg syscall (netbsd-arm64), const BPF_DFLTBUFSIZE ideal-int -pkg syscall (netbsd-arm64), const BPF_DIV = 48 -pkg syscall (netbsd-arm64), const BPF_DIV ideal-int -pkg syscall (netbsd-arm64), const BPF_H = 8 -pkg syscall (netbsd-arm64), const BPF_H ideal-int -pkg syscall (netbsd-arm64), const BPF_IMM = 0 -pkg syscall (netbsd-arm64), const BPF_IMM ideal-int -pkg syscall (netbsd-arm64), const BPF_IND = 64 -pkg syscall (netbsd-arm64), const BPF_IND ideal-int -pkg syscall (netbsd-arm64), const BPF_JA = 0 -pkg syscall (netbsd-arm64), const BPF_JA ideal-int -pkg syscall (netbsd-arm64), const BPF_JEQ = 16 -pkg syscall (netbsd-arm64), const BPF_JEQ ideal-int -pkg syscall (netbsd-arm64), const BPF_JGE = 48 -pkg syscall (netbsd-arm64), const BPF_JGE ideal-int -pkg syscall (netbsd-arm64), const BPF_JGT = 32 -pkg syscall (netbsd-arm64), const BPF_JGT ideal-int -pkg syscall (netbsd-arm64), const BPF_JMP = 5 -pkg syscall (netbsd-arm64), const BPF_JMP ideal-int -pkg syscall (netbsd-arm64), const BPF_JSET = 64 -pkg syscall (netbsd-arm64), const BPF_JSET ideal-int -pkg syscall (netbsd-arm64), const BPF_K = 0 -pkg syscall (netbsd-arm64), const BPF_K ideal-int -pkg syscall (netbsd-arm64), const BPF_LD = 0 -pkg syscall (netbsd-arm64), const BPF_LD ideal-int -pkg syscall (netbsd-arm64), const BPF_LDX = 1 -pkg syscall (netbsd-arm64), const BPF_LDX ideal-int -pkg syscall (netbsd-arm64), const BPF_LEN = 128 -pkg syscall (netbsd-arm64), const BPF_LEN ideal-int -pkg syscall (netbsd-arm64), const BPF_LSH = 96 -pkg syscall (netbsd-arm64), const BPF_LSH ideal-int -pkg syscall (netbsd-arm64), const BPF_MAJOR_VERSION = 1 -pkg syscall (netbsd-arm64), const BPF_MAJOR_VERSION ideal-int -pkg syscall (netbsd-arm64), const BPF_MAXBUFSIZE = 16777216 -pkg syscall (netbsd-arm64), const BPF_MAXBUFSIZE ideal-int -pkg syscall (netbsd-arm64), const BPF_MAXINSNS = 512 -pkg syscall (netbsd-arm64), const BPF_MAXINSNS ideal-int -pkg syscall (netbsd-arm64), const BPF_MEM = 96 -pkg syscall (netbsd-arm64), const BPF_MEM ideal-int -pkg syscall (netbsd-arm64), const BPF_MEMWORDS = 16 -pkg syscall (netbsd-arm64), const BPF_MEMWORDS ideal-int -pkg syscall (netbsd-arm64), const BPF_MINBUFSIZE = 32 -pkg syscall (netbsd-arm64), const BPF_MINBUFSIZE ideal-int -pkg syscall (netbsd-arm64), const BPF_MINOR_VERSION = 1 -pkg syscall (netbsd-arm64), const BPF_MINOR_VERSION ideal-int -pkg syscall (netbsd-arm64), const BPF_MISC = 7 -pkg syscall (netbsd-arm64), const BPF_MISC ideal-int -pkg syscall (netbsd-arm64), const BPF_MSH = 160 -pkg syscall (netbsd-arm64), const BPF_MSH ideal-int -pkg syscall (netbsd-arm64), const BPF_MUL = 32 -pkg syscall (netbsd-arm64), const BPF_MUL ideal-int -pkg syscall (netbsd-arm64), const BPF_NEG = 128 -pkg syscall (netbsd-arm64), const BPF_NEG ideal-int -pkg syscall (netbsd-arm64), const BPF_OR = 64 -pkg syscall (netbsd-arm64), const BPF_OR ideal-int -pkg syscall (netbsd-arm64), const BPF_RELEASE = 199606 -pkg syscall (netbsd-arm64), const BPF_RELEASE ideal-int -pkg syscall (netbsd-arm64), const BPF_RET = 6 -pkg syscall (netbsd-arm64), const BPF_RET ideal-int -pkg syscall (netbsd-arm64), const BPF_RSH = 112 -pkg syscall (netbsd-arm64), const BPF_RSH ideal-int -pkg syscall (netbsd-arm64), const BPF_ST = 2 -pkg syscall (netbsd-arm64), const BPF_ST ideal-int -pkg syscall (netbsd-arm64), const BPF_STX = 3 -pkg syscall (netbsd-arm64), const BPF_STX ideal-int -pkg syscall (netbsd-arm64), const BPF_SUB = 16 -pkg syscall (netbsd-arm64), const BPF_SUB ideal-int -pkg syscall (netbsd-arm64), const BPF_TAX = 0 -pkg syscall (netbsd-arm64), const BPF_TAX ideal-int -pkg syscall (netbsd-arm64), const BPF_TXA = 128 -pkg syscall (netbsd-arm64), const BPF_TXA ideal-int -pkg syscall (netbsd-arm64), const BPF_W = 0 -pkg syscall (netbsd-arm64), const BPF_W ideal-int -pkg syscall (netbsd-arm64), const BPF_X = 8 -pkg syscall (netbsd-arm64), const BPF_X ideal-int -pkg syscall (netbsd-arm64), const BRKINT = 2 -pkg syscall (netbsd-arm64), const BRKINT ideal-int -pkg syscall (netbsd-arm64), const CFLUSH = 15 -pkg syscall (netbsd-arm64), const CFLUSH ideal-int -pkg syscall (netbsd-arm64), const CLOCAL = 32768 -pkg syscall (netbsd-arm64), const CLOCAL ideal-int -pkg syscall (netbsd-arm64), const CLONE_CSIGNAL = 255 -pkg syscall (netbsd-arm64), const CLONE_CSIGNAL ideal-int -pkg syscall (netbsd-arm64), const CLONE_FILES = 1024 -pkg syscall (netbsd-arm64), const CLONE_FILES ideal-int -pkg syscall (netbsd-arm64), const CLONE_FS = 512 -pkg syscall (netbsd-arm64), const CLONE_FS ideal-int -pkg syscall (netbsd-arm64), const CLONE_PID = 4096 -pkg syscall (netbsd-arm64), const CLONE_PID ideal-int -pkg syscall (netbsd-arm64), const CLONE_PTRACE = 8192 -pkg syscall (netbsd-arm64), const CLONE_PTRACE ideal-int -pkg syscall (netbsd-arm64), const CLONE_SIGHAND = 2048 -pkg syscall (netbsd-arm64), const CLONE_SIGHAND ideal-int -pkg syscall (netbsd-arm64), const CLONE_VFORK = 16384 -pkg syscall (netbsd-arm64), const CLONE_VFORK ideal-int -pkg syscall (netbsd-arm64), const CLONE_VM = 256 -pkg syscall (netbsd-arm64), const CLONE_VM ideal-int -pkg syscall (netbsd-arm64), const CREAD = 2048 -pkg syscall (netbsd-arm64), const CREAD ideal-int -pkg syscall (netbsd-arm64), const CS5 = 0 -pkg syscall (netbsd-arm64), const CS5 ideal-int -pkg syscall (netbsd-arm64), const CS6 = 256 -pkg syscall (netbsd-arm64), const CS6 ideal-int -pkg syscall (netbsd-arm64), const CS7 = 512 -pkg syscall (netbsd-arm64), const CS7 ideal-int -pkg syscall (netbsd-arm64), const CS8 = 768 -pkg syscall (netbsd-arm64), const CS8 ideal-int -pkg syscall (netbsd-arm64), const CSIZE = 768 -pkg syscall (netbsd-arm64), const CSIZE ideal-int -pkg syscall (netbsd-arm64), const CSTART = 17 -pkg syscall (netbsd-arm64), const CSTART ideal-int -pkg syscall (netbsd-arm64), const CSTATUS = 20 -pkg syscall (netbsd-arm64), const CSTATUS ideal-int -pkg syscall (netbsd-arm64), const CSTOP = 19 -pkg syscall (netbsd-arm64), const CSTOP ideal-int -pkg syscall (netbsd-arm64), const CSTOPB = 1024 -pkg syscall (netbsd-arm64), const CSTOPB ideal-int -pkg syscall (netbsd-arm64), const CSUSP = 26 -pkg syscall (netbsd-arm64), const CSUSP ideal-int -pkg syscall (netbsd-arm64), const CTL_MAXNAME = 12 -pkg syscall (netbsd-arm64), const CTL_MAXNAME ideal-int -pkg syscall (netbsd-arm64), const CTL_NET = 4 -pkg syscall (netbsd-arm64), const CTL_NET ideal-int -pkg syscall (netbsd-arm64), const CTL_QUERY = -2 -pkg syscall (netbsd-arm64), const CTL_QUERY ideal-int -pkg syscall (netbsd-arm64), const DIOCBSFLUSH = 536896632 -pkg syscall (netbsd-arm64), const DIOCBSFLUSH ideal-int -pkg syscall (netbsd-arm64), const DLT_A429 = 184 -pkg syscall (netbsd-arm64), const DLT_A429 ideal-int -pkg syscall (netbsd-arm64), const DLT_A653_ICM = 185 -pkg syscall (netbsd-arm64), const DLT_A653_ICM ideal-int -pkg syscall (netbsd-arm64), const DLT_AIRONET_HEADER = 120 -pkg syscall (netbsd-arm64), const DLT_AIRONET_HEADER ideal-int -pkg syscall (netbsd-arm64), const DLT_AOS = 222 -pkg syscall (netbsd-arm64), const DLT_AOS ideal-int -pkg syscall (netbsd-arm64), const DLT_APPLE_IP_OVER_IEEE1394 = 138 -pkg syscall (netbsd-arm64), const DLT_APPLE_IP_OVER_IEEE1394 ideal-int -pkg syscall (netbsd-arm64), const DLT_ARCNET = 7 -pkg syscall (netbsd-arm64), const DLT_ARCNET ideal-int -pkg syscall (netbsd-arm64), const DLT_ARCNET_LINUX = 129 -pkg syscall (netbsd-arm64), const DLT_ARCNET_LINUX ideal-int -pkg syscall (netbsd-arm64), const DLT_ATM_CLIP = 19 -pkg syscall (netbsd-arm64), const DLT_ATM_CLIP ideal-int -pkg syscall (netbsd-arm64), const DLT_ATM_RFC1483 = 11 -pkg syscall (netbsd-arm64), const DLT_ATM_RFC1483 ideal-int -pkg syscall (netbsd-arm64), const DLT_AURORA = 126 -pkg syscall (netbsd-arm64), const DLT_AURORA ideal-int -pkg syscall (netbsd-arm64), const DLT_AX25 = 3 -pkg syscall (netbsd-arm64), const DLT_AX25 ideal-int -pkg syscall (netbsd-arm64), const DLT_AX25_KISS = 202 -pkg syscall (netbsd-arm64), const DLT_AX25_KISS ideal-int -pkg syscall (netbsd-arm64), const DLT_BACNET_MS_TP = 165 -pkg syscall (netbsd-arm64), const DLT_BACNET_MS_TP ideal-int -pkg syscall (netbsd-arm64), const DLT_BLUETOOTH_HCI_H4 = 187 -pkg syscall (netbsd-arm64), const DLT_BLUETOOTH_HCI_H4 ideal-int -pkg syscall (netbsd-arm64), const DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 201 -pkg syscall (netbsd-arm64), const DLT_BLUETOOTH_HCI_H4_WITH_PHDR ideal-int -pkg syscall (netbsd-arm64), const DLT_CAN20B = 190 -pkg syscall (netbsd-arm64), const DLT_CAN20B ideal-int -pkg syscall (netbsd-arm64), const DLT_CAN_SOCKETCAN = 227 -pkg syscall (netbsd-arm64), const DLT_CAN_SOCKETCAN ideal-int -pkg syscall (netbsd-arm64), const DLT_CHAOS = 5 -pkg syscall (netbsd-arm64), const DLT_CHAOS ideal-int -pkg syscall (netbsd-arm64), const DLT_CISCO_IOS = 118 -pkg syscall (netbsd-arm64), const DLT_CISCO_IOS ideal-int -pkg syscall (netbsd-arm64), const DLT_C_HDLC = 104 -pkg syscall (netbsd-arm64), const DLT_C_HDLC ideal-int -pkg syscall (netbsd-arm64), const DLT_C_HDLC_WITH_DIR = 205 -pkg syscall (netbsd-arm64), const DLT_C_HDLC_WITH_DIR ideal-int -pkg syscall (netbsd-arm64), const DLT_DECT = 221 -pkg syscall (netbsd-arm64), const DLT_DECT ideal-int -pkg syscall (netbsd-arm64), const DLT_DOCSIS = 143 -pkg syscall (netbsd-arm64), const DLT_DOCSIS ideal-int -pkg syscall (netbsd-arm64), const DLT_ECONET = 115 -pkg syscall (netbsd-arm64), const DLT_ECONET ideal-int -pkg syscall (netbsd-arm64), const DLT_EN10MB = 1 -pkg syscall (netbsd-arm64), const DLT_EN10MB ideal-int -pkg syscall (netbsd-arm64), const DLT_EN3MB = 2 -pkg syscall (netbsd-arm64), const DLT_EN3MB ideal-int -pkg syscall (netbsd-arm64), const DLT_ENC = 109 -pkg syscall (netbsd-arm64), const DLT_ENC ideal-int -pkg syscall (netbsd-arm64), const DLT_ERF = 197 -pkg syscall (netbsd-arm64), const DLT_ERF ideal-int -pkg syscall (netbsd-arm64), const DLT_ERF_ETH = 175 -pkg syscall (netbsd-arm64), const DLT_ERF_ETH ideal-int -pkg syscall (netbsd-arm64), const DLT_ERF_POS = 176 -pkg syscall (netbsd-arm64), const DLT_ERF_POS ideal-int -pkg syscall (netbsd-arm64), const DLT_FC_2 = 224 -pkg syscall (netbsd-arm64), const DLT_FC_2 ideal-int -pkg syscall (netbsd-arm64), const DLT_FC_2_WITH_FRAME_DELIMS = 225 -pkg syscall (netbsd-arm64), const DLT_FC_2_WITH_FRAME_DELIMS ideal-int -pkg syscall (netbsd-arm64), const DLT_FDDI = 10 -pkg syscall (netbsd-arm64), const DLT_FDDI ideal-int -pkg syscall (netbsd-arm64), const DLT_FLEXRAY = 210 -pkg syscall (netbsd-arm64), const DLT_FLEXRAY ideal-int -pkg syscall (netbsd-arm64), const DLT_FRELAY = 107 -pkg syscall (netbsd-arm64), const DLT_FRELAY ideal-int -pkg syscall (netbsd-arm64), const DLT_FRELAY_WITH_DIR = 206 -pkg syscall (netbsd-arm64), const DLT_FRELAY_WITH_DIR ideal-int -pkg syscall (netbsd-arm64), const DLT_GCOM_SERIAL = 173 -pkg syscall (netbsd-arm64), const DLT_GCOM_SERIAL ideal-int -pkg syscall (netbsd-arm64), const DLT_GCOM_T1E1 = 172 -pkg syscall (netbsd-arm64), const DLT_GCOM_T1E1 ideal-int -pkg syscall (netbsd-arm64), const DLT_GPF_F = 171 -pkg syscall (netbsd-arm64), const DLT_GPF_F ideal-int -pkg syscall (netbsd-arm64), const DLT_GPF_T = 170 -pkg syscall (netbsd-arm64), const DLT_GPF_T ideal-int -pkg syscall (netbsd-arm64), const DLT_GPRS_LLC = 169 -pkg syscall (netbsd-arm64), const DLT_GPRS_LLC ideal-int -pkg syscall (netbsd-arm64), const DLT_GSMTAP_ABIS = 218 -pkg syscall (netbsd-arm64), const DLT_GSMTAP_ABIS ideal-int -pkg syscall (netbsd-arm64), const DLT_GSMTAP_UM = 217 -pkg syscall (netbsd-arm64), const DLT_GSMTAP_UM ideal-int -pkg syscall (netbsd-arm64), const DLT_HDLC = 16 -pkg syscall (netbsd-arm64), const DLT_HDLC ideal-int -pkg syscall (netbsd-arm64), const DLT_HHDLC = 121 -pkg syscall (netbsd-arm64), const DLT_HHDLC ideal-int -pkg syscall (netbsd-arm64), const DLT_HIPPI = 15 -pkg syscall (netbsd-arm64), const DLT_HIPPI ideal-int -pkg syscall (netbsd-arm64), const DLT_IBM_SN = 146 -pkg syscall (netbsd-arm64), const DLT_IBM_SN ideal-int -pkg syscall (netbsd-arm64), const DLT_IBM_SP = 145 -pkg syscall (netbsd-arm64), const DLT_IBM_SP ideal-int -pkg syscall (netbsd-arm64), const DLT_IEEE802 = 6 -pkg syscall (netbsd-arm64), const DLT_IEEE802 ideal-int -pkg syscall (netbsd-arm64), const DLT_IEEE802_11 = 105 -pkg syscall (netbsd-arm64), const DLT_IEEE802_11 ideal-int -pkg syscall (netbsd-arm64), const DLT_IEEE802_11_RADIO = 127 -pkg syscall (netbsd-arm64), const DLT_IEEE802_11_RADIO ideal-int -pkg syscall (netbsd-arm64), const DLT_IEEE802_11_RADIO_AVS = 163 -pkg syscall (netbsd-arm64), const DLT_IEEE802_11_RADIO_AVS ideal-int -pkg syscall (netbsd-arm64), const DLT_IEEE802_15_4 = 195 -pkg syscall (netbsd-arm64), const DLT_IEEE802_15_4 ideal-int -pkg syscall (netbsd-arm64), const DLT_IEEE802_15_4_LINUX = 191 -pkg syscall (netbsd-arm64), const DLT_IEEE802_15_4_LINUX ideal-int -pkg syscall (netbsd-arm64), const DLT_IEEE802_15_4_NONASK_PHY = 215 -pkg syscall (netbsd-arm64), const DLT_IEEE802_15_4_NONASK_PHY ideal-int -pkg syscall (netbsd-arm64), const DLT_IEEE802_16_MAC_CPS = 188 -pkg syscall (netbsd-arm64), const DLT_IEEE802_16_MAC_CPS ideal-int -pkg syscall (netbsd-arm64), const DLT_IEEE802_16_MAC_CPS_RADIO = 193 -pkg syscall (netbsd-arm64), const DLT_IEEE802_16_MAC_CPS_RADIO ideal-int -pkg syscall (netbsd-arm64), const DLT_IPMB = 199 -pkg syscall (netbsd-arm64), const DLT_IPMB ideal-int -pkg syscall (netbsd-arm64), const DLT_IPMB_LINUX = 209 -pkg syscall (netbsd-arm64), const DLT_IPMB_LINUX ideal-int -pkg syscall (netbsd-arm64), const DLT_IPNET = 226 -pkg syscall (netbsd-arm64), const DLT_IPNET ideal-int -pkg syscall (netbsd-arm64), const DLT_IPV4 = 228 -pkg syscall (netbsd-arm64), const DLT_IPV4 ideal-int -pkg syscall (netbsd-arm64), const DLT_IPV6 = 229 -pkg syscall (netbsd-arm64), const DLT_IPV6 ideal-int -pkg syscall (netbsd-arm64), const DLT_IP_OVER_FC = 122 -pkg syscall (netbsd-arm64), const DLT_IP_OVER_FC ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_ATM1 = 137 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_ATM1 ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_ATM2 = 135 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_ATM2 ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_CHDLC = 181 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_CHDLC ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_ES = 132 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_ES ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_ETHER = 178 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_ETHER ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_FRELAY = 180 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_FRELAY ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_GGSN = 133 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_GGSN ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_ISM = 194 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_ISM ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_MFR = 134 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_MFR ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_MLFR = 131 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_MLFR ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_MLPPP = 130 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_MLPPP ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_MONITOR = 164 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_MONITOR ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_PIC_PEER = 174 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_PIC_PEER ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_PPP = 179 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_PPP ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_PPPOE = 167 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_PPPOE ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_PPPOE_ATM = 168 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_PPPOE_ATM ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_SERVICES = 136 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_SERVICES ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_ST = 200 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_ST ideal-int -pkg syscall (netbsd-arm64), const DLT_JUNIPER_VP = 183 -pkg syscall (netbsd-arm64), const DLT_JUNIPER_VP ideal-int -pkg syscall (netbsd-arm64), const DLT_LAPB_WITH_DIR = 207 -pkg syscall (netbsd-arm64), const DLT_LAPB_WITH_DIR ideal-int -pkg syscall (netbsd-arm64), const DLT_LAPD = 203 -pkg syscall (netbsd-arm64), const DLT_LAPD ideal-int -pkg syscall (netbsd-arm64), const DLT_LIN = 212 -pkg syscall (netbsd-arm64), const DLT_LIN ideal-int -pkg syscall (netbsd-arm64), const DLT_LINUX_EVDEV = 216 -pkg syscall (netbsd-arm64), const DLT_LINUX_EVDEV ideal-int -pkg syscall (netbsd-arm64), const DLT_LINUX_IRDA = 144 -pkg syscall (netbsd-arm64), const DLT_LINUX_IRDA ideal-int -pkg syscall (netbsd-arm64), const DLT_LINUX_LAPD = 177 -pkg syscall (netbsd-arm64), const DLT_LINUX_LAPD ideal-int -pkg syscall (netbsd-arm64), const DLT_LINUX_SLL = 113 -pkg syscall (netbsd-arm64), const DLT_LINUX_SLL ideal-int -pkg syscall (netbsd-arm64), const DLT_LOOP = 108 -pkg syscall (netbsd-arm64), const DLT_LOOP ideal-int -pkg syscall (netbsd-arm64), const DLT_LTALK = 114 -pkg syscall (netbsd-arm64), const DLT_LTALK ideal-int -pkg syscall (netbsd-arm64), const DLT_MFR = 182 -pkg syscall (netbsd-arm64), const DLT_MFR ideal-int -pkg syscall (netbsd-arm64), const DLT_MOST = 211 -pkg syscall (netbsd-arm64), const DLT_MOST ideal-int -pkg syscall (netbsd-arm64), const DLT_MPLS = 219 -pkg syscall (netbsd-arm64), const DLT_MPLS ideal-int -pkg syscall (netbsd-arm64), const DLT_MTP2 = 140 -pkg syscall (netbsd-arm64), const DLT_MTP2 ideal-int -pkg syscall (netbsd-arm64), const DLT_MTP2_WITH_PHDR = 139 -pkg syscall (netbsd-arm64), const DLT_MTP2_WITH_PHDR ideal-int -pkg syscall (netbsd-arm64), const DLT_MTP3 = 141 -pkg syscall (netbsd-arm64), const DLT_MTP3 ideal-int -pkg syscall (netbsd-arm64), const DLT_NULL = 0 -pkg syscall (netbsd-arm64), const DLT_NULL ideal-int -pkg syscall (netbsd-arm64), const DLT_PCI_EXP = 125 -pkg syscall (netbsd-arm64), const DLT_PCI_EXP ideal-int -pkg syscall (netbsd-arm64), const DLT_PFLOG = 117 -pkg syscall (netbsd-arm64), const DLT_PFLOG ideal-int -pkg syscall (netbsd-arm64), const DLT_PFSYNC = 18 -pkg syscall (netbsd-arm64), const DLT_PFSYNC ideal-int -pkg syscall (netbsd-arm64), const DLT_PPI = 192 -pkg syscall (netbsd-arm64), const DLT_PPI ideal-int -pkg syscall (netbsd-arm64), const DLT_PPP = 9 -pkg syscall (netbsd-arm64), const DLT_PPP ideal-int -pkg syscall (netbsd-arm64), const DLT_PPP_BSDOS = 14 -pkg syscall (netbsd-arm64), const DLT_PPP_BSDOS ideal-int -pkg syscall (netbsd-arm64), const DLT_PPP_ETHER = 51 -pkg syscall (netbsd-arm64), const DLT_PPP_ETHER ideal-int -pkg syscall (netbsd-arm64), const DLT_PPP_PPPD = 166 -pkg syscall (netbsd-arm64), const DLT_PPP_PPPD ideal-int -pkg syscall (netbsd-arm64), const DLT_PPP_SERIAL = 50 -pkg syscall (netbsd-arm64), const DLT_PPP_SERIAL ideal-int -pkg syscall (netbsd-arm64), const DLT_PPP_WITH_DIR = 204 -pkg syscall (netbsd-arm64), const DLT_PPP_WITH_DIR ideal-int -pkg syscall (netbsd-arm64), const DLT_PRISM_HEADER = 119 -pkg syscall (netbsd-arm64), const DLT_PRISM_HEADER ideal-int -pkg syscall (netbsd-arm64), const DLT_PRONET = 4 -pkg syscall (netbsd-arm64), const DLT_PRONET ideal-int -pkg syscall (netbsd-arm64), const DLT_RAIF1 = 198 -pkg syscall (netbsd-arm64), const DLT_RAIF1 ideal-int -pkg syscall (netbsd-arm64), const DLT_RAW = 12 -pkg syscall (netbsd-arm64), const DLT_RAW ideal-int -pkg syscall (netbsd-arm64), const DLT_RAWAF_MASK = 35913728 -pkg syscall (netbsd-arm64), const DLT_RAWAF_MASK ideal-int -pkg syscall (netbsd-arm64), const DLT_RIO = 124 -pkg syscall (netbsd-arm64), const DLT_RIO ideal-int -pkg syscall (netbsd-arm64), const DLT_SCCP = 142 -pkg syscall (netbsd-arm64), const DLT_SCCP ideal-int -pkg syscall (netbsd-arm64), const DLT_SITA = 196 -pkg syscall (netbsd-arm64), const DLT_SITA ideal-int -pkg syscall (netbsd-arm64), const DLT_SLIP = 8 -pkg syscall (netbsd-arm64), const DLT_SLIP ideal-int -pkg syscall (netbsd-arm64), const DLT_SLIP_BSDOS = 13 -pkg syscall (netbsd-arm64), const DLT_SLIP_BSDOS ideal-int -pkg syscall (netbsd-arm64), const DLT_SUNATM = 123 -pkg syscall (netbsd-arm64), const DLT_SUNATM ideal-int -pkg syscall (netbsd-arm64), const DLT_SYMANTEC_FIREWALL = 99 -pkg syscall (netbsd-arm64), const DLT_SYMANTEC_FIREWALL ideal-int -pkg syscall (netbsd-arm64), const DLT_TZSP = 128 -pkg syscall (netbsd-arm64), const DLT_TZSP ideal-int -pkg syscall (netbsd-arm64), const DLT_USB = 186 -pkg syscall (netbsd-arm64), const DLT_USB ideal-int -pkg syscall (netbsd-arm64), const DLT_USB_LINUX = 189 -pkg syscall (netbsd-arm64), const DLT_USB_LINUX ideal-int -pkg syscall (netbsd-arm64), const DLT_USB_LINUX_MMAPPED = 220 -pkg syscall (netbsd-arm64), const DLT_USB_LINUX_MMAPPED ideal-int -pkg syscall (netbsd-arm64), const DLT_WIHART = 223 -pkg syscall (netbsd-arm64), const DLT_WIHART ideal-int -pkg syscall (netbsd-arm64), const DLT_X2E_SERIAL = 213 -pkg syscall (netbsd-arm64), const DLT_X2E_SERIAL ideal-int -pkg syscall (netbsd-arm64), const DLT_X2E_XORAYA = 214 -pkg syscall (netbsd-arm64), const DLT_X2E_XORAYA ideal-int -pkg syscall (netbsd-arm64), const DT_BLK = 6 -pkg syscall (netbsd-arm64), const DT_BLK ideal-int -pkg syscall (netbsd-arm64), const DT_CHR = 2 -pkg syscall (netbsd-arm64), const DT_CHR ideal-int -pkg syscall (netbsd-arm64), const DT_DIR = 4 -pkg syscall (netbsd-arm64), const DT_DIR ideal-int -pkg syscall (netbsd-arm64), const DT_FIFO = 1 -pkg syscall (netbsd-arm64), const DT_FIFO ideal-int -pkg syscall (netbsd-arm64), const DT_LNK = 10 -pkg syscall (netbsd-arm64), const DT_LNK ideal-int -pkg syscall (netbsd-arm64), const DT_REG = 8 -pkg syscall (netbsd-arm64), const DT_REG ideal-int -pkg syscall (netbsd-arm64), const DT_SOCK = 12 -pkg syscall (netbsd-arm64), const DT_SOCK ideal-int -pkg syscall (netbsd-arm64), const DT_UNKNOWN = 0 -pkg syscall (netbsd-arm64), const DT_UNKNOWN ideal-int -pkg syscall (netbsd-arm64), const DT_WHT = 14 -pkg syscall (netbsd-arm64), const DT_WHT ideal-int -pkg syscall (netbsd-arm64), const E2BIG = 7 -pkg syscall (netbsd-arm64), const EACCES = 13 -pkg syscall (netbsd-arm64), const EADDRINUSE = 48 -pkg syscall (netbsd-arm64), const EADDRNOTAVAIL = 49 -pkg syscall (netbsd-arm64), const EAFNOSUPPORT = 47 -pkg syscall (netbsd-arm64), const EAGAIN = 35 -pkg syscall (netbsd-arm64), const EALREADY = 37 -pkg syscall (netbsd-arm64), const EAUTH = 80 -pkg syscall (netbsd-arm64), const EAUTH Errno -pkg syscall (netbsd-arm64), const EBADF = 9 -pkg syscall (netbsd-arm64), const EBADMSG = 88 -pkg syscall (netbsd-arm64), const EBADMSG Errno -pkg syscall (netbsd-arm64), const EBADRPC = 72 -pkg syscall (netbsd-arm64), const EBADRPC Errno -pkg syscall (netbsd-arm64), const EBUSY = 16 -pkg syscall (netbsd-arm64), const ECANCELED = 87 -pkg syscall (netbsd-arm64), const ECHILD = 10 -pkg syscall (netbsd-arm64), const ECHO = 8 -pkg syscall (netbsd-arm64), const ECHO ideal-int -pkg syscall (netbsd-arm64), const ECHOCTL = 64 -pkg syscall (netbsd-arm64), const ECHOCTL ideal-int -pkg syscall (netbsd-arm64), const ECHOE = 2 -pkg syscall (netbsd-arm64), const ECHOE ideal-int -pkg syscall (netbsd-arm64), const ECHOK = 4 -pkg syscall (netbsd-arm64), const ECHOK ideal-int -pkg syscall (netbsd-arm64), const ECHOKE = 1 -pkg syscall (netbsd-arm64), const ECHOKE ideal-int -pkg syscall (netbsd-arm64), const ECHONL = 16 -pkg syscall (netbsd-arm64), const ECHONL ideal-int -pkg syscall (netbsd-arm64), const ECHOPRT = 32 -pkg syscall (netbsd-arm64), const ECHOPRT ideal-int -pkg syscall (netbsd-arm64), const ECONNABORTED = 53 -pkg syscall (netbsd-arm64), const ECONNREFUSED = 61 -pkg syscall (netbsd-arm64), const ECONNRESET = 54 -pkg syscall (netbsd-arm64), const EDEADLK = 11 -pkg syscall (netbsd-arm64), const EDESTADDRREQ = 39 -pkg syscall (netbsd-arm64), const EDOM = 33 -pkg syscall (netbsd-arm64), const EDQUOT = 69 -pkg syscall (netbsd-arm64), const EEXIST = 17 -pkg syscall (netbsd-arm64), const EFAULT = 14 -pkg syscall (netbsd-arm64), const EFBIG = 27 -pkg syscall (netbsd-arm64), const EFTYPE = 79 -pkg syscall (netbsd-arm64), const EFTYPE Errno -pkg syscall (netbsd-arm64), const EHOSTDOWN = 64 -pkg syscall (netbsd-arm64), const EHOSTUNREACH = 65 -pkg syscall (netbsd-arm64), const EIDRM = 82 -pkg syscall (netbsd-arm64), const EILSEQ = 85 -pkg syscall (netbsd-arm64), const EINPROGRESS = 36 -pkg syscall (netbsd-arm64), const EINTR = 4 -pkg syscall (netbsd-arm64), const EINVAL = 22 -pkg syscall (netbsd-arm64), const EIO = 5 -pkg syscall (netbsd-arm64), const EISCONN = 56 -pkg syscall (netbsd-arm64), const EISDIR = 21 -pkg syscall (netbsd-arm64), const ELAST = 96 -pkg syscall (netbsd-arm64), const ELAST Errno -pkg syscall (netbsd-arm64), const ELOOP = 62 -pkg syscall (netbsd-arm64), const EMFILE = 24 -pkg syscall (netbsd-arm64), const EMLINK = 31 -pkg syscall (netbsd-arm64), const EMSGSIZE = 40 -pkg syscall (netbsd-arm64), const EMULTIHOP = 94 -pkg syscall (netbsd-arm64), const EMULTIHOP Errno -pkg syscall (netbsd-arm64), const EMUL_LINUX = 1 -pkg syscall (netbsd-arm64), const EMUL_LINUX ideal-int -pkg syscall (netbsd-arm64), const EMUL_LINUX32 = 5 -pkg syscall (netbsd-arm64), const EMUL_LINUX32 ideal-int -pkg syscall (netbsd-arm64), const EMUL_MAXID = 6 -pkg syscall (netbsd-arm64), const EMUL_MAXID ideal-int -pkg syscall (netbsd-arm64), const ENAMETOOLONG = 63 -pkg syscall (netbsd-arm64), const ENEEDAUTH = 81 -pkg syscall (netbsd-arm64), const ENEEDAUTH Errno -pkg syscall (netbsd-arm64), const ENETDOWN = 50 -pkg syscall (netbsd-arm64), const ENETRESET = 52 -pkg syscall (netbsd-arm64), const ENETUNREACH = 51 -pkg syscall (netbsd-arm64), const ENFILE = 23 -pkg syscall (netbsd-arm64), const ENOATTR = 93 -pkg syscall (netbsd-arm64), const ENOATTR Errno -pkg syscall (netbsd-arm64), const ENOBUFS = 55 -pkg syscall (netbsd-arm64), const ENODATA = 89 -pkg syscall (netbsd-arm64), const ENODATA Errno -pkg syscall (netbsd-arm64), const ENODEV = 19 -pkg syscall (netbsd-arm64), const ENOEXEC = 8 -pkg syscall (netbsd-arm64), const ENOLCK = 77 -pkg syscall (netbsd-arm64), const ENOLINK = 95 -pkg syscall (netbsd-arm64), const ENOLINK Errno -pkg syscall (netbsd-arm64), const ENOMEM = 12 -pkg syscall (netbsd-arm64), const ENOMSG = 83 -pkg syscall (netbsd-arm64), const ENOPROTOOPT = 42 -pkg syscall (netbsd-arm64), const ENOSPC = 28 -pkg syscall (netbsd-arm64), const ENOSR = 90 -pkg syscall (netbsd-arm64), const ENOSR Errno -pkg syscall (netbsd-arm64), const ENOSTR = 91 -pkg syscall (netbsd-arm64), const ENOSTR Errno -pkg syscall (netbsd-arm64), const ENOSYS = 78 -pkg syscall (netbsd-arm64), const ENOTBLK = 15 -pkg syscall (netbsd-arm64), const ENOTCONN = 57 -pkg syscall (netbsd-arm64), const ENOTDIR = 20 -pkg syscall (netbsd-arm64), const ENOTEMPTY = 66 -pkg syscall (netbsd-arm64), const ENOTSOCK = 38 -pkg syscall (netbsd-arm64), const ENOTSUP = 86 -pkg syscall (netbsd-arm64), const ENOTTY = 25 -pkg syscall (netbsd-arm64), const ENXIO = 6 -pkg syscall (netbsd-arm64), const EOPNOTSUPP = 45 -pkg syscall (netbsd-arm64), const EOVERFLOW = 84 -pkg syscall (netbsd-arm64), const EPERM = 1 -pkg syscall (netbsd-arm64), const EPFNOSUPPORT = 46 -pkg syscall (netbsd-arm64), const EPIPE = 32 -pkg syscall (netbsd-arm64), const EPROCLIM = 67 -pkg syscall (netbsd-arm64), const EPROCLIM Errno -pkg syscall (netbsd-arm64), const EPROCUNAVAIL = 76 -pkg syscall (netbsd-arm64), const EPROCUNAVAIL Errno -pkg syscall (netbsd-arm64), const EPROGMISMATCH = 75 -pkg syscall (netbsd-arm64), const EPROGMISMATCH Errno -pkg syscall (netbsd-arm64), const EPROGUNAVAIL = 74 -pkg syscall (netbsd-arm64), const EPROGUNAVAIL Errno -pkg syscall (netbsd-arm64), const EPROTO = 96 -pkg syscall (netbsd-arm64), const EPROTO Errno -pkg syscall (netbsd-arm64), const EPROTONOSUPPORT = 43 -pkg syscall (netbsd-arm64), const EPROTOTYPE = 41 -pkg syscall (netbsd-arm64), const ERANGE = 34 -pkg syscall (netbsd-arm64), const EREMOTE = 71 -pkg syscall (netbsd-arm64), const EROFS = 30 -pkg syscall (netbsd-arm64), const ERPCMISMATCH = 73 -pkg syscall (netbsd-arm64), const ERPCMISMATCH Errno -pkg syscall (netbsd-arm64), const ESHUTDOWN = 58 -pkg syscall (netbsd-arm64), const ESOCKTNOSUPPORT = 44 -pkg syscall (netbsd-arm64), const ESPIPE = 29 -pkg syscall (netbsd-arm64), const ESRCH = 3 -pkg syscall (netbsd-arm64), const ESTALE = 70 -pkg syscall (netbsd-arm64), const ETHERCAP_JUMBO_MTU = 4 -pkg syscall (netbsd-arm64), const ETHERCAP_JUMBO_MTU ideal-int -pkg syscall (netbsd-arm64), const ETHERCAP_VLAN_HWTAGGING = 2 -pkg syscall (netbsd-arm64), const ETHERCAP_VLAN_HWTAGGING ideal-int -pkg syscall (netbsd-arm64), const ETHERCAP_VLAN_MTU = 1 -pkg syscall (netbsd-arm64), const ETHERCAP_VLAN_MTU ideal-int -pkg syscall (netbsd-arm64), const ETHERMIN = 46 -pkg syscall (netbsd-arm64), const ETHERMIN ideal-int -pkg syscall (netbsd-arm64), const ETHERMTU = 1500 -pkg syscall (netbsd-arm64), const ETHERMTU ideal-int -pkg syscall (netbsd-arm64), const ETHERMTU_JUMBO = 9000 -pkg syscall (netbsd-arm64), const ETHERMTU_JUMBO ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_8023 = 4 -pkg syscall (netbsd-arm64), const ETHERTYPE_8023 ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_AARP = 33011 -pkg syscall (netbsd-arm64), const ETHERTYPE_AARP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_ACCTON = 33680 -pkg syscall (netbsd-arm64), const ETHERTYPE_ACCTON ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_AEONIC = 32822 -pkg syscall (netbsd-arm64), const ETHERTYPE_AEONIC ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_ALPHA = 33098 -pkg syscall (netbsd-arm64), const ETHERTYPE_ALPHA ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_AMBER = 24584 -pkg syscall (netbsd-arm64), const ETHERTYPE_AMBER ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_AMOEBA = 33093 -pkg syscall (netbsd-arm64), const ETHERTYPE_AMOEBA ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_APOLLO = 33015 -pkg syscall (netbsd-arm64), const ETHERTYPE_APOLLO ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_APOLLODOMAIN = 32793 -pkg syscall (netbsd-arm64), const ETHERTYPE_APOLLODOMAIN ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_APPLETALK = 32923 -pkg syscall (netbsd-arm64), const ETHERTYPE_APPLETALK ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_APPLITEK = 32967 -pkg syscall (netbsd-arm64), const ETHERTYPE_APPLITEK ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_ARGONAUT = 32826 -pkg syscall (netbsd-arm64), const ETHERTYPE_ARGONAUT ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_ARP = 2054 -pkg syscall (netbsd-arm64), const ETHERTYPE_ARP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_AT = 32923 -pkg syscall (netbsd-arm64), const ETHERTYPE_AT ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_ATALK = 32923 -pkg syscall (netbsd-arm64), const ETHERTYPE_ATALK ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_ATOMIC = 34527 -pkg syscall (netbsd-arm64), const ETHERTYPE_ATOMIC ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_ATT = 32873 -pkg syscall (netbsd-arm64), const ETHERTYPE_ATT ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_ATTSTANFORD = 32776 -pkg syscall (netbsd-arm64), const ETHERTYPE_ATTSTANFORD ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_AUTOPHON = 32874 -pkg syscall (netbsd-arm64), const ETHERTYPE_AUTOPHON ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_AXIS = 34902 -pkg syscall (netbsd-arm64), const ETHERTYPE_AXIS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_BCLOOP = 36867 -pkg syscall (netbsd-arm64), const ETHERTYPE_BCLOOP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_BOFL = 33026 -pkg syscall (netbsd-arm64), const ETHERTYPE_BOFL ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_CABLETRON = 28724 -pkg syscall (netbsd-arm64), const ETHERTYPE_CABLETRON ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_CHAOS = 2052 -pkg syscall (netbsd-arm64), const ETHERTYPE_CHAOS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_COMDESIGN = 32876 -pkg syscall (netbsd-arm64), const ETHERTYPE_COMDESIGN ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_COMPUGRAPHIC = 32877 -pkg syscall (netbsd-arm64), const ETHERTYPE_COMPUGRAPHIC ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_COUNTERPOINT = 32866 -pkg syscall (netbsd-arm64), const ETHERTYPE_COUNTERPOINT ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_CRONUS = 32772 -pkg syscall (netbsd-arm64), const ETHERTYPE_CRONUS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_CRONUSVLN = 32771 -pkg syscall (netbsd-arm64), const ETHERTYPE_CRONUSVLN ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DCA = 4660 -pkg syscall (netbsd-arm64), const ETHERTYPE_DCA ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DDE = 32891 -pkg syscall (netbsd-arm64), const ETHERTYPE_DDE ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DEBNI = 43690 -pkg syscall (netbsd-arm64), const ETHERTYPE_DEBNI ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DECAM = 32840 -pkg syscall (netbsd-arm64), const ETHERTYPE_DECAM ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DECCUST = 24582 -pkg syscall (netbsd-arm64), const ETHERTYPE_DECCUST ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DECDIAG = 24581 -pkg syscall (netbsd-arm64), const ETHERTYPE_DECDIAG ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DECDNS = 32828 -pkg syscall (netbsd-arm64), const ETHERTYPE_DECDNS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DECDTS = 32830 -pkg syscall (netbsd-arm64), const ETHERTYPE_DECDTS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DECEXPER = 24576 -pkg syscall (netbsd-arm64), const ETHERTYPE_DECEXPER ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DECLAST = 32833 -pkg syscall (netbsd-arm64), const ETHERTYPE_DECLAST ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DECLTM = 32831 -pkg syscall (netbsd-arm64), const ETHERTYPE_DECLTM ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DECMUMPS = 24585 -pkg syscall (netbsd-arm64), const ETHERTYPE_DECMUMPS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DECNETBIOS = 32832 -pkg syscall (netbsd-arm64), const ETHERTYPE_DECNETBIOS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DELTACON = 34526 -pkg syscall (netbsd-arm64), const ETHERTYPE_DELTACON ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DIDDLE = 17185 -pkg syscall (netbsd-arm64), const ETHERTYPE_DIDDLE ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DLOG1 = 1632 -pkg syscall (netbsd-arm64), const ETHERTYPE_DLOG1 ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DLOG2 = 1633 -pkg syscall (netbsd-arm64), const ETHERTYPE_DLOG2 ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DN = 24579 -pkg syscall (netbsd-arm64), const ETHERTYPE_DN ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DOGFIGHT = 6537 -pkg syscall (netbsd-arm64), const ETHERTYPE_DOGFIGHT ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_DSMD = 32825 -pkg syscall (netbsd-arm64), const ETHERTYPE_DSMD ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_ECMA = 2051 -pkg syscall (netbsd-arm64), const ETHERTYPE_ECMA ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_ENCRYPT = 32829 -pkg syscall (netbsd-arm64), const ETHERTYPE_ENCRYPT ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_ES = 32861 -pkg syscall (netbsd-arm64), const ETHERTYPE_ES ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_EXCELAN = 32784 -pkg syscall (netbsd-arm64), const ETHERTYPE_EXCELAN ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_EXPERDATA = 32841 -pkg syscall (netbsd-arm64), const ETHERTYPE_EXPERDATA ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_FLIP = 33094 -pkg syscall (netbsd-arm64), const ETHERTYPE_FLIP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_FLOWCONTROL = 34824 -pkg syscall (netbsd-arm64), const ETHERTYPE_FLOWCONTROL ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_FRARP = 2056 -pkg syscall (netbsd-arm64), const ETHERTYPE_FRARP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_GENDYN = 32872 -pkg syscall (netbsd-arm64), const ETHERTYPE_GENDYN ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_HAYES = 33072 -pkg syscall (netbsd-arm64), const ETHERTYPE_HAYES ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_HIPPI_FP = 33152 -pkg syscall (netbsd-arm64), const ETHERTYPE_HIPPI_FP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_HITACHI = 34848 -pkg syscall (netbsd-arm64), const ETHERTYPE_HITACHI ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_HP = 32773 -pkg syscall (netbsd-arm64), const ETHERTYPE_HP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_IEEEPUP = 2560 -pkg syscall (netbsd-arm64), const ETHERTYPE_IEEEPUP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_IEEEPUPAT = 2561 -pkg syscall (netbsd-arm64), const ETHERTYPE_IEEEPUPAT ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_IMLBL = 19522 -pkg syscall (netbsd-arm64), const ETHERTYPE_IMLBL ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_IMLBLDIAG = 16972 -pkg syscall (netbsd-arm64), const ETHERTYPE_IMLBLDIAG ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_IP = 2048 -pkg syscall (netbsd-arm64), const ETHERTYPE_IP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_IPAS = 34668 -pkg syscall (netbsd-arm64), const ETHERTYPE_IPAS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_IPV6 = 34525 -pkg syscall (netbsd-arm64), const ETHERTYPE_IPV6 ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_IPX = 33079 -pkg syscall (netbsd-arm64), const ETHERTYPE_IPX ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_IPXNEW = 32823 -pkg syscall (netbsd-arm64), const ETHERTYPE_IPXNEW ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_KALPANA = 34178 -pkg syscall (netbsd-arm64), const ETHERTYPE_KALPANA ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_LANBRIDGE = 32824 -pkg syscall (netbsd-arm64), const ETHERTYPE_LANBRIDGE ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_LANPROBE = 34952 -pkg syscall (netbsd-arm64), const ETHERTYPE_LANPROBE ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_LAT = 24580 -pkg syscall (netbsd-arm64), const ETHERTYPE_LAT ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_LBACK = 36864 -pkg syscall (netbsd-arm64), const ETHERTYPE_LBACK ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_LITTLE = 32864 -pkg syscall (netbsd-arm64), const ETHERTYPE_LITTLE ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_LOGICRAFT = 33096 -pkg syscall (netbsd-arm64), const ETHERTYPE_LOGICRAFT ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_LOOPBACK = 36864 -pkg syscall (netbsd-arm64), const ETHERTYPE_LOOPBACK ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_MATRA = 32890 -pkg syscall (netbsd-arm64), const ETHERTYPE_MATRA ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_MAX = 65535 -pkg syscall (netbsd-arm64), const ETHERTYPE_MAX ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_MERIT = 32892 -pkg syscall (netbsd-arm64), const ETHERTYPE_MERIT ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_MICP = 34618 -pkg syscall (netbsd-arm64), const ETHERTYPE_MICP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_MOPDL = 24577 -pkg syscall (netbsd-arm64), const ETHERTYPE_MOPDL ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_MOPRC = 24578 -pkg syscall (netbsd-arm64), const ETHERTYPE_MOPRC ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_MOTOROLA = 33165 -pkg syscall (netbsd-arm64), const ETHERTYPE_MOTOROLA ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_MPLS = 34887 -pkg syscall (netbsd-arm64), const ETHERTYPE_MPLS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_MPLS_MCAST = 34888 -pkg syscall (netbsd-arm64), const ETHERTYPE_MPLS_MCAST ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_MUMPS = 33087 -pkg syscall (netbsd-arm64), const ETHERTYPE_MUMPS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCC = 15364 -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCC ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCLAIM = 15369 -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCLAIM ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCLREQ = 15365 -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCLREQ ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCLRSP = 15366 -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCLRSP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCREQ = 15362 -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCREQ ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCRSP = 15363 -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPCRSP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPDG = 15367 -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPDG ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPDGB = 15368 -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPDGB ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPDLTE = 15370 -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPDLTE ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPRAR = 15372 -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPRAR ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPRAS = 15371 -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPRAS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPRST = 15373 -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPRST ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPSCD = 15361 -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPSCD ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPVCD = 15360 -pkg syscall (netbsd-arm64), const ETHERTYPE_NBPVCD ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NBS = 2050 -pkg syscall (netbsd-arm64), const ETHERTYPE_NBS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NCD = 33097 -pkg syscall (netbsd-arm64), const ETHERTYPE_NCD ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NESTAR = 32774 -pkg syscall (netbsd-arm64), const ETHERTYPE_NESTAR ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NETBEUI = 33169 -pkg syscall (netbsd-arm64), const ETHERTYPE_NETBEUI ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NOVELL = 33080 -pkg syscall (netbsd-arm64), const ETHERTYPE_NOVELL ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NS = 1536 -pkg syscall (netbsd-arm64), const ETHERTYPE_NS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NSAT = 1537 -pkg syscall (netbsd-arm64), const ETHERTYPE_NSAT ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NSCOMPAT = 2055 -pkg syscall (netbsd-arm64), const ETHERTYPE_NSCOMPAT ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_NTRAILER = 16 -pkg syscall (netbsd-arm64), const ETHERTYPE_NTRAILER ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_OS9 = 28679 -pkg syscall (netbsd-arm64), const ETHERTYPE_OS9 ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_OS9NET = 28681 -pkg syscall (netbsd-arm64), const ETHERTYPE_OS9NET ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_PACER = 32966 -pkg syscall (netbsd-arm64), const ETHERTYPE_PACER ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_PAE = 34958 -pkg syscall (netbsd-arm64), const ETHERTYPE_PAE ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_PCS = 16962 -pkg syscall (netbsd-arm64), const ETHERTYPE_PCS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_PLANNING = 32836 -pkg syscall (netbsd-arm64), const ETHERTYPE_PLANNING ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_PPP = 34827 -pkg syscall (netbsd-arm64), const ETHERTYPE_PPP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_PPPOE = 34916 -pkg syscall (netbsd-arm64), const ETHERTYPE_PPPOE ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_PPPOEDISC = 34915 -pkg syscall (netbsd-arm64), const ETHERTYPE_PPPOEDISC ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_PRIMENTS = 28721 -pkg syscall (netbsd-arm64), const ETHERTYPE_PRIMENTS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_PUP = 512 -pkg syscall (netbsd-arm64), const ETHERTYPE_PUP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_PUPAT = 512 -pkg syscall (netbsd-arm64), const ETHERTYPE_PUPAT ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_RACAL = 28720 -pkg syscall (netbsd-arm64), const ETHERTYPE_RACAL ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_RATIONAL = 33104 -pkg syscall (netbsd-arm64), const ETHERTYPE_RATIONAL ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_RAWFR = 25945 -pkg syscall (netbsd-arm64), const ETHERTYPE_RAWFR ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_RCL = 6549 -pkg syscall (netbsd-arm64), const ETHERTYPE_RCL ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_RDP = 34617 -pkg syscall (netbsd-arm64), const ETHERTYPE_RDP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_RETIX = 33010 -pkg syscall (netbsd-arm64), const ETHERTYPE_RETIX ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_REVARP = 32821 -pkg syscall (netbsd-arm64), const ETHERTYPE_REVARP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_SCA = 24583 -pkg syscall (netbsd-arm64), const ETHERTYPE_SCA ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_SECTRA = 34523 -pkg syscall (netbsd-arm64), const ETHERTYPE_SECTRA ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_SECUREDATA = 34669 -pkg syscall (netbsd-arm64), const ETHERTYPE_SECUREDATA ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_SGITW = 33150 -pkg syscall (netbsd-arm64), const ETHERTYPE_SGITW ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_SG_BOUNCE = 32790 -pkg syscall (netbsd-arm64), const ETHERTYPE_SG_BOUNCE ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_SG_DIAG = 32787 -pkg syscall (netbsd-arm64), const ETHERTYPE_SG_DIAG ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_SG_NETGAMES = 32788 -pkg syscall (netbsd-arm64), const ETHERTYPE_SG_NETGAMES ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_SG_RESV = 32789 -pkg syscall (netbsd-arm64), const ETHERTYPE_SG_RESV ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_SIMNET = 21000 -pkg syscall (netbsd-arm64), const ETHERTYPE_SIMNET ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_SLOWPROTOCOLS = 34825 -pkg syscall (netbsd-arm64), const ETHERTYPE_SLOWPROTOCOLS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_SNA = 32981 -pkg syscall (netbsd-arm64), const ETHERTYPE_SNA ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_SNMP = 33100 -pkg syscall (netbsd-arm64), const ETHERTYPE_SNMP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_SONIX = 64245 -pkg syscall (netbsd-arm64), const ETHERTYPE_SONIX ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_SPIDER = 32927 -pkg syscall (netbsd-arm64), const ETHERTYPE_SPIDER ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_SPRITE = 1280 -pkg syscall (netbsd-arm64), const ETHERTYPE_SPRITE ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_STP = 33153 -pkg syscall (netbsd-arm64), const ETHERTYPE_STP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_TALARIS = 33067 -pkg syscall (netbsd-arm64), const ETHERTYPE_TALARIS ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_TALARISMC = 34091 -pkg syscall (netbsd-arm64), const ETHERTYPE_TALARISMC ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_TCPCOMP = 34667 -pkg syscall (netbsd-arm64), const ETHERTYPE_TCPCOMP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_TCPSM = 36866 -pkg syscall (netbsd-arm64), const ETHERTYPE_TCPSM ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_TEC = 33103 -pkg syscall (netbsd-arm64), const ETHERTYPE_TEC ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_TIGAN = 32815 -pkg syscall (netbsd-arm64), const ETHERTYPE_TIGAN ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_TRAIL = 4096 -pkg syscall (netbsd-arm64), const ETHERTYPE_TRAIL ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_TRANSETHER = 25944 -pkg syscall (netbsd-arm64), const ETHERTYPE_TRANSETHER ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_TYMSHARE = 32814 -pkg syscall (netbsd-arm64), const ETHERTYPE_TYMSHARE ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_UBBST = 28677 -pkg syscall (netbsd-arm64), const ETHERTYPE_UBBST ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_UBDEBUG = 2304 -pkg syscall (netbsd-arm64), const ETHERTYPE_UBDEBUG ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_UBDIAGLOOP = 28674 -pkg syscall (netbsd-arm64), const ETHERTYPE_UBDIAGLOOP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_UBDL = 28672 -pkg syscall (netbsd-arm64), const ETHERTYPE_UBDL ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_UBNIU = 28673 -pkg syscall (netbsd-arm64), const ETHERTYPE_UBNIU ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_UBNMC = 28675 -pkg syscall (netbsd-arm64), const ETHERTYPE_UBNMC ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_VALID = 5632 -pkg syscall (netbsd-arm64), const ETHERTYPE_VALID ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_VARIAN = 32989 -pkg syscall (netbsd-arm64), const ETHERTYPE_VARIAN ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_VAXELN = 32827 -pkg syscall (netbsd-arm64), const ETHERTYPE_VAXELN ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_VEECO = 32871 -pkg syscall (netbsd-arm64), const ETHERTYPE_VEECO ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_VEXP = 32859 -pkg syscall (netbsd-arm64), const ETHERTYPE_VEXP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_VGLAB = 33073 -pkg syscall (netbsd-arm64), const ETHERTYPE_VGLAB ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_VINES = 2989 -pkg syscall (netbsd-arm64), const ETHERTYPE_VINES ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_VINESECHO = 2991 -pkg syscall (netbsd-arm64), const ETHERTYPE_VINESECHO ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_VINESLOOP = 2990 -pkg syscall (netbsd-arm64), const ETHERTYPE_VINESLOOP ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_VITAL = 65280 -pkg syscall (netbsd-arm64), const ETHERTYPE_VITAL ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_VLAN = 33024 -pkg syscall (netbsd-arm64), const ETHERTYPE_VLAN ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_VLTLMAN = 32896 -pkg syscall (netbsd-arm64), const ETHERTYPE_VLTLMAN ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_VPROD = 32860 -pkg syscall (netbsd-arm64), const ETHERTYPE_VPROD ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_VURESERVED = 33095 -pkg syscall (netbsd-arm64), const ETHERTYPE_VURESERVED ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_WATERLOO = 33072 -pkg syscall (netbsd-arm64), const ETHERTYPE_WATERLOO ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_WELLFLEET = 33027 -pkg syscall (netbsd-arm64), const ETHERTYPE_WELLFLEET ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_X25 = 2053 -pkg syscall (netbsd-arm64), const ETHERTYPE_X25 ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_X75 = 2049 -pkg syscall (netbsd-arm64), const ETHERTYPE_X75 ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_XNSSM = 36865 -pkg syscall (netbsd-arm64), const ETHERTYPE_XNSSM ideal-int -pkg syscall (netbsd-arm64), const ETHERTYPE_XTP = 33149 -pkg syscall (netbsd-arm64), const ETHERTYPE_XTP ideal-int -pkg syscall (netbsd-arm64), const ETHER_ADDR_LEN = 6 -pkg syscall (netbsd-arm64), const ETHER_ADDR_LEN ideal-int -pkg syscall (netbsd-arm64), const ETHER_CRC_LEN = 4 -pkg syscall (netbsd-arm64), const ETHER_CRC_LEN ideal-int -pkg syscall (netbsd-arm64), const ETHER_CRC_POLY_BE = 79764918 -pkg syscall (netbsd-arm64), const ETHER_CRC_POLY_BE ideal-int -pkg syscall (netbsd-arm64), const ETHER_CRC_POLY_LE = 3988292384 -pkg syscall (netbsd-arm64), const ETHER_CRC_POLY_LE ideal-int -pkg syscall (netbsd-arm64), const ETHER_HDR_LEN = 14 -pkg syscall (netbsd-arm64), const ETHER_HDR_LEN ideal-int -pkg syscall (netbsd-arm64), const ETHER_MAX_LEN = 1518 -pkg syscall (netbsd-arm64), const ETHER_MAX_LEN ideal-int -pkg syscall (netbsd-arm64), const ETHER_MAX_LEN_JUMBO = 9018 -pkg syscall (netbsd-arm64), const ETHER_MAX_LEN_JUMBO ideal-int -pkg syscall (netbsd-arm64), const ETHER_MIN_LEN = 64 -pkg syscall (netbsd-arm64), const ETHER_MIN_LEN ideal-int -pkg syscall (netbsd-arm64), const ETHER_PPPOE_ENCAP_LEN = 8 -pkg syscall (netbsd-arm64), const ETHER_PPPOE_ENCAP_LEN ideal-int -pkg syscall (netbsd-arm64), const ETHER_TYPE_LEN = 2 -pkg syscall (netbsd-arm64), const ETHER_TYPE_LEN ideal-int -pkg syscall (netbsd-arm64), const ETHER_VLAN_ENCAP_LEN = 4 -pkg syscall (netbsd-arm64), const ETHER_VLAN_ENCAP_LEN ideal-int -pkg syscall (netbsd-arm64), const ETIME = 92 -pkg syscall (netbsd-arm64), const ETIME Errno -pkg syscall (netbsd-arm64), const ETIMEDOUT = 60 -pkg syscall (netbsd-arm64), const ETOOMANYREFS = 59 -pkg syscall (netbsd-arm64), const ETXTBSY = 26 -pkg syscall (netbsd-arm64), const EUSERS = 68 -pkg syscall (netbsd-arm64), const EVFILT_AIO = 2 -pkg syscall (netbsd-arm64), const EVFILT_AIO ideal-int -pkg syscall (netbsd-arm64), const EVFILT_PROC = 4 -pkg syscall (netbsd-arm64), const EVFILT_PROC ideal-int -pkg syscall (netbsd-arm64), const EVFILT_READ = 0 -pkg syscall (netbsd-arm64), const EVFILT_READ ideal-int -pkg syscall (netbsd-arm64), const EVFILT_SIGNAL = 5 -pkg syscall (netbsd-arm64), const EVFILT_SIGNAL ideal-int -pkg syscall (netbsd-arm64), const EVFILT_SYSCOUNT = 7 -pkg syscall (netbsd-arm64), const EVFILT_SYSCOUNT ideal-int -pkg syscall (netbsd-arm64), const EVFILT_TIMER = 6 -pkg syscall (netbsd-arm64), const EVFILT_TIMER ideal-int -pkg syscall (netbsd-arm64), const EVFILT_VNODE = 3 -pkg syscall (netbsd-arm64), const EVFILT_VNODE ideal-int -pkg syscall (netbsd-arm64), const EVFILT_WRITE = 1 -pkg syscall (netbsd-arm64), const EVFILT_WRITE ideal-int -pkg syscall (netbsd-arm64), const EV_ADD = 1 -pkg syscall (netbsd-arm64), const EV_ADD ideal-int -pkg syscall (netbsd-arm64), const EV_CLEAR = 32 -pkg syscall (netbsd-arm64), const EV_CLEAR ideal-int -pkg syscall (netbsd-arm64), const EV_DELETE = 2 -pkg syscall (netbsd-arm64), const EV_DELETE ideal-int -pkg syscall (netbsd-arm64), const EV_DISABLE = 8 -pkg syscall (netbsd-arm64), const EV_DISABLE ideal-int -pkg syscall (netbsd-arm64), const EV_ENABLE = 4 -pkg syscall (netbsd-arm64), const EV_ENABLE ideal-int -pkg syscall (netbsd-arm64), const EV_EOF = 32768 -pkg syscall (netbsd-arm64), const EV_EOF ideal-int -pkg syscall (netbsd-arm64), const EV_ERROR = 16384 -pkg syscall (netbsd-arm64), const EV_ERROR ideal-int -pkg syscall (netbsd-arm64), const EV_FLAG1 = 8192 -pkg syscall (netbsd-arm64), const EV_FLAG1 ideal-int -pkg syscall (netbsd-arm64), const EV_ONESHOT = 16 -pkg syscall (netbsd-arm64), const EV_ONESHOT ideal-int -pkg syscall (netbsd-arm64), const EV_SYSFLAGS = 61440 -pkg syscall (netbsd-arm64), const EV_SYSFLAGS ideal-int -pkg syscall (netbsd-arm64), const EWOULDBLOCK = 35 -pkg syscall (netbsd-arm64), const EXDEV = 18 -pkg syscall (netbsd-arm64), const EXTA = 19200 -pkg syscall (netbsd-arm64), const EXTA ideal-int -pkg syscall (netbsd-arm64), const EXTB = 38400 -pkg syscall (netbsd-arm64), const EXTB ideal-int -pkg syscall (netbsd-arm64), const EXTPROC = 2048 -pkg syscall (netbsd-arm64), const EXTPROC ideal-int -pkg syscall (netbsd-arm64), const FD_CLOEXEC = 1 -pkg syscall (netbsd-arm64), const FD_CLOEXEC ideal-int -pkg syscall (netbsd-arm64), const FD_SETSIZE = 256 -pkg syscall (netbsd-arm64), const FD_SETSIZE ideal-int -pkg syscall (netbsd-arm64), const FLUSHO = 8388608 -pkg syscall (netbsd-arm64), const FLUSHO ideal-int -pkg syscall (netbsd-arm64), const F_CLOSEM = 10 -pkg syscall (netbsd-arm64), const F_CLOSEM ideal-int -pkg syscall (netbsd-arm64), const F_DUPFD = 0 -pkg syscall (netbsd-arm64), const F_DUPFD ideal-int -pkg syscall (netbsd-arm64), const F_DUPFD_CLOEXEC = 12 -pkg syscall (netbsd-arm64), const F_DUPFD_CLOEXEC ideal-int -pkg syscall (netbsd-arm64), const F_FSCTL = -2147483648 -pkg syscall (netbsd-arm64), const F_FSCTL ideal-int -pkg syscall (netbsd-arm64), const F_FSDIRMASK = 1879048192 -pkg syscall (netbsd-arm64), const F_FSDIRMASK ideal-int -pkg syscall (netbsd-arm64), const F_FSIN = 268435456 -pkg syscall (netbsd-arm64), const F_FSIN ideal-int -pkg syscall (netbsd-arm64), const F_FSINOUT = 805306368 -pkg syscall (netbsd-arm64), const F_FSINOUT ideal-int -pkg syscall (netbsd-arm64), const F_FSOUT = 536870912 -pkg syscall (netbsd-arm64), const F_FSOUT ideal-int -pkg syscall (netbsd-arm64), const F_FSPRIV = 32768 -pkg syscall (netbsd-arm64), const F_FSPRIV ideal-int -pkg syscall (netbsd-arm64), const F_FSVOID = 1073741824 -pkg syscall (netbsd-arm64), const F_FSVOID ideal-int -pkg syscall (netbsd-arm64), const F_GETFD = 1 -pkg syscall (netbsd-arm64), const F_GETFD ideal-int -pkg syscall (netbsd-arm64), const F_GETFL = 3 -pkg syscall (netbsd-arm64), const F_GETFL ideal-int -pkg syscall (netbsd-arm64), const F_GETLK = 7 -pkg syscall (netbsd-arm64), const F_GETLK ideal-int -pkg syscall (netbsd-arm64), const F_GETNOSIGPIPE = 13 -pkg syscall (netbsd-arm64), const F_GETNOSIGPIPE ideal-int -pkg syscall (netbsd-arm64), const F_GETOWN = 5 -pkg syscall (netbsd-arm64), const F_GETOWN ideal-int -pkg syscall (netbsd-arm64), const F_MAXFD = 11 -pkg syscall (netbsd-arm64), const F_MAXFD ideal-int -pkg syscall (netbsd-arm64), const F_OK = 0 -pkg syscall (netbsd-arm64), const F_OK ideal-int -pkg syscall (netbsd-arm64), const F_PARAM_MASK = 4095 -pkg syscall (netbsd-arm64), const F_PARAM_MASK ideal-int -pkg syscall (netbsd-arm64), const F_PARAM_MAX = 4095 -pkg syscall (netbsd-arm64), const F_PARAM_MAX ideal-int -pkg syscall (netbsd-arm64), const F_RDLCK = 1 -pkg syscall (netbsd-arm64), const F_RDLCK ideal-int -pkg syscall (netbsd-arm64), const F_SETFD = 2 -pkg syscall (netbsd-arm64), const F_SETFD ideal-int -pkg syscall (netbsd-arm64), const F_SETFL = 4 -pkg syscall (netbsd-arm64), const F_SETFL ideal-int -pkg syscall (netbsd-arm64), const F_SETLK = 8 -pkg syscall (netbsd-arm64), const F_SETLK ideal-int -pkg syscall (netbsd-arm64), const F_SETLKW = 9 -pkg syscall (netbsd-arm64), const F_SETLKW ideal-int -pkg syscall (netbsd-arm64), const F_SETNOSIGPIPE = 14 -pkg syscall (netbsd-arm64), const F_SETNOSIGPIPE ideal-int -pkg syscall (netbsd-arm64), const F_SETOWN = 6 -pkg syscall (netbsd-arm64), const F_SETOWN ideal-int -pkg syscall (netbsd-arm64), const F_UNLCK = 2 -pkg syscall (netbsd-arm64), const F_UNLCK ideal-int -pkg syscall (netbsd-arm64), const F_WRLCK = 3 -pkg syscall (netbsd-arm64), const F_WRLCK ideal-int -pkg syscall (netbsd-arm64), const HUPCL = 16384 -pkg syscall (netbsd-arm64), const HUPCL ideal-int -pkg syscall (netbsd-arm64), const ICANON = 256 -pkg syscall (netbsd-arm64), const ICANON ideal-int -pkg syscall (netbsd-arm64), const ICMP6_FILTER = 18 -pkg syscall (netbsd-arm64), const ICMP6_FILTER ideal-int -pkg syscall (netbsd-arm64), const ICRNL = 256 -pkg syscall (netbsd-arm64), const ICRNL ideal-int -pkg syscall (netbsd-arm64), const IEXTEN = 1024 -pkg syscall (netbsd-arm64), const IEXTEN ideal-int -pkg syscall (netbsd-arm64), const IFAN_ARRIVAL = 0 -pkg syscall (netbsd-arm64), const IFAN_ARRIVAL ideal-int -pkg syscall (netbsd-arm64), const IFAN_DEPARTURE = 1 -pkg syscall (netbsd-arm64), const IFAN_DEPARTURE ideal-int -pkg syscall (netbsd-arm64), const IFA_ROUTE = 1 -pkg syscall (netbsd-arm64), const IFA_ROUTE ideal-int -pkg syscall (netbsd-arm64), const IFF_ALLMULTI = 512 -pkg syscall (netbsd-arm64), const IFF_ALLMULTI ideal-int -pkg syscall (netbsd-arm64), const IFF_CANTCHANGE = 36690 -pkg syscall (netbsd-arm64), const IFF_CANTCHANGE ideal-int -pkg syscall (netbsd-arm64), const IFF_DEBUG = 4 -pkg syscall (netbsd-arm64), const IFF_DEBUG ideal-int -pkg syscall (netbsd-arm64), const IFF_LINK0 = 4096 -pkg syscall (netbsd-arm64), const IFF_LINK0 ideal-int -pkg syscall (netbsd-arm64), const IFF_LINK1 = 8192 -pkg syscall (netbsd-arm64), const IFF_LINK1 ideal-int -pkg syscall (netbsd-arm64), const IFF_LINK2 = 16384 -pkg syscall (netbsd-arm64), const IFF_LINK2 ideal-int -pkg syscall (netbsd-arm64), const IFF_LOOPBACK = 8 -pkg syscall (netbsd-arm64), const IFF_MULTICAST = 32768 -pkg syscall (netbsd-arm64), const IFF_NOARP = 128 -pkg syscall (netbsd-arm64), const IFF_NOARP ideal-int -pkg syscall (netbsd-arm64), const IFF_NOTRAILERS = 32 -pkg syscall (netbsd-arm64), const IFF_NOTRAILERS ideal-int -pkg syscall (netbsd-arm64), const IFF_OACTIVE = 1024 -pkg syscall (netbsd-arm64), const IFF_OACTIVE ideal-int -pkg syscall (netbsd-arm64), const IFF_POINTOPOINT = 16 -pkg syscall (netbsd-arm64), const IFF_POINTOPOINT ideal-int -pkg syscall (netbsd-arm64), const IFF_PROMISC = 256 -pkg syscall (netbsd-arm64), const IFF_PROMISC ideal-int -pkg syscall (netbsd-arm64), const IFF_RUNNING = 64 -pkg syscall (netbsd-arm64), const IFF_RUNNING ideal-int -pkg syscall (netbsd-arm64), const IFF_SIMPLEX = 2048 -pkg syscall (netbsd-arm64), const IFF_SIMPLEX ideal-int -pkg syscall (netbsd-arm64), const IFNAMSIZ = 16 -pkg syscall (netbsd-arm64), const IFNAMSIZ ideal-int -pkg syscall (netbsd-arm64), const IFT_1822 = 2 -pkg syscall (netbsd-arm64), const IFT_1822 ideal-int -pkg syscall (netbsd-arm64), const IFT_A12MPPSWITCH = 130 -pkg syscall (netbsd-arm64), const IFT_A12MPPSWITCH ideal-int -pkg syscall (netbsd-arm64), const IFT_AAL2 = 187 -pkg syscall (netbsd-arm64), const IFT_AAL2 ideal-int -pkg syscall (netbsd-arm64), const IFT_AAL5 = 49 -pkg syscall (netbsd-arm64), const IFT_AAL5 ideal-int -pkg syscall (netbsd-arm64), const IFT_ADSL = 94 -pkg syscall (netbsd-arm64), const IFT_ADSL ideal-int -pkg syscall (netbsd-arm64), const IFT_AFLANE8023 = 59 -pkg syscall (netbsd-arm64), const IFT_AFLANE8023 ideal-int -pkg syscall (netbsd-arm64), const IFT_AFLANE8025 = 60 -pkg syscall (netbsd-arm64), const IFT_AFLANE8025 ideal-int -pkg syscall (netbsd-arm64), const IFT_ARAP = 88 -pkg syscall (netbsd-arm64), const IFT_ARAP ideal-int -pkg syscall (netbsd-arm64), const IFT_ARCNET = 35 -pkg syscall (netbsd-arm64), const IFT_ARCNET ideal-int -pkg syscall (netbsd-arm64), const IFT_ARCNETPLUS = 36 -pkg syscall (netbsd-arm64), const IFT_ARCNETPLUS ideal-int -pkg syscall (netbsd-arm64), const IFT_ASYNC = 84 -pkg syscall (netbsd-arm64), const IFT_ASYNC ideal-int -pkg syscall (netbsd-arm64), const IFT_ATM = 37 -pkg syscall (netbsd-arm64), const IFT_ATM ideal-int -pkg syscall (netbsd-arm64), const IFT_ATMDXI = 105 -pkg syscall (netbsd-arm64), const IFT_ATMDXI ideal-int -pkg syscall (netbsd-arm64), const IFT_ATMFUNI = 106 -pkg syscall (netbsd-arm64), const IFT_ATMFUNI ideal-int -pkg syscall (netbsd-arm64), const IFT_ATMIMA = 107 -pkg syscall (netbsd-arm64), const IFT_ATMIMA ideal-int -pkg syscall (netbsd-arm64), const IFT_ATMLOGICAL = 80 -pkg syscall (netbsd-arm64), const IFT_ATMLOGICAL ideal-int -pkg syscall (netbsd-arm64), const IFT_ATMRADIO = 189 -pkg syscall (netbsd-arm64), const IFT_ATMRADIO ideal-int -pkg syscall (netbsd-arm64), const IFT_ATMSUBINTERFACE = 134 -pkg syscall (netbsd-arm64), const IFT_ATMSUBINTERFACE ideal-int -pkg syscall (netbsd-arm64), const IFT_ATMVCIENDPT = 194 -pkg syscall (netbsd-arm64), const IFT_ATMVCIENDPT ideal-int -pkg syscall (netbsd-arm64), const IFT_ATMVIRTUAL = 149 -pkg syscall (netbsd-arm64), const IFT_ATMVIRTUAL ideal-int -pkg syscall (netbsd-arm64), const IFT_BGPPOLICYACCOUNTING = 162 -pkg syscall (netbsd-arm64), const IFT_BGPPOLICYACCOUNTING ideal-int -pkg syscall (netbsd-arm64), const IFT_BRIDGE = 209 -pkg syscall (netbsd-arm64), const IFT_BRIDGE ideal-int -pkg syscall (netbsd-arm64), const IFT_BSC = 83 -pkg syscall (netbsd-arm64), const IFT_BSC ideal-int -pkg syscall (netbsd-arm64), const IFT_CARP = 248 -pkg syscall (netbsd-arm64), const IFT_CARP ideal-int -pkg syscall (netbsd-arm64), const IFT_CCTEMUL = 61 -pkg syscall (netbsd-arm64), const IFT_CCTEMUL ideal-int -pkg syscall (netbsd-arm64), const IFT_CEPT = 19 -pkg syscall (netbsd-arm64), const IFT_CEPT ideal-int -pkg syscall (netbsd-arm64), const IFT_CES = 133 -pkg syscall (netbsd-arm64), const IFT_CES ideal-int -pkg syscall (netbsd-arm64), const IFT_CHANNEL = 70 -pkg syscall (netbsd-arm64), const IFT_CHANNEL ideal-int -pkg syscall (netbsd-arm64), const IFT_CNR = 85 -pkg syscall (netbsd-arm64), const IFT_CNR ideal-int -pkg syscall (netbsd-arm64), const IFT_COFFEE = 132 -pkg syscall (netbsd-arm64), const IFT_COFFEE ideal-int -pkg syscall (netbsd-arm64), const IFT_COMPOSITELINK = 155 -pkg syscall (netbsd-arm64), const IFT_COMPOSITELINK ideal-int -pkg syscall (netbsd-arm64), const IFT_DCN = 141 -pkg syscall (netbsd-arm64), const IFT_DCN ideal-int -pkg syscall (netbsd-arm64), const IFT_DIGITALPOWERLINE = 138 -pkg syscall (netbsd-arm64), const IFT_DIGITALPOWERLINE ideal-int -pkg syscall (netbsd-arm64), const IFT_DIGITALWRAPPEROVERHEADCHANNEL = 186 -pkg syscall (netbsd-arm64), const IFT_DIGITALWRAPPEROVERHEADCHANNEL ideal-int -pkg syscall (netbsd-arm64), const IFT_DLSW = 74 -pkg syscall (netbsd-arm64), const IFT_DLSW ideal-int -pkg syscall (netbsd-arm64), const IFT_DOCSCABLEDOWNSTREAM = 128 -pkg syscall (netbsd-arm64), const IFT_DOCSCABLEDOWNSTREAM ideal-int -pkg syscall (netbsd-arm64), const IFT_DOCSCABLEMACLAYER = 127 -pkg syscall (netbsd-arm64), const IFT_DOCSCABLEMACLAYER ideal-int -pkg syscall (netbsd-arm64), const IFT_DOCSCABLEUPSTREAM = 129 -pkg syscall (netbsd-arm64), const IFT_DOCSCABLEUPSTREAM ideal-int -pkg syscall (netbsd-arm64), const IFT_DOCSCABLEUPSTREAMCHANNEL = 205 -pkg syscall (netbsd-arm64), const IFT_DOCSCABLEUPSTREAMCHANNEL ideal-int -pkg syscall (netbsd-arm64), const IFT_DS0 = 81 -pkg syscall (netbsd-arm64), const IFT_DS0 ideal-int -pkg syscall (netbsd-arm64), const IFT_DS0BUNDLE = 82 -pkg syscall (netbsd-arm64), const IFT_DS0BUNDLE ideal-int -pkg syscall (netbsd-arm64), const IFT_DS1FDL = 170 -pkg syscall (netbsd-arm64), const IFT_DS1FDL ideal-int -pkg syscall (netbsd-arm64), const IFT_DS3 = 30 -pkg syscall (netbsd-arm64), const IFT_DS3 ideal-int -pkg syscall (netbsd-arm64), const IFT_DTM = 140 -pkg syscall (netbsd-arm64), const IFT_DTM ideal-int -pkg syscall (netbsd-arm64), const IFT_DVBASILN = 172 -pkg syscall (netbsd-arm64), const IFT_DVBASILN ideal-int -pkg syscall (netbsd-arm64), const IFT_DVBASIOUT = 173 -pkg syscall (netbsd-arm64), const IFT_DVBASIOUT ideal-int -pkg syscall (netbsd-arm64), const IFT_DVBRCCDOWNSTREAM = 147 -pkg syscall (netbsd-arm64), const IFT_DVBRCCDOWNSTREAM ideal-int -pkg syscall (netbsd-arm64), const IFT_DVBRCCMACLAYER = 146 -pkg syscall (netbsd-arm64), const IFT_DVBRCCMACLAYER ideal-int -pkg syscall (netbsd-arm64), const IFT_DVBRCCUPSTREAM = 148 -pkg syscall (netbsd-arm64), const IFT_DVBRCCUPSTREAM ideal-int -pkg syscall (netbsd-arm64), const IFT_ECONET = 206 -pkg syscall (netbsd-arm64), const IFT_ECONET ideal-int -pkg syscall (netbsd-arm64), const IFT_EON = 25 -pkg syscall (netbsd-arm64), const IFT_EON ideal-int -pkg syscall (netbsd-arm64), const IFT_EPLRS = 87 -pkg syscall (netbsd-arm64), const IFT_EPLRS ideal-int -pkg syscall (netbsd-arm64), const IFT_ESCON = 73 -pkg syscall (netbsd-arm64), const IFT_ESCON ideal-int -pkg syscall (netbsd-arm64), const IFT_ETHER = 6 -pkg syscall (netbsd-arm64), const IFT_ETHER ideal-int -pkg syscall (netbsd-arm64), const IFT_FAITH = 242 -pkg syscall (netbsd-arm64), const IFT_FAITH ideal-int -pkg syscall (netbsd-arm64), const IFT_FAST = 125 -pkg syscall (netbsd-arm64), const IFT_FAST ideal-int -pkg syscall (netbsd-arm64), const IFT_FASTETHER = 62 -pkg syscall (netbsd-arm64), const IFT_FASTETHER ideal-int -pkg syscall (netbsd-arm64), const IFT_FASTETHERFX = 69 -pkg syscall (netbsd-arm64), const IFT_FASTETHERFX ideal-int -pkg syscall (netbsd-arm64), const IFT_FDDI = 15 -pkg syscall (netbsd-arm64), const IFT_FDDI ideal-int -pkg syscall (netbsd-arm64), const IFT_FIBRECHANNEL = 56 -pkg syscall (netbsd-arm64), const IFT_FIBRECHANNEL ideal-int -pkg syscall (netbsd-arm64), const IFT_FRAMERELAYINTERCONNECT = 58 -pkg syscall (netbsd-arm64), const IFT_FRAMERELAYINTERCONNECT ideal-int -pkg syscall (netbsd-arm64), const IFT_FRAMERELAYMPI = 92 -pkg syscall (netbsd-arm64), const IFT_FRAMERELAYMPI ideal-int -pkg syscall (netbsd-arm64), const IFT_FRDLCIENDPT = 193 -pkg syscall (netbsd-arm64), const IFT_FRDLCIENDPT ideal-int -pkg syscall (netbsd-arm64), const IFT_FRELAY = 32 -pkg syscall (netbsd-arm64), const IFT_FRELAY ideal-int -pkg syscall (netbsd-arm64), const IFT_FRELAYDCE = 44 -pkg syscall (netbsd-arm64), const IFT_FRELAYDCE ideal-int -pkg syscall (netbsd-arm64), const IFT_FRF16MFRBUNDLE = 163 -pkg syscall (netbsd-arm64), const IFT_FRF16MFRBUNDLE ideal-int -pkg syscall (netbsd-arm64), const IFT_FRFORWARD = 158 -pkg syscall (netbsd-arm64), const IFT_FRFORWARD ideal-int -pkg syscall (netbsd-arm64), const IFT_G703AT2MB = 67 -pkg syscall (netbsd-arm64), const IFT_G703AT2MB ideal-int -pkg syscall (netbsd-arm64), const IFT_G703AT64K = 66 -pkg syscall (netbsd-arm64), const IFT_G703AT64K ideal-int -pkg syscall (netbsd-arm64), const IFT_GIF = 240 -pkg syscall (netbsd-arm64), const IFT_GIF ideal-int -pkg syscall (netbsd-arm64), const IFT_GIGABITETHERNET = 117 -pkg syscall (netbsd-arm64), const IFT_GIGABITETHERNET ideal-int -pkg syscall (netbsd-arm64), const IFT_GR303IDT = 178 -pkg syscall (netbsd-arm64), const IFT_GR303IDT ideal-int -pkg syscall (netbsd-arm64), const IFT_GR303RDT = 177 -pkg syscall (netbsd-arm64), const IFT_GR303RDT ideal-int -pkg syscall (netbsd-arm64), const IFT_H323GATEKEEPER = 164 -pkg syscall (netbsd-arm64), const IFT_H323GATEKEEPER ideal-int -pkg syscall (netbsd-arm64), const IFT_H323PROXY = 165 -pkg syscall (netbsd-arm64), const IFT_H323PROXY ideal-int -pkg syscall (netbsd-arm64), const IFT_HDH1822 = 3 -pkg syscall (netbsd-arm64), const IFT_HDH1822 ideal-int -pkg syscall (netbsd-arm64), const IFT_HDLC = 118 -pkg syscall (netbsd-arm64), const IFT_HDLC ideal-int -pkg syscall (netbsd-arm64), const IFT_HDSL2 = 168 -pkg syscall (netbsd-arm64), const IFT_HDSL2 ideal-int -pkg syscall (netbsd-arm64), const IFT_HIPERLAN2 = 183 -pkg syscall (netbsd-arm64), const IFT_HIPERLAN2 ideal-int -pkg syscall (netbsd-arm64), const IFT_HIPPI = 47 -pkg syscall (netbsd-arm64), const IFT_HIPPI ideal-int -pkg syscall (netbsd-arm64), const IFT_HIPPIINTERFACE = 57 -pkg syscall (netbsd-arm64), const IFT_HIPPIINTERFACE ideal-int -pkg syscall (netbsd-arm64), const IFT_HOSTPAD = 90 -pkg syscall (netbsd-arm64), const IFT_HOSTPAD ideal-int -pkg syscall (netbsd-arm64), const IFT_HSSI = 46 -pkg syscall (netbsd-arm64), const IFT_HSSI ideal-int -pkg syscall (netbsd-arm64), const IFT_HY = 14 -pkg syscall (netbsd-arm64), const IFT_HY ideal-int -pkg syscall (netbsd-arm64), const IFT_IBM370PARCHAN = 72 -pkg syscall (netbsd-arm64), const IFT_IBM370PARCHAN ideal-int -pkg syscall (netbsd-arm64), const IFT_IDSL = 154 -pkg syscall (netbsd-arm64), const IFT_IDSL ideal-int -pkg syscall (netbsd-arm64), const IFT_IEEE1394 = 144 -pkg syscall (netbsd-arm64), const IFT_IEEE1394 ideal-int -pkg syscall (netbsd-arm64), const IFT_IEEE80211 = 71 -pkg syscall (netbsd-arm64), const IFT_IEEE80211 ideal-int -pkg syscall (netbsd-arm64), const IFT_IEEE80212 = 55 -pkg syscall (netbsd-arm64), const IFT_IEEE80212 ideal-int -pkg syscall (netbsd-arm64), const IFT_IEEE8023ADLAG = 161 -pkg syscall (netbsd-arm64), const IFT_IEEE8023ADLAG ideal-int -pkg syscall (netbsd-arm64), const IFT_IFGSN = 145 -pkg syscall (netbsd-arm64), const IFT_IFGSN ideal-int -pkg syscall (netbsd-arm64), const IFT_IMT = 190 -pkg syscall (netbsd-arm64), const IFT_IMT ideal-int -pkg syscall (netbsd-arm64), const IFT_INFINIBAND = 199 -pkg syscall (netbsd-arm64), const IFT_INFINIBAND ideal-int -pkg syscall (netbsd-arm64), const IFT_INTERLEAVE = 124 -pkg syscall (netbsd-arm64), const IFT_INTERLEAVE ideal-int -pkg syscall (netbsd-arm64), const IFT_IP = 126 -pkg syscall (netbsd-arm64), const IFT_IP ideal-int -pkg syscall (netbsd-arm64), const IFT_IPFORWARD = 142 -pkg syscall (netbsd-arm64), const IFT_IPFORWARD ideal-int -pkg syscall (netbsd-arm64), const IFT_IPOVERATM = 114 -pkg syscall (netbsd-arm64), const IFT_IPOVERATM ideal-int -pkg syscall (netbsd-arm64), const IFT_IPOVERCDLC = 109 -pkg syscall (netbsd-arm64), const IFT_IPOVERCDLC ideal-int -pkg syscall (netbsd-arm64), const IFT_IPOVERCLAW = 110 -pkg syscall (netbsd-arm64), const IFT_IPOVERCLAW ideal-int -pkg syscall (netbsd-arm64), const IFT_IPSWITCH = 78 -pkg syscall (netbsd-arm64), const IFT_IPSWITCH ideal-int -pkg syscall (netbsd-arm64), const IFT_ISDN = 63 -pkg syscall (netbsd-arm64), const IFT_ISDN ideal-int -pkg syscall (netbsd-arm64), const IFT_ISDNBASIC = 20 -pkg syscall (netbsd-arm64), const IFT_ISDNBASIC ideal-int -pkg syscall (netbsd-arm64), const IFT_ISDNPRIMARY = 21 -pkg syscall (netbsd-arm64), const IFT_ISDNPRIMARY ideal-int -pkg syscall (netbsd-arm64), const IFT_ISDNS = 75 -pkg syscall (netbsd-arm64), const IFT_ISDNS ideal-int -pkg syscall (netbsd-arm64), const IFT_ISDNU = 76 -pkg syscall (netbsd-arm64), const IFT_ISDNU ideal-int -pkg syscall (netbsd-arm64), const IFT_ISO88022LLC = 41 -pkg syscall (netbsd-arm64), const IFT_ISO88022LLC ideal-int -pkg syscall (netbsd-arm64), const IFT_ISO88023 = 7 -pkg syscall (netbsd-arm64), const IFT_ISO88023 ideal-int -pkg syscall (netbsd-arm64), const IFT_ISO88024 = 8 -pkg syscall (netbsd-arm64), const IFT_ISO88024 ideal-int -pkg syscall (netbsd-arm64), const IFT_ISO88025 = 9 -pkg syscall (netbsd-arm64), const IFT_ISO88025 ideal-int -pkg syscall (netbsd-arm64), const IFT_ISO88025CRFPINT = 98 -pkg syscall (netbsd-arm64), const IFT_ISO88025CRFPINT ideal-int -pkg syscall (netbsd-arm64), const IFT_ISO88025DTR = 86 -pkg syscall (netbsd-arm64), const IFT_ISO88025DTR ideal-int -pkg syscall (netbsd-arm64), const IFT_ISO88025FIBER = 115 -pkg syscall (netbsd-arm64), const IFT_ISO88025FIBER ideal-int -pkg syscall (netbsd-arm64), const IFT_ISO88026 = 10 -pkg syscall (netbsd-arm64), const IFT_ISO88026 ideal-int -pkg syscall (netbsd-arm64), const IFT_ISUP = 179 -pkg syscall (netbsd-arm64), const IFT_ISUP ideal-int -pkg syscall (netbsd-arm64), const IFT_L2VLAN = 135 -pkg syscall (netbsd-arm64), const IFT_L2VLAN ideal-int -pkg syscall (netbsd-arm64), const IFT_L3IPVLAN = 136 -pkg syscall (netbsd-arm64), const IFT_L3IPVLAN ideal-int -pkg syscall (netbsd-arm64), const IFT_L3IPXVLAN = 137 -pkg syscall (netbsd-arm64), const IFT_L3IPXVLAN ideal-int -pkg syscall (netbsd-arm64), const IFT_LAPB = 16 -pkg syscall (netbsd-arm64), const IFT_LAPB ideal-int -pkg syscall (netbsd-arm64), const IFT_LAPD = 77 -pkg syscall (netbsd-arm64), const IFT_LAPD ideal-int -pkg syscall (netbsd-arm64), const IFT_LAPF = 119 -pkg syscall (netbsd-arm64), const IFT_LAPF ideal-int -pkg syscall (netbsd-arm64), const IFT_LINEGROUP = 210 -pkg syscall (netbsd-arm64), const IFT_LINEGROUP ideal-int -pkg syscall (netbsd-arm64), const IFT_LOCALTALK = 42 -pkg syscall (netbsd-arm64), const IFT_LOCALTALK ideal-int -pkg syscall (netbsd-arm64), const IFT_LOOP = 24 -pkg syscall (netbsd-arm64), const IFT_LOOP ideal-int -pkg syscall (netbsd-arm64), const IFT_MEDIAMAILOVERIP = 139 -pkg syscall (netbsd-arm64), const IFT_MEDIAMAILOVERIP ideal-int -pkg syscall (netbsd-arm64), const IFT_MFSIGLINK = 167 -pkg syscall (netbsd-arm64), const IFT_MFSIGLINK ideal-int -pkg syscall (netbsd-arm64), const IFT_MIOX25 = 38 -pkg syscall (netbsd-arm64), const IFT_MIOX25 ideal-int -pkg syscall (netbsd-arm64), const IFT_MODEM = 48 -pkg syscall (netbsd-arm64), const IFT_MODEM ideal-int -pkg syscall (netbsd-arm64), const IFT_MPC = 113 -pkg syscall (netbsd-arm64), const IFT_MPC ideal-int -pkg syscall (netbsd-arm64), const IFT_MPLS = 166 -pkg syscall (netbsd-arm64), const IFT_MPLS ideal-int -pkg syscall (netbsd-arm64), const IFT_MPLSTUNNEL = 150 -pkg syscall (netbsd-arm64), const IFT_MPLSTUNNEL ideal-int -pkg syscall (netbsd-arm64), const IFT_MSDSL = 143 -pkg syscall (netbsd-arm64), const IFT_MSDSL ideal-int -pkg syscall (netbsd-arm64), const IFT_MVL = 191 -pkg syscall (netbsd-arm64), const IFT_MVL ideal-int -pkg syscall (netbsd-arm64), const IFT_MYRINET = 99 -pkg syscall (netbsd-arm64), const IFT_MYRINET ideal-int -pkg syscall (netbsd-arm64), const IFT_NFAS = 175 -pkg syscall (netbsd-arm64), const IFT_NFAS ideal-int -pkg syscall (netbsd-arm64), const IFT_NSIP = 27 -pkg syscall (netbsd-arm64), const IFT_NSIP ideal-int -pkg syscall (netbsd-arm64), const IFT_OPTICALCHANNEL = 195 -pkg syscall (netbsd-arm64), const IFT_OPTICALCHANNEL ideal-int -pkg syscall (netbsd-arm64), const IFT_OPTICALTRANSPORT = 196 -pkg syscall (netbsd-arm64), const IFT_OPTICALTRANSPORT ideal-int -pkg syscall (netbsd-arm64), const IFT_OTHER = 1 -pkg syscall (netbsd-arm64), const IFT_OTHER ideal-int -pkg syscall (netbsd-arm64), const IFT_P10 = 12 -pkg syscall (netbsd-arm64), const IFT_P10 ideal-int -pkg syscall (netbsd-arm64), const IFT_P80 = 13 -pkg syscall (netbsd-arm64), const IFT_P80 ideal-int -pkg syscall (netbsd-arm64), const IFT_PARA = 34 -pkg syscall (netbsd-arm64), const IFT_PARA ideal-int -pkg syscall (netbsd-arm64), const IFT_PFLOG = 245 -pkg syscall (netbsd-arm64), const IFT_PFLOG ideal-int -pkg syscall (netbsd-arm64), const IFT_PFSYNC = 246 -pkg syscall (netbsd-arm64), const IFT_PFSYNC ideal-int -pkg syscall (netbsd-arm64), const IFT_PLC = 174 -pkg syscall (netbsd-arm64), const IFT_PLC ideal-int -pkg syscall (netbsd-arm64), const IFT_PON155 = 207 -pkg syscall (netbsd-arm64), const IFT_PON155 ideal-int -pkg syscall (netbsd-arm64), const IFT_PON622 = 208 -pkg syscall (netbsd-arm64), const IFT_PON622 ideal-int -pkg syscall (netbsd-arm64), const IFT_POS = 171 -pkg syscall (netbsd-arm64), const IFT_POS ideal-int -pkg syscall (netbsd-arm64), const IFT_PPP = 23 -pkg syscall (netbsd-arm64), const IFT_PPP ideal-int -pkg syscall (netbsd-arm64), const IFT_PPPMULTILINKBUNDLE = 108 -pkg syscall (netbsd-arm64), const IFT_PPPMULTILINKBUNDLE ideal-int -pkg syscall (netbsd-arm64), const IFT_PROPATM = 197 -pkg syscall (netbsd-arm64), const IFT_PROPATM ideal-int -pkg syscall (netbsd-arm64), const IFT_PROPBWAP2MP = 184 -pkg syscall (netbsd-arm64), const IFT_PROPBWAP2MP ideal-int -pkg syscall (netbsd-arm64), const IFT_PROPCNLS = 89 -pkg syscall (netbsd-arm64), const IFT_PROPCNLS ideal-int -pkg syscall (netbsd-arm64), const IFT_PROPDOCSWIRELESSDOWNSTREAM = 181 -pkg syscall (netbsd-arm64), const IFT_PROPDOCSWIRELESSDOWNSTREAM ideal-int -pkg syscall (netbsd-arm64), const IFT_PROPDOCSWIRELESSMACLAYER = 180 -pkg syscall (netbsd-arm64), const IFT_PROPDOCSWIRELESSMACLAYER ideal-int -pkg syscall (netbsd-arm64), const IFT_PROPDOCSWIRELESSUPSTREAM = 182 -pkg syscall (netbsd-arm64), const IFT_PROPDOCSWIRELESSUPSTREAM ideal-int -pkg syscall (netbsd-arm64), const IFT_PROPMUX = 54 -pkg syscall (netbsd-arm64), const IFT_PROPMUX ideal-int -pkg syscall (netbsd-arm64), const IFT_PROPVIRTUAL = 53 -pkg syscall (netbsd-arm64), const IFT_PROPVIRTUAL ideal-int -pkg syscall (netbsd-arm64), const IFT_PROPWIRELESSP2P = 157 -pkg syscall (netbsd-arm64), const IFT_PROPWIRELESSP2P ideal-int -pkg syscall (netbsd-arm64), const IFT_PTPSERIAL = 22 -pkg syscall (netbsd-arm64), const IFT_PTPSERIAL ideal-int -pkg syscall (netbsd-arm64), const IFT_PVC = 241 -pkg syscall (netbsd-arm64), const IFT_PVC ideal-int -pkg syscall (netbsd-arm64), const IFT_Q2931 = 201 -pkg syscall (netbsd-arm64), const IFT_Q2931 ideal-int -pkg syscall (netbsd-arm64), const IFT_QLLC = 68 -pkg syscall (netbsd-arm64), const IFT_QLLC ideal-int -pkg syscall (netbsd-arm64), const IFT_RADIOMAC = 188 -pkg syscall (netbsd-arm64), const IFT_RADIOMAC ideal-int -pkg syscall (netbsd-arm64), const IFT_RADSL = 95 -pkg syscall (netbsd-arm64), const IFT_RADSL ideal-int -pkg syscall (netbsd-arm64), const IFT_REACHDSL = 192 -pkg syscall (netbsd-arm64), const IFT_REACHDSL ideal-int -pkg syscall (netbsd-arm64), const IFT_RFC1483 = 159 -pkg syscall (netbsd-arm64), const IFT_RFC1483 ideal-int -pkg syscall (netbsd-arm64), const IFT_RS232 = 33 -pkg syscall (netbsd-arm64), const IFT_RS232 ideal-int -pkg syscall (netbsd-arm64), const IFT_RSRB = 79 -pkg syscall (netbsd-arm64), const IFT_RSRB ideal-int -pkg syscall (netbsd-arm64), const IFT_SDLC = 17 -pkg syscall (netbsd-arm64), const IFT_SDLC ideal-int -pkg syscall (netbsd-arm64), const IFT_SDSL = 96 -pkg syscall (netbsd-arm64), const IFT_SDSL ideal-int -pkg syscall (netbsd-arm64), const IFT_SHDSL = 169 -pkg syscall (netbsd-arm64), const IFT_SHDSL ideal-int -pkg syscall (netbsd-arm64), const IFT_SIP = 31 -pkg syscall (netbsd-arm64), const IFT_SIP ideal-int -pkg syscall (netbsd-arm64), const IFT_SIPSIG = 204 -pkg syscall (netbsd-arm64), const IFT_SIPSIG ideal-int -pkg syscall (netbsd-arm64), const IFT_SIPTG = 203 -pkg syscall (netbsd-arm64), const IFT_SIPTG ideal-int -pkg syscall (netbsd-arm64), const IFT_SLIP = 28 -pkg syscall (netbsd-arm64), const IFT_SLIP ideal-int -pkg syscall (netbsd-arm64), const IFT_SMDSDXI = 43 -pkg syscall (netbsd-arm64), const IFT_SMDSDXI ideal-int -pkg syscall (netbsd-arm64), const IFT_SMDSICIP = 52 -pkg syscall (netbsd-arm64), const IFT_SMDSICIP ideal-int -pkg syscall (netbsd-arm64), const IFT_SONET = 39 -pkg syscall (netbsd-arm64), const IFT_SONET ideal-int -pkg syscall (netbsd-arm64), const IFT_SONETOVERHEADCHANNEL = 185 -pkg syscall (netbsd-arm64), const IFT_SONETOVERHEADCHANNEL ideal-int -pkg syscall (netbsd-arm64), const IFT_SONETPATH = 50 -pkg syscall (netbsd-arm64), const IFT_SONETPATH ideal-int -pkg syscall (netbsd-arm64), const IFT_SONETVT = 51 -pkg syscall (netbsd-arm64), const IFT_SONETVT ideal-int -pkg syscall (netbsd-arm64), const IFT_SRP = 151 -pkg syscall (netbsd-arm64), const IFT_SRP ideal-int -pkg syscall (netbsd-arm64), const IFT_SS7SIGLINK = 156 -pkg syscall (netbsd-arm64), const IFT_SS7SIGLINK ideal-int -pkg syscall (netbsd-arm64), const IFT_STACKTOSTACK = 111 -pkg syscall (netbsd-arm64), const IFT_STACKTOSTACK ideal-int -pkg syscall (netbsd-arm64), const IFT_STARLAN = 11 -pkg syscall (netbsd-arm64), const IFT_STARLAN ideal-int -pkg syscall (netbsd-arm64), const IFT_STF = 215 -pkg syscall (netbsd-arm64), const IFT_STF ideal-int -pkg syscall (netbsd-arm64), const IFT_T1 = 18 -pkg syscall (netbsd-arm64), const IFT_T1 ideal-int -pkg syscall (netbsd-arm64), const IFT_TDLC = 116 -pkg syscall (netbsd-arm64), const IFT_TDLC ideal-int -pkg syscall (netbsd-arm64), const IFT_TELINK = 200 -pkg syscall (netbsd-arm64), const IFT_TELINK ideal-int -pkg syscall (netbsd-arm64), const IFT_TERMPAD = 91 -pkg syscall (netbsd-arm64), const IFT_TERMPAD ideal-int -pkg syscall (netbsd-arm64), const IFT_TR008 = 176 -pkg syscall (netbsd-arm64), const IFT_TR008 ideal-int -pkg syscall (netbsd-arm64), const IFT_TRANSPHDLC = 123 -pkg syscall (netbsd-arm64), const IFT_TRANSPHDLC ideal-int -pkg syscall (netbsd-arm64), const IFT_TUNNEL = 131 -pkg syscall (netbsd-arm64), const IFT_TUNNEL ideal-int -pkg syscall (netbsd-arm64), const IFT_ULTRA = 29 -pkg syscall (netbsd-arm64), const IFT_ULTRA ideal-int -pkg syscall (netbsd-arm64), const IFT_USB = 160 -pkg syscall (netbsd-arm64), const IFT_USB ideal-int -pkg syscall (netbsd-arm64), const IFT_V11 = 64 -pkg syscall (netbsd-arm64), const IFT_V11 ideal-int -pkg syscall (netbsd-arm64), const IFT_V35 = 45 -pkg syscall (netbsd-arm64), const IFT_V35 ideal-int -pkg syscall (netbsd-arm64), const IFT_V36 = 65 -pkg syscall (netbsd-arm64), const IFT_V36 ideal-int -pkg syscall (netbsd-arm64), const IFT_V37 = 120 -pkg syscall (netbsd-arm64), const IFT_V37 ideal-int -pkg syscall (netbsd-arm64), const IFT_VDSL = 97 -pkg syscall (netbsd-arm64), const IFT_VDSL ideal-int -pkg syscall (netbsd-arm64), const IFT_VIRTUALIPADDRESS = 112 -pkg syscall (netbsd-arm64), const IFT_VIRTUALIPADDRESS ideal-int -pkg syscall (netbsd-arm64), const IFT_VIRTUALTG = 202 -pkg syscall (netbsd-arm64), const IFT_VIRTUALTG ideal-int -pkg syscall (netbsd-arm64), const IFT_VOICEDID = 213 -pkg syscall (netbsd-arm64), const IFT_VOICEDID ideal-int -pkg syscall (netbsd-arm64), const IFT_VOICEEM = 100 -pkg syscall (netbsd-arm64), const IFT_VOICEEM ideal-int -pkg syscall (netbsd-arm64), const IFT_VOICEEMFGD = 211 -pkg syscall (netbsd-arm64), const IFT_VOICEEMFGD ideal-int -pkg syscall (netbsd-arm64), const IFT_VOICEENCAP = 103 -pkg syscall (netbsd-arm64), const IFT_VOICEENCAP ideal-int -pkg syscall (netbsd-arm64), const IFT_VOICEFGDEANA = 212 -pkg syscall (netbsd-arm64), const IFT_VOICEFGDEANA ideal-int -pkg syscall (netbsd-arm64), const IFT_VOICEFXO = 101 -pkg syscall (netbsd-arm64), const IFT_VOICEFXO ideal-int -pkg syscall (netbsd-arm64), const IFT_VOICEFXS = 102 -pkg syscall (netbsd-arm64), const IFT_VOICEFXS ideal-int -pkg syscall (netbsd-arm64), const IFT_VOICEOVERATM = 152 -pkg syscall (netbsd-arm64), const IFT_VOICEOVERATM ideal-int -pkg syscall (netbsd-arm64), const IFT_VOICEOVERCABLE = 198 -pkg syscall (netbsd-arm64), const IFT_VOICEOVERCABLE ideal-int -pkg syscall (netbsd-arm64), const IFT_VOICEOVERFRAMERELAY = 153 -pkg syscall (netbsd-arm64), const IFT_VOICEOVERFRAMERELAY ideal-int -pkg syscall (netbsd-arm64), const IFT_VOICEOVERIP = 104 -pkg syscall (netbsd-arm64), const IFT_VOICEOVERIP ideal-int -pkg syscall (netbsd-arm64), const IFT_X213 = 93 -pkg syscall (netbsd-arm64), const IFT_X213 ideal-int -pkg syscall (netbsd-arm64), const IFT_X25 = 5 -pkg syscall (netbsd-arm64), const IFT_X25 ideal-int -pkg syscall (netbsd-arm64), const IFT_X25DDN = 4 -pkg syscall (netbsd-arm64), const IFT_X25DDN ideal-int -pkg syscall (netbsd-arm64), const IFT_X25HUNTGROUP = 122 -pkg syscall (netbsd-arm64), const IFT_X25HUNTGROUP ideal-int -pkg syscall (netbsd-arm64), const IFT_X25MLP = 121 -pkg syscall (netbsd-arm64), const IFT_X25MLP ideal-int -pkg syscall (netbsd-arm64), const IFT_X25PLE = 40 -pkg syscall (netbsd-arm64), const IFT_X25PLE ideal-int -pkg syscall (netbsd-arm64), const IFT_XETHER = 26 -pkg syscall (netbsd-arm64), const IFT_XETHER ideal-int -pkg syscall (netbsd-arm64), const IGNBRK = 1 -pkg syscall (netbsd-arm64), const IGNBRK ideal-int -pkg syscall (netbsd-arm64), const IGNCR = 128 -pkg syscall (netbsd-arm64), const IGNCR ideal-int -pkg syscall (netbsd-arm64), const IGNPAR = 4 -pkg syscall (netbsd-arm64), const IGNPAR ideal-int -pkg syscall (netbsd-arm64), const IMAXBEL = 8192 -pkg syscall (netbsd-arm64), const IMAXBEL ideal-int -pkg syscall (netbsd-arm64), const INLCR = 64 -pkg syscall (netbsd-arm64), const INLCR ideal-int -pkg syscall (netbsd-arm64), const INPCK = 16 -pkg syscall (netbsd-arm64), const INPCK ideal-int -pkg syscall (netbsd-arm64), const IN_CLASSA_HOST = 16777215 -pkg syscall (netbsd-arm64), const IN_CLASSA_HOST ideal-int -pkg syscall (netbsd-arm64), const IN_CLASSA_MAX = 128 -pkg syscall (netbsd-arm64), const IN_CLASSA_MAX ideal-int -pkg syscall (netbsd-arm64), const IN_CLASSA_NET = 4278190080 -pkg syscall (netbsd-arm64), const IN_CLASSA_NET ideal-int -pkg syscall (netbsd-arm64), const IN_CLASSA_NSHIFT = 24 -pkg syscall (netbsd-arm64), const IN_CLASSA_NSHIFT ideal-int -pkg syscall (netbsd-arm64), const IN_CLASSB_HOST = 65535 -pkg syscall (netbsd-arm64), const IN_CLASSB_HOST ideal-int -pkg syscall (netbsd-arm64), const IN_CLASSB_MAX = 65536 -pkg syscall (netbsd-arm64), const IN_CLASSB_MAX ideal-int -pkg syscall (netbsd-arm64), const IN_CLASSB_NET = 4294901760 -pkg syscall (netbsd-arm64), const IN_CLASSB_NET ideal-int -pkg syscall (netbsd-arm64), const IN_CLASSB_NSHIFT = 16 -pkg syscall (netbsd-arm64), const IN_CLASSB_NSHIFT ideal-int -pkg syscall (netbsd-arm64), const IN_CLASSC_HOST = 255 -pkg syscall (netbsd-arm64), const IN_CLASSC_HOST ideal-int -pkg syscall (netbsd-arm64), const IN_CLASSC_NET = 4294967040 -pkg syscall (netbsd-arm64), const IN_CLASSC_NET ideal-int -pkg syscall (netbsd-arm64), const IN_CLASSC_NSHIFT = 8 -pkg syscall (netbsd-arm64), const IN_CLASSC_NSHIFT ideal-int -pkg syscall (netbsd-arm64), const IN_CLASSD_HOST = 268435455 -pkg syscall (netbsd-arm64), const IN_CLASSD_HOST ideal-int -pkg syscall (netbsd-arm64), const IN_CLASSD_NET = 4026531840 -pkg syscall (netbsd-arm64), const IN_CLASSD_NET ideal-int -pkg syscall (netbsd-arm64), const IN_CLASSD_NSHIFT = 28 -pkg syscall (netbsd-arm64), const IN_CLASSD_NSHIFT ideal-int -pkg syscall (netbsd-arm64), const IN_LOOPBACKNET = 127 -pkg syscall (netbsd-arm64), const IN_LOOPBACKNET ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_AH = 51 -pkg syscall (netbsd-arm64), const IPPROTO_AH ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_CARP = 112 -pkg syscall (netbsd-arm64), const IPPROTO_CARP ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_DONE = 257 -pkg syscall (netbsd-arm64), const IPPROTO_DONE ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_DSTOPTS = 60 -pkg syscall (netbsd-arm64), const IPPROTO_DSTOPTS ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_EGP = 8 -pkg syscall (netbsd-arm64), const IPPROTO_EGP ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_ENCAP = 98 -pkg syscall (netbsd-arm64), const IPPROTO_ENCAP ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_EON = 80 -pkg syscall (netbsd-arm64), const IPPROTO_EON ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_ESP = 50 -pkg syscall (netbsd-arm64), const IPPROTO_ESP ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_ETHERIP = 97 -pkg syscall (netbsd-arm64), const IPPROTO_ETHERIP ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_FRAGMENT = 44 -pkg syscall (netbsd-arm64), const IPPROTO_FRAGMENT ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_GGP = 3 -pkg syscall (netbsd-arm64), const IPPROTO_GGP ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_GRE = 47 -pkg syscall (netbsd-arm64), const IPPROTO_GRE ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_HOPOPTS = 0 -pkg syscall (netbsd-arm64), const IPPROTO_HOPOPTS ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_ICMP = 1 -pkg syscall (netbsd-arm64), const IPPROTO_ICMP ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_ICMPV6 = 58 -pkg syscall (netbsd-arm64), const IPPROTO_ICMPV6 ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_IDP = 22 -pkg syscall (netbsd-arm64), const IPPROTO_IDP ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_IGMP = 2 -pkg syscall (netbsd-arm64), const IPPROTO_IGMP ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_IPCOMP = 108 -pkg syscall (netbsd-arm64), const IPPROTO_IPCOMP ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_IPIP = 4 -pkg syscall (netbsd-arm64), const IPPROTO_IPIP ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_IPV4 = 4 -pkg syscall (netbsd-arm64), const IPPROTO_IPV4 ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_IPV6_ICMP = 58 -pkg syscall (netbsd-arm64), const IPPROTO_IPV6_ICMP ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_MAX = 256 -pkg syscall (netbsd-arm64), const IPPROTO_MAX ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_MAXID = 52 -pkg syscall (netbsd-arm64), const IPPROTO_MAXID ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_MOBILE = 55 -pkg syscall (netbsd-arm64), const IPPROTO_MOBILE ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_NONE = 59 -pkg syscall (netbsd-arm64), const IPPROTO_NONE ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_PFSYNC = 240 -pkg syscall (netbsd-arm64), const IPPROTO_PFSYNC ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_PIM = 103 -pkg syscall (netbsd-arm64), const IPPROTO_PIM ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_PUP = 12 -pkg syscall (netbsd-arm64), const IPPROTO_PUP ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_RAW = 255 -pkg syscall (netbsd-arm64), const IPPROTO_RAW ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_ROUTING = 43 -pkg syscall (netbsd-arm64), const IPPROTO_ROUTING ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_RSVP = 46 -pkg syscall (netbsd-arm64), const IPPROTO_RSVP ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_TP = 29 -pkg syscall (netbsd-arm64), const IPPROTO_TP ideal-int -pkg syscall (netbsd-arm64), const IPPROTO_VRRP = 112 -pkg syscall (netbsd-arm64), const IPPROTO_VRRP ideal-int -pkg syscall (netbsd-arm64), const IPV6_CHECKSUM = 26 -pkg syscall (netbsd-arm64), const IPV6_CHECKSUM ideal-int -pkg syscall (netbsd-arm64), const IPV6_DEFAULT_MULTICAST_HOPS = 1 -pkg syscall (netbsd-arm64), const IPV6_DEFAULT_MULTICAST_HOPS ideal-int -pkg syscall (netbsd-arm64), const IPV6_DEFAULT_MULTICAST_LOOP = 1 -pkg syscall (netbsd-arm64), const IPV6_DEFAULT_MULTICAST_LOOP ideal-int -pkg syscall (netbsd-arm64), const IPV6_DEFHLIM = 64 -pkg syscall (netbsd-arm64), const IPV6_DEFHLIM ideal-int -pkg syscall (netbsd-arm64), const IPV6_DONTFRAG = 62 -pkg syscall (netbsd-arm64), const IPV6_DONTFRAG ideal-int -pkg syscall (netbsd-arm64), const IPV6_DSTOPTS = 50 -pkg syscall (netbsd-arm64), const IPV6_DSTOPTS ideal-int -pkg syscall (netbsd-arm64), const IPV6_FAITH = 29 -pkg syscall (netbsd-arm64), const IPV6_FAITH ideal-int -pkg syscall (netbsd-arm64), const IPV6_FLOWINFO_MASK = 4294967055 -pkg syscall (netbsd-arm64), const IPV6_FLOWINFO_MASK ideal-int -pkg syscall (netbsd-arm64), const IPV6_FLOWLABEL_MASK = 4294905600 -pkg syscall (netbsd-arm64), const IPV6_FLOWLABEL_MASK ideal-int -pkg syscall (netbsd-arm64), const IPV6_FRAGTTL = 120 -pkg syscall (netbsd-arm64), const IPV6_FRAGTTL ideal-int -pkg syscall (netbsd-arm64), const IPV6_HLIMDEC = 1 -pkg syscall (netbsd-arm64), const IPV6_HLIMDEC ideal-int -pkg syscall (netbsd-arm64), const IPV6_HOPLIMIT = 47 -pkg syscall (netbsd-arm64), const IPV6_HOPLIMIT ideal-int -pkg syscall (netbsd-arm64), const IPV6_HOPOPTS = 49 -pkg syscall (netbsd-arm64), const IPV6_HOPOPTS ideal-int -pkg syscall (netbsd-arm64), const IPV6_IPSEC_POLICY = 28 -pkg syscall (netbsd-arm64), const IPV6_IPSEC_POLICY ideal-int -pkg syscall (netbsd-arm64), const IPV6_JOIN_GROUP = 12 -pkg syscall (netbsd-arm64), const IPV6_LEAVE_GROUP = 13 -pkg syscall (netbsd-arm64), const IPV6_MAXHLIM = 255 -pkg syscall (netbsd-arm64), const IPV6_MAXHLIM ideal-int -pkg syscall (netbsd-arm64), const IPV6_MAXPACKET = 65535 -pkg syscall (netbsd-arm64), const IPV6_MAXPACKET ideal-int -pkg syscall (netbsd-arm64), const IPV6_MMTU = 1280 -pkg syscall (netbsd-arm64), const IPV6_MMTU ideal-int -pkg syscall (netbsd-arm64), const IPV6_MULTICAST_HOPS = 10 -pkg syscall (netbsd-arm64), const IPV6_MULTICAST_IF = 9 -pkg syscall (netbsd-arm64), const IPV6_MULTICAST_LOOP = 11 -pkg syscall (netbsd-arm64), const IPV6_NEXTHOP = 48 -pkg syscall (netbsd-arm64), const IPV6_NEXTHOP ideal-int -pkg syscall (netbsd-arm64), const IPV6_PATHMTU = 44 -pkg syscall (netbsd-arm64), const IPV6_PATHMTU ideal-int -pkg syscall (netbsd-arm64), const IPV6_PKTINFO = 46 -pkg syscall (netbsd-arm64), const IPV6_PKTINFO ideal-int -pkg syscall (netbsd-arm64), const IPV6_PORTRANGE = 14 -pkg syscall (netbsd-arm64), const IPV6_PORTRANGE ideal-int -pkg syscall (netbsd-arm64), const IPV6_PORTRANGE_DEFAULT = 0 -pkg syscall (netbsd-arm64), const IPV6_PORTRANGE_DEFAULT ideal-int -pkg syscall (netbsd-arm64), const IPV6_PORTRANGE_HIGH = 1 -pkg syscall (netbsd-arm64), const IPV6_PORTRANGE_HIGH ideal-int -pkg syscall (netbsd-arm64), const IPV6_PORTRANGE_LOW = 2 -pkg syscall (netbsd-arm64), const IPV6_PORTRANGE_LOW ideal-int -pkg syscall (netbsd-arm64), const IPV6_RECVDSTOPTS = 40 -pkg syscall (netbsd-arm64), const IPV6_RECVDSTOPTS ideal-int -pkg syscall (netbsd-arm64), const IPV6_RECVHOPLIMIT = 37 -pkg syscall (netbsd-arm64), const IPV6_RECVHOPLIMIT ideal-int -pkg syscall (netbsd-arm64), const IPV6_RECVHOPOPTS = 39 -pkg syscall (netbsd-arm64), const IPV6_RECVHOPOPTS ideal-int -pkg syscall (netbsd-arm64), const IPV6_RECVPATHMTU = 43 -pkg syscall (netbsd-arm64), const IPV6_RECVPATHMTU ideal-int -pkg syscall (netbsd-arm64), const IPV6_RECVPKTINFO = 36 -pkg syscall (netbsd-arm64), const IPV6_RECVPKTINFO ideal-int -pkg syscall (netbsd-arm64), const IPV6_RECVRTHDR = 38 -pkg syscall (netbsd-arm64), const IPV6_RECVRTHDR ideal-int -pkg syscall (netbsd-arm64), const IPV6_RECVTCLASS = 57 -pkg syscall (netbsd-arm64), const IPV6_RECVTCLASS ideal-int -pkg syscall (netbsd-arm64), const IPV6_RTHDR = 51 -pkg syscall (netbsd-arm64), const IPV6_RTHDR ideal-int -pkg syscall (netbsd-arm64), const IPV6_RTHDRDSTOPTS = 35 -pkg syscall (netbsd-arm64), const IPV6_RTHDRDSTOPTS ideal-int -pkg syscall (netbsd-arm64), const IPV6_RTHDR_LOOSE = 0 -pkg syscall (netbsd-arm64), const IPV6_RTHDR_LOOSE ideal-int -pkg syscall (netbsd-arm64), const IPV6_RTHDR_STRICT = 1 -pkg syscall (netbsd-arm64), const IPV6_RTHDR_STRICT ideal-int -pkg syscall (netbsd-arm64), const IPV6_RTHDR_TYPE_0 = 0 -pkg syscall (netbsd-arm64), const IPV6_RTHDR_TYPE_0 ideal-int -pkg syscall (netbsd-arm64), const IPV6_SOCKOPT_RESERVED1 = 3 -pkg syscall (netbsd-arm64), const IPV6_SOCKOPT_RESERVED1 ideal-int -pkg syscall (netbsd-arm64), const IPV6_TCLASS = 61 -pkg syscall (netbsd-arm64), const IPV6_TCLASS ideal-int -pkg syscall (netbsd-arm64), const IPV6_UNICAST_HOPS = 4 -pkg syscall (netbsd-arm64), const IPV6_USE_MIN_MTU = 42 -pkg syscall (netbsd-arm64), const IPV6_USE_MIN_MTU ideal-int -pkg syscall (netbsd-arm64), const IPV6_V6ONLY = 27 -pkg syscall (netbsd-arm64), const IPV6_VERSION = 96 -pkg syscall (netbsd-arm64), const IPV6_VERSION ideal-int -pkg syscall (netbsd-arm64), const IPV6_VERSION_MASK = 240 -pkg syscall (netbsd-arm64), const IPV6_VERSION_MASK ideal-int -pkg syscall (netbsd-arm64), const IP_ADD_MEMBERSHIP = 12 -pkg syscall (netbsd-arm64), const IP_DEFAULT_MULTICAST_LOOP = 1 -pkg syscall (netbsd-arm64), const IP_DEFAULT_MULTICAST_LOOP ideal-int -pkg syscall (netbsd-arm64), const IP_DEFAULT_MULTICAST_TTL = 1 -pkg syscall (netbsd-arm64), const IP_DEFAULT_MULTICAST_TTL ideal-int -pkg syscall (netbsd-arm64), const IP_DF = 16384 -pkg syscall (netbsd-arm64), const IP_DF ideal-int -pkg syscall (netbsd-arm64), const IP_DROP_MEMBERSHIP = 13 -pkg syscall (netbsd-arm64), const IP_EF = 32768 -pkg syscall (netbsd-arm64), const IP_EF ideal-int -pkg syscall (netbsd-arm64), const IP_ERRORMTU = 21 -pkg syscall (netbsd-arm64), const IP_ERRORMTU ideal-int -pkg syscall (netbsd-arm64), const IP_HDRINCL = 2 -pkg syscall (netbsd-arm64), const IP_HDRINCL ideal-int -pkg syscall (netbsd-arm64), const IP_IPSEC_POLICY = 22 -pkg syscall (netbsd-arm64), const IP_IPSEC_POLICY ideal-int -pkg syscall (netbsd-arm64), const IP_MAXPACKET = 65535 -pkg syscall (netbsd-arm64), const IP_MAXPACKET ideal-int -pkg syscall (netbsd-arm64), const IP_MAX_MEMBERSHIPS = 20 -pkg syscall (netbsd-arm64), const IP_MAX_MEMBERSHIPS ideal-int -pkg syscall (netbsd-arm64), const IP_MF = 8192 -pkg syscall (netbsd-arm64), const IP_MF ideal-int -pkg syscall (netbsd-arm64), const IP_MINFRAGSIZE = 69 -pkg syscall (netbsd-arm64), const IP_MINFRAGSIZE ideal-int -pkg syscall (netbsd-arm64), const IP_MINTTL = 24 -pkg syscall (netbsd-arm64), const IP_MINTTL ideal-int -pkg syscall (netbsd-arm64), const IP_MSS = 576 -pkg syscall (netbsd-arm64), const IP_MSS ideal-int -pkg syscall (netbsd-arm64), const IP_MULTICAST_IF = 9 -pkg syscall (netbsd-arm64), const IP_MULTICAST_LOOP = 11 -pkg syscall (netbsd-arm64), const IP_MULTICAST_TTL = 10 -pkg syscall (netbsd-arm64), const IP_OFFMASK = 8191 -pkg syscall (netbsd-arm64), const IP_OFFMASK ideal-int -pkg syscall (netbsd-arm64), const IP_OPTIONS = 1 -pkg syscall (netbsd-arm64), const IP_OPTIONS ideal-int -pkg syscall (netbsd-arm64), const IP_PORTRANGE = 19 -pkg syscall (netbsd-arm64), const IP_PORTRANGE ideal-int -pkg syscall (netbsd-arm64), const IP_PORTRANGE_DEFAULT = 0 -pkg syscall (netbsd-arm64), const IP_PORTRANGE_DEFAULT ideal-int -pkg syscall (netbsd-arm64), const IP_PORTRANGE_HIGH = 1 -pkg syscall (netbsd-arm64), const IP_PORTRANGE_HIGH ideal-int -pkg syscall (netbsd-arm64), const IP_PORTRANGE_LOW = 2 -pkg syscall (netbsd-arm64), const IP_PORTRANGE_LOW ideal-int -pkg syscall (netbsd-arm64), const IP_RECVDSTADDR = 7 -pkg syscall (netbsd-arm64), const IP_RECVDSTADDR ideal-int -pkg syscall (netbsd-arm64), const IP_RECVIF = 20 -pkg syscall (netbsd-arm64), const IP_RECVIF ideal-int -pkg syscall (netbsd-arm64), const IP_RECVOPTS = 5 -pkg syscall (netbsd-arm64), const IP_RECVOPTS ideal-int -pkg syscall (netbsd-arm64), const IP_RECVRETOPTS = 6 -pkg syscall (netbsd-arm64), const IP_RECVRETOPTS ideal-int -pkg syscall (netbsd-arm64), const IP_RECVTTL = 23 -pkg syscall (netbsd-arm64), const IP_RECVTTL ideal-int -pkg syscall (netbsd-arm64), const IP_RETOPTS = 8 -pkg syscall (netbsd-arm64), const IP_RETOPTS ideal-int -pkg syscall (netbsd-arm64), const IP_RF = 32768 -pkg syscall (netbsd-arm64), const IP_RF ideal-int -pkg syscall (netbsd-arm64), const IP_TOS = 3 -pkg syscall (netbsd-arm64), const IP_TTL = 4 -pkg syscall (netbsd-arm64), const ISIG = 128 -pkg syscall (netbsd-arm64), const ISIG ideal-int -pkg syscall (netbsd-arm64), const ISTRIP = 32 -pkg syscall (netbsd-arm64), const ISTRIP ideal-int -pkg syscall (netbsd-arm64), const IXANY = 2048 -pkg syscall (netbsd-arm64), const IXANY ideal-int -pkg syscall (netbsd-arm64), const IXOFF = 1024 -pkg syscall (netbsd-arm64), const IXOFF ideal-int -pkg syscall (netbsd-arm64), const IXON = 512 -pkg syscall (netbsd-arm64), const IXON ideal-int -pkg syscall (netbsd-arm64), const LOCK_EX = 2 -pkg syscall (netbsd-arm64), const LOCK_EX ideal-int -pkg syscall (netbsd-arm64), const LOCK_NB = 4 -pkg syscall (netbsd-arm64), const LOCK_NB ideal-int -pkg syscall (netbsd-arm64), const LOCK_SH = 1 -pkg syscall (netbsd-arm64), const LOCK_SH ideal-int -pkg syscall (netbsd-arm64), const LOCK_UN = 8 -pkg syscall (netbsd-arm64), const LOCK_UN ideal-int -pkg syscall (netbsd-arm64), const MADV_DONTNEED = 4 -pkg syscall (netbsd-arm64), const MADV_DONTNEED ideal-int -pkg syscall (netbsd-arm64), const MADV_FREE = 6 -pkg syscall (netbsd-arm64), const MADV_FREE ideal-int -pkg syscall (netbsd-arm64), const MADV_NORMAL = 0 -pkg syscall (netbsd-arm64), const MADV_NORMAL ideal-int -pkg syscall (netbsd-arm64), const MADV_RANDOM = 1 -pkg syscall (netbsd-arm64), const MADV_RANDOM ideal-int -pkg syscall (netbsd-arm64), const MADV_SEQUENTIAL = 2 -pkg syscall (netbsd-arm64), const MADV_SEQUENTIAL ideal-int -pkg syscall (netbsd-arm64), const MADV_SPACEAVAIL = 5 -pkg syscall (netbsd-arm64), const MADV_SPACEAVAIL ideal-int -pkg syscall (netbsd-arm64), const MADV_WILLNEED = 3 -pkg syscall (netbsd-arm64), const MADV_WILLNEED ideal-int -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_16MB = 402653184 -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_16MB ideal-int -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_1TB = 671088640 -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_1TB ideal-int -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_256TB = 805306368 -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_256TB ideal-int -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_4GB = 536870912 -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_4GB ideal-int -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_64KB = 268435456 -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_64KB ideal-int -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_64PB = 939524096 -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_64PB ideal-int -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_MASK = -16777216 -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_MASK ideal-int -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_SHIFT = 24 -pkg syscall (netbsd-arm64), const MAP_ALIGNMENT_SHIFT ideal-int -pkg syscall (netbsd-arm64), const MAP_ANON = 4096 -pkg syscall (netbsd-arm64), const MAP_ANON ideal-int -pkg syscall (netbsd-arm64), const MAP_FILE = 0 -pkg syscall (netbsd-arm64), const MAP_FILE ideal-int -pkg syscall (netbsd-arm64), const MAP_FIXED = 16 -pkg syscall (netbsd-arm64), const MAP_FIXED ideal-int -pkg syscall (netbsd-arm64), const MAP_HASSEMAPHORE = 512 -pkg syscall (netbsd-arm64), const MAP_HASSEMAPHORE ideal-int -pkg syscall (netbsd-arm64), const MAP_INHERIT = 128 -pkg syscall (netbsd-arm64), const MAP_INHERIT ideal-int -pkg syscall (netbsd-arm64), const MAP_INHERIT_COPY = 1 -pkg syscall (netbsd-arm64), const MAP_INHERIT_COPY ideal-int -pkg syscall (netbsd-arm64), const MAP_INHERIT_DEFAULT = 1 -pkg syscall (netbsd-arm64), const MAP_INHERIT_DEFAULT ideal-int -pkg syscall (netbsd-arm64), const MAP_INHERIT_DONATE_COPY = 3 -pkg syscall (netbsd-arm64), const MAP_INHERIT_DONATE_COPY ideal-int -pkg syscall (netbsd-arm64), const MAP_INHERIT_NONE = 2 -pkg syscall (netbsd-arm64), const MAP_INHERIT_NONE ideal-int -pkg syscall (netbsd-arm64), const MAP_INHERIT_SHARE = 0 -pkg syscall (netbsd-arm64), const MAP_INHERIT_SHARE ideal-int -pkg syscall (netbsd-arm64), const MAP_NORESERVE = 64 -pkg syscall (netbsd-arm64), const MAP_NORESERVE ideal-int -pkg syscall (netbsd-arm64), const MAP_PRIVATE = 2 -pkg syscall (netbsd-arm64), const MAP_PRIVATE ideal-int -pkg syscall (netbsd-arm64), const MAP_RENAME = 32 -pkg syscall (netbsd-arm64), const MAP_RENAME ideal-int -pkg syscall (netbsd-arm64), const MAP_SHARED = 1 -pkg syscall (netbsd-arm64), const MAP_SHARED ideal-int -pkg syscall (netbsd-arm64), const MAP_STACK = 8192 -pkg syscall (netbsd-arm64), const MAP_STACK ideal-int -pkg syscall (netbsd-arm64), const MAP_TRYFIXED = 1024 -pkg syscall (netbsd-arm64), const MAP_TRYFIXED ideal-int -pkg syscall (netbsd-arm64), const MAP_WIRED = 2048 -pkg syscall (netbsd-arm64), const MAP_WIRED ideal-int -pkg syscall (netbsd-arm64), const MCL_CURRENT = 1 -pkg syscall (netbsd-arm64), const MCL_CURRENT ideal-int -pkg syscall (netbsd-arm64), const MCL_FUTURE = 2 -pkg syscall (netbsd-arm64), const MCL_FUTURE ideal-int -pkg syscall (netbsd-arm64), const MSG_BCAST = 256 -pkg syscall (netbsd-arm64), const MSG_BCAST ideal-int -pkg syscall (netbsd-arm64), const MSG_CMSG_CLOEXEC = 2048 -pkg syscall (netbsd-arm64), const MSG_CMSG_CLOEXEC ideal-int -pkg syscall (netbsd-arm64), const MSG_CONTROLMBUF = 33554432 -pkg syscall (netbsd-arm64), const MSG_CONTROLMBUF ideal-int -pkg syscall (netbsd-arm64), const MSG_CTRUNC = 32 -pkg syscall (netbsd-arm64), const MSG_CTRUNC ideal-int -pkg syscall (netbsd-arm64), const MSG_DONTROUTE = 4 -pkg syscall (netbsd-arm64), const MSG_DONTROUTE ideal-int -pkg syscall (netbsd-arm64), const MSG_DONTWAIT = 128 -pkg syscall (netbsd-arm64), const MSG_DONTWAIT ideal-int -pkg syscall (netbsd-arm64), const MSG_EOR = 8 -pkg syscall (netbsd-arm64), const MSG_EOR ideal-int -pkg syscall (netbsd-arm64), const MSG_IOVUSRSPACE = 67108864 -pkg syscall (netbsd-arm64), const MSG_IOVUSRSPACE ideal-int -pkg syscall (netbsd-arm64), const MSG_LENUSRSPACE = 134217728 -pkg syscall (netbsd-arm64), const MSG_LENUSRSPACE ideal-int -pkg syscall (netbsd-arm64), const MSG_MCAST = 512 -pkg syscall (netbsd-arm64), const MSG_MCAST ideal-int -pkg syscall (netbsd-arm64), const MSG_NAMEMBUF = 16777216 -pkg syscall (netbsd-arm64), const MSG_NAMEMBUF ideal-int -pkg syscall (netbsd-arm64), const MSG_NBIO = 4096 -pkg syscall (netbsd-arm64), const MSG_NBIO ideal-int -pkg syscall (netbsd-arm64), const MSG_NOSIGNAL = 1024 -pkg syscall (netbsd-arm64), const MSG_NOSIGNAL ideal-int -pkg syscall (netbsd-arm64), const MSG_OOB = 1 -pkg syscall (netbsd-arm64), const MSG_OOB ideal-int -pkg syscall (netbsd-arm64), const MSG_PEEK = 2 -pkg syscall (netbsd-arm64), const MSG_PEEK ideal-int -pkg syscall (netbsd-arm64), const MSG_TRUNC = 16 -pkg syscall (netbsd-arm64), const MSG_TRUNC ideal-int -pkg syscall (netbsd-arm64), const MSG_USERFLAGS = 16777215 -pkg syscall (netbsd-arm64), const MSG_USERFLAGS ideal-int -pkg syscall (netbsd-arm64), const MSG_WAITALL = 64 -pkg syscall (netbsd-arm64), const MSG_WAITALL ideal-int -pkg syscall (netbsd-arm64), const MS_ASYNC = 1 -pkg syscall (netbsd-arm64), const MS_ASYNC ideal-int -pkg syscall (netbsd-arm64), const MS_INVALIDATE = 2 -pkg syscall (netbsd-arm64), const MS_INVALIDATE ideal-int -pkg syscall (netbsd-arm64), const MS_SYNC = 4 -pkg syscall (netbsd-arm64), const MS_SYNC ideal-int -pkg syscall (netbsd-arm64), const NAME_MAX = 511 -pkg syscall (netbsd-arm64), const NAME_MAX ideal-int -pkg syscall (netbsd-arm64), const NET_RT_DUMP = 1 -pkg syscall (netbsd-arm64), const NET_RT_DUMP ideal-int -pkg syscall (netbsd-arm64), const NET_RT_FLAGS = 2 -pkg syscall (netbsd-arm64), const NET_RT_FLAGS ideal-int -pkg syscall (netbsd-arm64), const NET_RT_IFLIST = 5 -pkg syscall (netbsd-arm64), const NET_RT_IFLIST ideal-int -pkg syscall (netbsd-arm64), const NET_RT_MAXID = 6 -pkg syscall (netbsd-arm64), const NET_RT_MAXID ideal-int -pkg syscall (netbsd-arm64), const NET_RT_OIFLIST = 4 -pkg syscall (netbsd-arm64), const NET_RT_OIFLIST ideal-int -pkg syscall (netbsd-arm64), const NET_RT_OOIFLIST = 3 -pkg syscall (netbsd-arm64), const NET_RT_OOIFLIST ideal-int -pkg syscall (netbsd-arm64), const NOFLSH = 2147483648 -pkg syscall (netbsd-arm64), const NOFLSH ideal-int -pkg syscall (netbsd-arm64), const NOTE_ATTRIB = 8 -pkg syscall (netbsd-arm64), const NOTE_ATTRIB ideal-int -pkg syscall (netbsd-arm64), const NOTE_CHILD = 4 -pkg syscall (netbsd-arm64), const NOTE_CHILD ideal-int -pkg syscall (netbsd-arm64), const NOTE_DELETE = 1 -pkg syscall (netbsd-arm64), const NOTE_DELETE ideal-int -pkg syscall (netbsd-arm64), const NOTE_EXEC = 536870912 -pkg syscall (netbsd-arm64), const NOTE_EXEC ideal-int -pkg syscall (netbsd-arm64), const NOTE_EXIT = 2147483648 -pkg syscall (netbsd-arm64), const NOTE_EXIT ideal-int -pkg syscall (netbsd-arm64), const NOTE_EXTEND = 4 -pkg syscall (netbsd-arm64), const NOTE_EXTEND ideal-int -pkg syscall (netbsd-arm64), const NOTE_FORK = 1073741824 -pkg syscall (netbsd-arm64), const NOTE_FORK ideal-int -pkg syscall (netbsd-arm64), const NOTE_LINK = 16 -pkg syscall (netbsd-arm64), const NOTE_LINK ideal-int -pkg syscall (netbsd-arm64), const NOTE_LOWAT = 1 -pkg syscall (netbsd-arm64), const NOTE_LOWAT ideal-int -pkg syscall (netbsd-arm64), const NOTE_PCTRLMASK = 4026531840 -pkg syscall (netbsd-arm64), const NOTE_PCTRLMASK ideal-int -pkg syscall (netbsd-arm64), const NOTE_PDATAMASK = 1048575 -pkg syscall (netbsd-arm64), const NOTE_PDATAMASK ideal-int -pkg syscall (netbsd-arm64), const NOTE_RENAME = 32 -pkg syscall (netbsd-arm64), const NOTE_RENAME ideal-int -pkg syscall (netbsd-arm64), const NOTE_REVOKE = 64 -pkg syscall (netbsd-arm64), const NOTE_REVOKE ideal-int -pkg syscall (netbsd-arm64), const NOTE_TRACK = 1 -pkg syscall (netbsd-arm64), const NOTE_TRACK ideal-int -pkg syscall (netbsd-arm64), const NOTE_TRACKERR = 2 -pkg syscall (netbsd-arm64), const NOTE_TRACKERR ideal-int -pkg syscall (netbsd-arm64), const NOTE_WRITE = 2 -pkg syscall (netbsd-arm64), const NOTE_WRITE ideal-int -pkg syscall (netbsd-arm64), const OCRNL = 16 -pkg syscall (netbsd-arm64), const OCRNL ideal-int -pkg syscall (netbsd-arm64), const OFIOGETBMAP = 3221513850 -pkg syscall (netbsd-arm64), const OFIOGETBMAP ideal-int -pkg syscall (netbsd-arm64), const ONLCR = 2 -pkg syscall (netbsd-arm64), const ONLCR ideal-int -pkg syscall (netbsd-arm64), const ONLRET = 64 -pkg syscall (netbsd-arm64), const ONLRET ideal-int -pkg syscall (netbsd-arm64), const ONOCR = 32 -pkg syscall (netbsd-arm64), const ONOCR ideal-int -pkg syscall (netbsd-arm64), const ONOEOT = 8 -pkg syscall (netbsd-arm64), const ONOEOT ideal-int -pkg syscall (netbsd-arm64), const OPOST = 1 -pkg syscall (netbsd-arm64), const OPOST ideal-int -pkg syscall (netbsd-arm64), const O_ACCMODE = 3 -pkg syscall (netbsd-arm64), const O_ACCMODE ideal-int -pkg syscall (netbsd-arm64), const O_ALT_IO = 262144 -pkg syscall (netbsd-arm64), const O_ALT_IO ideal-int -pkg syscall (netbsd-arm64), const O_APPEND = 8 -pkg syscall (netbsd-arm64), const O_ASYNC = 64 -pkg syscall (netbsd-arm64), const O_CLOEXEC = 4194304 -pkg syscall (netbsd-arm64), const O_CREAT = 512 -pkg syscall (netbsd-arm64), const O_DIRECT = 524288 -pkg syscall (netbsd-arm64), const O_DIRECT ideal-int -pkg syscall (netbsd-arm64), const O_DIRECTORY = 2097152 -pkg syscall (netbsd-arm64), const O_DIRECTORY ideal-int -pkg syscall (netbsd-arm64), const O_DSYNC = 65536 -pkg syscall (netbsd-arm64), const O_DSYNC ideal-int -pkg syscall (netbsd-arm64), const O_EXCL = 2048 -pkg syscall (netbsd-arm64), const O_EXLOCK = 32 -pkg syscall (netbsd-arm64), const O_EXLOCK ideal-int -pkg syscall (netbsd-arm64), const O_FSYNC = 128 -pkg syscall (netbsd-arm64), const O_FSYNC ideal-int -pkg syscall (netbsd-arm64), const O_NDELAY = 4 -pkg syscall (netbsd-arm64), const O_NDELAY ideal-int -pkg syscall (netbsd-arm64), const O_NOCTTY = 32768 -pkg syscall (netbsd-arm64), const O_NOFOLLOW = 256 -pkg syscall (netbsd-arm64), const O_NOFOLLOW ideal-int -pkg syscall (netbsd-arm64), const O_NONBLOCK = 4 -pkg syscall (netbsd-arm64), const O_NOSIGPIPE = 16777216 -pkg syscall (netbsd-arm64), const O_NOSIGPIPE ideal-int -pkg syscall (netbsd-arm64), const O_RSYNC = 131072 -pkg syscall (netbsd-arm64), const O_RSYNC ideal-int -pkg syscall (netbsd-arm64), const O_SHLOCK = 16 -pkg syscall (netbsd-arm64), const O_SHLOCK ideal-int -pkg syscall (netbsd-arm64), const O_SYNC = 128 -pkg syscall (netbsd-arm64), const O_TRUNC = 1024 -pkg syscall (netbsd-arm64), const PARENB = 4096 -pkg syscall (netbsd-arm64), const PARENB ideal-int -pkg syscall (netbsd-arm64), const PARMRK = 8 -pkg syscall (netbsd-arm64), const PARMRK ideal-int -pkg syscall (netbsd-arm64), const PARODD = 8192 -pkg syscall (netbsd-arm64), const PARODD ideal-int -pkg syscall (netbsd-arm64), const PENDIN = 536870912 -pkg syscall (netbsd-arm64), const PENDIN ideal-int -pkg syscall (netbsd-arm64), const PRIO_PGRP = 1 -pkg syscall (netbsd-arm64), const PRIO_PGRP ideal-int -pkg syscall (netbsd-arm64), const PRIO_PROCESS = 0 -pkg syscall (netbsd-arm64), const PRIO_PROCESS ideal-int -pkg syscall (netbsd-arm64), const PRIO_USER = 2 -pkg syscall (netbsd-arm64), const PRIO_USER ideal-int -pkg syscall (netbsd-arm64), const PRI_IOFLUSH = 124 -pkg syscall (netbsd-arm64), const PRI_IOFLUSH ideal-int -pkg syscall (netbsd-arm64), const PROT_EXEC = 4 -pkg syscall (netbsd-arm64), const PROT_EXEC ideal-int -pkg syscall (netbsd-arm64), const PROT_NONE = 0 -pkg syscall (netbsd-arm64), const PROT_NONE ideal-int -pkg syscall (netbsd-arm64), const PROT_READ = 1 -pkg syscall (netbsd-arm64), const PROT_READ ideal-int -pkg syscall (netbsd-arm64), const PROT_WRITE = 2 -pkg syscall (netbsd-arm64), const PROT_WRITE ideal-int -pkg syscall (netbsd-arm64), const PTRACE_CONT = 7 -pkg syscall (netbsd-arm64), const PTRACE_CONT ideal-int -pkg syscall (netbsd-arm64), const PTRACE_KILL = 8 -pkg syscall (netbsd-arm64), const PTRACE_KILL ideal-int -pkg syscall (netbsd-arm64), const PTRACE_TRACEME = 0 -pkg syscall (netbsd-arm64), const PTRACE_TRACEME ideal-int -pkg syscall (netbsd-arm64), const RLIMIT_AS = 10 -pkg syscall (netbsd-arm64), const RLIMIT_AS ideal-int -pkg syscall (netbsd-arm64), const RLIMIT_CORE = 4 -pkg syscall (netbsd-arm64), const RLIMIT_CORE ideal-int -pkg syscall (netbsd-arm64), const RLIMIT_CPU = 0 -pkg syscall (netbsd-arm64), const RLIMIT_CPU ideal-int -pkg syscall (netbsd-arm64), const RLIMIT_DATA = 2 -pkg syscall (netbsd-arm64), const RLIMIT_DATA ideal-int -pkg syscall (netbsd-arm64), const RLIMIT_FSIZE = 1 -pkg syscall (netbsd-arm64), const RLIMIT_FSIZE ideal-int -pkg syscall (netbsd-arm64), const RLIMIT_NOFILE = 8 -pkg syscall (netbsd-arm64), const RLIMIT_NOFILE ideal-int -pkg syscall (netbsd-arm64), const RLIMIT_STACK = 3 -pkg syscall (netbsd-arm64), const RLIMIT_STACK ideal-int -pkg syscall (netbsd-arm64), const RLIM_INFINITY = 9223372036854775807 -pkg syscall (netbsd-arm64), const RLIM_INFINITY ideal-int -pkg syscall (netbsd-arm64), const RTAX_AUTHOR = 6 -pkg syscall (netbsd-arm64), const RTAX_AUTHOR ideal-int -pkg syscall (netbsd-arm64), const RTAX_BRD = 7 -pkg syscall (netbsd-arm64), const RTAX_BRD ideal-int -pkg syscall (netbsd-arm64), const RTAX_DST = 0 -pkg syscall (netbsd-arm64), const RTAX_DST ideal-int -pkg syscall (netbsd-arm64), const RTAX_GATEWAY = 1 -pkg syscall (netbsd-arm64), const RTAX_GATEWAY ideal-int -pkg syscall (netbsd-arm64), const RTAX_GENMASK = 3 -pkg syscall (netbsd-arm64), const RTAX_GENMASK ideal-int -pkg syscall (netbsd-arm64), const RTAX_IFA = 5 -pkg syscall (netbsd-arm64), const RTAX_IFA ideal-int -pkg syscall (netbsd-arm64), const RTAX_IFP = 4 -pkg syscall (netbsd-arm64), const RTAX_IFP ideal-int -pkg syscall (netbsd-arm64), const RTAX_MAX = 9 -pkg syscall (netbsd-arm64), const RTAX_MAX ideal-int -pkg syscall (netbsd-arm64), const RTAX_NETMASK = 2 -pkg syscall (netbsd-arm64), const RTAX_NETMASK ideal-int -pkg syscall (netbsd-arm64), const RTAX_TAG = 8 -pkg syscall (netbsd-arm64), const RTAX_TAG ideal-int -pkg syscall (netbsd-arm64), const RTA_AUTHOR = 64 -pkg syscall (netbsd-arm64), const RTA_AUTHOR ideal-int -pkg syscall (netbsd-arm64), const RTA_BRD = 128 -pkg syscall (netbsd-arm64), const RTA_BRD ideal-int -pkg syscall (netbsd-arm64), const RTA_DST = 1 -pkg syscall (netbsd-arm64), const RTA_DST ideal-int -pkg syscall (netbsd-arm64), const RTA_GATEWAY = 2 -pkg syscall (netbsd-arm64), const RTA_GATEWAY ideal-int -pkg syscall (netbsd-arm64), const RTA_GENMASK = 8 -pkg syscall (netbsd-arm64), const RTA_GENMASK ideal-int -pkg syscall (netbsd-arm64), const RTA_IFA = 32 -pkg syscall (netbsd-arm64), const RTA_IFA ideal-int -pkg syscall (netbsd-arm64), const RTA_IFP = 16 -pkg syscall (netbsd-arm64), const RTA_IFP ideal-int -pkg syscall (netbsd-arm64), const RTA_NETMASK = 4 -pkg syscall (netbsd-arm64), const RTA_NETMASK ideal-int -pkg syscall (netbsd-arm64), const RTA_TAG = 256 -pkg syscall (netbsd-arm64), const RTA_TAG ideal-int -pkg syscall (netbsd-arm64), const RTF_ANNOUNCE = 131072 -pkg syscall (netbsd-arm64), const RTF_ANNOUNCE ideal-int -pkg syscall (netbsd-arm64), const RTF_BLACKHOLE = 4096 -pkg syscall (netbsd-arm64), const RTF_BLACKHOLE ideal-int -pkg syscall (netbsd-arm64), const RTF_CLONED = 8192 -pkg syscall (netbsd-arm64), const RTF_CLONED ideal-int -pkg syscall (netbsd-arm64), const RTF_CLONING = 256 -pkg syscall (netbsd-arm64), const RTF_CLONING ideal-int -pkg syscall (netbsd-arm64), const RTF_DONE = 64 -pkg syscall (netbsd-arm64), const RTF_DONE ideal-int -pkg syscall (netbsd-arm64), const RTF_DYNAMIC = 16 -pkg syscall (netbsd-arm64), const RTF_DYNAMIC ideal-int -pkg syscall (netbsd-arm64), const RTF_GATEWAY = 2 -pkg syscall (netbsd-arm64), const RTF_GATEWAY ideal-int -pkg syscall (netbsd-arm64), const RTF_HOST = 4 -pkg syscall (netbsd-arm64), const RTF_HOST ideal-int -pkg syscall (netbsd-arm64), const RTF_LLINFO = 1024 -pkg syscall (netbsd-arm64), const RTF_LLINFO ideal-int -pkg syscall (netbsd-arm64), const RTF_MASK = 128 -pkg syscall (netbsd-arm64), const RTF_MASK ideal-int -pkg syscall (netbsd-arm64), const RTF_MODIFIED = 32 -pkg syscall (netbsd-arm64), const RTF_MODIFIED ideal-int -pkg syscall (netbsd-arm64), const RTF_PROTO1 = 32768 -pkg syscall (netbsd-arm64), const RTF_PROTO1 ideal-int -pkg syscall (netbsd-arm64), const RTF_PROTO2 = 16384 -pkg syscall (netbsd-arm64), const RTF_PROTO2 ideal-int -pkg syscall (netbsd-arm64), const RTF_REJECT = 8 -pkg syscall (netbsd-arm64), const RTF_REJECT ideal-int -pkg syscall (netbsd-arm64), const RTF_SRC = 65536 -pkg syscall (netbsd-arm64), const RTF_SRC ideal-int -pkg syscall (netbsd-arm64), const RTF_STATIC = 2048 -pkg syscall (netbsd-arm64), const RTF_STATIC ideal-int -pkg syscall (netbsd-arm64), const RTF_UP = 1 -pkg syscall (netbsd-arm64), const RTF_UP ideal-int -pkg syscall (netbsd-arm64), const RTF_XRESOLVE = 512 -pkg syscall (netbsd-arm64), const RTF_XRESOLVE ideal-int -pkg syscall (netbsd-arm64), const RTM_ADD = 1 -pkg syscall (netbsd-arm64), const RTM_ADD ideal-int -pkg syscall (netbsd-arm64), const RTM_CHANGE = 3 -pkg syscall (netbsd-arm64), const RTM_CHANGE ideal-int -pkg syscall (netbsd-arm64), const RTM_CHGADDR = 21 -pkg syscall (netbsd-arm64), const RTM_CHGADDR ideal-int -pkg syscall (netbsd-arm64), const RTM_DELADDR = 13 -pkg syscall (netbsd-arm64), const RTM_DELADDR ideal-int -pkg syscall (netbsd-arm64), const RTM_DELETE = 2 -pkg syscall (netbsd-arm64), const RTM_DELETE ideal-int -pkg syscall (netbsd-arm64), const RTM_GET = 4 -pkg syscall (netbsd-arm64), const RTM_GET ideal-int -pkg syscall (netbsd-arm64), const RTM_IEEE80211 = 17 -pkg syscall (netbsd-arm64), const RTM_IEEE80211 ideal-int -pkg syscall (netbsd-arm64), const RTM_IFANNOUNCE = 16 -pkg syscall (netbsd-arm64), const RTM_IFANNOUNCE ideal-int -pkg syscall (netbsd-arm64), const RTM_IFINFO = 20 -pkg syscall (netbsd-arm64), const RTM_IFINFO ideal-int -pkg syscall (netbsd-arm64), const RTM_LLINFO_UPD = 19 -pkg syscall (netbsd-arm64), const RTM_LLINFO_UPD ideal-int -pkg syscall (netbsd-arm64), const RTM_LOCK = 8 -pkg syscall (netbsd-arm64), const RTM_LOCK ideal-int -pkg syscall (netbsd-arm64), const RTM_LOSING = 5 -pkg syscall (netbsd-arm64), const RTM_LOSING ideal-int -pkg syscall (netbsd-arm64), const RTM_MISS = 7 -pkg syscall (netbsd-arm64), const RTM_MISS ideal-int -pkg syscall (netbsd-arm64), const RTM_NEWADDR = 12 -pkg syscall (netbsd-arm64), const RTM_NEWADDR ideal-int -pkg syscall (netbsd-arm64), const RTM_OIFINFO = 15 -pkg syscall (netbsd-arm64), const RTM_OIFINFO ideal-int -pkg syscall (netbsd-arm64), const RTM_OLDADD = 9 -pkg syscall (netbsd-arm64), const RTM_OLDADD ideal-int -pkg syscall (netbsd-arm64), const RTM_OLDDEL = 10 -pkg syscall (netbsd-arm64), const RTM_OLDDEL ideal-int -pkg syscall (netbsd-arm64), const RTM_OOIFINFO = 14 -pkg syscall (netbsd-arm64), const RTM_OOIFINFO ideal-int -pkg syscall (netbsd-arm64), const RTM_REDIRECT = 6 -pkg syscall (netbsd-arm64), const RTM_REDIRECT ideal-int -pkg syscall (netbsd-arm64), const RTM_RESOLVE = 11 -pkg syscall (netbsd-arm64), const RTM_RESOLVE ideal-int -pkg syscall (netbsd-arm64), const RTM_RTTUNIT = 1000000 -pkg syscall (netbsd-arm64), const RTM_RTTUNIT ideal-int -pkg syscall (netbsd-arm64), const RTM_SETGATE = 18 -pkg syscall (netbsd-arm64), const RTM_SETGATE ideal-int -pkg syscall (netbsd-arm64), const RTM_VERSION = 4 -pkg syscall (netbsd-arm64), const RTM_VERSION ideal-int -pkg syscall (netbsd-arm64), const RTV_EXPIRE = 4 -pkg syscall (netbsd-arm64), const RTV_EXPIRE ideal-int -pkg syscall (netbsd-arm64), const RTV_HOPCOUNT = 2 -pkg syscall (netbsd-arm64), const RTV_HOPCOUNT ideal-int -pkg syscall (netbsd-arm64), const RTV_MTU = 1 -pkg syscall (netbsd-arm64), const RTV_MTU ideal-int -pkg syscall (netbsd-arm64), const RTV_RPIPE = 8 -pkg syscall (netbsd-arm64), const RTV_RPIPE ideal-int -pkg syscall (netbsd-arm64), const RTV_RTT = 64 -pkg syscall (netbsd-arm64), const RTV_RTT ideal-int -pkg syscall (netbsd-arm64), const RTV_RTTVAR = 128 -pkg syscall (netbsd-arm64), const RTV_RTTVAR ideal-int -pkg syscall (netbsd-arm64), const RTV_SPIPE = 16 -pkg syscall (netbsd-arm64), const RTV_SPIPE ideal-int -pkg syscall (netbsd-arm64), const RTV_SSTHRESH = 32 -pkg syscall (netbsd-arm64), const RTV_SSTHRESH ideal-int -pkg syscall (netbsd-arm64), const RUSAGE_CHILDREN = -1 -pkg syscall (netbsd-arm64), const RUSAGE_CHILDREN ideal-int -pkg syscall (netbsd-arm64), const RUSAGE_SELF = 0 -pkg syscall (netbsd-arm64), const RUSAGE_SELF ideal-int -pkg syscall (netbsd-arm64), const SCM_CREDS = 4 -pkg syscall (netbsd-arm64), const SCM_CREDS ideal-int -pkg syscall (netbsd-arm64), const SCM_RIGHTS = 1 -pkg syscall (netbsd-arm64), const SCM_RIGHTS ideal-int -pkg syscall (netbsd-arm64), const SCM_TIMESTAMP = 8 -pkg syscall (netbsd-arm64), const SCM_TIMESTAMP ideal-int -pkg syscall (netbsd-arm64), const SIGBUS = 10 -pkg syscall (netbsd-arm64), const SIGCHLD = 20 -pkg syscall (netbsd-arm64), const SIGCHLD Signal -pkg syscall (netbsd-arm64), const SIGCONT = 19 -pkg syscall (netbsd-arm64), const SIGCONT Signal -pkg syscall (netbsd-arm64), const SIGEMT = 7 -pkg syscall (netbsd-arm64), const SIGEMT Signal -pkg syscall (netbsd-arm64), const SIGINFO = 29 -pkg syscall (netbsd-arm64), const SIGINFO Signal -pkg syscall (netbsd-arm64), const SIGIO = 23 -pkg syscall (netbsd-arm64), const SIGIO Signal -pkg syscall (netbsd-arm64), const SIGIOT = 6 -pkg syscall (netbsd-arm64), const SIGIOT Signal -pkg syscall (netbsd-arm64), const SIGPROF = 27 -pkg syscall (netbsd-arm64), const SIGPROF Signal -pkg syscall (netbsd-arm64), const SIGPWR = 32 -pkg syscall (netbsd-arm64), const SIGPWR Signal -pkg syscall (netbsd-arm64), const SIGSTOP = 17 -pkg syscall (netbsd-arm64), const SIGSTOP Signal -pkg syscall (netbsd-arm64), const SIGSYS = 12 -pkg syscall (netbsd-arm64), const SIGSYS Signal -pkg syscall (netbsd-arm64), const SIGTSTP = 18 -pkg syscall (netbsd-arm64), const SIGTSTP Signal -pkg syscall (netbsd-arm64), const SIGTTIN = 21 -pkg syscall (netbsd-arm64), const SIGTTIN Signal -pkg syscall (netbsd-arm64), const SIGTTOU = 22 -pkg syscall (netbsd-arm64), const SIGTTOU Signal -pkg syscall (netbsd-arm64), const SIGURG = 16 -pkg syscall (netbsd-arm64), const SIGURG Signal -pkg syscall (netbsd-arm64), const SIGUSR1 = 30 -pkg syscall (netbsd-arm64), const SIGUSR1 Signal -pkg syscall (netbsd-arm64), const SIGUSR2 = 31 -pkg syscall (netbsd-arm64), const SIGUSR2 Signal -pkg syscall (netbsd-arm64), const SIGVTALRM = 26 -pkg syscall (netbsd-arm64), const SIGVTALRM Signal -pkg syscall (netbsd-arm64), const SIGWINCH = 28 -pkg syscall (netbsd-arm64), const SIGWINCH Signal -pkg syscall (netbsd-arm64), const SIGXCPU = 24 -pkg syscall (netbsd-arm64), const SIGXCPU Signal -pkg syscall (netbsd-arm64), const SIGXFSZ = 25 -pkg syscall (netbsd-arm64), const SIGXFSZ Signal -pkg syscall (netbsd-arm64), const SIOCADDMULTI = 2156947761 -pkg syscall (netbsd-arm64), const SIOCADDMULTI ideal-int -pkg syscall (netbsd-arm64), const SIOCADDRT = 2151182858 -pkg syscall (netbsd-arm64), const SIOCADDRT ideal-int -pkg syscall (netbsd-arm64), const SIOCAIFADDR = 2151704858 -pkg syscall (netbsd-arm64), const SIOCAIFADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCALIFADDR = 2165860636 -pkg syscall (netbsd-arm64), const SIOCALIFADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCATMARK = 1074033415 -pkg syscall (netbsd-arm64), const SIOCATMARK ideal-int -pkg syscall (netbsd-arm64), const SIOCDELMULTI = 2156947762 -pkg syscall (netbsd-arm64), const SIOCDELMULTI ideal-int -pkg syscall (netbsd-arm64), const SIOCDELRT = 2151182859 -pkg syscall (netbsd-arm64), const SIOCDELRT ideal-int -pkg syscall (netbsd-arm64), const SIOCDIFADDR = 2156947737 -pkg syscall (netbsd-arm64), const SIOCDIFADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCDIFPHYADDR = 2156947785 -pkg syscall (netbsd-arm64), const SIOCDIFPHYADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCDLIFADDR = 2165860638 -pkg syscall (netbsd-arm64), const SIOCDLIFADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCGDRVSPEC = 3223873915 -pkg syscall (netbsd-arm64), const SIOCGDRVSPEC ideal-int -pkg syscall (netbsd-arm64), const SIOCGETPFSYNC = 3230689784 -pkg syscall (netbsd-arm64), const SIOCGETPFSYNC ideal-int -pkg syscall (netbsd-arm64), const SIOCGETSGCNT = 3223352628 -pkg syscall (netbsd-arm64), const SIOCGETSGCNT ideal-int -pkg syscall (netbsd-arm64), const SIOCGETVIFCNT = 3223876915 -pkg syscall (netbsd-arm64), const SIOCGETVIFCNT ideal-int -pkg syscall (netbsd-arm64), const SIOCGHIWAT = 1074033409 -pkg syscall (netbsd-arm64), const SIOCGHIWAT ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFADDR = 3230689569 -pkg syscall (netbsd-arm64), const SIOCGIFADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFADDRPREF = 3231213856 -pkg syscall (netbsd-arm64), const SIOCGIFADDRPREF ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFALIAS = 3225446683 -pkg syscall (netbsd-arm64), const SIOCGIFALIAS ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFBRDADDR = 3230689571 -pkg syscall (netbsd-arm64), const SIOCGIFBRDADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFCAP = 3223349622 -pkg syscall (netbsd-arm64), const SIOCGIFCAP ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFCONF = 3222300966 -pkg syscall (netbsd-arm64), const SIOCGIFCONF ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFDATA = 3231213957 -pkg syscall (netbsd-arm64), const SIOCGIFDATA ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFDLT = 3230689655 -pkg syscall (netbsd-arm64), const SIOCGIFDLT ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFDSTADDR = 3230689570 -pkg syscall (netbsd-arm64), const SIOCGIFDSTADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFFLAGS = 3230689553 -pkg syscall (netbsd-arm64), const SIOCGIFFLAGS ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFGENERIC = 3230689594 -pkg syscall (netbsd-arm64), const SIOCGIFGENERIC ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFMEDIA = 3224398134 -pkg syscall (netbsd-arm64), const SIOCGIFMEDIA ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFMETRIC = 3230689559 -pkg syscall (netbsd-arm64), const SIOCGIFMETRIC ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFMTU = 3230689662 -pkg syscall (netbsd-arm64), const SIOCGIFMTU ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFNETMASK = 3230689573 -pkg syscall (netbsd-arm64), const SIOCGIFNETMASK ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFPDSTADDR = 3230689608 -pkg syscall (netbsd-arm64), const SIOCGIFPDSTADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCGIFPSRCADDR = 3230689607 -pkg syscall (netbsd-arm64), const SIOCGIFPSRCADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCGLIFADDR = 3239602461 -pkg syscall (netbsd-arm64), const SIOCGLIFADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCGLIFPHYADDR = 3239602507 -pkg syscall (netbsd-arm64), const SIOCGLIFPHYADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCGLINKSTR = 3223873927 -pkg syscall (netbsd-arm64), const SIOCGLINKSTR ideal-int -pkg syscall (netbsd-arm64), const SIOCGLOWAT = 1074033411 -pkg syscall (netbsd-arm64), const SIOCGLOWAT ideal-int -pkg syscall (netbsd-arm64), const SIOCGPGRP = 1074033417 -pkg syscall (netbsd-arm64), const SIOCGPGRP ideal-int -pkg syscall (netbsd-arm64), const SIOCGVH = 3230689667 -pkg syscall (netbsd-arm64), const SIOCGVH ideal-int -pkg syscall (netbsd-arm64), const SIOCIFCREATE = 2156947834 -pkg syscall (netbsd-arm64), const SIOCIFCREATE ideal-int -pkg syscall (netbsd-arm64), const SIOCIFDESTROY = 2156947833 -pkg syscall (netbsd-arm64), const SIOCIFDESTROY ideal-int -pkg syscall (netbsd-arm64), const SIOCIFGCLONERS = 3222301048 -pkg syscall (netbsd-arm64), const SIOCIFGCLONERS ideal-int -pkg syscall (netbsd-arm64), const SIOCINITIFADDR = 3228592516 -pkg syscall (netbsd-arm64), const SIOCINITIFADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCSDRVSPEC = 2150132091 -pkg syscall (netbsd-arm64), const SIOCSDRVSPEC ideal-int -pkg syscall (netbsd-arm64), const SIOCSETPFSYNC = 2156947959 -pkg syscall (netbsd-arm64), const SIOCSETPFSYNC ideal-int -pkg syscall (netbsd-arm64), const SIOCSHIWAT = 2147775232 -pkg syscall (netbsd-arm64), const SIOCSHIWAT ideal-int -pkg syscall (netbsd-arm64), const SIOCSIFADDR = 2156947724 -pkg syscall (netbsd-arm64), const SIOCSIFADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCSIFADDRPREF = 2157472031 -pkg syscall (netbsd-arm64), const SIOCSIFADDRPREF ideal-int -pkg syscall (netbsd-arm64), const SIOCSIFBRDADDR = 2156947731 -pkg syscall (netbsd-arm64), const SIOCSIFBRDADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCSIFCAP = 2149607797 -pkg syscall (netbsd-arm64), const SIOCSIFCAP ideal-int -pkg syscall (netbsd-arm64), const SIOCSIFDSTADDR = 2156947726 -pkg syscall (netbsd-arm64), const SIOCSIFDSTADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCSIFFLAGS = 2156947728 -pkg syscall (netbsd-arm64), const SIOCSIFFLAGS ideal-int -pkg syscall (netbsd-arm64), const SIOCSIFGENERIC = 2156947769 -pkg syscall (netbsd-arm64), const SIOCSIFGENERIC ideal-int -pkg syscall (netbsd-arm64), const SIOCSIFMEDIA = 3230689589 -pkg syscall (netbsd-arm64), const SIOCSIFMEDIA ideal-int -pkg syscall (netbsd-arm64), const SIOCSIFMETRIC = 2156947736 -pkg syscall (netbsd-arm64), const SIOCSIFMETRIC ideal-int -pkg syscall (netbsd-arm64), const SIOCSIFMTU = 2156947839 -pkg syscall (netbsd-arm64), const SIOCSIFMTU ideal-int -pkg syscall (netbsd-arm64), const SIOCSIFNETMASK = 2156947734 -pkg syscall (netbsd-arm64), const SIOCSIFNETMASK ideal-int -pkg syscall (netbsd-arm64), const SIOCSIFPHYADDR = 2151704902 -pkg syscall (netbsd-arm64), const SIOCSIFPHYADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCSLIFPHYADDR = 2165860682 -pkg syscall (netbsd-arm64), const SIOCSLIFPHYADDR ideal-int -pkg syscall (netbsd-arm64), const SIOCSLINKSTR = 2150132104 -pkg syscall (netbsd-arm64), const SIOCSLINKSTR ideal-int -pkg syscall (netbsd-arm64), const SIOCSLOWAT = 2147775234 -pkg syscall (netbsd-arm64), const SIOCSLOWAT ideal-int -pkg syscall (netbsd-arm64), const SIOCSPGRP = 2147775240 -pkg syscall (netbsd-arm64), const SIOCSPGRP ideal-int -pkg syscall (netbsd-arm64), const SIOCSVH = 3230689666 -pkg syscall (netbsd-arm64), const SIOCSVH ideal-int -pkg syscall (netbsd-arm64), const SIOCZIFDATA = 3231213958 -pkg syscall (netbsd-arm64), const SIOCZIFDATA ideal-int -pkg syscall (netbsd-arm64), const SOCK_CLOEXEC = 268435456 -pkg syscall (netbsd-arm64), const SOCK_CLOEXEC ideal-int -pkg syscall (netbsd-arm64), const SOCK_FLAGS_MASK = 4026531840 -pkg syscall (netbsd-arm64), const SOCK_FLAGS_MASK ideal-int -pkg syscall (netbsd-arm64), const SOCK_NONBLOCK = 536870912 -pkg syscall (netbsd-arm64), const SOCK_NONBLOCK ideal-int -pkg syscall (netbsd-arm64), const SOCK_NOSIGPIPE = 1073741824 -pkg syscall (netbsd-arm64), const SOCK_NOSIGPIPE ideal-int -pkg syscall (netbsd-arm64), const SOCK_RDM = 4 -pkg syscall (netbsd-arm64), const SOCK_RDM ideal-int -pkg syscall (netbsd-arm64), const SOL_SOCKET = 65535 -pkg syscall (netbsd-arm64), const SOMAXCONN = 128 -pkg syscall (netbsd-arm64), const SO_ACCEPTCONN = 2 -pkg syscall (netbsd-arm64), const SO_ACCEPTCONN ideal-int -pkg syscall (netbsd-arm64), const SO_ACCEPTFILTER = 4096 -pkg syscall (netbsd-arm64), const SO_ACCEPTFILTER ideal-int -pkg syscall (netbsd-arm64), const SO_BROADCAST = 32 -pkg syscall (netbsd-arm64), const SO_DEBUG = 1 -pkg syscall (netbsd-arm64), const SO_DEBUG ideal-int -pkg syscall (netbsd-arm64), const SO_DONTROUTE = 16 -pkg syscall (netbsd-arm64), const SO_ERROR = 4103 -pkg syscall (netbsd-arm64), const SO_ERROR ideal-int -pkg syscall (netbsd-arm64), const SO_KEEPALIVE = 8 -pkg syscall (netbsd-arm64), const SO_LINGER = 128 -pkg syscall (netbsd-arm64), const SO_NOHEADER = 4106 -pkg syscall (netbsd-arm64), const SO_NOHEADER ideal-int -pkg syscall (netbsd-arm64), const SO_NOSIGPIPE = 2048 -pkg syscall (netbsd-arm64), const SO_NOSIGPIPE ideal-int -pkg syscall (netbsd-arm64), const SO_OOBINLINE = 256 -pkg syscall (netbsd-arm64), const SO_OOBINLINE ideal-int -pkg syscall (netbsd-arm64), const SO_OVERFLOWED = 4105 -pkg syscall (netbsd-arm64), const SO_OVERFLOWED ideal-int -pkg syscall (netbsd-arm64), const SO_RCVBUF = 4098 -pkg syscall (netbsd-arm64), const SO_RCVLOWAT = 4100 -pkg syscall (netbsd-arm64), const SO_RCVLOWAT ideal-int -pkg syscall (netbsd-arm64), const SO_RCVTIMEO = 4108 -pkg syscall (netbsd-arm64), const SO_RCVTIMEO ideal-int -pkg syscall (netbsd-arm64), const SO_REUSEADDR = 4 -pkg syscall (netbsd-arm64), const SO_REUSEPORT = 512 -pkg syscall (netbsd-arm64), const SO_REUSEPORT ideal-int -pkg syscall (netbsd-arm64), const SO_SNDBUF = 4097 -pkg syscall (netbsd-arm64), const SO_SNDLOWAT = 4099 -pkg syscall (netbsd-arm64), const SO_SNDLOWAT ideal-int -pkg syscall (netbsd-arm64), const SO_SNDTIMEO = 4107 -pkg syscall (netbsd-arm64), const SO_SNDTIMEO ideal-int -pkg syscall (netbsd-arm64), const SO_TIMESTAMP = 8192 -pkg syscall (netbsd-arm64), const SO_TIMESTAMP ideal-int -pkg syscall (netbsd-arm64), const SO_TYPE = 4104 -pkg syscall (netbsd-arm64), const SO_TYPE ideal-int -pkg syscall (netbsd-arm64), const SO_USELOOPBACK = 64 -pkg syscall (netbsd-arm64), const SO_USELOOPBACK ideal-int -pkg syscall (netbsd-arm64), const SYSCTL_VERSION = 16777216 -pkg syscall (netbsd-arm64), const SYSCTL_VERSION ideal-int -pkg syscall (netbsd-arm64), const SYSCTL_VERS_0 = 0 -pkg syscall (netbsd-arm64), const SYSCTL_VERS_0 ideal-int -pkg syscall (netbsd-arm64), const SYSCTL_VERS_1 = 16777216 -pkg syscall (netbsd-arm64), const SYSCTL_VERS_1 ideal-int -pkg syscall (netbsd-arm64), const SYSCTL_VERS_MASK = 4278190080 -pkg syscall (netbsd-arm64), const SYSCTL_VERS_MASK ideal-int -pkg syscall (netbsd-arm64), const SYS_ACCEPT = 30 -pkg syscall (netbsd-arm64), const SYS_ACCEPT ideal-int -pkg syscall (netbsd-arm64), const SYS_ACCESS = 33 -pkg syscall (netbsd-arm64), const SYS_ACCESS ideal-int -pkg syscall (netbsd-arm64), const SYS_ACCT = 51 -pkg syscall (netbsd-arm64), const SYS_ACCT ideal-int -pkg syscall (netbsd-arm64), const SYS_ADJTIME = 421 -pkg syscall (netbsd-arm64), const SYS_ADJTIME ideal-int -pkg syscall (netbsd-arm64), const SYS_BIND = 104 -pkg syscall (netbsd-arm64), const SYS_BIND ideal-int -pkg syscall (netbsd-arm64), const SYS_BREAK = 17 -pkg syscall (netbsd-arm64), const SYS_BREAK ideal-int -pkg syscall (netbsd-arm64), const SYS_CHDIR = 12 -pkg syscall (netbsd-arm64), const SYS_CHDIR ideal-int -pkg syscall (netbsd-arm64), const SYS_CHFLAGS = 34 -pkg syscall (netbsd-arm64), const SYS_CHFLAGS ideal-int -pkg syscall (netbsd-arm64), const SYS_CHMOD = 15 -pkg syscall (netbsd-arm64), const SYS_CHMOD ideal-int -pkg syscall (netbsd-arm64), const SYS_CHOWN = 16 -pkg syscall (netbsd-arm64), const SYS_CHOWN ideal-int -pkg syscall (netbsd-arm64), const SYS_CHROOT = 61 -pkg syscall (netbsd-arm64), const SYS_CHROOT ideal-int -pkg syscall (netbsd-arm64), const SYS_CLOCK_GETRES = 429 -pkg syscall (netbsd-arm64), const SYS_CLOCK_GETRES ideal-int -pkg syscall (netbsd-arm64), const SYS_CLOCK_GETTIME = 427 -pkg syscall (netbsd-arm64), const SYS_CLOCK_GETTIME ideal-int -pkg syscall (netbsd-arm64), const SYS_CLOCK_SETTIME = 428 -pkg syscall (netbsd-arm64), const SYS_CLOCK_SETTIME ideal-int -pkg syscall (netbsd-arm64), const SYS_CLOSE = 6 -pkg syscall (netbsd-arm64), const SYS_CLOSE ideal-int -pkg syscall (netbsd-arm64), const SYS_CONNECT = 98 -pkg syscall (netbsd-arm64), const SYS_CONNECT ideal-int -pkg syscall (netbsd-arm64), const SYS_DUP = 41 -pkg syscall (netbsd-arm64), const SYS_DUP ideal-int -pkg syscall (netbsd-arm64), const SYS_DUP2 = 90 -pkg syscall (netbsd-arm64), const SYS_DUP2 ideal-int -pkg syscall (netbsd-arm64), const SYS_DUP3 = 454 -pkg syscall (netbsd-arm64), const SYS_DUP3 ideal-int -pkg syscall (netbsd-arm64), const SYS_EXECVE = 59 -pkg syscall (netbsd-arm64), const SYS_EXECVE ideal-int -pkg syscall (netbsd-arm64), const SYS_EXIT = 1 -pkg syscall (netbsd-arm64), const SYS_EXIT ideal-int -pkg syscall (netbsd-arm64), const SYS_EXTATTRCTL = 360 -pkg syscall (netbsd-arm64), const SYS_EXTATTRCTL ideal-int -pkg syscall (netbsd-arm64), const SYS_EXTATTR_DELETE_FD = 366 -pkg syscall (netbsd-arm64), const SYS_EXTATTR_DELETE_FD ideal-int -pkg syscall (netbsd-arm64), const SYS_EXTATTR_DELETE_FILE = 363 -pkg syscall (netbsd-arm64), const SYS_EXTATTR_DELETE_FILE ideal-int -pkg syscall (netbsd-arm64), const SYS_EXTATTR_DELETE_LINK = 369 -pkg syscall (netbsd-arm64), const SYS_EXTATTR_DELETE_LINK ideal-int -pkg syscall (netbsd-arm64), const SYS_EXTATTR_GET_FD = 365 -pkg syscall (netbsd-arm64), const SYS_EXTATTR_GET_FD ideal-int -pkg syscall (netbsd-arm64), const SYS_EXTATTR_GET_FILE = 362 -pkg syscall (netbsd-arm64), const SYS_EXTATTR_GET_FILE ideal-int -pkg syscall (netbsd-arm64), const SYS_EXTATTR_GET_LINK = 368 -pkg syscall (netbsd-arm64), const SYS_EXTATTR_GET_LINK ideal-int -pkg syscall (netbsd-arm64), const SYS_EXTATTR_LIST_FD = 370 -pkg syscall (netbsd-arm64), const SYS_EXTATTR_LIST_FD ideal-int -pkg syscall (netbsd-arm64), const SYS_EXTATTR_LIST_FILE = 371 -pkg syscall (netbsd-arm64), const SYS_EXTATTR_LIST_FILE ideal-int -pkg syscall (netbsd-arm64), const SYS_EXTATTR_LIST_LINK = 372 -pkg syscall (netbsd-arm64), const SYS_EXTATTR_LIST_LINK ideal-int -pkg syscall (netbsd-arm64), const SYS_EXTATTR_SET_FD = 364 -pkg syscall (netbsd-arm64), const SYS_EXTATTR_SET_FD ideal-int -pkg syscall (netbsd-arm64), const SYS_EXTATTR_SET_FILE = 361 -pkg syscall (netbsd-arm64), const SYS_EXTATTR_SET_FILE ideal-int -pkg syscall (netbsd-arm64), const SYS_EXTATTR_SET_LINK = 367 -pkg syscall (netbsd-arm64), const SYS_EXTATTR_SET_LINK ideal-int -pkg syscall (netbsd-arm64), const SYS_FACCESSAT = 462 -pkg syscall (netbsd-arm64), const SYS_FACCESSAT ideal-int -pkg syscall (netbsd-arm64), const SYS_FCHDIR = 13 -pkg syscall (netbsd-arm64), const SYS_FCHDIR ideal-int -pkg syscall (netbsd-arm64), const SYS_FCHFLAGS = 35 -pkg syscall (netbsd-arm64), const SYS_FCHFLAGS ideal-int -pkg syscall (netbsd-arm64), const SYS_FCHMOD = 124 -pkg syscall (netbsd-arm64), const SYS_FCHMOD ideal-int -pkg syscall (netbsd-arm64), const SYS_FCHMODAT = 463 -pkg syscall (netbsd-arm64), const SYS_FCHMODAT ideal-int -pkg syscall (netbsd-arm64), const SYS_FCHOWN = 123 -pkg syscall (netbsd-arm64), const SYS_FCHOWN ideal-int -pkg syscall (netbsd-arm64), const SYS_FCHOWNAT = 464 -pkg syscall (netbsd-arm64), const SYS_FCHOWNAT ideal-int -pkg syscall (netbsd-arm64), const SYS_FCHROOT = 297 -pkg syscall (netbsd-arm64), const SYS_FCHROOT ideal-int -pkg syscall (netbsd-arm64), const SYS_FCNTL = 92 -pkg syscall (netbsd-arm64), const SYS_FCNTL ideal-int -pkg syscall (netbsd-arm64), const SYS_FDATASYNC = 241 -pkg syscall (netbsd-arm64), const SYS_FDATASYNC ideal-int -pkg syscall (netbsd-arm64), const SYS_FEXECVE = 465 -pkg syscall (netbsd-arm64), const SYS_FEXECVE ideal-int -pkg syscall (netbsd-arm64), const SYS_FGETXATTR = 380 -pkg syscall (netbsd-arm64), const SYS_FGETXATTR ideal-int -pkg syscall (netbsd-arm64), const SYS_FHSTAT = 451 -pkg syscall (netbsd-arm64), const SYS_FHSTAT ideal-int -pkg syscall (netbsd-arm64), const SYS_FKTRACE = 288 -pkg syscall (netbsd-arm64), const SYS_FKTRACE ideal-int -pkg syscall (netbsd-arm64), const SYS_FLISTXATTR = 383 -pkg syscall (netbsd-arm64), const SYS_FLISTXATTR ideal-int -pkg syscall (netbsd-arm64), const SYS_FLOCK = 131 -pkg syscall (netbsd-arm64), const SYS_FLOCK ideal-int -pkg syscall (netbsd-arm64), const SYS_FORK = 2 -pkg syscall (netbsd-arm64), const SYS_FORK ideal-int -pkg syscall (netbsd-arm64), const SYS_FPATHCONF = 192 -pkg syscall (netbsd-arm64), const SYS_FPATHCONF ideal-int -pkg syscall (netbsd-arm64), const SYS_FREMOVEXATTR = 386 -pkg syscall (netbsd-arm64), const SYS_FREMOVEXATTR ideal-int -pkg syscall (netbsd-arm64), const SYS_FSETXATTR = 377 -pkg syscall (netbsd-arm64), const SYS_FSETXATTR ideal-int -pkg syscall (netbsd-arm64), const SYS_FSTAT = 440 -pkg syscall (netbsd-arm64), const SYS_FSTAT ideal-int -pkg syscall (netbsd-arm64), const SYS_FSTATAT = 466 -pkg syscall (netbsd-arm64), const SYS_FSTATAT ideal-int -pkg syscall (netbsd-arm64), const SYS_FSTATVFS1 = 358 -pkg syscall (netbsd-arm64), const SYS_FSTATVFS1 ideal-int -pkg syscall (netbsd-arm64), const SYS_FSYNC = 95 -pkg syscall (netbsd-arm64), const SYS_FSYNC ideal-int -pkg syscall (netbsd-arm64), const SYS_FSYNC_RANGE = 354 -pkg syscall (netbsd-arm64), const SYS_FSYNC_RANGE ideal-int -pkg syscall (netbsd-arm64), const SYS_FTRUNCATE = 201 -pkg syscall (netbsd-arm64), const SYS_FTRUNCATE ideal-int -pkg syscall (netbsd-arm64), const SYS_FUTIMENS = 472 -pkg syscall (netbsd-arm64), const SYS_FUTIMENS ideal-int -pkg syscall (netbsd-arm64), const SYS_FUTIMES = 423 -pkg syscall (netbsd-arm64), const SYS_FUTIMES ideal-int -pkg syscall (netbsd-arm64), const SYS_GETCONTEXT = 307 -pkg syscall (netbsd-arm64), const SYS_GETCONTEXT ideal-int -pkg syscall (netbsd-arm64), const SYS_GETDENTS = 390 -pkg syscall (netbsd-arm64), const SYS_GETDENTS ideal-int -pkg syscall (netbsd-arm64), const SYS_GETEGID = 43 -pkg syscall (netbsd-arm64), const SYS_GETEGID ideal-int -pkg syscall (netbsd-arm64), const SYS_GETEUID = 25 -pkg syscall (netbsd-arm64), const SYS_GETEUID ideal-int -pkg syscall (netbsd-arm64), const SYS_GETFH = 395 -pkg syscall (netbsd-arm64), const SYS_GETFH ideal-int -pkg syscall (netbsd-arm64), const SYS_GETGID = 47 -pkg syscall (netbsd-arm64), const SYS_GETGID ideal-int -pkg syscall (netbsd-arm64), const SYS_GETGROUPS = 79 -pkg syscall (netbsd-arm64), const SYS_GETGROUPS ideal-int -pkg syscall (netbsd-arm64), const SYS_GETITIMER = 426 -pkg syscall (netbsd-arm64), const SYS_GETITIMER ideal-int -pkg syscall (netbsd-arm64), const SYS_GETPEERNAME = 31 -pkg syscall (netbsd-arm64), const SYS_GETPEERNAME ideal-int -pkg syscall (netbsd-arm64), const SYS_GETPGID = 207 -pkg syscall (netbsd-arm64), const SYS_GETPGID ideal-int -pkg syscall (netbsd-arm64), const SYS_GETPGRP = 81 -pkg syscall (netbsd-arm64), const SYS_GETPGRP ideal-int -pkg syscall (netbsd-arm64), const SYS_GETPID = 20 -pkg syscall (netbsd-arm64), const SYS_GETPID ideal-int -pkg syscall (netbsd-arm64), const SYS_GETPPID = 39 -pkg syscall (netbsd-arm64), const SYS_GETPPID ideal-int -pkg syscall (netbsd-arm64), const SYS_GETPRIORITY = 100 -pkg syscall (netbsd-arm64), const SYS_GETPRIORITY ideal-int -pkg syscall (netbsd-arm64), const SYS_GETRLIMIT = 194 -pkg syscall (netbsd-arm64), const SYS_GETRLIMIT ideal-int -pkg syscall (netbsd-arm64), const SYS_GETRUSAGE = 445 -pkg syscall (netbsd-arm64), const SYS_GETRUSAGE ideal-int -pkg syscall (netbsd-arm64), const SYS_GETSID = 286 -pkg syscall (netbsd-arm64), const SYS_GETSID ideal-int -pkg syscall (netbsd-arm64), const SYS_GETSOCKNAME = 32 -pkg syscall (netbsd-arm64), const SYS_GETSOCKNAME ideal-int -pkg syscall (netbsd-arm64), const SYS_GETSOCKOPT = 118 -pkg syscall (netbsd-arm64), const SYS_GETSOCKOPT ideal-int -pkg syscall (netbsd-arm64), const SYS_GETTIMEOFDAY = 418 -pkg syscall (netbsd-arm64), const SYS_GETTIMEOFDAY ideal-int -pkg syscall (netbsd-arm64), const SYS_GETUID = 24 -pkg syscall (netbsd-arm64), const SYS_GETUID ideal-int -pkg syscall (netbsd-arm64), const SYS_GETVFSSTAT = 356 -pkg syscall (netbsd-arm64), const SYS_GETVFSSTAT ideal-int -pkg syscall (netbsd-arm64), const SYS_GETXATTR = 378 -pkg syscall (netbsd-arm64), const SYS_GETXATTR ideal-int -pkg syscall (netbsd-arm64), const SYS_IOCTL = 54 -pkg syscall (netbsd-arm64), const SYS_IOCTL ideal-int -pkg syscall (netbsd-arm64), const SYS_ISSETUGID = 305 -pkg syscall (netbsd-arm64), const SYS_ISSETUGID ideal-int -pkg syscall (netbsd-arm64), const SYS_KEVENT = 435 -pkg syscall (netbsd-arm64), const SYS_KEVENT ideal-int -pkg syscall (netbsd-arm64), const SYS_KILL = 37 -pkg syscall (netbsd-arm64), const SYS_KILL ideal-int -pkg syscall (netbsd-arm64), const SYS_KQUEUE = 344 -pkg syscall (netbsd-arm64), const SYS_KQUEUE ideal-int -pkg syscall (netbsd-arm64), const SYS_KQUEUE1 = 455 -pkg syscall (netbsd-arm64), const SYS_KQUEUE1 ideal-int -pkg syscall (netbsd-arm64), const SYS_KTRACE = 45 -pkg syscall (netbsd-arm64), const SYS_KTRACE ideal-int -pkg syscall (netbsd-arm64), const SYS_LCHFLAGS = 304 -pkg syscall (netbsd-arm64), const SYS_LCHFLAGS ideal-int -pkg syscall (netbsd-arm64), const SYS_LCHMOD = 274 -pkg syscall (netbsd-arm64), const SYS_LCHMOD ideal-int -pkg syscall (netbsd-arm64), const SYS_LCHOWN = 275 -pkg syscall (netbsd-arm64), const SYS_LCHOWN ideal-int -pkg syscall (netbsd-arm64), const SYS_LGETXATTR = 379 -pkg syscall (netbsd-arm64), const SYS_LGETXATTR ideal-int -pkg syscall (netbsd-arm64), const SYS_LINK = 9 -pkg syscall (netbsd-arm64), const SYS_LINK ideal-int -pkg syscall (netbsd-arm64), const SYS_LINKAT = 457 -pkg syscall (netbsd-arm64), const SYS_LINKAT ideal-int -pkg syscall (netbsd-arm64), const SYS_LISTEN = 106 -pkg syscall (netbsd-arm64), const SYS_LISTEN ideal-int -pkg syscall (netbsd-arm64), const SYS_LISTXATTR = 381 -pkg syscall (netbsd-arm64), const SYS_LISTXATTR ideal-int -pkg syscall (netbsd-arm64), const SYS_LLISTXATTR = 382 -pkg syscall (netbsd-arm64), const SYS_LLISTXATTR ideal-int -pkg syscall (netbsd-arm64), const SYS_LREMOVEXATTR = 385 -pkg syscall (netbsd-arm64), const SYS_LREMOVEXATTR ideal-int -pkg syscall (netbsd-arm64), const SYS_LSEEK = 199 -pkg syscall (netbsd-arm64), const SYS_LSEEK ideal-int -pkg syscall (netbsd-arm64), const SYS_LSETXATTR = 376 -pkg syscall (netbsd-arm64), const SYS_LSETXATTR ideal-int -pkg syscall (netbsd-arm64), const SYS_LSTAT = 441 -pkg syscall (netbsd-arm64), const SYS_LSTAT ideal-int -pkg syscall (netbsd-arm64), const SYS_LUTIMES = 424 -pkg syscall (netbsd-arm64), const SYS_LUTIMES ideal-int -pkg syscall (netbsd-arm64), const SYS_MADVISE = 75 -pkg syscall (netbsd-arm64), const SYS_MADVISE ideal-int -pkg syscall (netbsd-arm64), const SYS_MINCORE = 78 -pkg syscall (netbsd-arm64), const SYS_MINCORE ideal-int -pkg syscall (netbsd-arm64), const SYS_MINHERIT = 273 -pkg syscall (netbsd-arm64), const SYS_MINHERIT ideal-int -pkg syscall (netbsd-arm64), const SYS_MKDIR = 136 -pkg syscall (netbsd-arm64), const SYS_MKDIR ideal-int -pkg syscall (netbsd-arm64), const SYS_MKDIRAT = 461 -pkg syscall (netbsd-arm64), const SYS_MKDIRAT ideal-int -pkg syscall (netbsd-arm64), const SYS_MKFIFO = 132 -pkg syscall (netbsd-arm64), const SYS_MKFIFO ideal-int -pkg syscall (netbsd-arm64), const SYS_MKFIFOAT = 459 -pkg syscall (netbsd-arm64), const SYS_MKFIFOAT ideal-int -pkg syscall (netbsd-arm64), const SYS_MKNOD = 450 -pkg syscall (netbsd-arm64), const SYS_MKNOD ideal-int -pkg syscall (netbsd-arm64), const SYS_MKNODAT = 460 -pkg syscall (netbsd-arm64), const SYS_MKNODAT ideal-int -pkg syscall (netbsd-arm64), const SYS_MLOCK = 203 -pkg syscall (netbsd-arm64), const SYS_MLOCK ideal-int -pkg syscall (netbsd-arm64), const SYS_MLOCKALL = 242 -pkg syscall (netbsd-arm64), const SYS_MLOCKALL ideal-int -pkg syscall (netbsd-arm64), const SYS_MMAP = 197 -pkg syscall (netbsd-arm64), const SYS_MMAP ideal-int -pkg syscall (netbsd-arm64), const SYS_MODCTL = 246 -pkg syscall (netbsd-arm64), const SYS_MODCTL ideal-int -pkg syscall (netbsd-arm64), const SYS_MOUNT = 410 -pkg syscall (netbsd-arm64), const SYS_MOUNT ideal-int -pkg syscall (netbsd-arm64), const SYS_MPROTECT = 74 -pkg syscall (netbsd-arm64), const SYS_MPROTECT ideal-int -pkg syscall (netbsd-arm64), const SYS_MREMAP = 411 -pkg syscall (netbsd-arm64), const SYS_MREMAP ideal-int -pkg syscall (netbsd-arm64), const SYS_MSGCTL = 444 -pkg syscall (netbsd-arm64), const SYS_MSGCTL ideal-int -pkg syscall (netbsd-arm64), const SYS_MSGGET = 225 -pkg syscall (netbsd-arm64), const SYS_MSGGET ideal-int -pkg syscall (netbsd-arm64), const SYS_MSGRCV = 227 -pkg syscall (netbsd-arm64), const SYS_MSGRCV ideal-int -pkg syscall (netbsd-arm64), const SYS_MSGSND = 226 -pkg syscall (netbsd-arm64), const SYS_MSGSND ideal-int -pkg syscall (netbsd-arm64), const SYS_MUNLOCK = 204 -pkg syscall (netbsd-arm64), const SYS_MUNLOCK ideal-int -pkg syscall (netbsd-arm64), const SYS_MUNLOCKALL = 243 -pkg syscall (netbsd-arm64), const SYS_MUNLOCKALL ideal-int -pkg syscall (netbsd-arm64), const SYS_MUNMAP = 73 -pkg syscall (netbsd-arm64), const SYS_MUNMAP ideal-int -pkg syscall (netbsd-arm64), const SYS_NANOSLEEP = 430 -pkg syscall (netbsd-arm64), const SYS_NANOSLEEP ideal-int -pkg syscall (netbsd-arm64), const SYS_NTP_ADJTIME = 176 -pkg syscall (netbsd-arm64), const SYS_NTP_ADJTIME ideal-int -pkg syscall (netbsd-arm64), const SYS_NTP_GETTIME = 448 -pkg syscall (netbsd-arm64), const SYS_NTP_GETTIME ideal-int -pkg syscall (netbsd-arm64), const SYS_OPEN = 5 -pkg syscall (netbsd-arm64), const SYS_OPEN ideal-int -pkg syscall (netbsd-arm64), const SYS_OPENAT = 468 -pkg syscall (netbsd-arm64), const SYS_OPENAT ideal-int -pkg syscall (netbsd-arm64), const SYS_PACCEPT = 456 -pkg syscall (netbsd-arm64), const SYS_PACCEPT ideal-int -pkg syscall (netbsd-arm64), const SYS_PATHCONF = 191 -pkg syscall (netbsd-arm64), const SYS_PATHCONF ideal-int -pkg syscall (netbsd-arm64), const SYS_PIPE = 42 -pkg syscall (netbsd-arm64), const SYS_PIPE ideal-int -pkg syscall (netbsd-arm64), const SYS_PIPE2 = 453 -pkg syscall (netbsd-arm64), const SYS_PIPE2 ideal-int -pkg syscall (netbsd-arm64), const SYS_PMC_CONTROL = 342 -pkg syscall (netbsd-arm64), const SYS_PMC_CONTROL ideal-int -pkg syscall (netbsd-arm64), const SYS_PMC_GET_INFO = 341 -pkg syscall (netbsd-arm64), const SYS_PMC_GET_INFO ideal-int -pkg syscall (netbsd-arm64), const SYS_POLL = 209 -pkg syscall (netbsd-arm64), const SYS_POLL ideal-int -pkg syscall (netbsd-arm64), const SYS_POLLTS = 437 -pkg syscall (netbsd-arm64), const SYS_POLLTS ideal-int -pkg syscall (netbsd-arm64), const SYS_POSIX_FADVISE = 416 -pkg syscall (netbsd-arm64), const SYS_POSIX_FADVISE ideal-int -pkg syscall (netbsd-arm64), const SYS_POSIX_SPAWN = 474 -pkg syscall (netbsd-arm64), const SYS_POSIX_SPAWN ideal-int -pkg syscall (netbsd-arm64), const SYS_PREAD = 173 -pkg syscall (netbsd-arm64), const SYS_PREAD ideal-int -pkg syscall (netbsd-arm64), const SYS_PREADV = 289 -pkg syscall (netbsd-arm64), const SYS_PREADV ideal-int -pkg syscall (netbsd-arm64), const SYS_PROFIL = 44 -pkg syscall (netbsd-arm64), const SYS_PROFIL ideal-int -pkg syscall (netbsd-arm64), const SYS_PSELECT = 436 -pkg syscall (netbsd-arm64), const SYS_PSELECT ideal-int -pkg syscall (netbsd-arm64), const SYS_PSET_ASSIGN = 414 -pkg syscall (netbsd-arm64), const SYS_PSET_ASSIGN ideal-int -pkg syscall (netbsd-arm64), const SYS_PSET_CREATE = 412 -pkg syscall (netbsd-arm64), const SYS_PSET_CREATE ideal-int -pkg syscall (netbsd-arm64), const SYS_PSET_DESTROY = 413 -pkg syscall (netbsd-arm64), const SYS_PSET_DESTROY ideal-int -pkg syscall (netbsd-arm64), const SYS_PTRACE = 26 -pkg syscall (netbsd-arm64), const SYS_PTRACE ideal-int -pkg syscall (netbsd-arm64), const SYS_PWRITE = 174 -pkg syscall (netbsd-arm64), const SYS_PWRITE ideal-int -pkg syscall (netbsd-arm64), const SYS_PWRITEV = 290 -pkg syscall (netbsd-arm64), const SYS_PWRITEV ideal-int -pkg syscall (netbsd-arm64), const SYS_RASCTL = 343 -pkg syscall (netbsd-arm64), const SYS_RASCTL ideal-int -pkg syscall (netbsd-arm64), const SYS_READ = 3 -pkg syscall (netbsd-arm64), const SYS_READ ideal-int -pkg syscall (netbsd-arm64), const SYS_READLINK = 58 -pkg syscall (netbsd-arm64), const SYS_READLINK ideal-int -pkg syscall (netbsd-arm64), const SYS_READLINKAT = 469 -pkg syscall (netbsd-arm64), const SYS_READLINKAT ideal-int -pkg syscall (netbsd-arm64), const SYS_READV = 120 -pkg syscall (netbsd-arm64), const SYS_READV ideal-int -pkg syscall (netbsd-arm64), const SYS_REBOOT = 208 -pkg syscall (netbsd-arm64), const SYS_REBOOT ideal-int -pkg syscall (netbsd-arm64), const SYS_RECVFROM = 29 -pkg syscall (netbsd-arm64), const SYS_RECVFROM ideal-int -pkg syscall (netbsd-arm64), const SYS_RECVMMSG = 475 -pkg syscall (netbsd-arm64), const SYS_RECVMMSG ideal-int -pkg syscall (netbsd-arm64), const SYS_RECVMSG = 27 -pkg syscall (netbsd-arm64), const SYS_RECVMSG ideal-int -pkg syscall (netbsd-arm64), const SYS_REMOVEXATTR = 384 -pkg syscall (netbsd-arm64), const SYS_REMOVEXATTR ideal-int -pkg syscall (netbsd-arm64), const SYS_RENAME = 128 -pkg syscall (netbsd-arm64), const SYS_RENAME ideal-int -pkg syscall (netbsd-arm64), const SYS_RENAMEAT = 458 -pkg syscall (netbsd-arm64), const SYS_RENAMEAT ideal-int -pkg syscall (netbsd-arm64), const SYS_REVOKE = 56 -pkg syscall (netbsd-arm64), const SYS_REVOKE ideal-int -pkg syscall (netbsd-arm64), const SYS_RMDIR = 137 -pkg syscall (netbsd-arm64), const SYS_RMDIR ideal-int -pkg syscall (netbsd-arm64), const SYS_SBRK = 69 -pkg syscall (netbsd-arm64), const SYS_SBRK ideal-int -pkg syscall (netbsd-arm64), const SYS_SCHED_YIELD = 350 -pkg syscall (netbsd-arm64), const SYS_SCHED_YIELD ideal-int -pkg syscall (netbsd-arm64), const SYS_SELECT = 417 -pkg syscall (netbsd-arm64), const SYS_SELECT ideal-int -pkg syscall (netbsd-arm64), const SYS_SEMCONFIG = 223 -pkg syscall (netbsd-arm64), const SYS_SEMCONFIG ideal-int -pkg syscall (netbsd-arm64), const SYS_SEMGET = 221 -pkg syscall (netbsd-arm64), const SYS_SEMGET ideal-int -pkg syscall (netbsd-arm64), const SYS_SEMOP = 222 -pkg syscall (netbsd-arm64), const SYS_SEMOP ideal-int -pkg syscall (netbsd-arm64), const SYS_SENDMMSG = 476 -pkg syscall (netbsd-arm64), const SYS_SENDMMSG ideal-int -pkg syscall (netbsd-arm64), const SYS_SENDMSG = 28 -pkg syscall (netbsd-arm64), const SYS_SENDMSG ideal-int -pkg syscall (netbsd-arm64), const SYS_SENDTO = 133 -pkg syscall (netbsd-arm64), const SYS_SENDTO ideal-int -pkg syscall (netbsd-arm64), const SYS_SETCONTEXT = 308 -pkg syscall (netbsd-arm64), const SYS_SETCONTEXT ideal-int -pkg syscall (netbsd-arm64), const SYS_SETEGID = 182 -pkg syscall (netbsd-arm64), const SYS_SETEGID ideal-int -pkg syscall (netbsd-arm64), const SYS_SETEUID = 183 -pkg syscall (netbsd-arm64), const SYS_SETEUID ideal-int -pkg syscall (netbsd-arm64), const SYS_SETGID = 181 -pkg syscall (netbsd-arm64), const SYS_SETGID ideal-int -pkg syscall (netbsd-arm64), const SYS_SETGROUPS = 80 -pkg syscall (netbsd-arm64), const SYS_SETGROUPS ideal-int -pkg syscall (netbsd-arm64), const SYS_SETITIMER = 425 -pkg syscall (netbsd-arm64), const SYS_SETITIMER ideal-int -pkg syscall (netbsd-arm64), const SYS_SETPGID = 82 -pkg syscall (netbsd-arm64), const SYS_SETPGID ideal-int -pkg syscall (netbsd-arm64), const SYS_SETPRIORITY = 96 -pkg syscall (netbsd-arm64), const SYS_SETPRIORITY ideal-int -pkg syscall (netbsd-arm64), const SYS_SETREGID = 127 -pkg syscall (netbsd-arm64), const SYS_SETREGID ideal-int -pkg syscall (netbsd-arm64), const SYS_SETREUID = 126 -pkg syscall (netbsd-arm64), const SYS_SETREUID ideal-int -pkg syscall (netbsd-arm64), const SYS_SETRLIMIT = 195 -pkg syscall (netbsd-arm64), const SYS_SETRLIMIT ideal-int -pkg syscall (netbsd-arm64), const SYS_SETSID = 147 -pkg syscall (netbsd-arm64), const SYS_SETSID ideal-int -pkg syscall (netbsd-arm64), const SYS_SETSOCKOPT = 105 -pkg syscall (netbsd-arm64), const SYS_SETSOCKOPT ideal-int -pkg syscall (netbsd-arm64), const SYS_SETTIMEOFDAY = 419 -pkg syscall (netbsd-arm64), const SYS_SETTIMEOFDAY ideal-int -pkg syscall (netbsd-arm64), const SYS_SETUID = 23 -pkg syscall (netbsd-arm64), const SYS_SETUID ideal-int -pkg syscall (netbsd-arm64), const SYS_SETXATTR = 375 -pkg syscall (netbsd-arm64), const SYS_SETXATTR ideal-int -pkg syscall (netbsd-arm64), const SYS_SHMAT = 228 -pkg syscall (netbsd-arm64), const SYS_SHMAT ideal-int -pkg syscall (netbsd-arm64), const SYS_SHMCTL = 443 -pkg syscall (netbsd-arm64), const SYS_SHMCTL ideal-int -pkg syscall (netbsd-arm64), const SYS_SHMDT = 230 -pkg syscall (netbsd-arm64), const SYS_SHMDT ideal-int -pkg syscall (netbsd-arm64), const SYS_SHMGET = 231 -pkg syscall (netbsd-arm64), const SYS_SHMGET ideal-int -pkg syscall (netbsd-arm64), const SYS_SHUTDOWN = 134 -pkg syscall (netbsd-arm64), const SYS_SHUTDOWN ideal-int -pkg syscall (netbsd-arm64), const SYS_SIGQUEUEINFO = 245 -pkg syscall (netbsd-arm64), const SYS_SIGQUEUEINFO ideal-int -pkg syscall (netbsd-arm64), const SYS_SOCKET = 394 -pkg syscall (netbsd-arm64), const SYS_SOCKET ideal-int -pkg syscall (netbsd-arm64), const SYS_SOCKETPAIR = 135 -pkg syscall (netbsd-arm64), const SYS_SOCKETPAIR ideal-int -pkg syscall (netbsd-arm64), const SYS_SSTK = 70 -pkg syscall (netbsd-arm64), const SYS_SSTK ideal-int -pkg syscall (netbsd-arm64), const SYS_STAT = 439 -pkg syscall (netbsd-arm64), const SYS_STAT ideal-int -pkg syscall (netbsd-arm64), const SYS_STATVFS1 = 357 -pkg syscall (netbsd-arm64), const SYS_STATVFS1 ideal-int -pkg syscall (netbsd-arm64), const SYS_SWAPCTL = 271 -pkg syscall (netbsd-arm64), const SYS_SWAPCTL ideal-int -pkg syscall (netbsd-arm64), const SYS_SYMLINK = 57 -pkg syscall (netbsd-arm64), const SYS_SYMLINK ideal-int -pkg syscall (netbsd-arm64), const SYS_SYMLINKAT = 470 -pkg syscall (netbsd-arm64), const SYS_SYMLINKAT ideal-int -pkg syscall (netbsd-arm64), const SYS_SYNC = 36 -pkg syscall (netbsd-arm64), const SYS_SYNC ideal-int -pkg syscall (netbsd-arm64), const SYS_SYSARCH = 165 -pkg syscall (netbsd-arm64), const SYS_SYSARCH ideal-int -pkg syscall (netbsd-arm64), const SYS_TIMER_CREATE = 235 -pkg syscall (netbsd-arm64), const SYS_TIMER_CREATE ideal-int -pkg syscall (netbsd-arm64), const SYS_TIMER_DELETE = 236 -pkg syscall (netbsd-arm64), const SYS_TIMER_DELETE ideal-int -pkg syscall (netbsd-arm64), const SYS_TIMER_GETOVERRUN = 239 -pkg syscall (netbsd-arm64), const SYS_TIMER_GETOVERRUN ideal-int -pkg syscall (netbsd-arm64), const SYS_TIMER_GETTIME = 447 -pkg syscall (netbsd-arm64), const SYS_TIMER_GETTIME ideal-int -pkg syscall (netbsd-arm64), const SYS_TIMER_SETTIME = 446 -pkg syscall (netbsd-arm64), const SYS_TIMER_SETTIME ideal-int -pkg syscall (netbsd-arm64), const SYS_TRUNCATE = 200 -pkg syscall (netbsd-arm64), const SYS_TRUNCATE ideal-int -pkg syscall (netbsd-arm64), const SYS_UMASK = 60 -pkg syscall (netbsd-arm64), const SYS_UMASK ideal-int -pkg syscall (netbsd-arm64), const SYS_UNDELETE = 205 -pkg syscall (netbsd-arm64), const SYS_UNDELETE ideal-int -pkg syscall (netbsd-arm64), const SYS_UNLINK = 10 -pkg syscall (netbsd-arm64), const SYS_UNLINK ideal-int -pkg syscall (netbsd-arm64), const SYS_UNLINKAT = 471 -pkg syscall (netbsd-arm64), const SYS_UNLINKAT ideal-int -pkg syscall (netbsd-arm64), const SYS_UNMOUNT = 22 -pkg syscall (netbsd-arm64), const SYS_UNMOUNT ideal-int -pkg syscall (netbsd-arm64), const SYS_UTIMENSAT = 467 -pkg syscall (netbsd-arm64), const SYS_UTIMENSAT ideal-int -pkg syscall (netbsd-arm64), const SYS_UTIMES = 420 -pkg syscall (netbsd-arm64), const SYS_UTIMES ideal-int -pkg syscall (netbsd-arm64), const SYS_UTRACE = 306 -pkg syscall (netbsd-arm64), const SYS_UTRACE ideal-int -pkg syscall (netbsd-arm64), const SYS_UUIDGEN = 355 -pkg syscall (netbsd-arm64), const SYS_UUIDGEN ideal-int -pkg syscall (netbsd-arm64), const SYS_VADVISE = 72 -pkg syscall (netbsd-arm64), const SYS_VADVISE ideal-int -pkg syscall (netbsd-arm64), const SYS_VFORK = 66 -pkg syscall (netbsd-arm64), const SYS_VFORK ideal-int -pkg syscall (netbsd-arm64), const SYS_WAIT4 = 449 -pkg syscall (netbsd-arm64), const SYS_WAIT4 ideal-int -pkg syscall (netbsd-arm64), const SYS_WRITE = 4 -pkg syscall (netbsd-arm64), const SYS_WRITE ideal-int -pkg syscall (netbsd-arm64), const SYS_WRITEV = 121 -pkg syscall (netbsd-arm64), const SYS_WRITEV ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_CONTINUE = 314 -pkg syscall (netbsd-arm64), const SYS__LWP_CONTINUE ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_CREATE = 309 -pkg syscall (netbsd-arm64), const SYS__LWP_CREATE ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_CTL = 325 -pkg syscall (netbsd-arm64), const SYS__LWP_CTL ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_DETACH = 319 -pkg syscall (netbsd-arm64), const SYS__LWP_DETACH ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_EXIT = 310 -pkg syscall (netbsd-arm64), const SYS__LWP_EXIT ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_GETNAME = 324 -pkg syscall (netbsd-arm64), const SYS__LWP_GETNAME ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_GETPRIVATE = 316 -pkg syscall (netbsd-arm64), const SYS__LWP_GETPRIVATE ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_KILL = 318 -pkg syscall (netbsd-arm64), const SYS__LWP_KILL ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_PARK = 434 -pkg syscall (netbsd-arm64), const SYS__LWP_PARK ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_SELF = 311 -pkg syscall (netbsd-arm64), const SYS__LWP_SELF ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_SETNAME = 323 -pkg syscall (netbsd-arm64), const SYS__LWP_SETNAME ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_SETPRIVATE = 317 -pkg syscall (netbsd-arm64), const SYS__LWP_SETPRIVATE ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_SUSPEND = 313 -pkg syscall (netbsd-arm64), const SYS__LWP_SUSPEND ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_UNPARK = 321 -pkg syscall (netbsd-arm64), const SYS__LWP_UNPARK ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_UNPARK_ALL = 322 -pkg syscall (netbsd-arm64), const SYS__LWP_UNPARK_ALL ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_WAIT = 312 -pkg syscall (netbsd-arm64), const SYS__LWP_WAIT ideal-int -pkg syscall (netbsd-arm64), const SYS__LWP_WAKEUP = 315 -pkg syscall (netbsd-arm64), const SYS__LWP_WAKEUP ideal-int -pkg syscall (netbsd-arm64), const SYS__PSET_BIND = 415 -pkg syscall (netbsd-arm64), const SYS__PSET_BIND ideal-int -pkg syscall (netbsd-arm64), const SYS__SCHED_GETAFFINITY = 349 -pkg syscall (netbsd-arm64), const SYS__SCHED_GETAFFINITY ideal-int -pkg syscall (netbsd-arm64), const SYS__SCHED_GETPARAM = 347 -pkg syscall (netbsd-arm64), const SYS__SCHED_GETPARAM ideal-int -pkg syscall (netbsd-arm64), const SYS__SCHED_SETAFFINITY = 348 -pkg syscall (netbsd-arm64), const SYS__SCHED_SETAFFINITY ideal-int -pkg syscall (netbsd-arm64), const SYS__SCHED_SETPARAM = 346 -pkg syscall (netbsd-arm64), const SYS__SCHED_SETPARAM ideal-int -pkg syscall (netbsd-arm64), const SYS___CLONE = 287 -pkg syscall (netbsd-arm64), const SYS___CLONE ideal-int -pkg syscall (netbsd-arm64), const SYS___GETCWD = 296 -pkg syscall (netbsd-arm64), const SYS___GETCWD ideal-int -pkg syscall (netbsd-arm64), const SYS___GETLOGIN = 49 -pkg syscall (netbsd-arm64), const SYS___GETLOGIN ideal-int -pkg syscall (netbsd-arm64), const SYS___POSIX_CHOWN = 283 -pkg syscall (netbsd-arm64), const SYS___POSIX_CHOWN ideal-int -pkg syscall (netbsd-arm64), const SYS___POSIX_FCHOWN = 284 -pkg syscall (netbsd-arm64), const SYS___POSIX_FCHOWN ideal-int -pkg syscall (netbsd-arm64), const SYS___POSIX_LCHOWN = 285 -pkg syscall (netbsd-arm64), const SYS___POSIX_LCHOWN ideal-int -pkg syscall (netbsd-arm64), const SYS___POSIX_RENAME = 270 -pkg syscall (netbsd-arm64), const SYS___POSIX_RENAME ideal-int -pkg syscall (netbsd-arm64), const SYS___QUOTACTL = 473 -pkg syscall (netbsd-arm64), const SYS___QUOTACTL ideal-int -pkg syscall (netbsd-arm64), const SYS___SEMCTL = 442 -pkg syscall (netbsd-arm64), const SYS___SEMCTL ideal-int -pkg syscall (netbsd-arm64), const SYS___SETLOGIN = 50 -pkg syscall (netbsd-arm64), const SYS___SETLOGIN ideal-int -pkg syscall (netbsd-arm64), const SYS___SIGACTION_SIGTRAMP = 340 -pkg syscall (netbsd-arm64), const SYS___SIGACTION_SIGTRAMP ideal-int -pkg syscall (netbsd-arm64), const SYS___SIGTIMEDWAIT = 431 -pkg syscall (netbsd-arm64), const SYS___SIGTIMEDWAIT ideal-int -pkg syscall (netbsd-arm64), const SYS___SYSCTL = 202 -pkg syscall (netbsd-arm64), const SYS___SYSCTL ideal-int -pkg syscall (netbsd-arm64), const S_ARCH1 = 65536 -pkg syscall (netbsd-arm64), const S_ARCH1 ideal-int -pkg syscall (netbsd-arm64), const S_ARCH2 = 131072 -pkg syscall (netbsd-arm64), const S_ARCH2 ideal-int -pkg syscall (netbsd-arm64), const S_BLKSIZE = 512 -pkg syscall (netbsd-arm64), const S_BLKSIZE ideal-int -pkg syscall (netbsd-arm64), const S_IEXEC = 64 -pkg syscall (netbsd-arm64), const S_IEXEC ideal-int -pkg syscall (netbsd-arm64), const S_IFMT = 61440 -pkg syscall (netbsd-arm64), const S_IFWHT = 57344 -pkg syscall (netbsd-arm64), const S_IFWHT ideal-int -pkg syscall (netbsd-arm64), const S_IREAD = 256 -pkg syscall (netbsd-arm64), const S_IREAD ideal-int -pkg syscall (netbsd-arm64), const S_IRGRP = 32 -pkg syscall (netbsd-arm64), const S_IRGRP ideal-int -pkg syscall (netbsd-arm64), const S_IROTH = 4 -pkg syscall (netbsd-arm64), const S_IROTH ideal-int -pkg syscall (netbsd-arm64), const S_IRWXG = 56 -pkg syscall (netbsd-arm64), const S_IRWXG ideal-int -pkg syscall (netbsd-arm64), const S_IRWXO = 7 -pkg syscall (netbsd-arm64), const S_IRWXO ideal-int -pkg syscall (netbsd-arm64), const S_IRWXU = 448 -pkg syscall (netbsd-arm64), const S_IRWXU ideal-int -pkg syscall (netbsd-arm64), const S_ISTXT = 512 -pkg syscall (netbsd-arm64), const S_ISTXT ideal-int -pkg syscall (netbsd-arm64), const S_IWGRP = 16 -pkg syscall (netbsd-arm64), const S_IWGRP ideal-int -pkg syscall (netbsd-arm64), const S_IWOTH = 2 -pkg syscall (netbsd-arm64), const S_IWOTH ideal-int -pkg syscall (netbsd-arm64), const S_IWRITE = 128 -pkg syscall (netbsd-arm64), const S_IWRITE ideal-int -pkg syscall (netbsd-arm64), const S_IXGRP = 8 -pkg syscall (netbsd-arm64), const S_IXGRP ideal-int -pkg syscall (netbsd-arm64), const S_IXOTH = 1 -pkg syscall (netbsd-arm64), const S_IXOTH ideal-int -pkg syscall (netbsd-arm64), const S_LOGIN_SET = 1 -pkg syscall (netbsd-arm64), const S_LOGIN_SET ideal-int -pkg syscall (netbsd-arm64), const SizeofBpfHdr = 32 -pkg syscall (netbsd-arm64), const SizeofBpfHdr ideal-int -pkg syscall (netbsd-arm64), const SizeofBpfInsn = 8 -pkg syscall (netbsd-arm64), const SizeofBpfInsn ideal-int -pkg syscall (netbsd-arm64), const SizeofBpfProgram = 16 -pkg syscall (netbsd-arm64), const SizeofBpfProgram ideal-int -pkg syscall (netbsd-arm64), const SizeofBpfStat = 128 -pkg syscall (netbsd-arm64), const SizeofBpfStat ideal-int -pkg syscall (netbsd-arm64), const SizeofBpfVersion = 4 -pkg syscall (netbsd-arm64), const SizeofBpfVersion ideal-int -pkg syscall (netbsd-arm64), const SizeofCmsghdr = 12 -pkg syscall (netbsd-arm64), const SizeofCmsghdr ideal-int -pkg syscall (netbsd-arm64), const SizeofICMPv6Filter = 32 -pkg syscall (netbsd-arm64), const SizeofICMPv6Filter ideal-int -pkg syscall (netbsd-arm64), const SizeofIPMreq = 8 -pkg syscall (netbsd-arm64), const SizeofIPMreq ideal-int -pkg syscall (netbsd-arm64), const SizeofIPv6MTUInfo = 32 -pkg syscall (netbsd-arm64), const SizeofIPv6MTUInfo ideal-int -pkg syscall (netbsd-arm64), const SizeofIPv6Mreq = 20 -pkg syscall (netbsd-arm64), const SizeofIPv6Mreq ideal-int -pkg syscall (netbsd-arm64), const SizeofIfAnnounceMsghdr = 24 -pkg syscall (netbsd-arm64), const SizeofIfAnnounceMsghdr ideal-int -pkg syscall (netbsd-arm64), const SizeofIfData = 136 -pkg syscall (netbsd-arm64), const SizeofIfData ideal-int -pkg syscall (netbsd-arm64), const SizeofIfMsghdr = 152 -pkg syscall (netbsd-arm64), const SizeofIfMsghdr ideal-int -pkg syscall (netbsd-arm64), const SizeofIfaMsghdr = 24 -pkg syscall (netbsd-arm64), const SizeofIfaMsghdr ideal-int -pkg syscall (netbsd-arm64), const SizeofInet6Pktinfo = 20 -pkg syscall (netbsd-arm64), const SizeofInet6Pktinfo ideal-int -pkg syscall (netbsd-arm64), const SizeofLinger = 8 -pkg syscall (netbsd-arm64), const SizeofLinger ideal-int -pkg syscall (netbsd-arm64), const SizeofMsghdr = 48 -pkg syscall (netbsd-arm64), const SizeofMsghdr ideal-int -pkg syscall (netbsd-arm64), const SizeofRtMetrics = 80 -pkg syscall (netbsd-arm64), const SizeofRtMetrics ideal-int -pkg syscall (netbsd-arm64), const SizeofRtMsghdr = 120 -pkg syscall (netbsd-arm64), const SizeofRtMsghdr ideal-int -pkg syscall (netbsd-arm64), const SizeofSockaddrAny = 108 -pkg syscall (netbsd-arm64), const SizeofSockaddrAny ideal-int -pkg syscall (netbsd-arm64), const SizeofSockaddrDatalink = 20 -pkg syscall (netbsd-arm64), const SizeofSockaddrDatalink ideal-int -pkg syscall (netbsd-arm64), const SizeofSockaddrInet4 = 16 -pkg syscall (netbsd-arm64), const SizeofSockaddrInet4 ideal-int -pkg syscall (netbsd-arm64), const SizeofSockaddrInet6 = 28 -pkg syscall (netbsd-arm64), const SizeofSockaddrInet6 ideal-int -pkg syscall (netbsd-arm64), const SizeofSockaddrUnix = 106 -pkg syscall (netbsd-arm64), const SizeofSockaddrUnix ideal-int -pkg syscall (netbsd-arm64), const TCIFLUSH = 1 -pkg syscall (netbsd-arm64), const TCIFLUSH ideal-int -pkg syscall (netbsd-arm64), const TCIOFLUSH = 3 -pkg syscall (netbsd-arm64), const TCIOFLUSH ideal-int -pkg syscall (netbsd-arm64), const TCOFLUSH = 2 -pkg syscall (netbsd-arm64), const TCOFLUSH ideal-int -pkg syscall (netbsd-arm64), const TCP_CONGCTL = 32 -pkg syscall (netbsd-arm64), const TCP_CONGCTL ideal-int -pkg syscall (netbsd-arm64), const TCP_KEEPCNT = 6 -pkg syscall (netbsd-arm64), const TCP_KEEPCNT ideal-int -pkg syscall (netbsd-arm64), const TCP_KEEPIDLE = 3 -pkg syscall (netbsd-arm64), const TCP_KEEPIDLE ideal-int -pkg syscall (netbsd-arm64), const TCP_KEEPINIT = 7 -pkg syscall (netbsd-arm64), const TCP_KEEPINIT ideal-int -pkg syscall (netbsd-arm64), const TCP_KEEPINTVL = 5 -pkg syscall (netbsd-arm64), const TCP_KEEPINTVL ideal-int -pkg syscall (netbsd-arm64), const TCP_MAXBURST = 4 -pkg syscall (netbsd-arm64), const TCP_MAXBURST ideal-int -pkg syscall (netbsd-arm64), const TCP_MAXSEG = 2 -pkg syscall (netbsd-arm64), const TCP_MAXSEG ideal-int -pkg syscall (netbsd-arm64), const TCP_MAXWIN = 65535 -pkg syscall (netbsd-arm64), const TCP_MAXWIN ideal-int -pkg syscall (netbsd-arm64), const TCP_MAX_WINSHIFT = 14 -pkg syscall (netbsd-arm64), const TCP_MAX_WINSHIFT ideal-int -pkg syscall (netbsd-arm64), const TCP_MD5SIG = 16 -pkg syscall (netbsd-arm64), const TCP_MD5SIG ideal-int -pkg syscall (netbsd-arm64), const TCP_MINMSS = 216 -pkg syscall (netbsd-arm64), const TCP_MINMSS ideal-int -pkg syscall (netbsd-arm64), const TCP_MSS = 536 -pkg syscall (netbsd-arm64), const TCP_MSS ideal-int -pkg syscall (netbsd-arm64), const TCSAFLUSH = 2 -pkg syscall (netbsd-arm64), const TCSAFLUSH ideal-int -pkg syscall (netbsd-arm64), const TIOCCBRK = 536900730 -pkg syscall (netbsd-arm64), const TIOCCBRK ideal-int -pkg syscall (netbsd-arm64), const TIOCCDTR = 536900728 -pkg syscall (netbsd-arm64), const TIOCCDTR ideal-int -pkg syscall (netbsd-arm64), const TIOCCONS = 2147775586 -pkg syscall (netbsd-arm64), const TIOCCONS ideal-int -pkg syscall (netbsd-arm64), const TIOCDCDTIMESTAMP = 1074820184 -pkg syscall (netbsd-arm64), const TIOCDCDTIMESTAMP ideal-int -pkg syscall (netbsd-arm64), const TIOCDRAIN = 536900702 -pkg syscall (netbsd-arm64), const TIOCDRAIN ideal-int -pkg syscall (netbsd-arm64), const TIOCEXCL = 536900621 -pkg syscall (netbsd-arm64), const TIOCEXCL ideal-int -pkg syscall (netbsd-arm64), const TIOCEXT = 2147775584 -pkg syscall (netbsd-arm64), const TIOCEXT ideal-int -pkg syscall (netbsd-arm64), const TIOCFLAG_CDTRCTS = 16 -pkg syscall (netbsd-arm64), const TIOCFLAG_CDTRCTS ideal-int -pkg syscall (netbsd-arm64), const TIOCFLAG_CLOCAL = 2 -pkg syscall (netbsd-arm64), const TIOCFLAG_CLOCAL ideal-int -pkg syscall (netbsd-arm64), const TIOCFLAG_CRTSCTS = 4 -pkg syscall (netbsd-arm64), const TIOCFLAG_CRTSCTS ideal-int -pkg syscall (netbsd-arm64), const TIOCFLAG_MDMBUF = 8 -pkg syscall (netbsd-arm64), const TIOCFLAG_MDMBUF ideal-int -pkg syscall (netbsd-arm64), const TIOCFLAG_SOFTCAR = 1 -pkg syscall (netbsd-arm64), const TIOCFLAG_SOFTCAR ideal-int -pkg syscall (netbsd-arm64), const TIOCFLUSH = 2147775504 -pkg syscall (netbsd-arm64), const TIOCFLUSH ideal-int -pkg syscall (netbsd-arm64), const TIOCGETA = 1076655123 -pkg syscall (netbsd-arm64), const TIOCGETA ideal-int -pkg syscall (netbsd-arm64), const TIOCGETD = 1074033690 -pkg syscall (netbsd-arm64), const TIOCGETD ideal-int -pkg syscall (netbsd-arm64), const TIOCGFLAGS = 1074033757 -pkg syscall (netbsd-arm64), const TIOCGFLAGS ideal-int -pkg syscall (netbsd-arm64), const TIOCGLINED = 1075868738 -pkg syscall (netbsd-arm64), const TIOCGLINED ideal-int -pkg syscall (netbsd-arm64), const TIOCGPGRP = 1074033783 -pkg syscall (netbsd-arm64), const TIOCGPGRP ideal-int -pkg syscall (netbsd-arm64), const TIOCGQSIZE = 1074033793 -pkg syscall (netbsd-arm64), const TIOCGQSIZE ideal-int -pkg syscall (netbsd-arm64), const TIOCGRANTPT = 536900679 -pkg syscall (netbsd-arm64), const TIOCGRANTPT ideal-int -pkg syscall (netbsd-arm64), const TIOCGSID = 1074033763 -pkg syscall (netbsd-arm64), const TIOCGSID ideal-int -pkg syscall (netbsd-arm64), const TIOCGSIZE = 1074295912 -pkg syscall (netbsd-arm64), const TIOCGSIZE ideal-int -pkg syscall (netbsd-arm64), const TIOCGWINSZ = 1074295912 -pkg syscall (netbsd-arm64), const TIOCGWINSZ ideal-int -pkg syscall (netbsd-arm64), const TIOCMBIC = 2147775595 -pkg syscall (netbsd-arm64), const TIOCMBIC ideal-int -pkg syscall (netbsd-arm64), const TIOCMBIS = 2147775596 -pkg syscall (netbsd-arm64), const TIOCMBIS ideal-int -pkg syscall (netbsd-arm64), const TIOCMGET = 1074033770 -pkg syscall (netbsd-arm64), const TIOCMGET ideal-int -pkg syscall (netbsd-arm64), const TIOCMSET = 2147775597 -pkg syscall (netbsd-arm64), const TIOCMSET ideal-int -pkg syscall (netbsd-arm64), const TIOCM_CAR = 64 -pkg syscall (netbsd-arm64), const TIOCM_CAR ideal-int -pkg syscall (netbsd-arm64), const TIOCM_CD = 64 -pkg syscall (netbsd-arm64), const TIOCM_CD ideal-int -pkg syscall (netbsd-arm64), const TIOCM_CTS = 32 -pkg syscall (netbsd-arm64), const TIOCM_CTS ideal-int -pkg syscall (netbsd-arm64), const TIOCM_DSR = 256 -pkg syscall (netbsd-arm64), const TIOCM_DSR ideal-int -pkg syscall (netbsd-arm64), const TIOCM_DTR = 2 -pkg syscall (netbsd-arm64), const TIOCM_DTR ideal-int -pkg syscall (netbsd-arm64), const TIOCM_LE = 1 -pkg syscall (netbsd-arm64), const TIOCM_LE ideal-int -pkg syscall (netbsd-arm64), const TIOCM_RI = 128 -pkg syscall (netbsd-arm64), const TIOCM_RI ideal-int -pkg syscall (netbsd-arm64), const TIOCM_RNG = 128 -pkg syscall (netbsd-arm64), const TIOCM_RNG ideal-int -pkg syscall (netbsd-arm64), const TIOCM_RTS = 4 -pkg syscall (netbsd-arm64), const TIOCM_RTS ideal-int -pkg syscall (netbsd-arm64), const TIOCM_SR = 16 -pkg syscall (netbsd-arm64), const TIOCM_SR ideal-int -pkg syscall (netbsd-arm64), const TIOCM_ST = 8 -pkg syscall (netbsd-arm64), const TIOCM_ST ideal-int -pkg syscall (netbsd-arm64), const TIOCNOTTY = 536900721 -pkg syscall (netbsd-arm64), const TIOCNOTTY ideal-int -pkg syscall (netbsd-arm64), const TIOCNXCL = 536900622 -pkg syscall (netbsd-arm64), const TIOCNXCL ideal-int -pkg syscall (netbsd-arm64), const TIOCOUTQ = 1074033779 -pkg syscall (netbsd-arm64), const TIOCOUTQ ideal-int -pkg syscall (netbsd-arm64), const TIOCPKT = 2147775600 -pkg syscall (netbsd-arm64), const TIOCPKT ideal-int -pkg syscall (netbsd-arm64), const TIOCPKT_DATA = 0 -pkg syscall (netbsd-arm64), const TIOCPKT_DATA ideal-int -pkg syscall (netbsd-arm64), const TIOCPKT_DOSTOP = 32 -pkg syscall (netbsd-arm64), const TIOCPKT_DOSTOP ideal-int -pkg syscall (netbsd-arm64), const TIOCPKT_FLUSHREAD = 1 -pkg syscall (netbsd-arm64), const TIOCPKT_FLUSHREAD ideal-int -pkg syscall (netbsd-arm64), const TIOCPKT_FLUSHWRITE = 2 -pkg syscall (netbsd-arm64), const TIOCPKT_FLUSHWRITE ideal-int -pkg syscall (netbsd-arm64), const TIOCPKT_IOCTL = 64 -pkg syscall (netbsd-arm64), const TIOCPKT_IOCTL ideal-int -pkg syscall (netbsd-arm64), const TIOCPKT_NOSTOP = 16 -pkg syscall (netbsd-arm64), const TIOCPKT_NOSTOP ideal-int -pkg syscall (netbsd-arm64), const TIOCPKT_START = 8 -pkg syscall (netbsd-arm64), const TIOCPKT_START ideal-int -pkg syscall (netbsd-arm64), const TIOCPKT_STOP = 4 -pkg syscall (netbsd-arm64), const TIOCPKT_STOP ideal-int -pkg syscall (netbsd-arm64), const TIOCPTMGET = 1076393030 -pkg syscall (netbsd-arm64), const TIOCPTMGET ideal-int -pkg syscall (netbsd-arm64), const TIOCPTSNAME = 1076393032 -pkg syscall (netbsd-arm64), const TIOCPTSNAME ideal-int -pkg syscall (netbsd-arm64), const TIOCRCVFRAME = 2148037701 -pkg syscall (netbsd-arm64), const TIOCRCVFRAME ideal-int -pkg syscall (netbsd-arm64), const TIOCREMOTE = 2147775593 -pkg syscall (netbsd-arm64), const TIOCREMOTE ideal-int -pkg syscall (netbsd-arm64), const TIOCSBRK = 536900731 -pkg syscall (netbsd-arm64), const TIOCSBRK ideal-int -pkg syscall (netbsd-arm64), const TIOCSCTTY = 536900705 -pkg syscall (netbsd-arm64), const TIOCSCTTY ideal-int -pkg syscall (netbsd-arm64), const TIOCSDTR = 536900729 -pkg syscall (netbsd-arm64), const TIOCSDTR ideal-int -pkg syscall (netbsd-arm64), const TIOCSETA = 2150396948 -pkg syscall (netbsd-arm64), const TIOCSETA ideal-int -pkg syscall (netbsd-arm64), const TIOCSETAF = 2150396950 -pkg syscall (netbsd-arm64), const TIOCSETAF ideal-int -pkg syscall (netbsd-arm64), const TIOCSETAW = 2150396949 -pkg syscall (netbsd-arm64), const TIOCSETAW ideal-int -pkg syscall (netbsd-arm64), const TIOCSETD = 2147775515 -pkg syscall (netbsd-arm64), const TIOCSETD ideal-int -pkg syscall (netbsd-arm64), const TIOCSFLAGS = 2147775580 -pkg syscall (netbsd-arm64), const TIOCSFLAGS ideal-int -pkg syscall (netbsd-arm64), const TIOCSIG = 536900703 -pkg syscall (netbsd-arm64), const TIOCSIG ideal-int -pkg syscall (netbsd-arm64), const TIOCSLINED = 2149610563 -pkg syscall (netbsd-arm64), const TIOCSLINED ideal-int -pkg syscall (netbsd-arm64), const TIOCSPGRP = 2147775606 -pkg syscall (netbsd-arm64), const TIOCSPGRP ideal-int -pkg syscall (netbsd-arm64), const TIOCSQSIZE = 2147775616 -pkg syscall (netbsd-arm64), const TIOCSQSIZE ideal-int -pkg syscall (netbsd-arm64), const TIOCSSIZE = 2148037735 -pkg syscall (netbsd-arm64), const TIOCSSIZE ideal-int -pkg syscall (netbsd-arm64), const TIOCSTART = 536900718 -pkg syscall (netbsd-arm64), const TIOCSTART ideal-int -pkg syscall (netbsd-arm64), const TIOCSTAT = 2147775589 -pkg syscall (netbsd-arm64), const TIOCSTAT ideal-int -pkg syscall (netbsd-arm64), const TIOCSTI = 2147578994 -pkg syscall (netbsd-arm64), const TIOCSTI ideal-int -pkg syscall (netbsd-arm64), const TIOCSTOP = 536900719 -pkg syscall (netbsd-arm64), const TIOCSTOP ideal-int -pkg syscall (netbsd-arm64), const TIOCSWINSZ = 2148037735 -pkg syscall (netbsd-arm64), const TIOCSWINSZ ideal-int -pkg syscall (netbsd-arm64), const TIOCUCNTL = 2147775590 -pkg syscall (netbsd-arm64), const TIOCUCNTL ideal-int -pkg syscall (netbsd-arm64), const TIOCXMTFRAME = 2148037700 -pkg syscall (netbsd-arm64), const TIOCXMTFRAME ideal-int -pkg syscall (netbsd-arm64), const TOSTOP = 4194304 -pkg syscall (netbsd-arm64), const TOSTOP ideal-int -pkg syscall (netbsd-arm64), const VDISCARD = 15 -pkg syscall (netbsd-arm64), const VDISCARD ideal-int -pkg syscall (netbsd-arm64), const VDSUSP = 11 -pkg syscall (netbsd-arm64), const VDSUSP ideal-int -pkg syscall (netbsd-arm64), const VEOF = 0 -pkg syscall (netbsd-arm64), const VEOF ideal-int -pkg syscall (netbsd-arm64), const VEOL = 1 -pkg syscall (netbsd-arm64), const VEOL ideal-int -pkg syscall (netbsd-arm64), const VEOL2 = 2 -pkg syscall (netbsd-arm64), const VEOL2 ideal-int -pkg syscall (netbsd-arm64), const VERASE = 3 -pkg syscall (netbsd-arm64), const VERASE ideal-int -pkg syscall (netbsd-arm64), const VINTR = 8 -pkg syscall (netbsd-arm64), const VINTR ideal-int -pkg syscall (netbsd-arm64), const VKILL = 5 -pkg syscall (netbsd-arm64), const VKILL ideal-int -pkg syscall (netbsd-arm64), const VLNEXT = 14 -pkg syscall (netbsd-arm64), const VLNEXT ideal-int -pkg syscall (netbsd-arm64), const VMIN = 16 -pkg syscall (netbsd-arm64), const VMIN ideal-int -pkg syscall (netbsd-arm64), const VQUIT = 9 -pkg syscall (netbsd-arm64), const VQUIT ideal-int -pkg syscall (netbsd-arm64), const VREPRINT = 6 -pkg syscall (netbsd-arm64), const VREPRINT ideal-int -pkg syscall (netbsd-arm64), const VSTART = 12 -pkg syscall (netbsd-arm64), const VSTART ideal-int -pkg syscall (netbsd-arm64), const VSTATUS = 18 -pkg syscall (netbsd-arm64), const VSTATUS ideal-int -pkg syscall (netbsd-arm64), const VSTOP = 13 -pkg syscall (netbsd-arm64), const VSTOP ideal-int -pkg syscall (netbsd-arm64), const VSUSP = 10 -pkg syscall (netbsd-arm64), const VSUSP ideal-int -pkg syscall (netbsd-arm64), const VTIME = 17 -pkg syscall (netbsd-arm64), const VTIME ideal-int -pkg syscall (netbsd-arm64), const VWERASE = 4 -pkg syscall (netbsd-arm64), const VWERASE ideal-int -pkg syscall (netbsd-arm64), const WALL = 8 -pkg syscall (netbsd-arm64), const WALL ideal-int -pkg syscall (netbsd-arm64), const WALLSIG = 8 -pkg syscall (netbsd-arm64), const WALLSIG ideal-int -pkg syscall (netbsd-arm64), const WALTSIG = 4 -pkg syscall (netbsd-arm64), const WALTSIG ideal-int -pkg syscall (netbsd-arm64), const WCLONE = 4 -pkg syscall (netbsd-arm64), const WCLONE ideal-int -pkg syscall (netbsd-arm64), const WCOREFLAG = 128 -pkg syscall (netbsd-arm64), const WCOREFLAG ideal-int -pkg syscall (netbsd-arm64), const WNOHANG = 1 -pkg syscall (netbsd-arm64), const WNOHANG ideal-int -pkg syscall (netbsd-arm64), const WNOWAIT = 65536 -pkg syscall (netbsd-arm64), const WNOWAIT ideal-int -pkg syscall (netbsd-arm64), const WNOZOMBIE = 131072 -pkg syscall (netbsd-arm64), const WNOZOMBIE ideal-int -pkg syscall (netbsd-arm64), const WOPTSCHECKED = 262144 -pkg syscall (netbsd-arm64), const WOPTSCHECKED ideal-int -pkg syscall (netbsd-arm64), const WSTOPPED = 127 -pkg syscall (netbsd-arm64), const WSTOPPED ideal-int -pkg syscall (netbsd-arm64), const WUNTRACED = 2 -pkg syscall (netbsd-arm64), const WUNTRACED ideal-int -pkg syscall (netbsd-arm64), func Accept(int) (int, Sockaddr, error) -pkg syscall (netbsd-arm64), func Accept4(int, int) (int, Sockaddr, error) -pkg syscall (netbsd-arm64), func Access(string, uint32) error -pkg syscall (netbsd-arm64), func Adjtime(*Timeval, *Timeval) error -pkg syscall (netbsd-arm64), func Bind(int, Sockaddr) error -pkg syscall (netbsd-arm64), func BpfBuflen(int) (int, error) -pkg syscall (netbsd-arm64), func BpfDatalink(int) (int, error) -pkg syscall (netbsd-arm64), func BpfHeadercmpl(int) (int, error) -pkg syscall (netbsd-arm64), func BpfInterface(int, string) (string, error) -pkg syscall (netbsd-arm64), func BpfJump(int, int, int, int) *BpfInsn -pkg syscall (netbsd-arm64), func BpfStats(int) (*BpfStat, error) -pkg syscall (netbsd-arm64), func BpfStmt(int, int) *BpfInsn -pkg syscall (netbsd-arm64), func BpfTimeout(int) (*Timeval, error) -pkg syscall (netbsd-arm64), func CheckBpfVersion(int) error -pkg syscall (netbsd-arm64), func Chflags(string, int) error -pkg syscall (netbsd-arm64), func Chroot(string) error -pkg syscall (netbsd-arm64), func Close(int) error -pkg syscall (netbsd-arm64), func CloseOnExec(int) -pkg syscall (netbsd-arm64), func CmsgLen(int) int -pkg syscall (netbsd-arm64), func CmsgSpace(int) int -pkg syscall (netbsd-arm64), func Connect(int, Sockaddr) error -pkg syscall (netbsd-arm64), func Dup(int) (int, error) -pkg syscall (netbsd-arm64), func Dup2(int, int) error -pkg syscall (netbsd-arm64), func Fchdir(int) error -pkg syscall (netbsd-arm64), func Fchflags(int, int) error -pkg syscall (netbsd-arm64), func Fchmod(int, uint32) error -pkg syscall (netbsd-arm64), func Fchown(int, int, int) error -pkg syscall (netbsd-arm64), func FcntlFlock(uintptr, int, *Flock_t) error -pkg syscall (netbsd-arm64), func Flock(int, int) error -pkg syscall (netbsd-arm64), func FlushBpf(int) error -pkg syscall (netbsd-arm64), func ForkExec(string, []string, *ProcAttr) (int, error) -pkg syscall (netbsd-arm64), func Fpathconf(int, int) (int, error) -pkg syscall (netbsd-arm64), func Fstat(int, *Stat_t) error -pkg syscall (netbsd-arm64), func Fsync(int) error -pkg syscall (netbsd-arm64), func Ftruncate(int, int64) error -pkg syscall (netbsd-arm64), func Futimes(int, []Timeval) error -pkg syscall (netbsd-arm64), func Getdirentries(int, []uint8, *uintptr) (int, error) -pkg syscall (netbsd-arm64), func Getpeername(int) (Sockaddr, error) -pkg syscall (netbsd-arm64), func Getpgid(int) (int, error) -pkg syscall (netbsd-arm64), func Getpgrp() int -pkg syscall (netbsd-arm64), func Getpriority(int, int) (int, error) -pkg syscall (netbsd-arm64), func Getrlimit(int, *Rlimit) error -pkg syscall (netbsd-arm64), func Getrusage(int, *Rusage) error -pkg syscall (netbsd-arm64), func Getsid(int) (int, error) -pkg syscall (netbsd-arm64), func Getsockname(int) (Sockaddr, error) -pkg syscall (netbsd-arm64), func GetsockoptByte(int, int, int) (uint8, error) -pkg syscall (netbsd-arm64), func GetsockoptICMPv6Filter(int, int, int) (*ICMPv6Filter, error) -pkg syscall (netbsd-arm64), func GetsockoptIPMreq(int, int, int) (*IPMreq, error) -pkg syscall (netbsd-arm64), func GetsockoptIPv6MTUInfo(int, int, int) (*IPv6MTUInfo, error) -pkg syscall (netbsd-arm64), func GetsockoptIPv6Mreq(int, int, int) (*IPv6Mreq, error) -pkg syscall (netbsd-arm64), func GetsockoptInet4Addr(int, int, int) ([4]uint8, error) -pkg syscall (netbsd-arm64), func GetsockoptInt(int, int, int) (int, error) -pkg syscall (netbsd-arm64), func Issetugid() bool -pkg syscall (netbsd-arm64), func Kevent(int, []Kevent_t, []Kevent_t, *Timespec) (int, error) -pkg syscall (netbsd-arm64), func Kill(int, Signal) error -pkg syscall (netbsd-arm64), func Kqueue() (int, error) -pkg syscall (netbsd-arm64), func Listen(int, int) error -pkg syscall (netbsd-arm64), func Lstat(string, *Stat_t) error -pkg syscall (netbsd-arm64), func Mkfifo(string, uint32) error -pkg syscall (netbsd-arm64), func Mknod(string, uint32, int) error -pkg syscall (netbsd-arm64), func Mmap(int, int64, int, int, int) ([]uint8, error) -pkg syscall (netbsd-arm64), func Munmap([]uint8) error -pkg syscall (netbsd-arm64), func Nanosleep(*Timespec, *Timespec) error -pkg syscall (netbsd-arm64), func Open(string, int, uint32) (int, error) -pkg syscall (netbsd-arm64), func ParseDirent([]uint8, int, []string) (int, int, []string) -pkg syscall (netbsd-arm64), func ParseRoutingMessage([]uint8) ([]RoutingMessage, error) -pkg syscall (netbsd-arm64), func ParseRoutingSockaddr(RoutingMessage) ([]Sockaddr, error) -pkg syscall (netbsd-arm64), func ParseSocketControlMessage([]uint8) ([]SocketControlMessage, error) -pkg syscall (netbsd-arm64), func ParseUnixRights(*SocketControlMessage) ([]int, error) -pkg syscall (netbsd-arm64), func Pathconf(string, int) (int, error) -pkg syscall (netbsd-arm64), func Pipe([]int) error -pkg syscall (netbsd-arm64), func Pipe2([]int, int) error -pkg syscall (netbsd-arm64), func Pread(int, []uint8, int64) (int, error) -pkg syscall (netbsd-arm64), func Pwrite(int, []uint8, int64) (int, error) -pkg syscall (netbsd-arm64), func RawSyscall(uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) -pkg syscall (netbsd-arm64), func RawSyscall6(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) -pkg syscall (netbsd-arm64), func Read(int, []uint8) (int, error) -pkg syscall (netbsd-arm64), func ReadDirent(int, []uint8) (int, error) -pkg syscall (netbsd-arm64), func Recvfrom(int, []uint8, int) (int, Sockaddr, error) -pkg syscall (netbsd-arm64), func Recvmsg(int, []uint8, []uint8, int) (int, int, int, Sockaddr, error) -pkg syscall (netbsd-arm64), func Revoke(string) error -pkg syscall (netbsd-arm64), func RouteRIB(int, int) ([]uint8, error) -pkg syscall (netbsd-arm64), func Seek(int, int64, int) (int64, error) -pkg syscall (netbsd-arm64), func Select(int, *FdSet, *FdSet, *FdSet, *Timeval) error -pkg syscall (netbsd-arm64), func Sendfile(int, int, *int64, int) (int, error) -pkg syscall (netbsd-arm64), func Sendmsg(int, []uint8, []uint8, Sockaddr, int) error -pkg syscall (netbsd-arm64), func SendmsgN(int, []uint8, []uint8, Sockaddr, int) (int, error) -pkg syscall (netbsd-arm64), func Sendto(int, []uint8, int, Sockaddr) error -pkg syscall (netbsd-arm64), func SetBpf(int, []BpfInsn) error -pkg syscall (netbsd-arm64), func SetBpfBuflen(int, int) (int, error) -pkg syscall (netbsd-arm64), func SetBpfDatalink(int, int) (int, error) -pkg syscall (netbsd-arm64), func SetBpfHeadercmpl(int, int) error -pkg syscall (netbsd-arm64), func SetBpfImmediate(int, int) error -pkg syscall (netbsd-arm64), func SetBpfInterface(int, string) error -pkg syscall (netbsd-arm64), func SetBpfPromisc(int, int) error -pkg syscall (netbsd-arm64), func SetBpfTimeout(int, *Timeval) error -pkg syscall (netbsd-arm64), func SetKevent(*Kevent_t, int, int, int) -pkg syscall (netbsd-arm64), func SetNonblock(int, bool) error -pkg syscall (netbsd-arm64), func Setegid(int) error -pkg syscall (netbsd-arm64), func Seteuid(int) error -pkg syscall (netbsd-arm64), func Setgid(int) error -pkg syscall (netbsd-arm64), func Setgroups([]int) error -pkg syscall (netbsd-arm64), func Setpgid(int, int) error -pkg syscall (netbsd-arm64), func Setpriority(int, int, int) error -pkg syscall (netbsd-arm64), func Setregid(int, int) error -pkg syscall (netbsd-arm64), func Setreuid(int, int) error -pkg syscall (netbsd-arm64), func Setrlimit(int, *Rlimit) error -pkg syscall (netbsd-arm64), func Setsid() (int, error) -pkg syscall (netbsd-arm64), func SetsockoptByte(int, int, int, uint8) error -pkg syscall (netbsd-arm64), func SetsockoptICMPv6Filter(int, int, int, *ICMPv6Filter) error -pkg syscall (netbsd-arm64), func SetsockoptIPMreq(int, int, int, *IPMreq) error -pkg syscall (netbsd-arm64), func SetsockoptIPv6Mreq(int, int, int, *IPv6Mreq) error -pkg syscall (netbsd-arm64), func SetsockoptInet4Addr(int, int, int, [4]uint8) error -pkg syscall (netbsd-arm64), func SetsockoptInt(int, int, int, int) error -pkg syscall (netbsd-arm64), func SetsockoptLinger(int, int, int, *Linger) error -pkg syscall (netbsd-arm64), func SetsockoptString(int, int, int, string) error -pkg syscall (netbsd-arm64), func SetsockoptTimeval(int, int, int, *Timeval) error -pkg syscall (netbsd-arm64), func Settimeofday(*Timeval) error -pkg syscall (netbsd-arm64), func Setuid(int) error -pkg syscall (netbsd-arm64), func Shutdown(int, int) error -pkg syscall (netbsd-arm64), func SlicePtrFromStrings([]string) ([]*uint8, error) -pkg syscall (netbsd-arm64), func Socket(int, int, int) (int, error) -pkg syscall (netbsd-arm64), func Socketpair(int, int, int) ([2]int, error) -pkg syscall (netbsd-arm64), func Stat(string, *Stat_t) error -pkg syscall (netbsd-arm64), func StringSlicePtr([]string) []*uint8 -pkg syscall (netbsd-arm64), func Sync() error -pkg syscall (netbsd-arm64), func Syscall(uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) -pkg syscall (netbsd-arm64), func Syscall6(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) -pkg syscall (netbsd-arm64), func Syscall9(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) -pkg syscall (netbsd-arm64), func Sysctl(string) (string, error) -pkg syscall (netbsd-arm64), func SysctlUint32(string) (uint32, error) -pkg syscall (netbsd-arm64), func TimevalToNsec(Timeval) int64 -pkg syscall (netbsd-arm64), func Truncate(string, int64) error -pkg syscall (netbsd-arm64), func Umask(int) int -pkg syscall (netbsd-arm64), func UnixRights(...int) []uint8 -pkg syscall (netbsd-arm64), func Unmount(string, int) error -pkg syscall (netbsd-arm64), func Wait4(int, *WaitStatus, int, *Rusage) (int, error) -pkg syscall (netbsd-arm64), func Write(int, []uint8) (int, error) -pkg syscall (netbsd-arm64), method (*Cmsghdr) SetLen(int) -pkg syscall (netbsd-arm64), method (*Iovec) SetLen(int) -pkg syscall (netbsd-arm64), method (*Msghdr) SetControllen(int) -pkg syscall (netbsd-arm64), type BpfHdr struct -pkg syscall (netbsd-arm64), type BpfHdr struct, Caplen uint32 -pkg syscall (netbsd-arm64), type BpfHdr struct, Datalen uint32 -pkg syscall (netbsd-arm64), type BpfHdr struct, Hdrlen uint16 -pkg syscall (netbsd-arm64), type BpfHdr struct, Pad_cgo_0 [6]uint8 -pkg syscall (netbsd-arm64), type BpfHdr struct, Tstamp BpfTimeval -pkg syscall (netbsd-arm64), type BpfInsn struct -pkg syscall (netbsd-arm64), type BpfInsn struct, Code uint16 -pkg syscall (netbsd-arm64), type BpfInsn struct, Jf uint8 -pkg syscall (netbsd-arm64), type BpfInsn struct, Jt uint8 -pkg syscall (netbsd-arm64), type BpfInsn struct, K uint32 -pkg syscall (netbsd-arm64), type BpfProgram struct -pkg syscall (netbsd-arm64), type BpfProgram struct, Insns *BpfInsn -pkg syscall (netbsd-arm64), type BpfProgram struct, Len uint32 -pkg syscall (netbsd-arm64), type BpfProgram struct, Pad_cgo_0 [4]uint8 -pkg syscall (netbsd-arm64), type BpfStat struct -pkg syscall (netbsd-arm64), type BpfStat struct, Capt uint64 -pkg syscall (netbsd-arm64), type BpfStat struct, Drop uint64 -pkg syscall (netbsd-arm64), type BpfStat struct, Padding [13]uint64 -pkg syscall (netbsd-arm64), type BpfStat struct, Recv uint64 -pkg syscall (netbsd-arm64), type BpfTimeval struct -pkg syscall (netbsd-arm64), type BpfTimeval struct, Sec int64 -pkg syscall (netbsd-arm64), type BpfTimeval struct, Usec int64 -pkg syscall (netbsd-arm64), type BpfVersion struct -pkg syscall (netbsd-arm64), type BpfVersion struct, Major uint16 -pkg syscall (netbsd-arm64), type BpfVersion struct, Minor uint16 -pkg syscall (netbsd-arm64), type Cmsghdr struct -pkg syscall (netbsd-arm64), type Cmsghdr struct, Len uint32 -pkg syscall (netbsd-arm64), type Cmsghdr struct, Level int32 -pkg syscall (netbsd-arm64), type Cmsghdr struct, Type int32 -pkg syscall (netbsd-arm64), type Credential struct -pkg syscall (netbsd-arm64), type Credential struct, Gid uint32 -pkg syscall (netbsd-arm64), type Credential struct, Groups []uint32 -pkg syscall (netbsd-arm64), type Credential struct, NoSetGroups bool -pkg syscall (netbsd-arm64), type Credential struct, Uid uint32 -pkg syscall (netbsd-arm64), type Dirent struct -pkg syscall (netbsd-arm64), type Dirent struct, Fileno uint64 -pkg syscall (netbsd-arm64), type Dirent struct, Name [512]int8 -pkg syscall (netbsd-arm64), type Dirent struct, Namlen uint16 -pkg syscall (netbsd-arm64), type Dirent struct, Pad_cgo_0 [3]uint8 -pkg syscall (netbsd-arm64), type Dirent struct, Reclen uint16 -pkg syscall (netbsd-arm64), type Dirent struct, Type uint8 -pkg syscall (netbsd-arm64), type FdSet struct -pkg syscall (netbsd-arm64), type FdSet struct, Bits [8]uint32 -pkg syscall (netbsd-arm64), type Flock_t struct -pkg syscall (netbsd-arm64), type Flock_t struct, Len int64 -pkg syscall (netbsd-arm64), type Flock_t struct, Pid int32 -pkg syscall (netbsd-arm64), type Flock_t struct, Start int64 -pkg syscall (netbsd-arm64), type Flock_t struct, Type int16 -pkg syscall (netbsd-arm64), type Flock_t struct, Whence int16 -pkg syscall (netbsd-arm64), type Fsid struct -pkg syscall (netbsd-arm64), type Fsid struct, X__fsid_val [2]int32 -pkg syscall (netbsd-arm64), type ICMPv6Filter struct -pkg syscall (netbsd-arm64), type ICMPv6Filter struct, Filt [8]uint32 -pkg syscall (netbsd-arm64), type IPv6MTUInfo struct -pkg syscall (netbsd-arm64), type IPv6MTUInfo struct, Addr RawSockaddrInet6 -pkg syscall (netbsd-arm64), type IPv6MTUInfo struct, Mtu uint32 -pkg syscall (netbsd-arm64), type IfAnnounceMsghdr struct -pkg syscall (netbsd-arm64), type IfAnnounceMsghdr struct, Index uint16 -pkg syscall (netbsd-arm64), type IfAnnounceMsghdr struct, Msglen uint16 -pkg syscall (netbsd-arm64), type IfAnnounceMsghdr struct, Name [16]int8 -pkg syscall (netbsd-arm64), type IfAnnounceMsghdr struct, Type uint8 -pkg syscall (netbsd-arm64), type IfAnnounceMsghdr struct, Version uint8 -pkg syscall (netbsd-arm64), type IfAnnounceMsghdr struct, What uint16 -pkg syscall (netbsd-arm64), type IfData struct -pkg syscall (netbsd-arm64), type IfData struct, Addrlen uint8 -pkg syscall (netbsd-arm64), type IfData struct, Baudrate uint64 -pkg syscall (netbsd-arm64), type IfData struct, Collisions uint64 -pkg syscall (netbsd-arm64), type IfData struct, Hdrlen uint8 -pkg syscall (netbsd-arm64), type IfData struct, Ibytes uint64 -pkg syscall (netbsd-arm64), type IfData struct, Ierrors uint64 -pkg syscall (netbsd-arm64), type IfData struct, Imcasts uint64 -pkg syscall (netbsd-arm64), type IfData struct, Ipackets uint64 -pkg syscall (netbsd-arm64), type IfData struct, Iqdrops uint64 -pkg syscall (netbsd-arm64), type IfData struct, Lastchange Timespec -pkg syscall (netbsd-arm64), type IfData struct, Link_state int32 -pkg syscall (netbsd-arm64), type IfData struct, Metric uint64 -pkg syscall (netbsd-arm64), type IfData struct, Mtu uint64 -pkg syscall (netbsd-arm64), type IfData struct, Noproto uint64 -pkg syscall (netbsd-arm64), type IfData struct, Obytes uint64 -pkg syscall (netbsd-arm64), type IfData struct, Oerrors uint64 -pkg syscall (netbsd-arm64), type IfData struct, Omcasts uint64 -pkg syscall (netbsd-arm64), type IfData struct, Opackets uint64 -pkg syscall (netbsd-arm64), type IfData struct, Pad_cgo_0 [1]uint8 -pkg syscall (netbsd-arm64), type IfData struct, Type uint8 -pkg syscall (netbsd-arm64), type IfMsghdr struct -pkg syscall (netbsd-arm64), type IfMsghdr struct, Addrs int32 -pkg syscall (netbsd-arm64), type IfMsghdr struct, Data IfData -pkg syscall (netbsd-arm64), type IfMsghdr struct, Flags int32 -pkg syscall (netbsd-arm64), type IfMsghdr struct, Index uint16 -pkg syscall (netbsd-arm64), type IfMsghdr struct, Msglen uint16 -pkg syscall (netbsd-arm64), type IfMsghdr struct, Pad_cgo_0 [2]uint8 -pkg syscall (netbsd-arm64), type IfMsghdr struct, Type uint8 -pkg syscall (netbsd-arm64), type IfMsghdr struct, Version uint8 -pkg syscall (netbsd-arm64), type IfaMsghdr struct -pkg syscall (netbsd-arm64), type IfaMsghdr struct, Addrs int32 -pkg syscall (netbsd-arm64), type IfaMsghdr struct, Flags int32 -pkg syscall (netbsd-arm64), type IfaMsghdr struct, Index uint16 -pkg syscall (netbsd-arm64), type IfaMsghdr struct, Metric int32 -pkg syscall (netbsd-arm64), type IfaMsghdr struct, Msglen uint16 -pkg syscall (netbsd-arm64), type IfaMsghdr struct, Pad_cgo_0 [6]uint8 -pkg syscall (netbsd-arm64), type IfaMsghdr struct, Type uint8 -pkg syscall (netbsd-arm64), type IfaMsghdr struct, Version uint8 -pkg syscall (netbsd-arm64), type Inet6Pktinfo struct -pkg syscall (netbsd-arm64), type Inet6Pktinfo struct, Addr [16]uint8 -pkg syscall (netbsd-arm64), type Inet6Pktinfo struct, Ifindex uint32 -pkg syscall (netbsd-arm64), type InterfaceAddrMessage struct -pkg syscall (netbsd-arm64), type InterfaceAddrMessage struct, Data []uint8 -pkg syscall (netbsd-arm64), type InterfaceAddrMessage struct, Header IfaMsghdr -pkg syscall (netbsd-arm64), type InterfaceAnnounceMessage struct -pkg syscall (netbsd-arm64), type InterfaceAnnounceMessage struct, Header IfAnnounceMsghdr -pkg syscall (netbsd-arm64), type InterfaceMessage struct -pkg syscall (netbsd-arm64), type InterfaceMessage struct, Data []uint8 -pkg syscall (netbsd-arm64), type InterfaceMessage struct, Header IfMsghdr -pkg syscall (netbsd-arm64), type Iovec struct -pkg syscall (netbsd-arm64), type Iovec struct, Base *uint8 -pkg syscall (netbsd-arm64), type Iovec struct, Len uint64 -pkg syscall (netbsd-arm64), type Kevent_t struct -pkg syscall (netbsd-arm64), type Kevent_t struct, Data int64 -pkg syscall (netbsd-arm64), type Kevent_t struct, Fflags uint32 -pkg syscall (netbsd-arm64), type Kevent_t struct, Filter uint32 -pkg syscall (netbsd-arm64), type Kevent_t struct, Flags uint32 -pkg syscall (netbsd-arm64), type Kevent_t struct, Ident uint64 -pkg syscall (netbsd-arm64), type Kevent_t struct, Pad_cgo_0 [4]uint8 -pkg syscall (netbsd-arm64), type Kevent_t struct, Udata int64 -pkg syscall (netbsd-arm64), type Mclpool [0]uint8 -pkg syscall (netbsd-arm64), type Msghdr struct -pkg syscall (netbsd-arm64), type Msghdr struct, Control *uint8 -pkg syscall (netbsd-arm64), type Msghdr struct, Controllen uint32 -pkg syscall (netbsd-arm64), type Msghdr struct, Flags int32 -pkg syscall (netbsd-arm64), type Msghdr struct, Iov *Iovec -pkg syscall (netbsd-arm64), type Msghdr struct, Iovlen int32 -pkg syscall (netbsd-arm64), type Msghdr struct, Name *uint8 -pkg syscall (netbsd-arm64), type Msghdr struct, Namelen uint32 -pkg syscall (netbsd-arm64), type Msghdr struct, Pad_cgo_0 [4]uint8 -pkg syscall (netbsd-arm64), type Msghdr struct, Pad_cgo_1 [4]uint8 -pkg syscall (netbsd-arm64), type RawSockaddr struct, Data [14]int8 -pkg syscall (netbsd-arm64), type RawSockaddr struct, Family uint8 -pkg syscall (netbsd-arm64), type RawSockaddr struct, Len uint8 -pkg syscall (netbsd-arm64), type RawSockaddrAny struct, Pad [92]int8 -pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct -pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Alen uint8 -pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Data [12]int8 -pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Family uint8 -pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Index uint16 -pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Len uint8 -pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Nlen uint8 -pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Slen uint8 -pkg syscall (netbsd-arm64), type RawSockaddrDatalink struct, Type uint8 -pkg syscall (netbsd-arm64), type RawSockaddrInet4 struct, Family uint8 -pkg syscall (netbsd-arm64), type RawSockaddrInet4 struct, Len uint8 -pkg syscall (netbsd-arm64), type RawSockaddrInet4 struct, Zero [8]int8 -pkg syscall (netbsd-arm64), type RawSockaddrInet6 struct, Family uint8 -pkg syscall (netbsd-arm64), type RawSockaddrInet6 struct, Len uint8 -pkg syscall (netbsd-arm64), type RawSockaddrUnix struct, Family uint8 -pkg syscall (netbsd-arm64), type RawSockaddrUnix struct, Len uint8 -pkg syscall (netbsd-arm64), type RawSockaddrUnix struct, Path [104]int8 -pkg syscall (netbsd-arm64), type Rlimit struct -pkg syscall (netbsd-arm64), type Rlimit struct, Cur uint64 -pkg syscall (netbsd-arm64), type Rlimit struct, Max uint64 -pkg syscall (netbsd-arm64), type RouteMessage struct -pkg syscall (netbsd-arm64), type RouteMessage struct, Data []uint8 -pkg syscall (netbsd-arm64), type RouteMessage struct, Header RtMsghdr -pkg syscall (netbsd-arm64), type RoutingMessage interface, unexported methods -pkg syscall (netbsd-arm64), type RtMetrics struct -pkg syscall (netbsd-arm64), type RtMetrics struct, Expire int64 -pkg syscall (netbsd-arm64), type RtMetrics struct, Hopcount uint64 -pkg syscall (netbsd-arm64), type RtMetrics struct, Locks uint64 -pkg syscall (netbsd-arm64), type RtMetrics struct, Mtu uint64 -pkg syscall (netbsd-arm64), type RtMetrics struct, Pksent int64 -pkg syscall (netbsd-arm64), type RtMetrics struct, Recvpipe uint64 -pkg syscall (netbsd-arm64), type RtMetrics struct, Rtt uint64 -pkg syscall (netbsd-arm64), type RtMetrics struct, Rttvar uint64 -pkg syscall (netbsd-arm64), type RtMetrics struct, Sendpipe uint64 -pkg syscall (netbsd-arm64), type RtMetrics struct, Ssthresh uint64 -pkg syscall (netbsd-arm64), type RtMsghdr struct -pkg syscall (netbsd-arm64), type RtMsghdr struct, Addrs int32 -pkg syscall (netbsd-arm64), type RtMsghdr struct, Errno int32 -pkg syscall (netbsd-arm64), type RtMsghdr struct, Flags int32 -pkg syscall (netbsd-arm64), type RtMsghdr struct, Index uint16 -pkg syscall (netbsd-arm64), type RtMsghdr struct, Inits int32 -pkg syscall (netbsd-arm64), type RtMsghdr struct, Msglen uint16 -pkg syscall (netbsd-arm64), type RtMsghdr struct, Pad_cgo_0 [2]uint8 -pkg syscall (netbsd-arm64), type RtMsghdr struct, Pad_cgo_1 [4]uint8 -pkg syscall (netbsd-arm64), type RtMsghdr struct, Pid int32 -pkg syscall (netbsd-arm64), type RtMsghdr struct, Rmx RtMetrics -pkg syscall (netbsd-arm64), type RtMsghdr struct, Seq int32 -pkg syscall (netbsd-arm64), type RtMsghdr struct, Type uint8 -pkg syscall (netbsd-arm64), type RtMsghdr struct, Use int32 -pkg syscall (netbsd-arm64), type RtMsghdr struct, Version uint8 -pkg syscall (netbsd-arm64), type Rusage struct, Idrss int64 -pkg syscall (netbsd-arm64), type Rusage struct, Inblock int64 -pkg syscall (netbsd-arm64), type Rusage struct, Isrss int64 -pkg syscall (netbsd-arm64), type Rusage struct, Ixrss int64 -pkg syscall (netbsd-arm64), type Rusage struct, Majflt int64 -pkg syscall (netbsd-arm64), type Rusage struct, Maxrss int64 -pkg syscall (netbsd-arm64), type Rusage struct, Minflt int64 -pkg syscall (netbsd-arm64), type Rusage struct, Msgrcv int64 -pkg syscall (netbsd-arm64), type Rusage struct, Msgsnd int64 -pkg syscall (netbsd-arm64), type Rusage struct, Nivcsw int64 -pkg syscall (netbsd-arm64), type Rusage struct, Nsignals int64 -pkg syscall (netbsd-arm64), type Rusage struct, Nswap int64 -pkg syscall (netbsd-arm64), type Rusage struct, Nvcsw int64 -pkg syscall (netbsd-arm64), type Rusage struct, Oublock int64 -pkg syscall (netbsd-arm64), type Rusage struct, Stime Timeval -pkg syscall (netbsd-arm64), type Rusage struct, Utime Timeval -pkg syscall (netbsd-arm64), type SockaddrDatalink struct -pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Alen uint8 -pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Data [12]int8 -pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Family uint8 -pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Index uint16 -pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Len uint8 -pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Nlen uint8 -pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Slen uint8 -pkg syscall (netbsd-arm64), type SockaddrDatalink struct, Type uint8 -pkg syscall (netbsd-arm64), type SocketControlMessage struct -pkg syscall (netbsd-arm64), type SocketControlMessage struct, Data []uint8 -pkg syscall (netbsd-arm64), type SocketControlMessage struct, Header Cmsghdr -pkg syscall (netbsd-arm64), type Stat_t struct -pkg syscall (netbsd-arm64), type Stat_t struct, Atimespec Timespec -pkg syscall (netbsd-arm64), type Stat_t struct, Birthtimespec Timespec -pkg syscall (netbsd-arm64), type Stat_t struct, Blksize uint32 -pkg syscall (netbsd-arm64), type Stat_t struct, Blocks int64 -pkg syscall (netbsd-arm64), type Stat_t struct, Ctimespec Timespec -pkg syscall (netbsd-arm64), type Stat_t struct, Dev uint64 -pkg syscall (netbsd-arm64), type Stat_t struct, Flags uint32 -pkg syscall (netbsd-arm64), type Stat_t struct, Gen uint32 -pkg syscall (netbsd-arm64), type Stat_t struct, Gid uint32 -pkg syscall (netbsd-arm64), type Stat_t struct, Ino uint64 -pkg syscall (netbsd-arm64), type Stat_t struct, Mode uint32 -pkg syscall (netbsd-arm64), type Stat_t struct, Mtimespec Timespec -pkg syscall (netbsd-arm64), type Stat_t struct, Nlink uint32 -pkg syscall (netbsd-arm64), type Stat_t struct, Pad_cgo_0 [4]uint8 -pkg syscall (netbsd-arm64), type Stat_t struct, Pad_cgo_1 [4]uint8 -pkg syscall (netbsd-arm64), type Stat_t struct, Pad_cgo_2 [4]uint8 -pkg syscall (netbsd-arm64), type Stat_t struct, Rdev uint64 -pkg syscall (netbsd-arm64), type Stat_t struct, Size int64 -pkg syscall (netbsd-arm64), type Stat_t struct, Spare [2]uint32 -pkg syscall (netbsd-arm64), type Stat_t struct, Uid uint32 -pkg syscall (netbsd-arm64), type Statfs_t [0]uint8 -pkg syscall (netbsd-arm64), type SysProcAttr struct, Chroot string -pkg syscall (netbsd-arm64), type SysProcAttr struct, Credential *Credential -pkg syscall (netbsd-arm64), type SysProcAttr struct, Ctty int -pkg syscall (netbsd-arm64), type SysProcAttr struct, Foreground bool -pkg syscall (netbsd-arm64), type SysProcAttr struct, Noctty bool -pkg syscall (netbsd-arm64), type SysProcAttr struct, Pgid int -pkg syscall (netbsd-arm64), type SysProcAttr struct, Ptrace bool -pkg syscall (netbsd-arm64), type SysProcAttr struct, Setctty bool -pkg syscall (netbsd-arm64), type SysProcAttr struct, Setpgid bool -pkg syscall (netbsd-arm64), type SysProcAttr struct, Setsid bool -pkg syscall (netbsd-arm64), type Sysctlnode struct -pkg syscall (netbsd-arm64), type Sysctlnode struct, Flags uint32 -pkg syscall (netbsd-arm64), type Sysctlnode struct, Name [32]int8 -pkg syscall (netbsd-arm64), type Sysctlnode struct, Num int32 -pkg syscall (netbsd-arm64), type Sysctlnode struct, Un [16]uint8 -pkg syscall (netbsd-arm64), type Sysctlnode struct, Ver uint32 -pkg syscall (netbsd-arm64), type Sysctlnode struct, X__rsvd uint32 -pkg syscall (netbsd-arm64), type Sysctlnode struct, X_sysctl_desc [8]uint8 -pkg syscall (netbsd-arm64), type Sysctlnode struct, X_sysctl_func [8]uint8 -pkg syscall (netbsd-arm64), type Sysctlnode struct, X_sysctl_parent [8]uint8 -pkg syscall (netbsd-arm64), type Sysctlnode struct, X_sysctl_size [8]uint8 -pkg syscall (netbsd-arm64), type Termios struct -pkg syscall (netbsd-arm64), type Termios struct, Cc [20]uint8 -pkg syscall (netbsd-arm64), type Termios struct, Cflag uint32 -pkg syscall (netbsd-arm64), type Termios struct, Iflag uint32 -pkg syscall (netbsd-arm64), type Termios struct, Ispeed int32 -pkg syscall (netbsd-arm64), type Termios struct, Lflag uint32 -pkg syscall (netbsd-arm64), type Termios struct, Oflag uint32 -pkg syscall (netbsd-arm64), type Termios struct, Ospeed int32 -pkg syscall (netbsd-arm64), type Timespec struct, Nsec int64 -pkg syscall (netbsd-arm64), type Timespec struct, Sec int64 -pkg syscall (netbsd-arm64), type Timeval struct, Pad_cgo_0 [4]uint8 -pkg syscall (netbsd-arm64), type Timeval struct, Sec int64 -pkg syscall (netbsd-arm64), type Timeval struct, Usec int32 -pkg syscall (netbsd-arm64), type WaitStatus uint32 -pkg syscall (netbsd-arm64), var Stderr int -pkg syscall (netbsd-arm64), var Stdin int -pkg syscall (netbsd-arm64), var Stdout int -pkg syscall (netbsd-arm64-cgo), const AF_APPLETALK = 16 -pkg syscall (netbsd-arm64-cgo), const AF_APPLETALK ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_ARP = 28 -pkg syscall (netbsd-arm64-cgo), const AF_ARP ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_BLUETOOTH = 31 -pkg syscall (netbsd-arm64-cgo), const AF_BLUETOOTH ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_CCITT = 10 -pkg syscall (netbsd-arm64-cgo), const AF_CCITT ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_CHAOS = 5 -pkg syscall (netbsd-arm64-cgo), const AF_CHAOS ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_CNT = 21 -pkg syscall (netbsd-arm64-cgo), const AF_CNT ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_COIP = 20 -pkg syscall (netbsd-arm64-cgo), const AF_COIP ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_DATAKIT = 9 -pkg syscall (netbsd-arm64-cgo), const AF_DATAKIT ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_DECnet = 12 -pkg syscall (netbsd-arm64-cgo), const AF_DECnet ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_DLI = 13 -pkg syscall (netbsd-arm64-cgo), const AF_DLI ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_E164 = 26 -pkg syscall (netbsd-arm64-cgo), const AF_E164 ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_ECMA = 8 -pkg syscall (netbsd-arm64-cgo), const AF_ECMA ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_HYLINK = 15 -pkg syscall (netbsd-arm64-cgo), const AF_HYLINK ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_IEEE80211 = 32 -pkg syscall (netbsd-arm64-cgo), const AF_IEEE80211 ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_IMPLINK = 3 -pkg syscall (netbsd-arm64-cgo), const AF_IMPLINK ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_INET6 = 24 -pkg syscall (netbsd-arm64-cgo), const AF_IPX = 23 -pkg syscall (netbsd-arm64-cgo), const AF_IPX ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_ISDN = 26 -pkg syscall (netbsd-arm64-cgo), const AF_ISDN ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_ISO = 7 -pkg syscall (netbsd-arm64-cgo), const AF_ISO ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_LAT = 14 -pkg syscall (netbsd-arm64-cgo), const AF_LAT ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_LINK = 18 -pkg syscall (netbsd-arm64-cgo), const AF_LINK ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_LOCAL = 1 -pkg syscall (netbsd-arm64-cgo), const AF_LOCAL ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_MAX = 35 -pkg syscall (netbsd-arm64-cgo), const AF_MAX ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_MPLS = 33 -pkg syscall (netbsd-arm64-cgo), const AF_MPLS ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_NATM = 27 -pkg syscall (netbsd-arm64-cgo), const AF_NATM ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_NS = 6 -pkg syscall (netbsd-arm64-cgo), const AF_NS ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_OROUTE = 17 -pkg syscall (netbsd-arm64-cgo), const AF_OROUTE ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_OSI = 7 -pkg syscall (netbsd-arm64-cgo), const AF_OSI ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_PUP = 4 -pkg syscall (netbsd-arm64-cgo), const AF_PUP ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_ROUTE = 34 -pkg syscall (netbsd-arm64-cgo), const AF_ROUTE ideal-int -pkg syscall (netbsd-arm64-cgo), const AF_SNA = 11 -pkg syscall (netbsd-arm64-cgo), const AF_SNA ideal-int -pkg syscall (netbsd-arm64-cgo), const ARPHRD_ARCNET = 7 -pkg syscall (netbsd-arm64-cgo), const ARPHRD_ARCNET ideal-int -pkg syscall (netbsd-arm64-cgo), const ARPHRD_ETHER = 1 -pkg syscall (netbsd-arm64-cgo), const ARPHRD_ETHER ideal-int -pkg syscall (netbsd-arm64-cgo), const ARPHRD_FRELAY = 15 -pkg syscall (netbsd-arm64-cgo), const ARPHRD_FRELAY ideal-int -pkg syscall (netbsd-arm64-cgo), const ARPHRD_IEEE1394 = 24 -pkg syscall (netbsd-arm64-cgo), const ARPHRD_IEEE1394 ideal-int -pkg syscall (netbsd-arm64-cgo), const ARPHRD_IEEE802 = 6 -pkg syscall (netbsd-arm64-cgo), const ARPHRD_IEEE802 ideal-int -pkg syscall (netbsd-arm64-cgo), const ARPHRD_STRIP = 23 -pkg syscall (netbsd-arm64-cgo), const ARPHRD_STRIP ideal-int -pkg syscall (netbsd-arm64-cgo), const B0 = 0 -pkg syscall (netbsd-arm64-cgo), const B0 ideal-int -pkg syscall (netbsd-arm64-cgo), const B110 = 110 -pkg syscall (netbsd-arm64-cgo), const B110 ideal-int -pkg syscall (netbsd-arm64-cgo), const B115200 = 115200 -pkg syscall (netbsd-arm64-cgo), const B115200 ideal-int -pkg syscall (netbsd-arm64-cgo), const B1200 = 1200 -pkg syscall (netbsd-arm64-cgo), const B1200 ideal-int -pkg syscall (netbsd-arm64-cgo), const B134 = 134 -pkg syscall (netbsd-arm64-cgo), const B134 ideal-int -pkg syscall (netbsd-arm64-cgo), const B14400 = 14400 -pkg syscall (netbsd-arm64-cgo), const B14400 ideal-int -pkg syscall (netbsd-arm64-cgo), const B150 = 150 -pkg syscall (netbsd-arm64-cgo), const B150 ideal-int -pkg syscall (netbsd-arm64-cgo), const B1800 = 1800 -pkg syscall (netbsd-arm64-cgo), const B1800 ideal-int -pkg syscall (netbsd-arm64-cgo), const B19200 = 19200 -pkg syscall (netbsd-arm64-cgo), const B19200 ideal-int -pkg syscall (netbsd-arm64-cgo), const B200 = 200 -pkg syscall (netbsd-arm64-cgo), const B200 ideal-int -pkg syscall (netbsd-arm64-cgo), const B230400 = 230400 -pkg syscall (netbsd-arm64-cgo), const B230400 ideal-int -pkg syscall (netbsd-arm64-cgo), const B2400 = 2400 -pkg syscall (netbsd-arm64-cgo), const B2400 ideal-int -pkg syscall (netbsd-arm64-cgo), const B28800 = 28800 -pkg syscall (netbsd-arm64-cgo), const B28800 ideal-int -pkg syscall (netbsd-arm64-cgo), const B300 = 300 -pkg syscall (netbsd-arm64-cgo), const B300 ideal-int -pkg syscall (netbsd-arm64-cgo), const B38400 = 38400 -pkg syscall (netbsd-arm64-cgo), const B38400 ideal-int -pkg syscall (netbsd-arm64-cgo), const B460800 = 460800 -pkg syscall (netbsd-arm64-cgo), const B460800 ideal-int -pkg syscall (netbsd-arm64-cgo), const B4800 = 4800 -pkg syscall (netbsd-arm64-cgo), const B4800 ideal-int -pkg syscall (netbsd-arm64-cgo), const B50 = 50 -pkg syscall (netbsd-arm64-cgo), const B50 ideal-int -pkg syscall (netbsd-arm64-cgo), const B57600 = 57600 -pkg syscall (netbsd-arm64-cgo), const B57600 ideal-int -pkg syscall (netbsd-arm64-cgo), const B600 = 600 -pkg syscall (netbsd-arm64-cgo), const B600 ideal-int -pkg syscall (netbsd-arm64-cgo), const B7200 = 7200 -pkg syscall (netbsd-arm64-cgo), const B7200 ideal-int -pkg syscall (netbsd-arm64-cgo), const B75 = 75 -pkg syscall (netbsd-arm64-cgo), const B75 ideal-int -pkg syscall (netbsd-arm64-cgo), const B76800 = 76800 -pkg syscall (netbsd-arm64-cgo), const B76800 ideal-int -pkg syscall (netbsd-arm64-cgo), const B921600 = 921600 -pkg syscall (netbsd-arm64-cgo), const B921600 ideal-int -pkg syscall (netbsd-arm64-cgo), const B9600 = 9600 -pkg syscall (netbsd-arm64-cgo), const B9600 ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCFEEDBACK = 2147762813 -pkg syscall (netbsd-arm64-cgo), const BIOCFEEDBACK ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCFLUSH = 536887912 -pkg syscall (netbsd-arm64-cgo), const BIOCFLUSH ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCGBLEN = 1074020966 -pkg syscall (netbsd-arm64-cgo), const BIOCGBLEN ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCGDLT = 1074020970 -pkg syscall (netbsd-arm64-cgo), const BIOCGDLT ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCGDLTLIST = 3222291063 -pkg syscall (netbsd-arm64-cgo), const BIOCGDLTLIST ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCGETIF = 1083196011 -pkg syscall (netbsd-arm64-cgo), const BIOCGETIF ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCGFEEDBACK = 1074020988 -pkg syscall (netbsd-arm64-cgo), const BIOCGFEEDBACK ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCGHDRCMPLT = 1074020980 -pkg syscall (netbsd-arm64-cgo), const BIOCGHDRCMPLT ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCGRTIMEOUT = 1074807419 -pkg syscall (netbsd-arm64-cgo), const BIOCGRTIMEOUT ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCGSEESENT = 1074020984 -pkg syscall (netbsd-arm64-cgo), const BIOCGSEESENT ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCGSTATS = 1082147439 -pkg syscall (netbsd-arm64-cgo), const BIOCGSTATS ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCGSTATSOLD = 1074283119 -pkg syscall (netbsd-arm64-cgo), const BIOCGSTATSOLD ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCIMMEDIATE = 2147762800 -pkg syscall (netbsd-arm64-cgo), const BIOCIMMEDIATE ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCPROMISC = 536887913 -pkg syscall (netbsd-arm64-cgo), const BIOCPROMISC ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCSBLEN = 3221504614 -pkg syscall (netbsd-arm64-cgo), const BIOCSBLEN ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCSDLT = 2147762806 -pkg syscall (netbsd-arm64-cgo), const BIOCSDLT ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCSETF = 2148549223 -pkg syscall (netbsd-arm64-cgo), const BIOCSETF ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCSETIF = 2156937836 -pkg syscall (netbsd-arm64-cgo), const BIOCSETIF ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCSFEEDBACK = 2147762813 -pkg syscall (netbsd-arm64-cgo), const BIOCSFEEDBACK ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCSHDRCMPLT = 2147762805 -pkg syscall (netbsd-arm64-cgo), const BIOCSHDRCMPLT ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCSRTIMEOUT = 2148549242 -pkg syscall (netbsd-arm64-cgo), const BIOCSRTIMEOUT ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCSSEESENT = 2147762809 -pkg syscall (netbsd-arm64-cgo), const BIOCSSEESENT ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCSTCPF = 2148549234 -pkg syscall (netbsd-arm64-cgo), const BIOCSTCPF ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCSUDPF = 2148549235 -pkg syscall (netbsd-arm64-cgo), const BIOCSUDPF ideal-int -pkg syscall (netbsd-arm64-cgo), const BIOCVERSION = 1074020977 -pkg syscall (netbsd-arm64-cgo), const BIOCVERSION ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_A = 16 -pkg syscall (netbsd-arm64-cgo), const BPF_A ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_ABS = 32 -pkg syscall (netbsd-arm64-cgo), const BPF_ABS ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_ADD = 0 -pkg syscall (netbsd-arm64-cgo), const BPF_ADD ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_ALIGNMENT = 8 -pkg syscall (netbsd-arm64-cgo), const BPF_ALIGNMENT ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_ALIGNMENT32 = 4 -pkg syscall (netbsd-arm64-cgo), const BPF_ALIGNMENT32 ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_ALU = 4 -pkg syscall (netbsd-arm64-cgo), const BPF_ALU ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_AND = 80 -pkg syscall (netbsd-arm64-cgo), const BPF_AND ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_B = 16 -pkg syscall (netbsd-arm64-cgo), const BPF_B ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_DFLTBUFSIZE = 1048576 -pkg syscall (netbsd-arm64-cgo), const BPF_DFLTBUFSIZE ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_DIV = 48 -pkg syscall (netbsd-arm64-cgo), const BPF_DIV ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_H = 8 -pkg syscall (netbsd-arm64-cgo), const BPF_H ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_IMM = 0 -pkg syscall (netbsd-arm64-cgo), const BPF_IMM ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_IND = 64 -pkg syscall (netbsd-arm64-cgo), const BPF_IND ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_JA = 0 -pkg syscall (netbsd-arm64-cgo), const BPF_JA ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_JEQ = 16 -pkg syscall (netbsd-arm64-cgo), const BPF_JEQ ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_JGE = 48 -pkg syscall (netbsd-arm64-cgo), const BPF_JGE ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_JGT = 32 -pkg syscall (netbsd-arm64-cgo), const BPF_JGT ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_JMP = 5 -pkg syscall (netbsd-arm64-cgo), const BPF_JMP ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_JSET = 64 -pkg syscall (netbsd-arm64-cgo), const BPF_JSET ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_K = 0 -pkg syscall (netbsd-arm64-cgo), const BPF_K ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_LD = 0 -pkg syscall (netbsd-arm64-cgo), const BPF_LD ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_LDX = 1 -pkg syscall (netbsd-arm64-cgo), const BPF_LDX ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_LEN = 128 -pkg syscall (netbsd-arm64-cgo), const BPF_LEN ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_LSH = 96 -pkg syscall (netbsd-arm64-cgo), const BPF_LSH ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_MAJOR_VERSION = 1 -pkg syscall (netbsd-arm64-cgo), const BPF_MAJOR_VERSION ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_MAXBUFSIZE = 16777216 -pkg syscall (netbsd-arm64-cgo), const BPF_MAXBUFSIZE ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_MAXINSNS = 512 -pkg syscall (netbsd-arm64-cgo), const BPF_MAXINSNS ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_MEM = 96 -pkg syscall (netbsd-arm64-cgo), const BPF_MEM ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_MEMWORDS = 16 -pkg syscall (netbsd-arm64-cgo), const BPF_MEMWORDS ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_MINBUFSIZE = 32 -pkg syscall (netbsd-arm64-cgo), const BPF_MINBUFSIZE ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_MINOR_VERSION = 1 -pkg syscall (netbsd-arm64-cgo), const BPF_MINOR_VERSION ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_MISC = 7 -pkg syscall (netbsd-arm64-cgo), const BPF_MISC ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_MSH = 160 -pkg syscall (netbsd-arm64-cgo), const BPF_MSH ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_MUL = 32 -pkg syscall (netbsd-arm64-cgo), const BPF_MUL ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_NEG = 128 -pkg syscall (netbsd-arm64-cgo), const BPF_NEG ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_OR = 64 -pkg syscall (netbsd-arm64-cgo), const BPF_OR ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_RELEASE = 199606 -pkg syscall (netbsd-arm64-cgo), const BPF_RELEASE ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_RET = 6 -pkg syscall (netbsd-arm64-cgo), const BPF_RET ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_RSH = 112 -pkg syscall (netbsd-arm64-cgo), const BPF_RSH ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_ST = 2 -pkg syscall (netbsd-arm64-cgo), const BPF_ST ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_STX = 3 -pkg syscall (netbsd-arm64-cgo), const BPF_STX ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_SUB = 16 -pkg syscall (netbsd-arm64-cgo), const BPF_SUB ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_TAX = 0 -pkg syscall (netbsd-arm64-cgo), const BPF_TAX ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_TXA = 128 -pkg syscall (netbsd-arm64-cgo), const BPF_TXA ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_W = 0 -pkg syscall (netbsd-arm64-cgo), const BPF_W ideal-int -pkg syscall (netbsd-arm64-cgo), const BPF_X = 8 -pkg syscall (netbsd-arm64-cgo), const BPF_X ideal-int -pkg syscall (netbsd-arm64-cgo), const BRKINT = 2 -pkg syscall (netbsd-arm64-cgo), const BRKINT ideal-int -pkg syscall (netbsd-arm64-cgo), const CFLUSH = 15 -pkg syscall (netbsd-arm64-cgo), const CFLUSH ideal-int -pkg syscall (netbsd-arm64-cgo), const CLOCAL = 32768 -pkg syscall (netbsd-arm64-cgo), const CLOCAL ideal-int -pkg syscall (netbsd-arm64-cgo), const CLONE_CSIGNAL = 255 -pkg syscall (netbsd-arm64-cgo), const CLONE_CSIGNAL ideal-int -pkg syscall (netbsd-arm64-cgo), const CLONE_FILES = 1024 -pkg syscall (netbsd-arm64-cgo), const CLONE_FILES ideal-int -pkg syscall (netbsd-arm64-cgo), const CLONE_FS = 512 -pkg syscall (netbsd-arm64-cgo), const CLONE_FS ideal-int -pkg syscall (netbsd-arm64-cgo), const CLONE_PID = 4096 -pkg syscall (netbsd-arm64-cgo), const CLONE_PID ideal-int -pkg syscall (netbsd-arm64-cgo), const CLONE_PTRACE = 8192 -pkg syscall (netbsd-arm64-cgo), const CLONE_PTRACE ideal-int -pkg syscall (netbsd-arm64-cgo), const CLONE_SIGHAND = 2048 -pkg syscall (netbsd-arm64-cgo), const CLONE_SIGHAND ideal-int -pkg syscall (netbsd-arm64-cgo), const CLONE_VFORK = 16384 -pkg syscall (netbsd-arm64-cgo), const CLONE_VFORK ideal-int -pkg syscall (netbsd-arm64-cgo), const CLONE_VM = 256 -pkg syscall (netbsd-arm64-cgo), const CLONE_VM ideal-int -pkg syscall (netbsd-arm64-cgo), const CREAD = 2048 -pkg syscall (netbsd-arm64-cgo), const CREAD ideal-int -pkg syscall (netbsd-arm64-cgo), const CS5 = 0 -pkg syscall (netbsd-arm64-cgo), const CS5 ideal-int -pkg syscall (netbsd-arm64-cgo), const CS6 = 256 -pkg syscall (netbsd-arm64-cgo), const CS6 ideal-int -pkg syscall (netbsd-arm64-cgo), const CS7 = 512 -pkg syscall (netbsd-arm64-cgo), const CS7 ideal-int -pkg syscall (netbsd-arm64-cgo), const CS8 = 768 -pkg syscall (netbsd-arm64-cgo), const CS8 ideal-int -pkg syscall (netbsd-arm64-cgo), const CSIZE = 768 -pkg syscall (netbsd-arm64-cgo), const CSIZE ideal-int -pkg syscall (netbsd-arm64-cgo), const CSTART = 17 -pkg syscall (netbsd-arm64-cgo), const CSTART ideal-int -pkg syscall (netbsd-arm64-cgo), const CSTATUS = 20 -pkg syscall (netbsd-arm64-cgo), const CSTATUS ideal-int -pkg syscall (netbsd-arm64-cgo), const CSTOP = 19 -pkg syscall (netbsd-arm64-cgo), const CSTOP ideal-int -pkg syscall (netbsd-arm64-cgo), const CSTOPB = 1024 -pkg syscall (netbsd-arm64-cgo), const CSTOPB ideal-int -pkg syscall (netbsd-arm64-cgo), const CSUSP = 26 -pkg syscall (netbsd-arm64-cgo), const CSUSP ideal-int -pkg syscall (netbsd-arm64-cgo), const CTL_MAXNAME = 12 -pkg syscall (netbsd-arm64-cgo), const CTL_MAXNAME ideal-int -pkg syscall (netbsd-arm64-cgo), const CTL_NET = 4 -pkg syscall (netbsd-arm64-cgo), const CTL_NET ideal-int -pkg syscall (netbsd-arm64-cgo), const CTL_QUERY = -2 -pkg syscall (netbsd-arm64-cgo), const CTL_QUERY ideal-int -pkg syscall (netbsd-arm64-cgo), const DIOCBSFLUSH = 536896632 -pkg syscall (netbsd-arm64-cgo), const DIOCBSFLUSH ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_A429 = 184 -pkg syscall (netbsd-arm64-cgo), const DLT_A429 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_A653_ICM = 185 -pkg syscall (netbsd-arm64-cgo), const DLT_A653_ICM ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_AIRONET_HEADER = 120 -pkg syscall (netbsd-arm64-cgo), const DLT_AIRONET_HEADER ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_AOS = 222 -pkg syscall (netbsd-arm64-cgo), const DLT_AOS ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_APPLE_IP_OVER_IEEE1394 = 138 -pkg syscall (netbsd-arm64-cgo), const DLT_APPLE_IP_OVER_IEEE1394 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_ARCNET = 7 -pkg syscall (netbsd-arm64-cgo), const DLT_ARCNET ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_ARCNET_LINUX = 129 -pkg syscall (netbsd-arm64-cgo), const DLT_ARCNET_LINUX ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_ATM_CLIP = 19 -pkg syscall (netbsd-arm64-cgo), const DLT_ATM_CLIP ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_ATM_RFC1483 = 11 -pkg syscall (netbsd-arm64-cgo), const DLT_ATM_RFC1483 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_AURORA = 126 -pkg syscall (netbsd-arm64-cgo), const DLT_AURORA ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_AX25 = 3 -pkg syscall (netbsd-arm64-cgo), const DLT_AX25 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_AX25_KISS = 202 -pkg syscall (netbsd-arm64-cgo), const DLT_AX25_KISS ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_BACNET_MS_TP = 165 -pkg syscall (netbsd-arm64-cgo), const DLT_BACNET_MS_TP ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_BLUETOOTH_HCI_H4 = 187 -pkg syscall (netbsd-arm64-cgo), const DLT_BLUETOOTH_HCI_H4 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 201 -pkg syscall (netbsd-arm64-cgo), const DLT_BLUETOOTH_HCI_H4_WITH_PHDR ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_CAN20B = 190 -pkg syscall (netbsd-arm64-cgo), const DLT_CAN20B ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_CAN_SOCKETCAN = 227 -pkg syscall (netbsd-arm64-cgo), const DLT_CAN_SOCKETCAN ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_CHAOS = 5 -pkg syscall (netbsd-arm64-cgo), const DLT_CHAOS ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_CISCO_IOS = 118 -pkg syscall (netbsd-arm64-cgo), const DLT_CISCO_IOS ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_C_HDLC = 104 -pkg syscall (netbsd-arm64-cgo), const DLT_C_HDLC ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_C_HDLC_WITH_DIR = 205 -pkg syscall (netbsd-arm64-cgo), const DLT_C_HDLC_WITH_DIR ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_DECT = 221 -pkg syscall (netbsd-arm64-cgo), const DLT_DECT ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_DOCSIS = 143 -pkg syscall (netbsd-arm64-cgo), const DLT_DOCSIS ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_ECONET = 115 -pkg syscall (netbsd-arm64-cgo), const DLT_ECONET ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_EN10MB = 1 -pkg syscall (netbsd-arm64-cgo), const DLT_EN10MB ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_EN3MB = 2 -pkg syscall (netbsd-arm64-cgo), const DLT_EN3MB ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_ENC = 109 -pkg syscall (netbsd-arm64-cgo), const DLT_ENC ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_ERF = 197 -pkg syscall (netbsd-arm64-cgo), const DLT_ERF ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_ERF_ETH = 175 -pkg syscall (netbsd-arm64-cgo), const DLT_ERF_ETH ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_ERF_POS = 176 -pkg syscall (netbsd-arm64-cgo), const DLT_ERF_POS ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_FC_2 = 224 -pkg syscall (netbsd-arm64-cgo), const DLT_FC_2 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_FC_2_WITH_FRAME_DELIMS = 225 -pkg syscall (netbsd-arm64-cgo), const DLT_FC_2_WITH_FRAME_DELIMS ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_FDDI = 10 -pkg syscall (netbsd-arm64-cgo), const DLT_FDDI ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_FLEXRAY = 210 -pkg syscall (netbsd-arm64-cgo), const DLT_FLEXRAY ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_FRELAY = 107 -pkg syscall (netbsd-arm64-cgo), const DLT_FRELAY ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_FRELAY_WITH_DIR = 206 -pkg syscall (netbsd-arm64-cgo), const DLT_FRELAY_WITH_DIR ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_GCOM_SERIAL = 173 -pkg syscall (netbsd-arm64-cgo), const DLT_GCOM_SERIAL ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_GCOM_T1E1 = 172 -pkg syscall (netbsd-arm64-cgo), const DLT_GCOM_T1E1 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_GPF_F = 171 -pkg syscall (netbsd-arm64-cgo), const DLT_GPF_F ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_GPF_T = 170 -pkg syscall (netbsd-arm64-cgo), const DLT_GPF_T ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_GPRS_LLC = 169 -pkg syscall (netbsd-arm64-cgo), const DLT_GPRS_LLC ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_GSMTAP_ABIS = 218 -pkg syscall (netbsd-arm64-cgo), const DLT_GSMTAP_ABIS ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_GSMTAP_UM = 217 -pkg syscall (netbsd-arm64-cgo), const DLT_GSMTAP_UM ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_HDLC = 16 -pkg syscall (netbsd-arm64-cgo), const DLT_HDLC ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_HHDLC = 121 -pkg syscall (netbsd-arm64-cgo), const DLT_HHDLC ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_HIPPI = 15 -pkg syscall (netbsd-arm64-cgo), const DLT_HIPPI ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IBM_SN = 146 -pkg syscall (netbsd-arm64-cgo), const DLT_IBM_SN ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IBM_SP = 145 -pkg syscall (netbsd-arm64-cgo), const DLT_IBM_SP ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802 = 6 -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_11 = 105 -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_11 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_11_RADIO = 127 -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_11_RADIO ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_11_RADIO_AVS = 163 -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_11_RADIO_AVS ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_15_4 = 195 -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_15_4 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_15_4_LINUX = 191 -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_15_4_LINUX ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_15_4_NONASK_PHY = 215 -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_15_4_NONASK_PHY ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_16_MAC_CPS = 188 -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_16_MAC_CPS ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_16_MAC_CPS_RADIO = 193 -pkg syscall (netbsd-arm64-cgo), const DLT_IEEE802_16_MAC_CPS_RADIO ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IPMB = 199 -pkg syscall (netbsd-arm64-cgo), const DLT_IPMB ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IPMB_LINUX = 209 -pkg syscall (netbsd-arm64-cgo), const DLT_IPMB_LINUX ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IPNET = 226 -pkg syscall (netbsd-arm64-cgo), const DLT_IPNET ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IPV4 = 228 -pkg syscall (netbsd-arm64-cgo), const DLT_IPV4 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IPV6 = 229 -pkg syscall (netbsd-arm64-cgo), const DLT_IPV6 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_IP_OVER_FC = 122 -pkg syscall (netbsd-arm64-cgo), const DLT_IP_OVER_FC ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ATM1 = 137 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ATM1 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ATM2 = 135 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ATM2 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_CHDLC = 181 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_CHDLC ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ES = 132 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ES ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ETHER = 178 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ETHER ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_FRELAY = 180 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_FRELAY ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_GGSN = 133 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_GGSN ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ISM = 194 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ISM ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MFR = 134 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MFR ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MLFR = 131 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MLFR ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MLPPP = 130 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MLPPP ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MONITOR = 164 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_MONITOR ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PIC_PEER = 174 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PIC_PEER ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PPP = 179 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PPP ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PPPOE = 167 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PPPOE ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PPPOE_ATM = 168 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_PPPOE_ATM ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_SERVICES = 136 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_SERVICES ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ST = 200 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_ST ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_VP = 183 -pkg syscall (netbsd-arm64-cgo), const DLT_JUNIPER_VP ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_LAPB_WITH_DIR = 207 -pkg syscall (netbsd-arm64-cgo), const DLT_LAPB_WITH_DIR ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_LAPD = 203 -pkg syscall (netbsd-arm64-cgo), const DLT_LAPD ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_LIN = 212 -pkg syscall (netbsd-arm64-cgo), const DLT_LIN ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_EVDEV = 216 -pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_EVDEV ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_IRDA = 144 -pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_IRDA ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_LAPD = 177 -pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_LAPD ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_SLL = 113 -pkg syscall (netbsd-arm64-cgo), const DLT_LINUX_SLL ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_LOOP = 108 -pkg syscall (netbsd-arm64-cgo), const DLT_LOOP ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_LTALK = 114 -pkg syscall (netbsd-arm64-cgo), const DLT_LTALK ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_MFR = 182 -pkg syscall (netbsd-arm64-cgo), const DLT_MFR ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_MOST = 211 -pkg syscall (netbsd-arm64-cgo), const DLT_MOST ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_MPLS = 219 -pkg syscall (netbsd-arm64-cgo), const DLT_MPLS ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_MTP2 = 140 -pkg syscall (netbsd-arm64-cgo), const DLT_MTP2 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_MTP2_WITH_PHDR = 139 -pkg syscall (netbsd-arm64-cgo), const DLT_MTP2_WITH_PHDR ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_MTP3 = 141 -pkg syscall (netbsd-arm64-cgo), const DLT_MTP3 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_NULL = 0 -pkg syscall (netbsd-arm64-cgo), const DLT_NULL ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_PCI_EXP = 125 -pkg syscall (netbsd-arm64-cgo), const DLT_PCI_EXP ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_PFLOG = 117 -pkg syscall (netbsd-arm64-cgo), const DLT_PFLOG ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_PFSYNC = 18 -pkg syscall (netbsd-arm64-cgo), const DLT_PFSYNC ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_PPI = 192 -pkg syscall (netbsd-arm64-cgo), const DLT_PPI ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_PPP = 9 -pkg syscall (netbsd-arm64-cgo), const DLT_PPP ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_PPP_BSDOS = 14 -pkg syscall (netbsd-arm64-cgo), const DLT_PPP_BSDOS ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_PPP_ETHER = 51 -pkg syscall (netbsd-arm64-cgo), const DLT_PPP_ETHER ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_PPP_PPPD = 166 -pkg syscall (netbsd-arm64-cgo), const DLT_PPP_PPPD ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_PPP_SERIAL = 50 -pkg syscall (netbsd-arm64-cgo), const DLT_PPP_SERIAL ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_PPP_WITH_DIR = 204 -pkg syscall (netbsd-arm64-cgo), const DLT_PPP_WITH_DIR ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_PRISM_HEADER = 119 -pkg syscall (netbsd-arm64-cgo), const DLT_PRISM_HEADER ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_PRONET = 4 -pkg syscall (netbsd-arm64-cgo), const DLT_PRONET ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_RAIF1 = 198 -pkg syscall (netbsd-arm64-cgo), const DLT_RAIF1 ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_RAW = 12 -pkg syscall (netbsd-arm64-cgo), const DLT_RAW ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_RAWAF_MASK = 35913728 -pkg syscall (netbsd-arm64-cgo), const DLT_RAWAF_MASK ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_RIO = 124 -pkg syscall (netbsd-arm64-cgo), const DLT_RIO ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_SCCP = 142 -pkg syscall (netbsd-arm64-cgo), const DLT_SCCP ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_SITA = 196 -pkg syscall (netbsd-arm64-cgo), const DLT_SITA ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_SLIP = 8 -pkg syscall (netbsd-arm64-cgo), const DLT_SLIP ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_SLIP_BSDOS = 13 -pkg syscall (netbsd-arm64-cgo), const DLT_SLIP_BSDOS ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_SUNATM = 123 -pkg syscall (netbsd-arm64-cgo), const DLT_SUNATM ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_SYMANTEC_FIREWALL = 99 -pkg syscall (netbsd-arm64-cgo), const DLT_SYMANTEC_FIREWALL ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_TZSP = 128 -pkg syscall (netbsd-arm64-cgo), const DLT_TZSP ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_USB = 186 -pkg syscall (netbsd-arm64-cgo), const DLT_USB ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_USB_LINUX = 189 -pkg syscall (netbsd-arm64-cgo), const DLT_USB_LINUX ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_USB_LINUX_MMAPPED = 220 -pkg syscall (netbsd-arm64-cgo), const DLT_USB_LINUX_MMAPPED ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_WIHART = 223 -pkg syscall (netbsd-arm64-cgo), const DLT_WIHART ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_X2E_SERIAL = 213 -pkg syscall (netbsd-arm64-cgo), const DLT_X2E_SERIAL ideal-int -pkg syscall (netbsd-arm64-cgo), const DLT_X2E_XORAYA = 214 -pkg syscall (netbsd-arm64-cgo), const DLT_X2E_XORAYA ideal-int -pkg syscall (netbsd-arm64-cgo), const DT_BLK = 6 -pkg syscall (netbsd-arm64-cgo), const DT_BLK ideal-int -pkg syscall (netbsd-arm64-cgo), const DT_CHR = 2 -pkg syscall (netbsd-arm64-cgo), const DT_CHR ideal-int -pkg syscall (netbsd-arm64-cgo), const DT_DIR = 4 -pkg syscall (netbsd-arm64-cgo), const DT_DIR ideal-int -pkg syscall (netbsd-arm64-cgo), const DT_FIFO = 1 -pkg syscall (netbsd-arm64-cgo), const DT_FIFO ideal-int -pkg syscall (netbsd-arm64-cgo), const DT_LNK = 10 -pkg syscall (netbsd-arm64-cgo), const DT_LNK ideal-int -pkg syscall (netbsd-arm64-cgo), const DT_REG = 8 -pkg syscall (netbsd-arm64-cgo), const DT_REG ideal-int -pkg syscall (netbsd-arm64-cgo), const DT_SOCK = 12 -pkg syscall (netbsd-arm64-cgo), const DT_SOCK ideal-int -pkg syscall (netbsd-arm64-cgo), const DT_UNKNOWN = 0 -pkg syscall (netbsd-arm64-cgo), const DT_UNKNOWN ideal-int -pkg syscall (netbsd-arm64-cgo), const DT_WHT = 14 -pkg syscall (netbsd-arm64-cgo), const DT_WHT ideal-int -pkg syscall (netbsd-arm64-cgo), const E2BIG = 7 -pkg syscall (netbsd-arm64-cgo), const EACCES = 13 -pkg syscall (netbsd-arm64-cgo), const EADDRINUSE = 48 -pkg syscall (netbsd-arm64-cgo), const EADDRNOTAVAIL = 49 -pkg syscall (netbsd-arm64-cgo), const EAFNOSUPPORT = 47 -pkg syscall (netbsd-arm64-cgo), const EAGAIN = 35 -pkg syscall (netbsd-arm64-cgo), const EALREADY = 37 -pkg syscall (netbsd-arm64-cgo), const EAUTH = 80 -pkg syscall (netbsd-arm64-cgo), const EAUTH Errno -pkg syscall (netbsd-arm64-cgo), const EBADF = 9 -pkg syscall (netbsd-arm64-cgo), const EBADMSG = 88 -pkg syscall (netbsd-arm64-cgo), const EBADMSG Errno -pkg syscall (netbsd-arm64-cgo), const EBADRPC = 72 -pkg syscall (netbsd-arm64-cgo), const EBADRPC Errno -pkg syscall (netbsd-arm64-cgo), const EBUSY = 16 -pkg syscall (netbsd-arm64-cgo), const ECANCELED = 87 -pkg syscall (netbsd-arm64-cgo), const ECHILD = 10 -pkg syscall (netbsd-arm64-cgo), const ECHO = 8 -pkg syscall (netbsd-arm64-cgo), const ECHO ideal-int -pkg syscall (netbsd-arm64-cgo), const ECHOCTL = 64 -pkg syscall (netbsd-arm64-cgo), const ECHOCTL ideal-int -pkg syscall (netbsd-arm64-cgo), const ECHOE = 2 -pkg syscall (netbsd-arm64-cgo), const ECHOE ideal-int -pkg syscall (netbsd-arm64-cgo), const ECHOK = 4 -pkg syscall (netbsd-arm64-cgo), const ECHOK ideal-int -pkg syscall (netbsd-arm64-cgo), const ECHOKE = 1 -pkg syscall (netbsd-arm64-cgo), const ECHOKE ideal-int -pkg syscall (netbsd-arm64-cgo), const ECHONL = 16 -pkg syscall (netbsd-arm64-cgo), const ECHONL ideal-int -pkg syscall (netbsd-arm64-cgo), const ECHOPRT = 32 -pkg syscall (netbsd-arm64-cgo), const ECHOPRT ideal-int -pkg syscall (netbsd-arm64-cgo), const ECONNABORTED = 53 -pkg syscall (netbsd-arm64-cgo), const ECONNREFUSED = 61 -pkg syscall (netbsd-arm64-cgo), const ECONNRESET = 54 -pkg syscall (netbsd-arm64-cgo), const EDEADLK = 11 -pkg syscall (netbsd-arm64-cgo), const EDESTADDRREQ = 39 -pkg syscall (netbsd-arm64-cgo), const EDOM = 33 -pkg syscall (netbsd-arm64-cgo), const EDQUOT = 69 -pkg syscall (netbsd-arm64-cgo), const EEXIST = 17 -pkg syscall (netbsd-arm64-cgo), const EFAULT = 14 -pkg syscall (netbsd-arm64-cgo), const EFBIG = 27 -pkg syscall (netbsd-arm64-cgo), const EFTYPE = 79 -pkg syscall (netbsd-arm64-cgo), const EFTYPE Errno -pkg syscall (netbsd-arm64-cgo), const EHOSTDOWN = 64 -pkg syscall (netbsd-arm64-cgo), const EHOSTUNREACH = 65 -pkg syscall (netbsd-arm64-cgo), const EIDRM = 82 -pkg syscall (netbsd-arm64-cgo), const EILSEQ = 85 -pkg syscall (netbsd-arm64-cgo), const EINPROGRESS = 36 -pkg syscall (netbsd-arm64-cgo), const EINTR = 4 -pkg syscall (netbsd-arm64-cgo), const EINVAL = 22 -pkg syscall (netbsd-arm64-cgo), const EIO = 5 -pkg syscall (netbsd-arm64-cgo), const EISCONN = 56 -pkg syscall (netbsd-arm64-cgo), const EISDIR = 21 -pkg syscall (netbsd-arm64-cgo), const ELAST = 96 -pkg syscall (netbsd-arm64-cgo), const ELAST Errno -pkg syscall (netbsd-arm64-cgo), const ELOOP = 62 -pkg syscall (netbsd-arm64-cgo), const EMFILE = 24 -pkg syscall (netbsd-arm64-cgo), const EMLINK = 31 -pkg syscall (netbsd-arm64-cgo), const EMSGSIZE = 40 -pkg syscall (netbsd-arm64-cgo), const EMULTIHOP = 94 -pkg syscall (netbsd-arm64-cgo), const EMULTIHOP Errno -pkg syscall (netbsd-arm64-cgo), const EMUL_LINUX = 1 -pkg syscall (netbsd-arm64-cgo), const EMUL_LINUX ideal-int -pkg syscall (netbsd-arm64-cgo), const EMUL_LINUX32 = 5 -pkg syscall (netbsd-arm64-cgo), const EMUL_LINUX32 ideal-int -pkg syscall (netbsd-arm64-cgo), const EMUL_MAXID = 6 -pkg syscall (netbsd-arm64-cgo), const EMUL_MAXID ideal-int -pkg syscall (netbsd-arm64-cgo), const ENAMETOOLONG = 63 -pkg syscall (netbsd-arm64-cgo), const ENEEDAUTH = 81 -pkg syscall (netbsd-arm64-cgo), const ENEEDAUTH Errno -pkg syscall (netbsd-arm64-cgo), const ENETDOWN = 50 -pkg syscall (netbsd-arm64-cgo), const ENETRESET = 52 -pkg syscall (netbsd-arm64-cgo), const ENETUNREACH = 51 -pkg syscall (netbsd-arm64-cgo), const ENFILE = 23 -pkg syscall (netbsd-arm64-cgo), const ENOATTR = 93 -pkg syscall (netbsd-arm64-cgo), const ENOATTR Errno -pkg syscall (netbsd-arm64-cgo), const ENOBUFS = 55 -pkg syscall (netbsd-arm64-cgo), const ENODATA = 89 -pkg syscall (netbsd-arm64-cgo), const ENODATA Errno -pkg syscall (netbsd-arm64-cgo), const ENODEV = 19 -pkg syscall (netbsd-arm64-cgo), const ENOEXEC = 8 -pkg syscall (netbsd-arm64-cgo), const ENOLCK = 77 -pkg syscall (netbsd-arm64-cgo), const ENOLINK = 95 -pkg syscall (netbsd-arm64-cgo), const ENOLINK Errno -pkg syscall (netbsd-arm64-cgo), const ENOMEM = 12 -pkg syscall (netbsd-arm64-cgo), const ENOMSG = 83 -pkg syscall (netbsd-arm64-cgo), const ENOPROTOOPT = 42 -pkg syscall (netbsd-arm64-cgo), const ENOSPC = 28 -pkg syscall (netbsd-arm64-cgo), const ENOSR = 90 -pkg syscall (netbsd-arm64-cgo), const ENOSR Errno -pkg syscall (netbsd-arm64-cgo), const ENOSTR = 91 -pkg syscall (netbsd-arm64-cgo), const ENOSTR Errno -pkg syscall (netbsd-arm64-cgo), const ENOSYS = 78 -pkg syscall (netbsd-arm64-cgo), const ENOTBLK = 15 -pkg syscall (netbsd-arm64-cgo), const ENOTCONN = 57 -pkg syscall (netbsd-arm64-cgo), const ENOTDIR = 20 -pkg syscall (netbsd-arm64-cgo), const ENOTEMPTY = 66 -pkg syscall (netbsd-arm64-cgo), const ENOTSOCK = 38 -pkg syscall (netbsd-arm64-cgo), const ENOTSUP = 86 -pkg syscall (netbsd-arm64-cgo), const ENOTTY = 25 -pkg syscall (netbsd-arm64-cgo), const ENXIO = 6 -pkg syscall (netbsd-arm64-cgo), const EOPNOTSUPP = 45 -pkg syscall (netbsd-arm64-cgo), const EOVERFLOW = 84 -pkg syscall (netbsd-arm64-cgo), const EPERM = 1 -pkg syscall (netbsd-arm64-cgo), const EPFNOSUPPORT = 46 -pkg syscall (netbsd-arm64-cgo), const EPIPE = 32 -pkg syscall (netbsd-arm64-cgo), const EPROCLIM = 67 -pkg syscall (netbsd-arm64-cgo), const EPROCLIM Errno -pkg syscall (netbsd-arm64-cgo), const EPROCUNAVAIL = 76 -pkg syscall (netbsd-arm64-cgo), const EPROCUNAVAIL Errno -pkg syscall (netbsd-arm64-cgo), const EPROGMISMATCH = 75 -pkg syscall (netbsd-arm64-cgo), const EPROGMISMATCH Errno -pkg syscall (netbsd-arm64-cgo), const EPROGUNAVAIL = 74 -pkg syscall (netbsd-arm64-cgo), const EPROGUNAVAIL Errno -pkg syscall (netbsd-arm64-cgo), const EPROTO = 96 -pkg syscall (netbsd-arm64-cgo), const EPROTO Errno -pkg syscall (netbsd-arm64-cgo), const EPROTONOSUPPORT = 43 -pkg syscall (netbsd-arm64-cgo), const EPROTOTYPE = 41 -pkg syscall (netbsd-arm64-cgo), const ERANGE = 34 -pkg syscall (netbsd-arm64-cgo), const EREMOTE = 71 -pkg syscall (netbsd-arm64-cgo), const EROFS = 30 -pkg syscall (netbsd-arm64-cgo), const ERPCMISMATCH = 73 -pkg syscall (netbsd-arm64-cgo), const ERPCMISMATCH Errno -pkg syscall (netbsd-arm64-cgo), const ESHUTDOWN = 58 -pkg syscall (netbsd-arm64-cgo), const ESOCKTNOSUPPORT = 44 -pkg syscall (netbsd-arm64-cgo), const ESPIPE = 29 -pkg syscall (netbsd-arm64-cgo), const ESRCH = 3 -pkg syscall (netbsd-arm64-cgo), const ESTALE = 70 -pkg syscall (netbsd-arm64-cgo), const ETHERCAP_JUMBO_MTU = 4 -pkg syscall (netbsd-arm64-cgo), const ETHERCAP_JUMBO_MTU ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERCAP_VLAN_HWTAGGING = 2 -pkg syscall (netbsd-arm64-cgo), const ETHERCAP_VLAN_HWTAGGING ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERCAP_VLAN_MTU = 1 -pkg syscall (netbsd-arm64-cgo), const ETHERCAP_VLAN_MTU ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERMIN = 46 -pkg syscall (netbsd-arm64-cgo), const ETHERMIN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERMTU = 1500 -pkg syscall (netbsd-arm64-cgo), const ETHERMTU ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERMTU_JUMBO = 9000 -pkg syscall (netbsd-arm64-cgo), const ETHERMTU_JUMBO ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_8023 = 4 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_8023 ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AARP = 33011 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AARP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ACCTON = 33680 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ACCTON ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AEONIC = 32822 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AEONIC ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ALPHA = 33098 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ALPHA ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AMBER = 24584 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AMBER ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AMOEBA = 33093 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AMOEBA ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APOLLO = 33015 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APOLLO ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APOLLODOMAIN = 32793 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APOLLODOMAIN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APPLETALK = 32923 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APPLETALK ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APPLITEK = 32967 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_APPLITEK ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ARGONAUT = 32826 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ARGONAUT ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ARP = 2054 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ARP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AT = 32923 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AT ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATALK = 32923 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATALK ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATOMIC = 34527 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATOMIC ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATT = 32873 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATT ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATTSTANFORD = 32776 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ATTSTANFORD ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AUTOPHON = 32874 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AUTOPHON ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AXIS = 34902 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_AXIS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_BCLOOP = 36867 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_BCLOOP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_BOFL = 33026 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_BOFL ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CABLETRON = 28724 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CABLETRON ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CHAOS = 2052 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CHAOS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_COMDESIGN = 32876 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_COMDESIGN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_COMPUGRAPHIC = 32877 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_COMPUGRAPHIC ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_COUNTERPOINT = 32866 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_COUNTERPOINT ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CRONUS = 32772 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CRONUS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CRONUSVLN = 32771 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_CRONUSVLN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DCA = 4660 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DCA ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DDE = 32891 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DDE ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DEBNI = 43690 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DEBNI ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECAM = 32840 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECAM ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECCUST = 24582 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECCUST ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECDIAG = 24581 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECDIAG ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECDNS = 32828 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECDNS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECDTS = 32830 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECDTS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECEXPER = 24576 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECEXPER ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECLAST = 32833 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECLAST ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECLTM = 32831 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECLTM ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECMUMPS = 24585 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECMUMPS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECNETBIOS = 32832 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DECNETBIOS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DELTACON = 34526 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DELTACON ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DIDDLE = 17185 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DIDDLE ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DLOG1 = 1632 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DLOG1 ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DLOG2 = 1633 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DLOG2 ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DN = 24579 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DOGFIGHT = 6537 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DOGFIGHT ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DSMD = 32825 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_DSMD ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ECMA = 2051 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ECMA ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ENCRYPT = 32829 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ENCRYPT ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ES = 32861 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_ES ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_EXCELAN = 32784 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_EXCELAN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_EXPERDATA = 32841 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_EXPERDATA ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_FLIP = 33094 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_FLIP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_FLOWCONTROL = 34824 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_FLOWCONTROL ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_FRARP = 2056 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_FRARP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_GENDYN = 32872 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_GENDYN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HAYES = 33072 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HAYES ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HIPPI_FP = 33152 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HIPPI_FP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HITACHI = 34848 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HITACHI ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HP = 32773 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_HP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IEEEPUP = 2560 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IEEEPUP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IEEEPUPAT = 2561 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IEEEPUPAT ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IMLBL = 19522 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IMLBL ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IMLBLDIAG = 16972 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IMLBLDIAG ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IP = 2048 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPAS = 34668 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPAS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPV6 = 34525 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPV6 ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPX = 33079 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPX ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPXNEW = 32823 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_IPXNEW ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_KALPANA = 34178 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_KALPANA ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LANBRIDGE = 32824 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LANBRIDGE ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LANPROBE = 34952 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LANPROBE ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LAT = 24580 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LAT ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LBACK = 36864 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LBACK ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LITTLE = 32864 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LITTLE ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LOGICRAFT = 33096 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LOGICRAFT ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LOOPBACK = 36864 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_LOOPBACK ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MATRA = 32890 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MATRA ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MAX = 65535 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MAX ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MERIT = 32892 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MERIT ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MICP = 34618 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MICP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MOPDL = 24577 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MOPDL ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MOPRC = 24578 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MOPRC ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MOTOROLA = 33165 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MOTOROLA ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MPLS = 34887 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MPLS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MPLS_MCAST = 34888 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MPLS_MCAST ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MUMPS = 33087 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_MUMPS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCC = 15364 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCC ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCLAIM = 15369 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCLAIM ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCLREQ = 15365 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCLREQ ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCLRSP = 15366 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCLRSP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCREQ = 15362 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCREQ ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCRSP = 15363 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPCRSP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPDG = 15367 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPDG ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPDGB = 15368 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPDGB ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPDLTE = 15370 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPDLTE ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPRAR = 15372 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPRAR ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPRAS = 15371 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPRAS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPRST = 15373 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPRST ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPSCD = 15361 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPSCD ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPVCD = 15360 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBPVCD ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBS = 2050 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NBS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NCD = 33097 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NCD ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NESTAR = 32774 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NESTAR ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NETBEUI = 33169 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NETBEUI ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NOVELL = 33080 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NOVELL ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NS = 1536 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NSAT = 1537 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NSAT ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NSCOMPAT = 2055 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NSCOMPAT ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NTRAILER = 16 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_NTRAILER ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_OS9 = 28679 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_OS9 ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_OS9NET = 28681 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_OS9NET ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PACER = 32966 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PACER ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PAE = 34958 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PAE ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PCS = 16962 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PCS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PLANNING = 32836 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PLANNING ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PPP = 34827 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PPP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PPPOE = 34916 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PPPOE ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PPPOEDISC = 34915 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PPPOEDISC ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PRIMENTS = 28721 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PRIMENTS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PUP = 512 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PUP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PUPAT = 512 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_PUPAT ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RACAL = 28720 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RACAL ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RATIONAL = 33104 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RATIONAL ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RAWFR = 25945 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RAWFR ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RCL = 6549 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RCL ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RDP = 34617 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RDP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RETIX = 33010 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_RETIX ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_REVARP = 32821 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_REVARP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SCA = 24583 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SCA ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SECTRA = 34523 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SECTRA ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SECUREDATA = 34669 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SECUREDATA ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SGITW = 33150 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SGITW ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_BOUNCE = 32790 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_BOUNCE ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_DIAG = 32787 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_DIAG ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_NETGAMES = 32788 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_NETGAMES ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_RESV = 32789 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SG_RESV ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SIMNET = 21000 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SIMNET ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SLOWPROTOCOLS = 34825 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SLOWPROTOCOLS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SNA = 32981 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SNA ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SNMP = 33100 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SNMP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SONIX = 64245 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SONIX ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SPIDER = 32927 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SPIDER ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SPRITE = 1280 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_SPRITE ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_STP = 33153 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_STP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TALARIS = 33067 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TALARIS ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TALARISMC = 34091 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TALARISMC ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TCPCOMP = 34667 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TCPCOMP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TCPSM = 36866 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TCPSM ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TEC = 33103 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TEC ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TIGAN = 32815 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TIGAN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TRAIL = 4096 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TRAIL ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TRANSETHER = 25944 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TRANSETHER ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TYMSHARE = 32814 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_TYMSHARE ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBBST = 28677 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBBST ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBDEBUG = 2304 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBDEBUG ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBDIAGLOOP = 28674 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBDIAGLOOP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBDL = 28672 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBDL ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBNIU = 28673 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBNIU ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBNMC = 28675 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_UBNMC ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VALID = 5632 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VALID ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VARIAN = 32989 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VARIAN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VAXELN = 32827 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VAXELN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VEECO = 32871 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VEECO ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VEXP = 32859 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VEXP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VGLAB = 33073 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VGLAB ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VINES = 2989 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VINES ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VINESECHO = 2991 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VINESECHO ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VINESLOOP = 2990 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VINESLOOP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VITAL = 65280 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VITAL ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VLAN = 33024 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VLAN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VLTLMAN = 32896 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VLTLMAN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VPROD = 32860 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VPROD ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VURESERVED = 33095 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_VURESERVED ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_WATERLOO = 33072 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_WATERLOO ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_WELLFLEET = 33027 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_WELLFLEET ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_X25 = 2053 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_X25 ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_X75 = 2049 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_X75 ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_XNSSM = 36865 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_XNSSM ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_XTP = 33149 -pkg syscall (netbsd-arm64-cgo), const ETHERTYPE_XTP ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHER_ADDR_LEN = 6 -pkg syscall (netbsd-arm64-cgo), const ETHER_ADDR_LEN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHER_CRC_LEN = 4 -pkg syscall (netbsd-arm64-cgo), const ETHER_CRC_LEN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHER_CRC_POLY_BE = 79764918 -pkg syscall (netbsd-arm64-cgo), const ETHER_CRC_POLY_BE ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHER_CRC_POLY_LE = 3988292384 -pkg syscall (netbsd-arm64-cgo), const ETHER_CRC_POLY_LE ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHER_HDR_LEN = 14 -pkg syscall (netbsd-arm64-cgo), const ETHER_HDR_LEN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHER_MAX_LEN = 1518 -pkg syscall (netbsd-arm64-cgo), const ETHER_MAX_LEN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHER_MAX_LEN_JUMBO = 9018 -pkg syscall (netbsd-arm64-cgo), const ETHER_MAX_LEN_JUMBO ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHER_MIN_LEN = 64 -pkg syscall (netbsd-arm64-cgo), const ETHER_MIN_LEN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHER_PPPOE_ENCAP_LEN = 8 -pkg syscall (netbsd-arm64-cgo), const ETHER_PPPOE_ENCAP_LEN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHER_TYPE_LEN = 2 -pkg syscall (netbsd-arm64-cgo), const ETHER_TYPE_LEN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETHER_VLAN_ENCAP_LEN = 4 -pkg syscall (netbsd-arm64-cgo), const ETHER_VLAN_ENCAP_LEN ideal-int -pkg syscall (netbsd-arm64-cgo), const ETIME = 92 -pkg syscall (netbsd-arm64-cgo), const ETIME Errno -pkg syscall (netbsd-arm64-cgo), const ETIMEDOUT = 60 -pkg syscall (netbsd-arm64-cgo), const ETOOMANYREFS = 59 -pkg syscall (netbsd-arm64-cgo), const ETXTBSY = 26 -pkg syscall (netbsd-arm64-cgo), const EUSERS = 68 -pkg syscall (netbsd-arm64-cgo), const EVFILT_AIO = 2 -pkg syscall (netbsd-arm64-cgo), const EVFILT_AIO ideal-int -pkg syscall (netbsd-arm64-cgo), const EVFILT_PROC = 4 -pkg syscall (netbsd-arm64-cgo), const EVFILT_PROC ideal-int -pkg syscall (netbsd-arm64-cgo), const EVFILT_READ = 0 -pkg syscall (netbsd-arm64-cgo), const EVFILT_READ ideal-int -pkg syscall (netbsd-arm64-cgo), const EVFILT_SIGNAL = 5 -pkg syscall (netbsd-arm64-cgo), const EVFILT_SIGNAL ideal-int -pkg syscall (netbsd-arm64-cgo), const EVFILT_SYSCOUNT = 7 -pkg syscall (netbsd-arm64-cgo), const EVFILT_SYSCOUNT ideal-int -pkg syscall (netbsd-arm64-cgo), const EVFILT_TIMER = 6 -pkg syscall (netbsd-arm64-cgo), const EVFILT_TIMER ideal-int -pkg syscall (netbsd-arm64-cgo), const EVFILT_VNODE = 3 -pkg syscall (netbsd-arm64-cgo), const EVFILT_VNODE ideal-int -pkg syscall (netbsd-arm64-cgo), const EVFILT_WRITE = 1 -pkg syscall (netbsd-arm64-cgo), const EVFILT_WRITE ideal-int -pkg syscall (netbsd-arm64-cgo), const EV_ADD = 1 -pkg syscall (netbsd-arm64-cgo), const EV_ADD ideal-int -pkg syscall (netbsd-arm64-cgo), const EV_CLEAR = 32 -pkg syscall (netbsd-arm64-cgo), const EV_CLEAR ideal-int -pkg syscall (netbsd-arm64-cgo), const EV_DELETE = 2 -pkg syscall (netbsd-arm64-cgo), const EV_DELETE ideal-int -pkg syscall (netbsd-arm64-cgo), const EV_DISABLE = 8 -pkg syscall (netbsd-arm64-cgo), const EV_DISABLE ideal-int -pkg syscall (netbsd-arm64-cgo), const EV_ENABLE = 4 -pkg syscall (netbsd-arm64-cgo), const EV_ENABLE ideal-int -pkg syscall (netbsd-arm64-cgo), const EV_EOF = 32768 -pkg syscall (netbsd-arm64-cgo), const EV_EOF ideal-int -pkg syscall (netbsd-arm64-cgo), const EV_ERROR = 16384 -pkg syscall (netbsd-arm64-cgo), const EV_ERROR ideal-int -pkg syscall (netbsd-arm64-cgo), const EV_FLAG1 = 8192 -pkg syscall (netbsd-arm64-cgo), const EV_FLAG1 ideal-int -pkg syscall (netbsd-arm64-cgo), const EV_ONESHOT = 16 -pkg syscall (netbsd-arm64-cgo), const EV_ONESHOT ideal-int -pkg syscall (netbsd-arm64-cgo), const EV_SYSFLAGS = 61440 -pkg syscall (netbsd-arm64-cgo), const EV_SYSFLAGS ideal-int -pkg syscall (netbsd-arm64-cgo), const EWOULDBLOCK = 35 -pkg syscall (netbsd-arm64-cgo), const EXDEV = 18 -pkg syscall (netbsd-arm64-cgo), const EXTA = 19200 -pkg syscall (netbsd-arm64-cgo), const EXTA ideal-int -pkg syscall (netbsd-arm64-cgo), const EXTB = 38400 -pkg syscall (netbsd-arm64-cgo), const EXTB ideal-int -pkg syscall (netbsd-arm64-cgo), const EXTPROC = 2048 -pkg syscall (netbsd-arm64-cgo), const EXTPROC ideal-int -pkg syscall (netbsd-arm64-cgo), const FD_CLOEXEC = 1 -pkg syscall (netbsd-arm64-cgo), const FD_CLOEXEC ideal-int -pkg syscall (netbsd-arm64-cgo), const FD_SETSIZE = 256 -pkg syscall (netbsd-arm64-cgo), const FD_SETSIZE ideal-int -pkg syscall (netbsd-arm64-cgo), const FLUSHO = 8388608 -pkg syscall (netbsd-arm64-cgo), const FLUSHO ideal-int -pkg syscall (netbsd-arm64-cgo), const F_CLOSEM = 10 -pkg syscall (netbsd-arm64-cgo), const F_CLOSEM ideal-int -pkg syscall (netbsd-arm64-cgo), const F_DUPFD = 0 -pkg syscall (netbsd-arm64-cgo), const F_DUPFD ideal-int -pkg syscall (netbsd-arm64-cgo), const F_DUPFD_CLOEXEC = 12 -pkg syscall (netbsd-arm64-cgo), const F_DUPFD_CLOEXEC ideal-int -pkg syscall (netbsd-arm64-cgo), const F_FSCTL = -2147483648 -pkg syscall (netbsd-arm64-cgo), const F_FSCTL ideal-int -pkg syscall (netbsd-arm64-cgo), const F_FSDIRMASK = 1879048192 -pkg syscall (netbsd-arm64-cgo), const F_FSDIRMASK ideal-int -pkg syscall (netbsd-arm64-cgo), const F_FSIN = 268435456 -pkg syscall (netbsd-arm64-cgo), const F_FSIN ideal-int -pkg syscall (netbsd-arm64-cgo), const F_FSINOUT = 805306368 -pkg syscall (netbsd-arm64-cgo), const F_FSINOUT ideal-int -pkg syscall (netbsd-arm64-cgo), const F_FSOUT = 536870912 -pkg syscall (netbsd-arm64-cgo), const F_FSOUT ideal-int -pkg syscall (netbsd-arm64-cgo), const F_FSPRIV = 32768 -pkg syscall (netbsd-arm64-cgo), const F_FSPRIV ideal-int -pkg syscall (netbsd-arm64-cgo), const F_FSVOID = 1073741824 -pkg syscall (netbsd-arm64-cgo), const F_FSVOID ideal-int -pkg syscall (netbsd-arm64-cgo), const F_GETFD = 1 -pkg syscall (netbsd-arm64-cgo), const F_GETFD ideal-int -pkg syscall (netbsd-arm64-cgo), const F_GETFL = 3 -pkg syscall (netbsd-arm64-cgo), const F_GETFL ideal-int -pkg syscall (netbsd-arm64-cgo), const F_GETLK = 7 -pkg syscall (netbsd-arm64-cgo), const F_GETLK ideal-int -pkg syscall (netbsd-arm64-cgo), const F_GETNOSIGPIPE = 13 -pkg syscall (netbsd-arm64-cgo), const F_GETNOSIGPIPE ideal-int -pkg syscall (netbsd-arm64-cgo), const F_GETOWN = 5 -pkg syscall (netbsd-arm64-cgo), const F_GETOWN ideal-int -pkg syscall (netbsd-arm64-cgo), const F_MAXFD = 11 -pkg syscall (netbsd-arm64-cgo), const F_MAXFD ideal-int -pkg syscall (netbsd-arm64-cgo), const F_OK = 0 -pkg syscall (netbsd-arm64-cgo), const F_OK ideal-int -pkg syscall (netbsd-arm64-cgo), const F_PARAM_MASK = 4095 -pkg syscall (netbsd-arm64-cgo), const F_PARAM_MASK ideal-int -pkg syscall (netbsd-arm64-cgo), const F_PARAM_MAX = 4095 -pkg syscall (netbsd-arm64-cgo), const F_PARAM_MAX ideal-int -pkg syscall (netbsd-arm64-cgo), const F_RDLCK = 1 -pkg syscall (netbsd-arm64-cgo), const F_RDLCK ideal-int -pkg syscall (netbsd-arm64-cgo), const F_SETFD = 2 -pkg syscall (netbsd-arm64-cgo), const F_SETFD ideal-int -pkg syscall (netbsd-arm64-cgo), const F_SETFL = 4 -pkg syscall (netbsd-arm64-cgo), const F_SETFL ideal-int -pkg syscall (netbsd-arm64-cgo), const F_SETLK = 8 -pkg syscall (netbsd-arm64-cgo), const F_SETLK ideal-int -pkg syscall (netbsd-arm64-cgo), const F_SETLKW = 9 -pkg syscall (netbsd-arm64-cgo), const F_SETLKW ideal-int -pkg syscall (netbsd-arm64-cgo), const F_SETNOSIGPIPE = 14 -pkg syscall (netbsd-arm64-cgo), const F_SETNOSIGPIPE ideal-int -pkg syscall (netbsd-arm64-cgo), const F_SETOWN = 6 -pkg syscall (netbsd-arm64-cgo), const F_SETOWN ideal-int -pkg syscall (netbsd-arm64-cgo), const F_UNLCK = 2 -pkg syscall (netbsd-arm64-cgo), const F_UNLCK ideal-int -pkg syscall (netbsd-arm64-cgo), const F_WRLCK = 3 -pkg syscall (netbsd-arm64-cgo), const F_WRLCK ideal-int -pkg syscall (netbsd-arm64-cgo), const HUPCL = 16384 -pkg syscall (netbsd-arm64-cgo), const HUPCL ideal-int -pkg syscall (netbsd-arm64-cgo), const ICANON = 256 -pkg syscall (netbsd-arm64-cgo), const ICANON ideal-int -pkg syscall (netbsd-arm64-cgo), const ICMP6_FILTER = 18 -pkg syscall (netbsd-arm64-cgo), const ICMP6_FILTER ideal-int -pkg syscall (netbsd-arm64-cgo), const ICRNL = 256 -pkg syscall (netbsd-arm64-cgo), const ICRNL ideal-int -pkg syscall (netbsd-arm64-cgo), const IEXTEN = 1024 -pkg syscall (netbsd-arm64-cgo), const IEXTEN ideal-int -pkg syscall (netbsd-arm64-cgo), const IFAN_ARRIVAL = 0 -pkg syscall (netbsd-arm64-cgo), const IFAN_ARRIVAL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFAN_DEPARTURE = 1 -pkg syscall (netbsd-arm64-cgo), const IFAN_DEPARTURE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFA_ROUTE = 1 -pkg syscall (netbsd-arm64-cgo), const IFA_ROUTE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFF_ALLMULTI = 512 -pkg syscall (netbsd-arm64-cgo), const IFF_ALLMULTI ideal-int -pkg syscall (netbsd-arm64-cgo), const IFF_CANTCHANGE = 36690 -pkg syscall (netbsd-arm64-cgo), const IFF_CANTCHANGE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFF_DEBUG = 4 -pkg syscall (netbsd-arm64-cgo), const IFF_DEBUG ideal-int -pkg syscall (netbsd-arm64-cgo), const IFF_LINK0 = 4096 -pkg syscall (netbsd-arm64-cgo), const IFF_LINK0 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFF_LINK1 = 8192 -pkg syscall (netbsd-arm64-cgo), const IFF_LINK1 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFF_LINK2 = 16384 -pkg syscall (netbsd-arm64-cgo), const IFF_LINK2 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFF_LOOPBACK = 8 -pkg syscall (netbsd-arm64-cgo), const IFF_MULTICAST = 32768 -pkg syscall (netbsd-arm64-cgo), const IFF_NOARP = 128 -pkg syscall (netbsd-arm64-cgo), const IFF_NOARP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFF_NOTRAILERS = 32 -pkg syscall (netbsd-arm64-cgo), const IFF_NOTRAILERS ideal-int -pkg syscall (netbsd-arm64-cgo), const IFF_OACTIVE = 1024 -pkg syscall (netbsd-arm64-cgo), const IFF_OACTIVE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFF_POINTOPOINT = 16 -pkg syscall (netbsd-arm64-cgo), const IFF_POINTOPOINT ideal-int -pkg syscall (netbsd-arm64-cgo), const IFF_PROMISC = 256 -pkg syscall (netbsd-arm64-cgo), const IFF_PROMISC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFF_RUNNING = 64 -pkg syscall (netbsd-arm64-cgo), const IFF_RUNNING ideal-int -pkg syscall (netbsd-arm64-cgo), const IFF_SIMPLEX = 2048 -pkg syscall (netbsd-arm64-cgo), const IFF_SIMPLEX ideal-int -pkg syscall (netbsd-arm64-cgo), const IFNAMSIZ = 16 -pkg syscall (netbsd-arm64-cgo), const IFNAMSIZ ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_1822 = 2 -pkg syscall (netbsd-arm64-cgo), const IFT_1822 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_A12MPPSWITCH = 130 -pkg syscall (netbsd-arm64-cgo), const IFT_A12MPPSWITCH ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_AAL2 = 187 -pkg syscall (netbsd-arm64-cgo), const IFT_AAL2 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_AAL5 = 49 -pkg syscall (netbsd-arm64-cgo), const IFT_AAL5 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ADSL = 94 -pkg syscall (netbsd-arm64-cgo), const IFT_ADSL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_AFLANE8023 = 59 -pkg syscall (netbsd-arm64-cgo), const IFT_AFLANE8023 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_AFLANE8025 = 60 -pkg syscall (netbsd-arm64-cgo), const IFT_AFLANE8025 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ARAP = 88 -pkg syscall (netbsd-arm64-cgo), const IFT_ARAP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ARCNET = 35 -pkg syscall (netbsd-arm64-cgo), const IFT_ARCNET ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ARCNETPLUS = 36 -pkg syscall (netbsd-arm64-cgo), const IFT_ARCNETPLUS ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ASYNC = 84 -pkg syscall (netbsd-arm64-cgo), const IFT_ASYNC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ATM = 37 -pkg syscall (netbsd-arm64-cgo), const IFT_ATM ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ATMDXI = 105 -pkg syscall (netbsd-arm64-cgo), const IFT_ATMDXI ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ATMFUNI = 106 -pkg syscall (netbsd-arm64-cgo), const IFT_ATMFUNI ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ATMIMA = 107 -pkg syscall (netbsd-arm64-cgo), const IFT_ATMIMA ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ATMLOGICAL = 80 -pkg syscall (netbsd-arm64-cgo), const IFT_ATMLOGICAL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ATMRADIO = 189 -pkg syscall (netbsd-arm64-cgo), const IFT_ATMRADIO ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ATMSUBINTERFACE = 134 -pkg syscall (netbsd-arm64-cgo), const IFT_ATMSUBINTERFACE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ATMVCIENDPT = 194 -pkg syscall (netbsd-arm64-cgo), const IFT_ATMVCIENDPT ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ATMVIRTUAL = 149 -pkg syscall (netbsd-arm64-cgo), const IFT_ATMVIRTUAL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_BGPPOLICYACCOUNTING = 162 -pkg syscall (netbsd-arm64-cgo), const IFT_BGPPOLICYACCOUNTING ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_BRIDGE = 209 -pkg syscall (netbsd-arm64-cgo), const IFT_BRIDGE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_BSC = 83 -pkg syscall (netbsd-arm64-cgo), const IFT_BSC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_CARP = 248 -pkg syscall (netbsd-arm64-cgo), const IFT_CARP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_CCTEMUL = 61 -pkg syscall (netbsd-arm64-cgo), const IFT_CCTEMUL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_CEPT = 19 -pkg syscall (netbsd-arm64-cgo), const IFT_CEPT ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_CES = 133 -pkg syscall (netbsd-arm64-cgo), const IFT_CES ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_CHANNEL = 70 -pkg syscall (netbsd-arm64-cgo), const IFT_CHANNEL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_CNR = 85 -pkg syscall (netbsd-arm64-cgo), const IFT_CNR ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_COFFEE = 132 -pkg syscall (netbsd-arm64-cgo), const IFT_COFFEE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_COMPOSITELINK = 155 -pkg syscall (netbsd-arm64-cgo), const IFT_COMPOSITELINK ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DCN = 141 -pkg syscall (netbsd-arm64-cgo), const IFT_DCN ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DIGITALPOWERLINE = 138 -pkg syscall (netbsd-arm64-cgo), const IFT_DIGITALPOWERLINE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DIGITALWRAPPEROVERHEADCHANNEL = 186 -pkg syscall (netbsd-arm64-cgo), const IFT_DIGITALWRAPPEROVERHEADCHANNEL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DLSW = 74 -pkg syscall (netbsd-arm64-cgo), const IFT_DLSW ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEDOWNSTREAM = 128 -pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEDOWNSTREAM ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEMACLAYER = 127 -pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEMACLAYER ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEUPSTREAM = 129 -pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEUPSTREAM ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEUPSTREAMCHANNEL = 205 -pkg syscall (netbsd-arm64-cgo), const IFT_DOCSCABLEUPSTREAMCHANNEL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DS0 = 81 -pkg syscall (netbsd-arm64-cgo), const IFT_DS0 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DS0BUNDLE = 82 -pkg syscall (netbsd-arm64-cgo), const IFT_DS0BUNDLE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DS1FDL = 170 -pkg syscall (netbsd-arm64-cgo), const IFT_DS1FDL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DS3 = 30 -pkg syscall (netbsd-arm64-cgo), const IFT_DS3 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DTM = 140 -pkg syscall (netbsd-arm64-cgo), const IFT_DTM ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DVBASILN = 172 -pkg syscall (netbsd-arm64-cgo), const IFT_DVBASILN ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DVBASIOUT = 173 -pkg syscall (netbsd-arm64-cgo), const IFT_DVBASIOUT ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DVBRCCDOWNSTREAM = 147 -pkg syscall (netbsd-arm64-cgo), const IFT_DVBRCCDOWNSTREAM ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DVBRCCMACLAYER = 146 -pkg syscall (netbsd-arm64-cgo), const IFT_DVBRCCMACLAYER ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_DVBRCCUPSTREAM = 148 -pkg syscall (netbsd-arm64-cgo), const IFT_DVBRCCUPSTREAM ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ECONET = 206 -pkg syscall (netbsd-arm64-cgo), const IFT_ECONET ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_EON = 25 -pkg syscall (netbsd-arm64-cgo), const IFT_EON ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_EPLRS = 87 -pkg syscall (netbsd-arm64-cgo), const IFT_EPLRS ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ESCON = 73 -pkg syscall (netbsd-arm64-cgo), const IFT_ESCON ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ETHER = 6 -pkg syscall (netbsd-arm64-cgo), const IFT_ETHER ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_FAITH = 242 -pkg syscall (netbsd-arm64-cgo), const IFT_FAITH ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_FAST = 125 -pkg syscall (netbsd-arm64-cgo), const IFT_FAST ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_FASTETHER = 62 -pkg syscall (netbsd-arm64-cgo), const IFT_FASTETHER ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_FASTETHERFX = 69 -pkg syscall (netbsd-arm64-cgo), const IFT_FASTETHERFX ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_FDDI = 15 -pkg syscall (netbsd-arm64-cgo), const IFT_FDDI ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_FIBRECHANNEL = 56 -pkg syscall (netbsd-arm64-cgo), const IFT_FIBRECHANNEL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_FRAMERELAYINTERCONNECT = 58 -pkg syscall (netbsd-arm64-cgo), const IFT_FRAMERELAYINTERCONNECT ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_FRAMERELAYMPI = 92 -pkg syscall (netbsd-arm64-cgo), const IFT_FRAMERELAYMPI ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_FRDLCIENDPT = 193 -pkg syscall (netbsd-arm64-cgo), const IFT_FRDLCIENDPT ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_FRELAY = 32 -pkg syscall (netbsd-arm64-cgo), const IFT_FRELAY ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_FRELAYDCE = 44 -pkg syscall (netbsd-arm64-cgo), const IFT_FRELAYDCE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_FRF16MFRBUNDLE = 163 -pkg syscall (netbsd-arm64-cgo), const IFT_FRF16MFRBUNDLE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_FRFORWARD = 158 -pkg syscall (netbsd-arm64-cgo), const IFT_FRFORWARD ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_G703AT2MB = 67 -pkg syscall (netbsd-arm64-cgo), const IFT_G703AT2MB ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_G703AT64K = 66 -pkg syscall (netbsd-arm64-cgo), const IFT_G703AT64K ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_GIF = 240 -pkg syscall (netbsd-arm64-cgo), const IFT_GIF ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_GIGABITETHERNET = 117 -pkg syscall (netbsd-arm64-cgo), const IFT_GIGABITETHERNET ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_GR303IDT = 178 -pkg syscall (netbsd-arm64-cgo), const IFT_GR303IDT ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_GR303RDT = 177 -pkg syscall (netbsd-arm64-cgo), const IFT_GR303RDT ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_H323GATEKEEPER = 164 -pkg syscall (netbsd-arm64-cgo), const IFT_H323GATEKEEPER ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_H323PROXY = 165 -pkg syscall (netbsd-arm64-cgo), const IFT_H323PROXY ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_HDH1822 = 3 -pkg syscall (netbsd-arm64-cgo), const IFT_HDH1822 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_HDLC = 118 -pkg syscall (netbsd-arm64-cgo), const IFT_HDLC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_HDSL2 = 168 -pkg syscall (netbsd-arm64-cgo), const IFT_HDSL2 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_HIPERLAN2 = 183 -pkg syscall (netbsd-arm64-cgo), const IFT_HIPERLAN2 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_HIPPI = 47 -pkg syscall (netbsd-arm64-cgo), const IFT_HIPPI ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_HIPPIINTERFACE = 57 -pkg syscall (netbsd-arm64-cgo), const IFT_HIPPIINTERFACE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_HOSTPAD = 90 -pkg syscall (netbsd-arm64-cgo), const IFT_HOSTPAD ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_HSSI = 46 -pkg syscall (netbsd-arm64-cgo), const IFT_HSSI ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_HY = 14 -pkg syscall (netbsd-arm64-cgo), const IFT_HY ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_IBM370PARCHAN = 72 -pkg syscall (netbsd-arm64-cgo), const IFT_IBM370PARCHAN ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_IDSL = 154 -pkg syscall (netbsd-arm64-cgo), const IFT_IDSL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_IEEE1394 = 144 -pkg syscall (netbsd-arm64-cgo), const IFT_IEEE1394 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_IEEE80211 = 71 -pkg syscall (netbsd-arm64-cgo), const IFT_IEEE80211 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_IEEE80212 = 55 -pkg syscall (netbsd-arm64-cgo), const IFT_IEEE80212 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_IEEE8023ADLAG = 161 -pkg syscall (netbsd-arm64-cgo), const IFT_IEEE8023ADLAG ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_IFGSN = 145 -pkg syscall (netbsd-arm64-cgo), const IFT_IFGSN ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_IMT = 190 -pkg syscall (netbsd-arm64-cgo), const IFT_IMT ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_INFINIBAND = 199 -pkg syscall (netbsd-arm64-cgo), const IFT_INFINIBAND ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_INTERLEAVE = 124 -pkg syscall (netbsd-arm64-cgo), const IFT_INTERLEAVE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_IP = 126 -pkg syscall (netbsd-arm64-cgo), const IFT_IP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_IPFORWARD = 142 -pkg syscall (netbsd-arm64-cgo), const IFT_IPFORWARD ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_IPOVERATM = 114 -pkg syscall (netbsd-arm64-cgo), const IFT_IPOVERATM ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_IPOVERCDLC = 109 -pkg syscall (netbsd-arm64-cgo), const IFT_IPOVERCDLC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_IPOVERCLAW = 110 -pkg syscall (netbsd-arm64-cgo), const IFT_IPOVERCLAW ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_IPSWITCH = 78 -pkg syscall (netbsd-arm64-cgo), const IFT_IPSWITCH ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ISDN = 63 -pkg syscall (netbsd-arm64-cgo), const IFT_ISDN ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ISDNBASIC = 20 -pkg syscall (netbsd-arm64-cgo), const IFT_ISDNBASIC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ISDNPRIMARY = 21 -pkg syscall (netbsd-arm64-cgo), const IFT_ISDNPRIMARY ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ISDNS = 75 -pkg syscall (netbsd-arm64-cgo), const IFT_ISDNS ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ISDNU = 76 -pkg syscall (netbsd-arm64-cgo), const IFT_ISDNU ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88022LLC = 41 -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88022LLC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88023 = 7 -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88023 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88024 = 8 -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88024 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025 = 9 -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025CRFPINT = 98 -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025CRFPINT ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025DTR = 86 -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025DTR ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025FIBER = 115 -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88025FIBER ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88026 = 10 -pkg syscall (netbsd-arm64-cgo), const IFT_ISO88026 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ISUP = 179 -pkg syscall (netbsd-arm64-cgo), const IFT_ISUP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_L2VLAN = 135 -pkg syscall (netbsd-arm64-cgo), const IFT_L2VLAN ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_L3IPVLAN = 136 -pkg syscall (netbsd-arm64-cgo), const IFT_L3IPVLAN ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_L3IPXVLAN = 137 -pkg syscall (netbsd-arm64-cgo), const IFT_L3IPXVLAN ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_LAPB = 16 -pkg syscall (netbsd-arm64-cgo), const IFT_LAPB ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_LAPD = 77 -pkg syscall (netbsd-arm64-cgo), const IFT_LAPD ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_LAPF = 119 -pkg syscall (netbsd-arm64-cgo), const IFT_LAPF ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_LINEGROUP = 210 -pkg syscall (netbsd-arm64-cgo), const IFT_LINEGROUP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_LOCALTALK = 42 -pkg syscall (netbsd-arm64-cgo), const IFT_LOCALTALK ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_LOOP = 24 -pkg syscall (netbsd-arm64-cgo), const IFT_LOOP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_MEDIAMAILOVERIP = 139 -pkg syscall (netbsd-arm64-cgo), const IFT_MEDIAMAILOVERIP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_MFSIGLINK = 167 -pkg syscall (netbsd-arm64-cgo), const IFT_MFSIGLINK ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_MIOX25 = 38 -pkg syscall (netbsd-arm64-cgo), const IFT_MIOX25 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_MODEM = 48 -pkg syscall (netbsd-arm64-cgo), const IFT_MODEM ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_MPC = 113 -pkg syscall (netbsd-arm64-cgo), const IFT_MPC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_MPLS = 166 -pkg syscall (netbsd-arm64-cgo), const IFT_MPLS ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_MPLSTUNNEL = 150 -pkg syscall (netbsd-arm64-cgo), const IFT_MPLSTUNNEL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_MSDSL = 143 -pkg syscall (netbsd-arm64-cgo), const IFT_MSDSL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_MVL = 191 -pkg syscall (netbsd-arm64-cgo), const IFT_MVL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_MYRINET = 99 -pkg syscall (netbsd-arm64-cgo), const IFT_MYRINET ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_NFAS = 175 -pkg syscall (netbsd-arm64-cgo), const IFT_NFAS ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_NSIP = 27 -pkg syscall (netbsd-arm64-cgo), const IFT_NSIP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_OPTICALCHANNEL = 195 -pkg syscall (netbsd-arm64-cgo), const IFT_OPTICALCHANNEL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_OPTICALTRANSPORT = 196 -pkg syscall (netbsd-arm64-cgo), const IFT_OPTICALTRANSPORT ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_OTHER = 1 -pkg syscall (netbsd-arm64-cgo), const IFT_OTHER ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_P10 = 12 -pkg syscall (netbsd-arm64-cgo), const IFT_P10 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_P80 = 13 -pkg syscall (netbsd-arm64-cgo), const IFT_P80 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PARA = 34 -pkg syscall (netbsd-arm64-cgo), const IFT_PARA ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PFLOG = 245 -pkg syscall (netbsd-arm64-cgo), const IFT_PFLOG ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PFSYNC = 246 -pkg syscall (netbsd-arm64-cgo), const IFT_PFSYNC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PLC = 174 -pkg syscall (netbsd-arm64-cgo), const IFT_PLC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PON155 = 207 -pkg syscall (netbsd-arm64-cgo), const IFT_PON155 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PON622 = 208 -pkg syscall (netbsd-arm64-cgo), const IFT_PON622 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_POS = 171 -pkg syscall (netbsd-arm64-cgo), const IFT_POS ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PPP = 23 -pkg syscall (netbsd-arm64-cgo), const IFT_PPP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PPPMULTILINKBUNDLE = 108 -pkg syscall (netbsd-arm64-cgo), const IFT_PPPMULTILINKBUNDLE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PROPATM = 197 -pkg syscall (netbsd-arm64-cgo), const IFT_PROPATM ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PROPBWAP2MP = 184 -pkg syscall (netbsd-arm64-cgo), const IFT_PROPBWAP2MP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PROPCNLS = 89 -pkg syscall (netbsd-arm64-cgo), const IFT_PROPCNLS ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PROPDOCSWIRELESSDOWNSTREAM = 181 -pkg syscall (netbsd-arm64-cgo), const IFT_PROPDOCSWIRELESSDOWNSTREAM ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PROPDOCSWIRELESSMACLAYER = 180 -pkg syscall (netbsd-arm64-cgo), const IFT_PROPDOCSWIRELESSMACLAYER ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PROPDOCSWIRELESSUPSTREAM = 182 -pkg syscall (netbsd-arm64-cgo), const IFT_PROPDOCSWIRELESSUPSTREAM ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PROPMUX = 54 -pkg syscall (netbsd-arm64-cgo), const IFT_PROPMUX ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PROPVIRTUAL = 53 -pkg syscall (netbsd-arm64-cgo), const IFT_PROPVIRTUAL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PROPWIRELESSP2P = 157 -pkg syscall (netbsd-arm64-cgo), const IFT_PROPWIRELESSP2P ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PTPSERIAL = 22 -pkg syscall (netbsd-arm64-cgo), const IFT_PTPSERIAL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_PVC = 241 -pkg syscall (netbsd-arm64-cgo), const IFT_PVC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_Q2931 = 201 -pkg syscall (netbsd-arm64-cgo), const IFT_Q2931 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_QLLC = 68 -pkg syscall (netbsd-arm64-cgo), const IFT_QLLC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_RADIOMAC = 188 -pkg syscall (netbsd-arm64-cgo), const IFT_RADIOMAC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_RADSL = 95 -pkg syscall (netbsd-arm64-cgo), const IFT_RADSL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_REACHDSL = 192 -pkg syscall (netbsd-arm64-cgo), const IFT_REACHDSL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_RFC1483 = 159 -pkg syscall (netbsd-arm64-cgo), const IFT_RFC1483 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_RS232 = 33 -pkg syscall (netbsd-arm64-cgo), const IFT_RS232 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_RSRB = 79 -pkg syscall (netbsd-arm64-cgo), const IFT_RSRB ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_SDLC = 17 -pkg syscall (netbsd-arm64-cgo), const IFT_SDLC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_SDSL = 96 -pkg syscall (netbsd-arm64-cgo), const IFT_SDSL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_SHDSL = 169 -pkg syscall (netbsd-arm64-cgo), const IFT_SHDSL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_SIP = 31 -pkg syscall (netbsd-arm64-cgo), const IFT_SIP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_SIPSIG = 204 -pkg syscall (netbsd-arm64-cgo), const IFT_SIPSIG ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_SIPTG = 203 -pkg syscall (netbsd-arm64-cgo), const IFT_SIPTG ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_SLIP = 28 -pkg syscall (netbsd-arm64-cgo), const IFT_SLIP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_SMDSDXI = 43 -pkg syscall (netbsd-arm64-cgo), const IFT_SMDSDXI ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_SMDSICIP = 52 -pkg syscall (netbsd-arm64-cgo), const IFT_SMDSICIP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_SONET = 39 -pkg syscall (netbsd-arm64-cgo), const IFT_SONET ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_SONETOVERHEADCHANNEL = 185 -pkg syscall (netbsd-arm64-cgo), const IFT_SONETOVERHEADCHANNEL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_SONETPATH = 50 -pkg syscall (netbsd-arm64-cgo), const IFT_SONETPATH ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_SONETVT = 51 -pkg syscall (netbsd-arm64-cgo), const IFT_SONETVT ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_SRP = 151 -pkg syscall (netbsd-arm64-cgo), const IFT_SRP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_SS7SIGLINK = 156 -pkg syscall (netbsd-arm64-cgo), const IFT_SS7SIGLINK ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_STACKTOSTACK = 111 -pkg syscall (netbsd-arm64-cgo), const IFT_STACKTOSTACK ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_STARLAN = 11 -pkg syscall (netbsd-arm64-cgo), const IFT_STARLAN ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_STF = 215 -pkg syscall (netbsd-arm64-cgo), const IFT_STF ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_T1 = 18 -pkg syscall (netbsd-arm64-cgo), const IFT_T1 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_TDLC = 116 -pkg syscall (netbsd-arm64-cgo), const IFT_TDLC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_TELINK = 200 -pkg syscall (netbsd-arm64-cgo), const IFT_TELINK ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_TERMPAD = 91 -pkg syscall (netbsd-arm64-cgo), const IFT_TERMPAD ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_TR008 = 176 -pkg syscall (netbsd-arm64-cgo), const IFT_TR008 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_TRANSPHDLC = 123 -pkg syscall (netbsd-arm64-cgo), const IFT_TRANSPHDLC ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_TUNNEL = 131 -pkg syscall (netbsd-arm64-cgo), const IFT_TUNNEL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_ULTRA = 29 -pkg syscall (netbsd-arm64-cgo), const IFT_ULTRA ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_USB = 160 -pkg syscall (netbsd-arm64-cgo), const IFT_USB ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_V11 = 64 -pkg syscall (netbsd-arm64-cgo), const IFT_V11 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_V35 = 45 -pkg syscall (netbsd-arm64-cgo), const IFT_V35 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_V36 = 65 -pkg syscall (netbsd-arm64-cgo), const IFT_V36 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_V37 = 120 -pkg syscall (netbsd-arm64-cgo), const IFT_V37 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_VDSL = 97 -pkg syscall (netbsd-arm64-cgo), const IFT_VDSL ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_VIRTUALIPADDRESS = 112 -pkg syscall (netbsd-arm64-cgo), const IFT_VIRTUALIPADDRESS ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_VIRTUALTG = 202 -pkg syscall (netbsd-arm64-cgo), const IFT_VIRTUALTG ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEDID = 213 -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEDID ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEEM = 100 -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEEM ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEEMFGD = 211 -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEEMFGD ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEENCAP = 103 -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEENCAP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEFGDEANA = 212 -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEFGDEANA ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEFXO = 101 -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEFXO ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEFXS = 102 -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEFXS ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERATM = 152 -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERATM ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERCABLE = 198 -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERCABLE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERFRAMERELAY = 153 -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERFRAMERELAY ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERIP = 104 -pkg syscall (netbsd-arm64-cgo), const IFT_VOICEOVERIP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_X213 = 93 -pkg syscall (netbsd-arm64-cgo), const IFT_X213 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_X25 = 5 -pkg syscall (netbsd-arm64-cgo), const IFT_X25 ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_X25DDN = 4 -pkg syscall (netbsd-arm64-cgo), const IFT_X25DDN ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_X25HUNTGROUP = 122 -pkg syscall (netbsd-arm64-cgo), const IFT_X25HUNTGROUP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_X25MLP = 121 -pkg syscall (netbsd-arm64-cgo), const IFT_X25MLP ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_X25PLE = 40 -pkg syscall (netbsd-arm64-cgo), const IFT_X25PLE ideal-int -pkg syscall (netbsd-arm64-cgo), const IFT_XETHER = 26 -pkg syscall (netbsd-arm64-cgo), const IFT_XETHER ideal-int -pkg syscall (netbsd-arm64-cgo), const IGNBRK = 1 -pkg syscall (netbsd-arm64-cgo), const IGNBRK ideal-int -pkg syscall (netbsd-arm64-cgo), const IGNCR = 128 -pkg syscall (netbsd-arm64-cgo), const IGNCR ideal-int -pkg syscall (netbsd-arm64-cgo), const IGNPAR = 4 -pkg syscall (netbsd-arm64-cgo), const IGNPAR ideal-int -pkg syscall (netbsd-arm64-cgo), const IMAXBEL = 8192 -pkg syscall (netbsd-arm64-cgo), const IMAXBEL ideal-int -pkg syscall (netbsd-arm64-cgo), const INLCR = 64 -pkg syscall (netbsd-arm64-cgo), const INLCR ideal-int -pkg syscall (netbsd-arm64-cgo), const INPCK = 16 -pkg syscall (netbsd-arm64-cgo), const INPCK ideal-int -pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_HOST = 16777215 -pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_HOST ideal-int -pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_MAX = 128 -pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_MAX ideal-int -pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_NET = 4278190080 -pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_NET ideal-int -pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_NSHIFT = 24 -pkg syscall (netbsd-arm64-cgo), const IN_CLASSA_NSHIFT ideal-int -pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_HOST = 65535 -pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_HOST ideal-int -pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_MAX = 65536 -pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_MAX ideal-int -pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_NET = 4294901760 -pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_NET ideal-int -pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_NSHIFT = 16 -pkg syscall (netbsd-arm64-cgo), const IN_CLASSB_NSHIFT ideal-int -pkg syscall (netbsd-arm64-cgo), const IN_CLASSC_HOST = 255 -pkg syscall (netbsd-arm64-cgo), const IN_CLASSC_HOST ideal-int -pkg syscall (netbsd-arm64-cgo), const IN_CLASSC_NET = 4294967040 -pkg syscall (netbsd-arm64-cgo), const IN_CLASSC_NET ideal-int -pkg syscall (netbsd-arm64-cgo), const IN_CLASSC_NSHIFT = 8 -pkg syscall (netbsd-arm64-cgo), const IN_CLASSC_NSHIFT ideal-int -pkg syscall (netbsd-arm64-cgo), const IN_CLASSD_HOST = 268435455 -pkg syscall (netbsd-arm64-cgo), const IN_CLASSD_HOST ideal-int -pkg syscall (netbsd-arm64-cgo), const IN_CLASSD_NET = 4026531840 -pkg syscall (netbsd-arm64-cgo), const IN_CLASSD_NET ideal-int -pkg syscall (netbsd-arm64-cgo), const IN_CLASSD_NSHIFT = 28 -pkg syscall (netbsd-arm64-cgo), const IN_CLASSD_NSHIFT ideal-int -pkg syscall (netbsd-arm64-cgo), const IN_LOOPBACKNET = 127 -pkg syscall (netbsd-arm64-cgo), const IN_LOOPBACKNET ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_AH = 51 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_AH ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_CARP = 112 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_CARP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_DONE = 257 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_DONE ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_DSTOPTS = 60 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_DSTOPTS ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_EGP = 8 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_EGP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_ENCAP = 98 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_ENCAP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_EON = 80 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_EON ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_ESP = 50 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_ESP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_ETHERIP = 97 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_ETHERIP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_FRAGMENT = 44 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_FRAGMENT ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_GGP = 3 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_GGP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_GRE = 47 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_GRE ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_HOPOPTS = 0 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_HOPOPTS ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_ICMP = 1 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_ICMP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_ICMPV6 = 58 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_ICMPV6 ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_IDP = 22 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_IDP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_IGMP = 2 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_IGMP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPCOMP = 108 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPCOMP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPIP = 4 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPIP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPV4 = 4 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPV4 ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPV6_ICMP = 58 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_IPV6_ICMP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_MAX = 256 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_MAX ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_MAXID = 52 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_MAXID ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_MOBILE = 55 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_MOBILE ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_NONE = 59 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_NONE ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_PFSYNC = 240 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_PFSYNC ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_PIM = 103 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_PIM ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_PUP = 12 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_PUP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_RAW = 255 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_RAW ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_ROUTING = 43 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_ROUTING ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_RSVP = 46 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_RSVP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_TP = 29 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_TP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPPROTO_VRRP = 112 -pkg syscall (netbsd-arm64-cgo), const IPPROTO_VRRP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_CHECKSUM = 26 -pkg syscall (netbsd-arm64-cgo), const IPV6_CHECKSUM ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_DEFAULT_MULTICAST_HOPS = 1 -pkg syscall (netbsd-arm64-cgo), const IPV6_DEFAULT_MULTICAST_HOPS ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_DEFAULT_MULTICAST_LOOP = 1 -pkg syscall (netbsd-arm64-cgo), const IPV6_DEFAULT_MULTICAST_LOOP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_DEFHLIM = 64 -pkg syscall (netbsd-arm64-cgo), const IPV6_DEFHLIM ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_DONTFRAG = 62 -pkg syscall (netbsd-arm64-cgo), const IPV6_DONTFRAG ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_DSTOPTS = 50 -pkg syscall (netbsd-arm64-cgo), const IPV6_DSTOPTS ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_FAITH = 29 -pkg syscall (netbsd-arm64-cgo), const IPV6_FAITH ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_FLOWINFO_MASK = 4294967055 -pkg syscall (netbsd-arm64-cgo), const IPV6_FLOWINFO_MASK ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_FLOWLABEL_MASK = 4294905600 -pkg syscall (netbsd-arm64-cgo), const IPV6_FLOWLABEL_MASK ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_FRAGTTL = 120 -pkg syscall (netbsd-arm64-cgo), const IPV6_FRAGTTL ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_HLIMDEC = 1 -pkg syscall (netbsd-arm64-cgo), const IPV6_HLIMDEC ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_HOPLIMIT = 47 -pkg syscall (netbsd-arm64-cgo), const IPV6_HOPLIMIT ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_HOPOPTS = 49 -pkg syscall (netbsd-arm64-cgo), const IPV6_HOPOPTS ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_IPSEC_POLICY = 28 -pkg syscall (netbsd-arm64-cgo), const IPV6_IPSEC_POLICY ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_JOIN_GROUP = 12 -pkg syscall (netbsd-arm64-cgo), const IPV6_LEAVE_GROUP = 13 -pkg syscall (netbsd-arm64-cgo), const IPV6_MAXHLIM = 255 -pkg syscall (netbsd-arm64-cgo), const IPV6_MAXHLIM ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_MAXPACKET = 65535 -pkg syscall (netbsd-arm64-cgo), const IPV6_MAXPACKET ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_MMTU = 1280 -pkg syscall (netbsd-arm64-cgo), const IPV6_MMTU ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_MULTICAST_HOPS = 10 -pkg syscall (netbsd-arm64-cgo), const IPV6_MULTICAST_IF = 9 -pkg syscall (netbsd-arm64-cgo), const IPV6_MULTICAST_LOOP = 11 -pkg syscall (netbsd-arm64-cgo), const IPV6_NEXTHOP = 48 -pkg syscall (netbsd-arm64-cgo), const IPV6_NEXTHOP ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_PATHMTU = 44 -pkg syscall (netbsd-arm64-cgo), const IPV6_PATHMTU ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_PKTINFO = 46 -pkg syscall (netbsd-arm64-cgo), const IPV6_PKTINFO ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE = 14 -pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE_DEFAULT = 0 -pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE_DEFAULT ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE_HIGH = 1 -pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE_HIGH ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE_LOW = 2 -pkg syscall (netbsd-arm64-cgo), const IPV6_PORTRANGE_LOW ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_RECVDSTOPTS = 40 -pkg syscall (netbsd-arm64-cgo), const IPV6_RECVDSTOPTS ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_RECVHOPLIMIT = 37 -pkg syscall (netbsd-arm64-cgo), const IPV6_RECVHOPLIMIT ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_RECVHOPOPTS = 39 -pkg syscall (netbsd-arm64-cgo), const IPV6_RECVHOPOPTS ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_RECVPATHMTU = 43 -pkg syscall (netbsd-arm64-cgo), const IPV6_RECVPATHMTU ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_RECVPKTINFO = 36 -pkg syscall (netbsd-arm64-cgo), const IPV6_RECVPKTINFO ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_RECVRTHDR = 38 -pkg syscall (netbsd-arm64-cgo), const IPV6_RECVRTHDR ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_RECVTCLASS = 57 -pkg syscall (netbsd-arm64-cgo), const IPV6_RECVTCLASS ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR = 51 -pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDRDSTOPTS = 35 -pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDRDSTOPTS ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR_LOOSE = 0 -pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR_LOOSE ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR_STRICT = 1 -pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR_STRICT ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR_TYPE_0 = 0 -pkg syscall (netbsd-arm64-cgo), const IPV6_RTHDR_TYPE_0 ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_SOCKOPT_RESERVED1 = 3 -pkg syscall (netbsd-arm64-cgo), const IPV6_SOCKOPT_RESERVED1 ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_TCLASS = 61 -pkg syscall (netbsd-arm64-cgo), const IPV6_TCLASS ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_UNICAST_HOPS = 4 -pkg syscall (netbsd-arm64-cgo), const IPV6_USE_MIN_MTU = 42 -pkg syscall (netbsd-arm64-cgo), const IPV6_USE_MIN_MTU ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_V6ONLY = 27 -pkg syscall (netbsd-arm64-cgo), const IPV6_VERSION = 96 -pkg syscall (netbsd-arm64-cgo), const IPV6_VERSION ideal-int -pkg syscall (netbsd-arm64-cgo), const IPV6_VERSION_MASK = 240 -pkg syscall (netbsd-arm64-cgo), const IPV6_VERSION_MASK ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_ADD_MEMBERSHIP = 12 -pkg syscall (netbsd-arm64-cgo), const IP_DEFAULT_MULTICAST_LOOP = 1 -pkg syscall (netbsd-arm64-cgo), const IP_DEFAULT_MULTICAST_LOOP ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_DEFAULT_MULTICAST_TTL = 1 -pkg syscall (netbsd-arm64-cgo), const IP_DEFAULT_MULTICAST_TTL ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_DF = 16384 -pkg syscall (netbsd-arm64-cgo), const IP_DF ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_DROP_MEMBERSHIP = 13 -pkg syscall (netbsd-arm64-cgo), const IP_EF = 32768 -pkg syscall (netbsd-arm64-cgo), const IP_EF ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_ERRORMTU = 21 -pkg syscall (netbsd-arm64-cgo), const IP_ERRORMTU ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_HDRINCL = 2 -pkg syscall (netbsd-arm64-cgo), const IP_HDRINCL ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_IPSEC_POLICY = 22 -pkg syscall (netbsd-arm64-cgo), const IP_IPSEC_POLICY ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_MAXPACKET = 65535 -pkg syscall (netbsd-arm64-cgo), const IP_MAXPACKET ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_MAX_MEMBERSHIPS = 20 -pkg syscall (netbsd-arm64-cgo), const IP_MAX_MEMBERSHIPS ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_MF = 8192 -pkg syscall (netbsd-arm64-cgo), const IP_MF ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_MINFRAGSIZE = 69 -pkg syscall (netbsd-arm64-cgo), const IP_MINFRAGSIZE ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_MINTTL = 24 -pkg syscall (netbsd-arm64-cgo), const IP_MINTTL ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_MSS = 576 -pkg syscall (netbsd-arm64-cgo), const IP_MSS ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_MULTICAST_IF = 9 -pkg syscall (netbsd-arm64-cgo), const IP_MULTICAST_LOOP = 11 -pkg syscall (netbsd-arm64-cgo), const IP_MULTICAST_TTL = 10 -pkg syscall (netbsd-arm64-cgo), const IP_OFFMASK = 8191 -pkg syscall (netbsd-arm64-cgo), const IP_OFFMASK ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_OPTIONS = 1 -pkg syscall (netbsd-arm64-cgo), const IP_OPTIONS ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE = 19 -pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE_DEFAULT = 0 -pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE_DEFAULT ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE_HIGH = 1 -pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE_HIGH ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE_LOW = 2 -pkg syscall (netbsd-arm64-cgo), const IP_PORTRANGE_LOW ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_RECVDSTADDR = 7 -pkg syscall (netbsd-arm64-cgo), const IP_RECVDSTADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_RECVIF = 20 -pkg syscall (netbsd-arm64-cgo), const IP_RECVIF ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_RECVOPTS = 5 -pkg syscall (netbsd-arm64-cgo), const IP_RECVOPTS ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_RECVRETOPTS = 6 -pkg syscall (netbsd-arm64-cgo), const IP_RECVRETOPTS ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_RECVTTL = 23 -pkg syscall (netbsd-arm64-cgo), const IP_RECVTTL ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_RETOPTS = 8 -pkg syscall (netbsd-arm64-cgo), const IP_RETOPTS ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_RF = 32768 -pkg syscall (netbsd-arm64-cgo), const IP_RF ideal-int -pkg syscall (netbsd-arm64-cgo), const IP_TOS = 3 -pkg syscall (netbsd-arm64-cgo), const IP_TTL = 4 -pkg syscall (netbsd-arm64-cgo), const ISIG = 128 -pkg syscall (netbsd-arm64-cgo), const ISIG ideal-int -pkg syscall (netbsd-arm64-cgo), const ISTRIP = 32 -pkg syscall (netbsd-arm64-cgo), const ISTRIP ideal-int -pkg syscall (netbsd-arm64-cgo), const IXANY = 2048 -pkg syscall (netbsd-arm64-cgo), const IXANY ideal-int -pkg syscall (netbsd-arm64-cgo), const IXOFF = 1024 -pkg syscall (netbsd-arm64-cgo), const IXOFF ideal-int -pkg syscall (netbsd-arm64-cgo), const IXON = 512 -pkg syscall (netbsd-arm64-cgo), const IXON ideal-int -pkg syscall (netbsd-arm64-cgo), const LOCK_EX = 2 -pkg syscall (netbsd-arm64-cgo), const LOCK_EX ideal-int -pkg syscall (netbsd-arm64-cgo), const LOCK_NB = 4 -pkg syscall (netbsd-arm64-cgo), const LOCK_NB ideal-int -pkg syscall (netbsd-arm64-cgo), const LOCK_SH = 1 -pkg syscall (netbsd-arm64-cgo), const LOCK_SH ideal-int -pkg syscall (netbsd-arm64-cgo), const LOCK_UN = 8 -pkg syscall (netbsd-arm64-cgo), const LOCK_UN ideal-int -pkg syscall (netbsd-arm64-cgo), const MADV_DONTNEED = 4 -pkg syscall (netbsd-arm64-cgo), const MADV_DONTNEED ideal-int -pkg syscall (netbsd-arm64-cgo), const MADV_FREE = 6 -pkg syscall (netbsd-arm64-cgo), const MADV_FREE ideal-int -pkg syscall (netbsd-arm64-cgo), const MADV_NORMAL = 0 -pkg syscall (netbsd-arm64-cgo), const MADV_NORMAL ideal-int -pkg syscall (netbsd-arm64-cgo), const MADV_RANDOM = 1 -pkg syscall (netbsd-arm64-cgo), const MADV_RANDOM ideal-int -pkg syscall (netbsd-arm64-cgo), const MADV_SEQUENTIAL = 2 -pkg syscall (netbsd-arm64-cgo), const MADV_SEQUENTIAL ideal-int -pkg syscall (netbsd-arm64-cgo), const MADV_SPACEAVAIL = 5 -pkg syscall (netbsd-arm64-cgo), const MADV_SPACEAVAIL ideal-int -pkg syscall (netbsd-arm64-cgo), const MADV_WILLNEED = 3 -pkg syscall (netbsd-arm64-cgo), const MADV_WILLNEED ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_16MB = 402653184 -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_16MB ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_1TB = 671088640 -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_1TB ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_256TB = 805306368 -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_256TB ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_4GB = 536870912 -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_4GB ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_64KB = 268435456 -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_64KB ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_64PB = 939524096 -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_64PB ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_MASK = -16777216 -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_MASK ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_SHIFT = 24 -pkg syscall (netbsd-arm64-cgo), const MAP_ALIGNMENT_SHIFT ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_ANON = 4096 -pkg syscall (netbsd-arm64-cgo), const MAP_ANON ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_FILE = 0 -pkg syscall (netbsd-arm64-cgo), const MAP_FILE ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_FIXED = 16 -pkg syscall (netbsd-arm64-cgo), const MAP_FIXED ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_HASSEMAPHORE = 512 -pkg syscall (netbsd-arm64-cgo), const MAP_HASSEMAPHORE ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT = 128 -pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_COPY = 1 -pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_COPY ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_DEFAULT = 1 -pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_DEFAULT ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_DONATE_COPY = 3 -pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_DONATE_COPY ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_NONE = 2 -pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_NONE ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_SHARE = 0 -pkg syscall (netbsd-arm64-cgo), const MAP_INHERIT_SHARE ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_NORESERVE = 64 -pkg syscall (netbsd-arm64-cgo), const MAP_NORESERVE ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_PRIVATE = 2 -pkg syscall (netbsd-arm64-cgo), const MAP_PRIVATE ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_RENAME = 32 -pkg syscall (netbsd-arm64-cgo), const MAP_RENAME ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_SHARED = 1 -pkg syscall (netbsd-arm64-cgo), const MAP_SHARED ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_STACK = 8192 -pkg syscall (netbsd-arm64-cgo), const MAP_STACK ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_TRYFIXED = 1024 -pkg syscall (netbsd-arm64-cgo), const MAP_TRYFIXED ideal-int -pkg syscall (netbsd-arm64-cgo), const MAP_WIRED = 2048 -pkg syscall (netbsd-arm64-cgo), const MAP_WIRED ideal-int -pkg syscall (netbsd-arm64-cgo), const MCL_CURRENT = 1 -pkg syscall (netbsd-arm64-cgo), const MCL_CURRENT ideal-int -pkg syscall (netbsd-arm64-cgo), const MCL_FUTURE = 2 -pkg syscall (netbsd-arm64-cgo), const MCL_FUTURE ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_BCAST = 256 -pkg syscall (netbsd-arm64-cgo), const MSG_BCAST ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_CMSG_CLOEXEC = 2048 -pkg syscall (netbsd-arm64-cgo), const MSG_CMSG_CLOEXEC ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_CONTROLMBUF = 33554432 -pkg syscall (netbsd-arm64-cgo), const MSG_CONTROLMBUF ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_CTRUNC = 32 -pkg syscall (netbsd-arm64-cgo), const MSG_CTRUNC ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_DONTROUTE = 4 -pkg syscall (netbsd-arm64-cgo), const MSG_DONTROUTE ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_DONTWAIT = 128 -pkg syscall (netbsd-arm64-cgo), const MSG_DONTWAIT ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_EOR = 8 -pkg syscall (netbsd-arm64-cgo), const MSG_EOR ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_IOVUSRSPACE = 67108864 -pkg syscall (netbsd-arm64-cgo), const MSG_IOVUSRSPACE ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_LENUSRSPACE = 134217728 -pkg syscall (netbsd-arm64-cgo), const MSG_LENUSRSPACE ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_MCAST = 512 -pkg syscall (netbsd-arm64-cgo), const MSG_MCAST ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_NAMEMBUF = 16777216 -pkg syscall (netbsd-arm64-cgo), const MSG_NAMEMBUF ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_NBIO = 4096 -pkg syscall (netbsd-arm64-cgo), const MSG_NBIO ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_NOSIGNAL = 1024 -pkg syscall (netbsd-arm64-cgo), const MSG_NOSIGNAL ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_OOB = 1 -pkg syscall (netbsd-arm64-cgo), const MSG_OOB ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_PEEK = 2 -pkg syscall (netbsd-arm64-cgo), const MSG_PEEK ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_TRUNC = 16 -pkg syscall (netbsd-arm64-cgo), const MSG_TRUNC ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_USERFLAGS = 16777215 -pkg syscall (netbsd-arm64-cgo), const MSG_USERFLAGS ideal-int -pkg syscall (netbsd-arm64-cgo), const MSG_WAITALL = 64 -pkg syscall (netbsd-arm64-cgo), const MSG_WAITALL ideal-int -pkg syscall (netbsd-arm64-cgo), const MS_ASYNC = 1 -pkg syscall (netbsd-arm64-cgo), const MS_ASYNC ideal-int -pkg syscall (netbsd-arm64-cgo), const MS_INVALIDATE = 2 -pkg syscall (netbsd-arm64-cgo), const MS_INVALIDATE ideal-int -pkg syscall (netbsd-arm64-cgo), const MS_SYNC = 4 -pkg syscall (netbsd-arm64-cgo), const MS_SYNC ideal-int -pkg syscall (netbsd-arm64-cgo), const NAME_MAX = 511 -pkg syscall (netbsd-arm64-cgo), const NAME_MAX ideal-int -pkg syscall (netbsd-arm64-cgo), const NET_RT_DUMP = 1 -pkg syscall (netbsd-arm64-cgo), const NET_RT_DUMP ideal-int -pkg syscall (netbsd-arm64-cgo), const NET_RT_FLAGS = 2 -pkg syscall (netbsd-arm64-cgo), const NET_RT_FLAGS ideal-int -pkg syscall (netbsd-arm64-cgo), const NET_RT_IFLIST = 5 -pkg syscall (netbsd-arm64-cgo), const NET_RT_IFLIST ideal-int -pkg syscall (netbsd-arm64-cgo), const NET_RT_MAXID = 6 -pkg syscall (netbsd-arm64-cgo), const NET_RT_MAXID ideal-int -pkg syscall (netbsd-arm64-cgo), const NET_RT_OIFLIST = 4 -pkg syscall (netbsd-arm64-cgo), const NET_RT_OIFLIST ideal-int -pkg syscall (netbsd-arm64-cgo), const NET_RT_OOIFLIST = 3 -pkg syscall (netbsd-arm64-cgo), const NET_RT_OOIFLIST ideal-int -pkg syscall (netbsd-arm64-cgo), const NOFLSH = 2147483648 -pkg syscall (netbsd-arm64-cgo), const NOFLSH ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_ATTRIB = 8 -pkg syscall (netbsd-arm64-cgo), const NOTE_ATTRIB ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_CHILD = 4 -pkg syscall (netbsd-arm64-cgo), const NOTE_CHILD ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_DELETE = 1 -pkg syscall (netbsd-arm64-cgo), const NOTE_DELETE ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_EXEC = 536870912 -pkg syscall (netbsd-arm64-cgo), const NOTE_EXEC ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_EXIT = 2147483648 -pkg syscall (netbsd-arm64-cgo), const NOTE_EXIT ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_EXTEND = 4 -pkg syscall (netbsd-arm64-cgo), const NOTE_EXTEND ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_FORK = 1073741824 -pkg syscall (netbsd-arm64-cgo), const NOTE_FORK ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_LINK = 16 -pkg syscall (netbsd-arm64-cgo), const NOTE_LINK ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_LOWAT = 1 -pkg syscall (netbsd-arm64-cgo), const NOTE_LOWAT ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_PCTRLMASK = 4026531840 -pkg syscall (netbsd-arm64-cgo), const NOTE_PCTRLMASK ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_PDATAMASK = 1048575 -pkg syscall (netbsd-arm64-cgo), const NOTE_PDATAMASK ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_RENAME = 32 -pkg syscall (netbsd-arm64-cgo), const NOTE_RENAME ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_REVOKE = 64 -pkg syscall (netbsd-arm64-cgo), const NOTE_REVOKE ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_TRACK = 1 -pkg syscall (netbsd-arm64-cgo), const NOTE_TRACK ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_TRACKERR = 2 -pkg syscall (netbsd-arm64-cgo), const NOTE_TRACKERR ideal-int -pkg syscall (netbsd-arm64-cgo), const NOTE_WRITE = 2 -pkg syscall (netbsd-arm64-cgo), const NOTE_WRITE ideal-int -pkg syscall (netbsd-arm64-cgo), const OCRNL = 16 -pkg syscall (netbsd-arm64-cgo), const OCRNL ideal-int -pkg syscall (netbsd-arm64-cgo), const OFIOGETBMAP = 3221513850 -pkg syscall (netbsd-arm64-cgo), const OFIOGETBMAP ideal-int -pkg syscall (netbsd-arm64-cgo), const ONLCR = 2 -pkg syscall (netbsd-arm64-cgo), const ONLCR ideal-int -pkg syscall (netbsd-arm64-cgo), const ONLRET = 64 -pkg syscall (netbsd-arm64-cgo), const ONLRET ideal-int -pkg syscall (netbsd-arm64-cgo), const ONOCR = 32 -pkg syscall (netbsd-arm64-cgo), const ONOCR ideal-int -pkg syscall (netbsd-arm64-cgo), const ONOEOT = 8 -pkg syscall (netbsd-arm64-cgo), const ONOEOT ideal-int -pkg syscall (netbsd-arm64-cgo), const OPOST = 1 -pkg syscall (netbsd-arm64-cgo), const OPOST ideal-int -pkg syscall (netbsd-arm64-cgo), const O_ACCMODE = 3 -pkg syscall (netbsd-arm64-cgo), const O_ACCMODE ideal-int -pkg syscall (netbsd-arm64-cgo), const O_ALT_IO = 262144 -pkg syscall (netbsd-arm64-cgo), const O_ALT_IO ideal-int -pkg syscall (netbsd-arm64-cgo), const O_APPEND = 8 -pkg syscall (netbsd-arm64-cgo), const O_ASYNC = 64 -pkg syscall (netbsd-arm64-cgo), const O_CLOEXEC = 4194304 -pkg syscall (netbsd-arm64-cgo), const O_CREAT = 512 -pkg syscall (netbsd-arm64-cgo), const O_DIRECT = 524288 -pkg syscall (netbsd-arm64-cgo), const O_DIRECT ideal-int -pkg syscall (netbsd-arm64-cgo), const O_DIRECTORY = 2097152 -pkg syscall (netbsd-arm64-cgo), const O_DIRECTORY ideal-int -pkg syscall (netbsd-arm64-cgo), const O_DSYNC = 65536 -pkg syscall (netbsd-arm64-cgo), const O_DSYNC ideal-int -pkg syscall (netbsd-arm64-cgo), const O_EXCL = 2048 -pkg syscall (netbsd-arm64-cgo), const O_EXLOCK = 32 -pkg syscall (netbsd-arm64-cgo), const O_EXLOCK ideal-int -pkg syscall (netbsd-arm64-cgo), const O_FSYNC = 128 -pkg syscall (netbsd-arm64-cgo), const O_FSYNC ideal-int -pkg syscall (netbsd-arm64-cgo), const O_NDELAY = 4 -pkg syscall (netbsd-arm64-cgo), const O_NDELAY ideal-int -pkg syscall (netbsd-arm64-cgo), const O_NOCTTY = 32768 -pkg syscall (netbsd-arm64-cgo), const O_NOFOLLOW = 256 -pkg syscall (netbsd-arm64-cgo), const O_NOFOLLOW ideal-int -pkg syscall (netbsd-arm64-cgo), const O_NONBLOCK = 4 -pkg syscall (netbsd-arm64-cgo), const O_NOSIGPIPE = 16777216 -pkg syscall (netbsd-arm64-cgo), const O_NOSIGPIPE ideal-int -pkg syscall (netbsd-arm64-cgo), const O_RSYNC = 131072 -pkg syscall (netbsd-arm64-cgo), const O_RSYNC ideal-int -pkg syscall (netbsd-arm64-cgo), const O_SHLOCK = 16 -pkg syscall (netbsd-arm64-cgo), const O_SHLOCK ideal-int -pkg syscall (netbsd-arm64-cgo), const O_SYNC = 128 -pkg syscall (netbsd-arm64-cgo), const O_TRUNC = 1024 -pkg syscall (netbsd-arm64-cgo), const PARENB = 4096 -pkg syscall (netbsd-arm64-cgo), const PARENB ideal-int -pkg syscall (netbsd-arm64-cgo), const PARMRK = 8 -pkg syscall (netbsd-arm64-cgo), const PARMRK ideal-int -pkg syscall (netbsd-arm64-cgo), const PARODD = 8192 -pkg syscall (netbsd-arm64-cgo), const PARODD ideal-int -pkg syscall (netbsd-arm64-cgo), const PENDIN = 536870912 -pkg syscall (netbsd-arm64-cgo), const PENDIN ideal-int -pkg syscall (netbsd-arm64-cgo), const PRIO_PGRP = 1 -pkg syscall (netbsd-arm64-cgo), const PRIO_PGRP ideal-int -pkg syscall (netbsd-arm64-cgo), const PRIO_PROCESS = 0 -pkg syscall (netbsd-arm64-cgo), const PRIO_PROCESS ideal-int -pkg syscall (netbsd-arm64-cgo), const PRIO_USER = 2 -pkg syscall (netbsd-arm64-cgo), const PRIO_USER ideal-int -pkg syscall (netbsd-arm64-cgo), const PRI_IOFLUSH = 124 -pkg syscall (netbsd-arm64-cgo), const PRI_IOFLUSH ideal-int -pkg syscall (netbsd-arm64-cgo), const PROT_EXEC = 4 -pkg syscall (netbsd-arm64-cgo), const PROT_EXEC ideal-int -pkg syscall (netbsd-arm64-cgo), const PROT_NONE = 0 -pkg syscall (netbsd-arm64-cgo), const PROT_NONE ideal-int -pkg syscall (netbsd-arm64-cgo), const PROT_READ = 1 -pkg syscall (netbsd-arm64-cgo), const PROT_READ ideal-int -pkg syscall (netbsd-arm64-cgo), const PROT_WRITE = 2 -pkg syscall (netbsd-arm64-cgo), const PROT_WRITE ideal-int -pkg syscall (netbsd-arm64-cgo), const PTRACE_CONT = 7 -pkg syscall (netbsd-arm64-cgo), const PTRACE_CONT ideal-int -pkg syscall (netbsd-arm64-cgo), const PTRACE_KILL = 8 -pkg syscall (netbsd-arm64-cgo), const PTRACE_KILL ideal-int -pkg syscall (netbsd-arm64-cgo), const PTRACE_TRACEME = 0 -pkg syscall (netbsd-arm64-cgo), const PTRACE_TRACEME ideal-int -pkg syscall (netbsd-arm64-cgo), const RLIMIT_AS = 10 -pkg syscall (netbsd-arm64-cgo), const RLIMIT_AS ideal-int -pkg syscall (netbsd-arm64-cgo), const RLIMIT_CORE = 4 -pkg syscall (netbsd-arm64-cgo), const RLIMIT_CORE ideal-int -pkg syscall (netbsd-arm64-cgo), const RLIMIT_CPU = 0 -pkg syscall (netbsd-arm64-cgo), const RLIMIT_CPU ideal-int -pkg syscall (netbsd-arm64-cgo), const RLIMIT_DATA = 2 -pkg syscall (netbsd-arm64-cgo), const RLIMIT_DATA ideal-int -pkg syscall (netbsd-arm64-cgo), const RLIMIT_FSIZE = 1 -pkg syscall (netbsd-arm64-cgo), const RLIMIT_FSIZE ideal-int -pkg syscall (netbsd-arm64-cgo), const RLIMIT_NOFILE = 8 -pkg syscall (netbsd-arm64-cgo), const RLIMIT_NOFILE ideal-int -pkg syscall (netbsd-arm64-cgo), const RLIMIT_STACK = 3 -pkg syscall (netbsd-arm64-cgo), const RLIMIT_STACK ideal-int -pkg syscall (netbsd-arm64-cgo), const RLIM_INFINITY = 9223372036854775807 -pkg syscall (netbsd-arm64-cgo), const RLIM_INFINITY ideal-int -pkg syscall (netbsd-arm64-cgo), const RTAX_AUTHOR = 6 -pkg syscall (netbsd-arm64-cgo), const RTAX_AUTHOR ideal-int -pkg syscall (netbsd-arm64-cgo), const RTAX_BRD = 7 -pkg syscall (netbsd-arm64-cgo), const RTAX_BRD ideal-int -pkg syscall (netbsd-arm64-cgo), const RTAX_DST = 0 -pkg syscall (netbsd-arm64-cgo), const RTAX_DST ideal-int -pkg syscall (netbsd-arm64-cgo), const RTAX_GATEWAY = 1 -pkg syscall (netbsd-arm64-cgo), const RTAX_GATEWAY ideal-int -pkg syscall (netbsd-arm64-cgo), const RTAX_GENMASK = 3 -pkg syscall (netbsd-arm64-cgo), const RTAX_GENMASK ideal-int -pkg syscall (netbsd-arm64-cgo), const RTAX_IFA = 5 -pkg syscall (netbsd-arm64-cgo), const RTAX_IFA ideal-int -pkg syscall (netbsd-arm64-cgo), const RTAX_IFP = 4 -pkg syscall (netbsd-arm64-cgo), const RTAX_IFP ideal-int -pkg syscall (netbsd-arm64-cgo), const RTAX_MAX = 9 -pkg syscall (netbsd-arm64-cgo), const RTAX_MAX ideal-int -pkg syscall (netbsd-arm64-cgo), const RTAX_NETMASK = 2 -pkg syscall (netbsd-arm64-cgo), const RTAX_NETMASK ideal-int -pkg syscall (netbsd-arm64-cgo), const RTAX_TAG = 8 -pkg syscall (netbsd-arm64-cgo), const RTAX_TAG ideal-int -pkg syscall (netbsd-arm64-cgo), const RTA_AUTHOR = 64 -pkg syscall (netbsd-arm64-cgo), const RTA_AUTHOR ideal-int -pkg syscall (netbsd-arm64-cgo), const RTA_BRD = 128 -pkg syscall (netbsd-arm64-cgo), const RTA_BRD ideal-int -pkg syscall (netbsd-arm64-cgo), const RTA_DST = 1 -pkg syscall (netbsd-arm64-cgo), const RTA_DST ideal-int -pkg syscall (netbsd-arm64-cgo), const RTA_GATEWAY = 2 -pkg syscall (netbsd-arm64-cgo), const RTA_GATEWAY ideal-int -pkg syscall (netbsd-arm64-cgo), const RTA_GENMASK = 8 -pkg syscall (netbsd-arm64-cgo), const RTA_GENMASK ideal-int -pkg syscall (netbsd-arm64-cgo), const RTA_IFA = 32 -pkg syscall (netbsd-arm64-cgo), const RTA_IFA ideal-int -pkg syscall (netbsd-arm64-cgo), const RTA_IFP = 16 -pkg syscall (netbsd-arm64-cgo), const RTA_IFP ideal-int -pkg syscall (netbsd-arm64-cgo), const RTA_NETMASK = 4 -pkg syscall (netbsd-arm64-cgo), const RTA_NETMASK ideal-int -pkg syscall (netbsd-arm64-cgo), const RTA_TAG = 256 -pkg syscall (netbsd-arm64-cgo), const RTA_TAG ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_ANNOUNCE = 131072 -pkg syscall (netbsd-arm64-cgo), const RTF_ANNOUNCE ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_BLACKHOLE = 4096 -pkg syscall (netbsd-arm64-cgo), const RTF_BLACKHOLE ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_CLONED = 8192 -pkg syscall (netbsd-arm64-cgo), const RTF_CLONED ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_CLONING = 256 -pkg syscall (netbsd-arm64-cgo), const RTF_CLONING ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_DONE = 64 -pkg syscall (netbsd-arm64-cgo), const RTF_DONE ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_DYNAMIC = 16 -pkg syscall (netbsd-arm64-cgo), const RTF_DYNAMIC ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_GATEWAY = 2 -pkg syscall (netbsd-arm64-cgo), const RTF_GATEWAY ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_HOST = 4 -pkg syscall (netbsd-arm64-cgo), const RTF_HOST ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_LLINFO = 1024 -pkg syscall (netbsd-arm64-cgo), const RTF_LLINFO ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_MASK = 128 -pkg syscall (netbsd-arm64-cgo), const RTF_MASK ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_MODIFIED = 32 -pkg syscall (netbsd-arm64-cgo), const RTF_MODIFIED ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_PROTO1 = 32768 -pkg syscall (netbsd-arm64-cgo), const RTF_PROTO1 ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_PROTO2 = 16384 -pkg syscall (netbsd-arm64-cgo), const RTF_PROTO2 ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_REJECT = 8 -pkg syscall (netbsd-arm64-cgo), const RTF_REJECT ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_SRC = 65536 -pkg syscall (netbsd-arm64-cgo), const RTF_SRC ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_STATIC = 2048 -pkg syscall (netbsd-arm64-cgo), const RTF_STATIC ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_UP = 1 -pkg syscall (netbsd-arm64-cgo), const RTF_UP ideal-int -pkg syscall (netbsd-arm64-cgo), const RTF_XRESOLVE = 512 -pkg syscall (netbsd-arm64-cgo), const RTF_XRESOLVE ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_ADD = 1 -pkg syscall (netbsd-arm64-cgo), const RTM_ADD ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_CHANGE = 3 -pkg syscall (netbsd-arm64-cgo), const RTM_CHANGE ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_CHGADDR = 21 -pkg syscall (netbsd-arm64-cgo), const RTM_CHGADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_DELADDR = 13 -pkg syscall (netbsd-arm64-cgo), const RTM_DELADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_DELETE = 2 -pkg syscall (netbsd-arm64-cgo), const RTM_DELETE ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_GET = 4 -pkg syscall (netbsd-arm64-cgo), const RTM_GET ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_IEEE80211 = 17 -pkg syscall (netbsd-arm64-cgo), const RTM_IEEE80211 ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_IFANNOUNCE = 16 -pkg syscall (netbsd-arm64-cgo), const RTM_IFANNOUNCE ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_IFINFO = 20 -pkg syscall (netbsd-arm64-cgo), const RTM_IFINFO ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_LLINFO_UPD = 19 -pkg syscall (netbsd-arm64-cgo), const RTM_LLINFO_UPD ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_LOCK = 8 -pkg syscall (netbsd-arm64-cgo), const RTM_LOCK ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_LOSING = 5 -pkg syscall (netbsd-arm64-cgo), const RTM_LOSING ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_MISS = 7 -pkg syscall (netbsd-arm64-cgo), const RTM_MISS ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_NEWADDR = 12 -pkg syscall (netbsd-arm64-cgo), const RTM_NEWADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_OIFINFO = 15 -pkg syscall (netbsd-arm64-cgo), const RTM_OIFINFO ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_OLDADD = 9 -pkg syscall (netbsd-arm64-cgo), const RTM_OLDADD ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_OLDDEL = 10 -pkg syscall (netbsd-arm64-cgo), const RTM_OLDDEL ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_OOIFINFO = 14 -pkg syscall (netbsd-arm64-cgo), const RTM_OOIFINFO ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_REDIRECT = 6 -pkg syscall (netbsd-arm64-cgo), const RTM_REDIRECT ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_RESOLVE = 11 -pkg syscall (netbsd-arm64-cgo), const RTM_RESOLVE ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_RTTUNIT = 1000000 -pkg syscall (netbsd-arm64-cgo), const RTM_RTTUNIT ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_SETGATE = 18 -pkg syscall (netbsd-arm64-cgo), const RTM_SETGATE ideal-int -pkg syscall (netbsd-arm64-cgo), const RTM_VERSION = 4 -pkg syscall (netbsd-arm64-cgo), const RTM_VERSION ideal-int -pkg syscall (netbsd-arm64-cgo), const RTV_EXPIRE = 4 -pkg syscall (netbsd-arm64-cgo), const RTV_EXPIRE ideal-int -pkg syscall (netbsd-arm64-cgo), const RTV_HOPCOUNT = 2 -pkg syscall (netbsd-arm64-cgo), const RTV_HOPCOUNT ideal-int -pkg syscall (netbsd-arm64-cgo), const RTV_MTU = 1 -pkg syscall (netbsd-arm64-cgo), const RTV_MTU ideal-int -pkg syscall (netbsd-arm64-cgo), const RTV_RPIPE = 8 -pkg syscall (netbsd-arm64-cgo), const RTV_RPIPE ideal-int -pkg syscall (netbsd-arm64-cgo), const RTV_RTT = 64 -pkg syscall (netbsd-arm64-cgo), const RTV_RTT ideal-int -pkg syscall (netbsd-arm64-cgo), const RTV_RTTVAR = 128 -pkg syscall (netbsd-arm64-cgo), const RTV_RTTVAR ideal-int -pkg syscall (netbsd-arm64-cgo), const RTV_SPIPE = 16 -pkg syscall (netbsd-arm64-cgo), const RTV_SPIPE ideal-int -pkg syscall (netbsd-arm64-cgo), const RTV_SSTHRESH = 32 -pkg syscall (netbsd-arm64-cgo), const RTV_SSTHRESH ideal-int -pkg syscall (netbsd-arm64-cgo), const RUSAGE_CHILDREN = -1 -pkg syscall (netbsd-arm64-cgo), const RUSAGE_CHILDREN ideal-int -pkg syscall (netbsd-arm64-cgo), const RUSAGE_SELF = 0 -pkg syscall (netbsd-arm64-cgo), const RUSAGE_SELF ideal-int -pkg syscall (netbsd-arm64-cgo), const SCM_CREDS = 4 -pkg syscall (netbsd-arm64-cgo), const SCM_CREDS ideal-int -pkg syscall (netbsd-arm64-cgo), const SCM_RIGHTS = 1 -pkg syscall (netbsd-arm64-cgo), const SCM_RIGHTS ideal-int -pkg syscall (netbsd-arm64-cgo), const SCM_TIMESTAMP = 8 -pkg syscall (netbsd-arm64-cgo), const SCM_TIMESTAMP ideal-int -pkg syscall (netbsd-arm64-cgo), const SIGBUS = 10 -pkg syscall (netbsd-arm64-cgo), const SIGCHLD = 20 -pkg syscall (netbsd-arm64-cgo), const SIGCHLD Signal -pkg syscall (netbsd-arm64-cgo), const SIGCONT = 19 -pkg syscall (netbsd-arm64-cgo), const SIGCONT Signal -pkg syscall (netbsd-arm64-cgo), const SIGEMT = 7 -pkg syscall (netbsd-arm64-cgo), const SIGEMT Signal -pkg syscall (netbsd-arm64-cgo), const SIGINFO = 29 -pkg syscall (netbsd-arm64-cgo), const SIGINFO Signal -pkg syscall (netbsd-arm64-cgo), const SIGIO = 23 -pkg syscall (netbsd-arm64-cgo), const SIGIO Signal -pkg syscall (netbsd-arm64-cgo), const SIGIOT = 6 -pkg syscall (netbsd-arm64-cgo), const SIGIOT Signal -pkg syscall (netbsd-arm64-cgo), const SIGPROF = 27 -pkg syscall (netbsd-arm64-cgo), const SIGPROF Signal -pkg syscall (netbsd-arm64-cgo), const SIGPWR = 32 -pkg syscall (netbsd-arm64-cgo), const SIGPWR Signal -pkg syscall (netbsd-arm64-cgo), const SIGSTOP = 17 -pkg syscall (netbsd-arm64-cgo), const SIGSTOP Signal -pkg syscall (netbsd-arm64-cgo), const SIGSYS = 12 -pkg syscall (netbsd-arm64-cgo), const SIGSYS Signal -pkg syscall (netbsd-arm64-cgo), const SIGTSTP = 18 -pkg syscall (netbsd-arm64-cgo), const SIGTSTP Signal -pkg syscall (netbsd-arm64-cgo), const SIGTTIN = 21 -pkg syscall (netbsd-arm64-cgo), const SIGTTIN Signal -pkg syscall (netbsd-arm64-cgo), const SIGTTOU = 22 -pkg syscall (netbsd-arm64-cgo), const SIGTTOU Signal -pkg syscall (netbsd-arm64-cgo), const SIGURG = 16 -pkg syscall (netbsd-arm64-cgo), const SIGURG Signal -pkg syscall (netbsd-arm64-cgo), const SIGUSR1 = 30 -pkg syscall (netbsd-arm64-cgo), const SIGUSR1 Signal -pkg syscall (netbsd-arm64-cgo), const SIGUSR2 = 31 -pkg syscall (netbsd-arm64-cgo), const SIGUSR2 Signal -pkg syscall (netbsd-arm64-cgo), const SIGVTALRM = 26 -pkg syscall (netbsd-arm64-cgo), const SIGVTALRM Signal -pkg syscall (netbsd-arm64-cgo), const SIGWINCH = 28 -pkg syscall (netbsd-arm64-cgo), const SIGWINCH Signal -pkg syscall (netbsd-arm64-cgo), const SIGXCPU = 24 -pkg syscall (netbsd-arm64-cgo), const SIGXCPU Signal -pkg syscall (netbsd-arm64-cgo), const SIGXFSZ = 25 -pkg syscall (netbsd-arm64-cgo), const SIGXFSZ Signal -pkg syscall (netbsd-arm64-cgo), const SIOCADDMULTI = 2156947761 -pkg syscall (netbsd-arm64-cgo), const SIOCADDMULTI ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCADDRT = 2151182858 -pkg syscall (netbsd-arm64-cgo), const SIOCADDRT ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCAIFADDR = 2151704858 -pkg syscall (netbsd-arm64-cgo), const SIOCAIFADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCALIFADDR = 2165860636 -pkg syscall (netbsd-arm64-cgo), const SIOCALIFADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCATMARK = 1074033415 -pkg syscall (netbsd-arm64-cgo), const SIOCATMARK ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCDELMULTI = 2156947762 -pkg syscall (netbsd-arm64-cgo), const SIOCDELMULTI ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCDELRT = 2151182859 -pkg syscall (netbsd-arm64-cgo), const SIOCDELRT ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCDIFADDR = 2156947737 -pkg syscall (netbsd-arm64-cgo), const SIOCDIFADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCDIFPHYADDR = 2156947785 -pkg syscall (netbsd-arm64-cgo), const SIOCDIFPHYADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCDLIFADDR = 2165860638 -pkg syscall (netbsd-arm64-cgo), const SIOCDLIFADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGDRVSPEC = 3223873915 -pkg syscall (netbsd-arm64-cgo), const SIOCGDRVSPEC ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGETPFSYNC = 3230689784 -pkg syscall (netbsd-arm64-cgo), const SIOCGETPFSYNC ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGETSGCNT = 3223352628 -pkg syscall (netbsd-arm64-cgo), const SIOCGETSGCNT ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGETVIFCNT = 3223876915 -pkg syscall (netbsd-arm64-cgo), const SIOCGETVIFCNT ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGHIWAT = 1074033409 -pkg syscall (netbsd-arm64-cgo), const SIOCGHIWAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFADDR = 3230689569 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFADDRPREF = 3231213856 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFADDRPREF ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFALIAS = 3225446683 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFALIAS ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFBRDADDR = 3230689571 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFBRDADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFCAP = 3223349622 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFCAP ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFCONF = 3222300966 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFCONF ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFDATA = 3231213957 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFDATA ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFDLT = 3230689655 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFDLT ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFDSTADDR = 3230689570 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFDSTADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFFLAGS = 3230689553 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFFLAGS ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFGENERIC = 3230689594 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFGENERIC ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFMEDIA = 3224398134 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFMEDIA ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFMETRIC = 3230689559 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFMETRIC ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFMTU = 3230689662 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFMTU ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFNETMASK = 3230689573 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFNETMASK ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFPDSTADDR = 3230689608 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFPDSTADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGIFPSRCADDR = 3230689607 -pkg syscall (netbsd-arm64-cgo), const SIOCGIFPSRCADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGLIFADDR = 3239602461 -pkg syscall (netbsd-arm64-cgo), const SIOCGLIFADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGLIFPHYADDR = 3239602507 -pkg syscall (netbsd-arm64-cgo), const SIOCGLIFPHYADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGLINKSTR = 3223873927 -pkg syscall (netbsd-arm64-cgo), const SIOCGLINKSTR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGLOWAT = 1074033411 -pkg syscall (netbsd-arm64-cgo), const SIOCGLOWAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGPGRP = 1074033417 -pkg syscall (netbsd-arm64-cgo), const SIOCGPGRP ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCGVH = 3230689667 -pkg syscall (netbsd-arm64-cgo), const SIOCGVH ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCIFCREATE = 2156947834 -pkg syscall (netbsd-arm64-cgo), const SIOCIFCREATE ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCIFDESTROY = 2156947833 -pkg syscall (netbsd-arm64-cgo), const SIOCIFDESTROY ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCIFGCLONERS = 3222301048 -pkg syscall (netbsd-arm64-cgo), const SIOCIFGCLONERS ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCINITIFADDR = 3228592516 -pkg syscall (netbsd-arm64-cgo), const SIOCINITIFADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSDRVSPEC = 2150132091 -pkg syscall (netbsd-arm64-cgo), const SIOCSDRVSPEC ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSETPFSYNC = 2156947959 -pkg syscall (netbsd-arm64-cgo), const SIOCSETPFSYNC ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSHIWAT = 2147775232 -pkg syscall (netbsd-arm64-cgo), const SIOCSHIWAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSIFADDR = 2156947724 -pkg syscall (netbsd-arm64-cgo), const SIOCSIFADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSIFADDRPREF = 2157472031 -pkg syscall (netbsd-arm64-cgo), const SIOCSIFADDRPREF ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSIFBRDADDR = 2156947731 -pkg syscall (netbsd-arm64-cgo), const SIOCSIFBRDADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSIFCAP = 2149607797 -pkg syscall (netbsd-arm64-cgo), const SIOCSIFCAP ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSIFDSTADDR = 2156947726 -pkg syscall (netbsd-arm64-cgo), const SIOCSIFDSTADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSIFFLAGS = 2156947728 -pkg syscall (netbsd-arm64-cgo), const SIOCSIFFLAGS ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSIFGENERIC = 2156947769 -pkg syscall (netbsd-arm64-cgo), const SIOCSIFGENERIC ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSIFMEDIA = 3230689589 -pkg syscall (netbsd-arm64-cgo), const SIOCSIFMEDIA ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSIFMETRIC = 2156947736 -pkg syscall (netbsd-arm64-cgo), const SIOCSIFMETRIC ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSIFMTU = 2156947839 -pkg syscall (netbsd-arm64-cgo), const SIOCSIFMTU ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSIFNETMASK = 2156947734 -pkg syscall (netbsd-arm64-cgo), const SIOCSIFNETMASK ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSIFPHYADDR = 2151704902 -pkg syscall (netbsd-arm64-cgo), const SIOCSIFPHYADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSLIFPHYADDR = 2165860682 -pkg syscall (netbsd-arm64-cgo), const SIOCSLIFPHYADDR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSLINKSTR = 2150132104 -pkg syscall (netbsd-arm64-cgo), const SIOCSLINKSTR ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSLOWAT = 2147775234 -pkg syscall (netbsd-arm64-cgo), const SIOCSLOWAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSPGRP = 2147775240 -pkg syscall (netbsd-arm64-cgo), const SIOCSPGRP ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCSVH = 3230689666 -pkg syscall (netbsd-arm64-cgo), const SIOCSVH ideal-int -pkg syscall (netbsd-arm64-cgo), const SIOCZIFDATA = 3231213958 -pkg syscall (netbsd-arm64-cgo), const SIOCZIFDATA ideal-int -pkg syscall (netbsd-arm64-cgo), const SOCK_CLOEXEC = 268435456 -pkg syscall (netbsd-arm64-cgo), const SOCK_CLOEXEC ideal-int -pkg syscall (netbsd-arm64-cgo), const SOCK_FLAGS_MASK = 4026531840 -pkg syscall (netbsd-arm64-cgo), const SOCK_FLAGS_MASK ideal-int -pkg syscall (netbsd-arm64-cgo), const SOCK_NONBLOCK = 536870912 -pkg syscall (netbsd-arm64-cgo), const SOCK_NONBLOCK ideal-int -pkg syscall (netbsd-arm64-cgo), const SOCK_NOSIGPIPE = 1073741824 -pkg syscall (netbsd-arm64-cgo), const SOCK_NOSIGPIPE ideal-int -pkg syscall (netbsd-arm64-cgo), const SOCK_RDM = 4 -pkg syscall (netbsd-arm64-cgo), const SOCK_RDM ideal-int -pkg syscall (netbsd-arm64-cgo), const SOL_SOCKET = 65535 -pkg syscall (netbsd-arm64-cgo), const SOMAXCONN = 128 -pkg syscall (netbsd-arm64-cgo), const SO_ACCEPTCONN = 2 -pkg syscall (netbsd-arm64-cgo), const SO_ACCEPTCONN ideal-int -pkg syscall (netbsd-arm64-cgo), const SO_ACCEPTFILTER = 4096 -pkg syscall (netbsd-arm64-cgo), const SO_ACCEPTFILTER ideal-int -pkg syscall (netbsd-arm64-cgo), const SO_BROADCAST = 32 -pkg syscall (netbsd-arm64-cgo), const SO_DEBUG = 1 -pkg syscall (netbsd-arm64-cgo), const SO_DEBUG ideal-int -pkg syscall (netbsd-arm64-cgo), const SO_DONTROUTE = 16 -pkg syscall (netbsd-arm64-cgo), const SO_ERROR = 4103 -pkg syscall (netbsd-arm64-cgo), const SO_ERROR ideal-int -pkg syscall (netbsd-arm64-cgo), const SO_KEEPALIVE = 8 -pkg syscall (netbsd-arm64-cgo), const SO_LINGER = 128 -pkg syscall (netbsd-arm64-cgo), const SO_NOHEADER = 4106 -pkg syscall (netbsd-arm64-cgo), const SO_NOHEADER ideal-int -pkg syscall (netbsd-arm64-cgo), const SO_NOSIGPIPE = 2048 -pkg syscall (netbsd-arm64-cgo), const SO_NOSIGPIPE ideal-int -pkg syscall (netbsd-arm64-cgo), const SO_OOBINLINE = 256 -pkg syscall (netbsd-arm64-cgo), const SO_OOBINLINE ideal-int -pkg syscall (netbsd-arm64-cgo), const SO_OVERFLOWED = 4105 -pkg syscall (netbsd-arm64-cgo), const SO_OVERFLOWED ideal-int -pkg syscall (netbsd-arm64-cgo), const SO_RCVBUF = 4098 -pkg syscall (netbsd-arm64-cgo), const SO_RCVLOWAT = 4100 -pkg syscall (netbsd-arm64-cgo), const SO_RCVLOWAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SO_RCVTIMEO = 4108 -pkg syscall (netbsd-arm64-cgo), const SO_RCVTIMEO ideal-int -pkg syscall (netbsd-arm64-cgo), const SO_REUSEADDR = 4 -pkg syscall (netbsd-arm64-cgo), const SO_REUSEPORT = 512 -pkg syscall (netbsd-arm64-cgo), const SO_REUSEPORT ideal-int -pkg syscall (netbsd-arm64-cgo), const SO_SNDBUF = 4097 -pkg syscall (netbsd-arm64-cgo), const SO_SNDLOWAT = 4099 -pkg syscall (netbsd-arm64-cgo), const SO_SNDLOWAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SO_SNDTIMEO = 4107 -pkg syscall (netbsd-arm64-cgo), const SO_SNDTIMEO ideal-int -pkg syscall (netbsd-arm64-cgo), const SO_TIMESTAMP = 8192 -pkg syscall (netbsd-arm64-cgo), const SO_TIMESTAMP ideal-int -pkg syscall (netbsd-arm64-cgo), const SO_TYPE = 4104 -pkg syscall (netbsd-arm64-cgo), const SO_TYPE ideal-int -pkg syscall (netbsd-arm64-cgo), const SO_USELOOPBACK = 64 -pkg syscall (netbsd-arm64-cgo), const SO_USELOOPBACK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERSION = 16777216 -pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERSION ideal-int -pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERS_0 = 0 -pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERS_0 ideal-int -pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERS_1 = 16777216 -pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERS_1 ideal-int -pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERS_MASK = 4278190080 -pkg syscall (netbsd-arm64-cgo), const SYSCTL_VERS_MASK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_ACCEPT = 30 -pkg syscall (netbsd-arm64-cgo), const SYS_ACCEPT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_ACCESS = 33 -pkg syscall (netbsd-arm64-cgo), const SYS_ACCESS ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_ACCT = 51 -pkg syscall (netbsd-arm64-cgo), const SYS_ACCT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_ADJTIME = 421 -pkg syscall (netbsd-arm64-cgo), const SYS_ADJTIME ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_BIND = 104 -pkg syscall (netbsd-arm64-cgo), const SYS_BIND ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_BREAK = 17 -pkg syscall (netbsd-arm64-cgo), const SYS_BREAK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_CHDIR = 12 -pkg syscall (netbsd-arm64-cgo), const SYS_CHDIR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_CHFLAGS = 34 -pkg syscall (netbsd-arm64-cgo), const SYS_CHFLAGS ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_CHMOD = 15 -pkg syscall (netbsd-arm64-cgo), const SYS_CHMOD ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_CHOWN = 16 -pkg syscall (netbsd-arm64-cgo), const SYS_CHOWN ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_CHROOT = 61 -pkg syscall (netbsd-arm64-cgo), const SYS_CHROOT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_CLOCK_GETRES = 429 -pkg syscall (netbsd-arm64-cgo), const SYS_CLOCK_GETRES ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_CLOCK_GETTIME = 427 -pkg syscall (netbsd-arm64-cgo), const SYS_CLOCK_GETTIME ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_CLOCK_SETTIME = 428 -pkg syscall (netbsd-arm64-cgo), const SYS_CLOCK_SETTIME ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_CLOSE = 6 -pkg syscall (netbsd-arm64-cgo), const SYS_CLOSE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_CONNECT = 98 -pkg syscall (netbsd-arm64-cgo), const SYS_CONNECT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_DUP = 41 -pkg syscall (netbsd-arm64-cgo), const SYS_DUP ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_DUP2 = 90 -pkg syscall (netbsd-arm64-cgo), const SYS_DUP2 ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_DUP3 = 454 -pkg syscall (netbsd-arm64-cgo), const SYS_DUP3 ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_EXECVE = 59 -pkg syscall (netbsd-arm64-cgo), const SYS_EXECVE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_EXIT = 1 -pkg syscall (netbsd-arm64-cgo), const SYS_EXIT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTRCTL = 360 -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTRCTL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_DELETE_FD = 366 -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_DELETE_FD ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_DELETE_FILE = 363 -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_DELETE_FILE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_DELETE_LINK = 369 -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_DELETE_LINK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_GET_FD = 365 -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_GET_FD ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_GET_FILE = 362 -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_GET_FILE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_GET_LINK = 368 -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_GET_LINK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_LIST_FD = 370 -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_LIST_FD ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_LIST_FILE = 371 -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_LIST_FILE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_LIST_LINK = 372 -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_LIST_LINK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_SET_FD = 364 -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_SET_FD ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_SET_FILE = 361 -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_SET_FILE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_SET_LINK = 367 -pkg syscall (netbsd-arm64-cgo), const SYS_EXTATTR_SET_LINK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FACCESSAT = 462 -pkg syscall (netbsd-arm64-cgo), const SYS_FACCESSAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FCHDIR = 13 -pkg syscall (netbsd-arm64-cgo), const SYS_FCHDIR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FCHFLAGS = 35 -pkg syscall (netbsd-arm64-cgo), const SYS_FCHFLAGS ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FCHMOD = 124 -pkg syscall (netbsd-arm64-cgo), const SYS_FCHMOD ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FCHMODAT = 463 -pkg syscall (netbsd-arm64-cgo), const SYS_FCHMODAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FCHOWN = 123 -pkg syscall (netbsd-arm64-cgo), const SYS_FCHOWN ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FCHOWNAT = 464 -pkg syscall (netbsd-arm64-cgo), const SYS_FCHOWNAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FCHROOT = 297 -pkg syscall (netbsd-arm64-cgo), const SYS_FCHROOT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FCNTL = 92 -pkg syscall (netbsd-arm64-cgo), const SYS_FCNTL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FDATASYNC = 241 -pkg syscall (netbsd-arm64-cgo), const SYS_FDATASYNC ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FEXECVE = 465 -pkg syscall (netbsd-arm64-cgo), const SYS_FEXECVE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FGETXATTR = 380 -pkg syscall (netbsd-arm64-cgo), const SYS_FGETXATTR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FHSTAT = 451 -pkg syscall (netbsd-arm64-cgo), const SYS_FHSTAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FKTRACE = 288 -pkg syscall (netbsd-arm64-cgo), const SYS_FKTRACE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FLISTXATTR = 383 -pkg syscall (netbsd-arm64-cgo), const SYS_FLISTXATTR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FLOCK = 131 -pkg syscall (netbsd-arm64-cgo), const SYS_FLOCK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FORK = 2 -pkg syscall (netbsd-arm64-cgo), const SYS_FORK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FPATHCONF = 192 -pkg syscall (netbsd-arm64-cgo), const SYS_FPATHCONF ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FREMOVEXATTR = 386 -pkg syscall (netbsd-arm64-cgo), const SYS_FREMOVEXATTR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FSETXATTR = 377 -pkg syscall (netbsd-arm64-cgo), const SYS_FSETXATTR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FSTAT = 440 -pkg syscall (netbsd-arm64-cgo), const SYS_FSTAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FSTATAT = 466 -pkg syscall (netbsd-arm64-cgo), const SYS_FSTATAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FSTATVFS1 = 358 -pkg syscall (netbsd-arm64-cgo), const SYS_FSTATVFS1 ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FSYNC = 95 -pkg syscall (netbsd-arm64-cgo), const SYS_FSYNC ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FSYNC_RANGE = 354 -pkg syscall (netbsd-arm64-cgo), const SYS_FSYNC_RANGE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FTRUNCATE = 201 -pkg syscall (netbsd-arm64-cgo), const SYS_FTRUNCATE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FUTIMENS = 472 -pkg syscall (netbsd-arm64-cgo), const SYS_FUTIMENS ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_FUTIMES = 423 -pkg syscall (netbsd-arm64-cgo), const SYS_FUTIMES ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETCONTEXT = 307 -pkg syscall (netbsd-arm64-cgo), const SYS_GETCONTEXT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETDENTS = 390 -pkg syscall (netbsd-arm64-cgo), const SYS_GETDENTS ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETEGID = 43 -pkg syscall (netbsd-arm64-cgo), const SYS_GETEGID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETEUID = 25 -pkg syscall (netbsd-arm64-cgo), const SYS_GETEUID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETFH = 395 -pkg syscall (netbsd-arm64-cgo), const SYS_GETFH ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETGID = 47 -pkg syscall (netbsd-arm64-cgo), const SYS_GETGID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETGROUPS = 79 -pkg syscall (netbsd-arm64-cgo), const SYS_GETGROUPS ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETITIMER = 426 -pkg syscall (netbsd-arm64-cgo), const SYS_GETITIMER ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETPEERNAME = 31 -pkg syscall (netbsd-arm64-cgo), const SYS_GETPEERNAME ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETPGID = 207 -pkg syscall (netbsd-arm64-cgo), const SYS_GETPGID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETPGRP = 81 -pkg syscall (netbsd-arm64-cgo), const SYS_GETPGRP ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETPID = 20 -pkg syscall (netbsd-arm64-cgo), const SYS_GETPID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETPPID = 39 -pkg syscall (netbsd-arm64-cgo), const SYS_GETPPID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETPRIORITY = 100 -pkg syscall (netbsd-arm64-cgo), const SYS_GETPRIORITY ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETRLIMIT = 194 -pkg syscall (netbsd-arm64-cgo), const SYS_GETRLIMIT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETRUSAGE = 445 -pkg syscall (netbsd-arm64-cgo), const SYS_GETRUSAGE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETSID = 286 -pkg syscall (netbsd-arm64-cgo), const SYS_GETSID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETSOCKNAME = 32 -pkg syscall (netbsd-arm64-cgo), const SYS_GETSOCKNAME ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETSOCKOPT = 118 -pkg syscall (netbsd-arm64-cgo), const SYS_GETSOCKOPT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETTIMEOFDAY = 418 -pkg syscall (netbsd-arm64-cgo), const SYS_GETTIMEOFDAY ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETUID = 24 -pkg syscall (netbsd-arm64-cgo), const SYS_GETUID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETVFSSTAT = 356 -pkg syscall (netbsd-arm64-cgo), const SYS_GETVFSSTAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_GETXATTR = 378 -pkg syscall (netbsd-arm64-cgo), const SYS_GETXATTR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_IOCTL = 54 -pkg syscall (netbsd-arm64-cgo), const SYS_IOCTL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_ISSETUGID = 305 -pkg syscall (netbsd-arm64-cgo), const SYS_ISSETUGID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_KEVENT = 435 -pkg syscall (netbsd-arm64-cgo), const SYS_KEVENT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_KILL = 37 -pkg syscall (netbsd-arm64-cgo), const SYS_KILL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_KQUEUE = 344 -pkg syscall (netbsd-arm64-cgo), const SYS_KQUEUE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_KQUEUE1 = 455 -pkg syscall (netbsd-arm64-cgo), const SYS_KQUEUE1 ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_KTRACE = 45 -pkg syscall (netbsd-arm64-cgo), const SYS_KTRACE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_LCHFLAGS = 304 -pkg syscall (netbsd-arm64-cgo), const SYS_LCHFLAGS ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_LCHMOD = 274 -pkg syscall (netbsd-arm64-cgo), const SYS_LCHMOD ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_LCHOWN = 275 -pkg syscall (netbsd-arm64-cgo), const SYS_LCHOWN ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_LGETXATTR = 379 -pkg syscall (netbsd-arm64-cgo), const SYS_LGETXATTR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_LINK = 9 -pkg syscall (netbsd-arm64-cgo), const SYS_LINK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_LINKAT = 457 -pkg syscall (netbsd-arm64-cgo), const SYS_LINKAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_LISTEN = 106 -pkg syscall (netbsd-arm64-cgo), const SYS_LISTEN ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_LISTXATTR = 381 -pkg syscall (netbsd-arm64-cgo), const SYS_LISTXATTR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_LLISTXATTR = 382 -pkg syscall (netbsd-arm64-cgo), const SYS_LLISTXATTR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_LREMOVEXATTR = 385 -pkg syscall (netbsd-arm64-cgo), const SYS_LREMOVEXATTR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_LSEEK = 199 -pkg syscall (netbsd-arm64-cgo), const SYS_LSEEK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_LSETXATTR = 376 -pkg syscall (netbsd-arm64-cgo), const SYS_LSETXATTR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_LSTAT = 441 -pkg syscall (netbsd-arm64-cgo), const SYS_LSTAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_LUTIMES = 424 -pkg syscall (netbsd-arm64-cgo), const SYS_LUTIMES ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MADVISE = 75 -pkg syscall (netbsd-arm64-cgo), const SYS_MADVISE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MINCORE = 78 -pkg syscall (netbsd-arm64-cgo), const SYS_MINCORE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MINHERIT = 273 -pkg syscall (netbsd-arm64-cgo), const SYS_MINHERIT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MKDIR = 136 -pkg syscall (netbsd-arm64-cgo), const SYS_MKDIR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MKDIRAT = 461 -pkg syscall (netbsd-arm64-cgo), const SYS_MKDIRAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MKFIFO = 132 -pkg syscall (netbsd-arm64-cgo), const SYS_MKFIFO ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MKFIFOAT = 459 -pkg syscall (netbsd-arm64-cgo), const SYS_MKFIFOAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MKNOD = 450 -pkg syscall (netbsd-arm64-cgo), const SYS_MKNOD ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MKNODAT = 460 -pkg syscall (netbsd-arm64-cgo), const SYS_MKNODAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MLOCK = 203 -pkg syscall (netbsd-arm64-cgo), const SYS_MLOCK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MLOCKALL = 242 -pkg syscall (netbsd-arm64-cgo), const SYS_MLOCKALL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MMAP = 197 -pkg syscall (netbsd-arm64-cgo), const SYS_MMAP ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MODCTL = 246 -pkg syscall (netbsd-arm64-cgo), const SYS_MODCTL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MOUNT = 410 -pkg syscall (netbsd-arm64-cgo), const SYS_MOUNT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MPROTECT = 74 -pkg syscall (netbsd-arm64-cgo), const SYS_MPROTECT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MREMAP = 411 -pkg syscall (netbsd-arm64-cgo), const SYS_MREMAP ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MSGCTL = 444 -pkg syscall (netbsd-arm64-cgo), const SYS_MSGCTL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MSGGET = 225 -pkg syscall (netbsd-arm64-cgo), const SYS_MSGGET ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MSGRCV = 227 -pkg syscall (netbsd-arm64-cgo), const SYS_MSGRCV ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MSGSND = 226 -pkg syscall (netbsd-arm64-cgo), const SYS_MSGSND ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MUNLOCK = 204 -pkg syscall (netbsd-arm64-cgo), const SYS_MUNLOCK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MUNLOCKALL = 243 -pkg syscall (netbsd-arm64-cgo), const SYS_MUNLOCKALL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_MUNMAP = 73 -pkg syscall (netbsd-arm64-cgo), const SYS_MUNMAP ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_NANOSLEEP = 430 -pkg syscall (netbsd-arm64-cgo), const SYS_NANOSLEEP ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_NTP_ADJTIME = 176 -pkg syscall (netbsd-arm64-cgo), const SYS_NTP_ADJTIME ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_NTP_GETTIME = 448 -pkg syscall (netbsd-arm64-cgo), const SYS_NTP_GETTIME ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_OPEN = 5 -pkg syscall (netbsd-arm64-cgo), const SYS_OPEN ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_OPENAT = 468 -pkg syscall (netbsd-arm64-cgo), const SYS_OPENAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PACCEPT = 456 -pkg syscall (netbsd-arm64-cgo), const SYS_PACCEPT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PATHCONF = 191 -pkg syscall (netbsd-arm64-cgo), const SYS_PATHCONF ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PIPE = 42 -pkg syscall (netbsd-arm64-cgo), const SYS_PIPE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PIPE2 = 453 -pkg syscall (netbsd-arm64-cgo), const SYS_PIPE2 ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PMC_CONTROL = 342 -pkg syscall (netbsd-arm64-cgo), const SYS_PMC_CONTROL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PMC_GET_INFO = 341 -pkg syscall (netbsd-arm64-cgo), const SYS_PMC_GET_INFO ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_POLL = 209 -pkg syscall (netbsd-arm64-cgo), const SYS_POLL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_POLLTS = 437 -pkg syscall (netbsd-arm64-cgo), const SYS_POLLTS ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_POSIX_FADVISE = 416 -pkg syscall (netbsd-arm64-cgo), const SYS_POSIX_FADVISE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_POSIX_SPAWN = 474 -pkg syscall (netbsd-arm64-cgo), const SYS_POSIX_SPAWN ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PREAD = 173 -pkg syscall (netbsd-arm64-cgo), const SYS_PREAD ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PREADV = 289 -pkg syscall (netbsd-arm64-cgo), const SYS_PREADV ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PROFIL = 44 -pkg syscall (netbsd-arm64-cgo), const SYS_PROFIL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PSELECT = 436 -pkg syscall (netbsd-arm64-cgo), const SYS_PSELECT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PSET_ASSIGN = 414 -pkg syscall (netbsd-arm64-cgo), const SYS_PSET_ASSIGN ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PSET_CREATE = 412 -pkg syscall (netbsd-arm64-cgo), const SYS_PSET_CREATE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PSET_DESTROY = 413 -pkg syscall (netbsd-arm64-cgo), const SYS_PSET_DESTROY ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PTRACE = 26 -pkg syscall (netbsd-arm64-cgo), const SYS_PTRACE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PWRITE = 174 -pkg syscall (netbsd-arm64-cgo), const SYS_PWRITE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_PWRITEV = 290 -pkg syscall (netbsd-arm64-cgo), const SYS_PWRITEV ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_RASCTL = 343 -pkg syscall (netbsd-arm64-cgo), const SYS_RASCTL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_READ = 3 -pkg syscall (netbsd-arm64-cgo), const SYS_READ ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_READLINK = 58 -pkg syscall (netbsd-arm64-cgo), const SYS_READLINK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_READLINKAT = 469 -pkg syscall (netbsd-arm64-cgo), const SYS_READLINKAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_READV = 120 -pkg syscall (netbsd-arm64-cgo), const SYS_READV ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_REBOOT = 208 -pkg syscall (netbsd-arm64-cgo), const SYS_REBOOT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_RECVFROM = 29 -pkg syscall (netbsd-arm64-cgo), const SYS_RECVFROM ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_RECVMMSG = 475 -pkg syscall (netbsd-arm64-cgo), const SYS_RECVMMSG ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_RECVMSG = 27 -pkg syscall (netbsd-arm64-cgo), const SYS_RECVMSG ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_REMOVEXATTR = 384 -pkg syscall (netbsd-arm64-cgo), const SYS_REMOVEXATTR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_RENAME = 128 -pkg syscall (netbsd-arm64-cgo), const SYS_RENAME ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_RENAMEAT = 458 -pkg syscall (netbsd-arm64-cgo), const SYS_RENAMEAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_REVOKE = 56 -pkg syscall (netbsd-arm64-cgo), const SYS_REVOKE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_RMDIR = 137 -pkg syscall (netbsd-arm64-cgo), const SYS_RMDIR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SBRK = 69 -pkg syscall (netbsd-arm64-cgo), const SYS_SBRK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SCHED_YIELD = 350 -pkg syscall (netbsd-arm64-cgo), const SYS_SCHED_YIELD ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SELECT = 417 -pkg syscall (netbsd-arm64-cgo), const SYS_SELECT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SEMCONFIG = 223 -pkg syscall (netbsd-arm64-cgo), const SYS_SEMCONFIG ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SEMGET = 221 -pkg syscall (netbsd-arm64-cgo), const SYS_SEMGET ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SEMOP = 222 -pkg syscall (netbsd-arm64-cgo), const SYS_SEMOP ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SENDMMSG = 476 -pkg syscall (netbsd-arm64-cgo), const SYS_SENDMMSG ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SENDMSG = 28 -pkg syscall (netbsd-arm64-cgo), const SYS_SENDMSG ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SENDTO = 133 -pkg syscall (netbsd-arm64-cgo), const SYS_SENDTO ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETCONTEXT = 308 -pkg syscall (netbsd-arm64-cgo), const SYS_SETCONTEXT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETEGID = 182 -pkg syscall (netbsd-arm64-cgo), const SYS_SETEGID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETEUID = 183 -pkg syscall (netbsd-arm64-cgo), const SYS_SETEUID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETGID = 181 -pkg syscall (netbsd-arm64-cgo), const SYS_SETGID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETGROUPS = 80 -pkg syscall (netbsd-arm64-cgo), const SYS_SETGROUPS ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETITIMER = 425 -pkg syscall (netbsd-arm64-cgo), const SYS_SETITIMER ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETPGID = 82 -pkg syscall (netbsd-arm64-cgo), const SYS_SETPGID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETPRIORITY = 96 -pkg syscall (netbsd-arm64-cgo), const SYS_SETPRIORITY ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETREGID = 127 -pkg syscall (netbsd-arm64-cgo), const SYS_SETREGID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETREUID = 126 -pkg syscall (netbsd-arm64-cgo), const SYS_SETREUID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETRLIMIT = 195 -pkg syscall (netbsd-arm64-cgo), const SYS_SETRLIMIT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETSID = 147 -pkg syscall (netbsd-arm64-cgo), const SYS_SETSID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETSOCKOPT = 105 -pkg syscall (netbsd-arm64-cgo), const SYS_SETSOCKOPT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETTIMEOFDAY = 419 -pkg syscall (netbsd-arm64-cgo), const SYS_SETTIMEOFDAY ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETUID = 23 -pkg syscall (netbsd-arm64-cgo), const SYS_SETUID ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SETXATTR = 375 -pkg syscall (netbsd-arm64-cgo), const SYS_SETXATTR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SHMAT = 228 -pkg syscall (netbsd-arm64-cgo), const SYS_SHMAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SHMCTL = 443 -pkg syscall (netbsd-arm64-cgo), const SYS_SHMCTL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SHMDT = 230 -pkg syscall (netbsd-arm64-cgo), const SYS_SHMDT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SHMGET = 231 -pkg syscall (netbsd-arm64-cgo), const SYS_SHMGET ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SHUTDOWN = 134 -pkg syscall (netbsd-arm64-cgo), const SYS_SHUTDOWN ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SIGQUEUEINFO = 245 -pkg syscall (netbsd-arm64-cgo), const SYS_SIGQUEUEINFO ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SOCKET = 394 -pkg syscall (netbsd-arm64-cgo), const SYS_SOCKET ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SOCKETPAIR = 135 -pkg syscall (netbsd-arm64-cgo), const SYS_SOCKETPAIR ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SSTK = 70 -pkg syscall (netbsd-arm64-cgo), const SYS_SSTK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_STAT = 439 -pkg syscall (netbsd-arm64-cgo), const SYS_STAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_STATVFS1 = 357 -pkg syscall (netbsd-arm64-cgo), const SYS_STATVFS1 ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SWAPCTL = 271 -pkg syscall (netbsd-arm64-cgo), const SYS_SWAPCTL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SYMLINK = 57 -pkg syscall (netbsd-arm64-cgo), const SYS_SYMLINK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SYMLINKAT = 470 -pkg syscall (netbsd-arm64-cgo), const SYS_SYMLINKAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SYNC = 36 -pkg syscall (netbsd-arm64-cgo), const SYS_SYNC ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_SYSARCH = 165 -pkg syscall (netbsd-arm64-cgo), const SYS_SYSARCH ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_CREATE = 235 -pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_CREATE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_DELETE = 236 -pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_DELETE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_GETOVERRUN = 239 -pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_GETOVERRUN ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_GETTIME = 447 -pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_GETTIME ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_SETTIME = 446 -pkg syscall (netbsd-arm64-cgo), const SYS_TIMER_SETTIME ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_TRUNCATE = 200 -pkg syscall (netbsd-arm64-cgo), const SYS_TRUNCATE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_UMASK = 60 -pkg syscall (netbsd-arm64-cgo), const SYS_UMASK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_UNDELETE = 205 -pkg syscall (netbsd-arm64-cgo), const SYS_UNDELETE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_UNLINK = 10 -pkg syscall (netbsd-arm64-cgo), const SYS_UNLINK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_UNLINKAT = 471 -pkg syscall (netbsd-arm64-cgo), const SYS_UNLINKAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_UNMOUNT = 22 -pkg syscall (netbsd-arm64-cgo), const SYS_UNMOUNT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_UTIMENSAT = 467 -pkg syscall (netbsd-arm64-cgo), const SYS_UTIMENSAT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_UTIMES = 420 -pkg syscall (netbsd-arm64-cgo), const SYS_UTIMES ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_UTRACE = 306 -pkg syscall (netbsd-arm64-cgo), const SYS_UTRACE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_UUIDGEN = 355 -pkg syscall (netbsd-arm64-cgo), const SYS_UUIDGEN ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_VADVISE = 72 -pkg syscall (netbsd-arm64-cgo), const SYS_VADVISE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_VFORK = 66 -pkg syscall (netbsd-arm64-cgo), const SYS_VFORK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_WAIT4 = 449 -pkg syscall (netbsd-arm64-cgo), const SYS_WAIT4 ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_WRITE = 4 -pkg syscall (netbsd-arm64-cgo), const SYS_WRITE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS_WRITEV = 121 -pkg syscall (netbsd-arm64-cgo), const SYS_WRITEV ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_CONTINUE = 314 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_CONTINUE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_CREATE = 309 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_CREATE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_CTL = 325 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_CTL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_DETACH = 319 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_DETACH ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_EXIT = 310 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_EXIT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_GETNAME = 324 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_GETNAME ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_GETPRIVATE = 316 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_GETPRIVATE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_KILL = 318 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_KILL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_PARK = 434 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_PARK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SELF = 311 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SELF ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SETNAME = 323 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SETNAME ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SETPRIVATE = 317 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SETPRIVATE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SUSPEND = 313 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_SUSPEND ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_UNPARK = 321 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_UNPARK ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_UNPARK_ALL = 322 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_UNPARK_ALL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_WAIT = 312 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_WAIT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_WAKEUP = 315 -pkg syscall (netbsd-arm64-cgo), const SYS__LWP_WAKEUP ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__PSET_BIND = 415 -pkg syscall (netbsd-arm64-cgo), const SYS__PSET_BIND ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_GETAFFINITY = 349 -pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_GETAFFINITY ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_GETPARAM = 347 -pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_GETPARAM ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_SETAFFINITY = 348 -pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_SETAFFINITY ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_SETPARAM = 346 -pkg syscall (netbsd-arm64-cgo), const SYS__SCHED_SETPARAM ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS___CLONE = 287 -pkg syscall (netbsd-arm64-cgo), const SYS___CLONE ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS___GETCWD = 296 -pkg syscall (netbsd-arm64-cgo), const SYS___GETCWD ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS___GETLOGIN = 49 -pkg syscall (netbsd-arm64-cgo), const SYS___GETLOGIN ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_CHOWN = 283 -pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_CHOWN ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_FCHOWN = 284 -pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_FCHOWN ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_LCHOWN = 285 -pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_LCHOWN ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_RENAME = 270 -pkg syscall (netbsd-arm64-cgo), const SYS___POSIX_RENAME ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS___QUOTACTL = 473 -pkg syscall (netbsd-arm64-cgo), const SYS___QUOTACTL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS___SEMCTL = 442 -pkg syscall (netbsd-arm64-cgo), const SYS___SEMCTL ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS___SETLOGIN = 50 -pkg syscall (netbsd-arm64-cgo), const SYS___SETLOGIN ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS___SIGACTION_SIGTRAMP = 340 -pkg syscall (netbsd-arm64-cgo), const SYS___SIGACTION_SIGTRAMP ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS___SIGTIMEDWAIT = 431 -pkg syscall (netbsd-arm64-cgo), const SYS___SIGTIMEDWAIT ideal-int -pkg syscall (netbsd-arm64-cgo), const SYS___SYSCTL = 202 -pkg syscall (netbsd-arm64-cgo), const SYS___SYSCTL ideal-int -pkg syscall (netbsd-arm64-cgo), const S_ARCH1 = 65536 -pkg syscall (netbsd-arm64-cgo), const S_ARCH1 ideal-int -pkg syscall (netbsd-arm64-cgo), const S_ARCH2 = 131072 -pkg syscall (netbsd-arm64-cgo), const S_ARCH2 ideal-int -pkg syscall (netbsd-arm64-cgo), const S_BLKSIZE = 512 -pkg syscall (netbsd-arm64-cgo), const S_BLKSIZE ideal-int -pkg syscall (netbsd-arm64-cgo), const S_IEXEC = 64 -pkg syscall (netbsd-arm64-cgo), const S_IEXEC ideal-int -pkg syscall (netbsd-arm64-cgo), const S_IFMT = 61440 -pkg syscall (netbsd-arm64-cgo), const S_IFWHT = 57344 -pkg syscall (netbsd-arm64-cgo), const S_IFWHT ideal-int -pkg syscall (netbsd-arm64-cgo), const S_IREAD = 256 -pkg syscall (netbsd-arm64-cgo), const S_IREAD ideal-int -pkg syscall (netbsd-arm64-cgo), const S_IRGRP = 32 -pkg syscall (netbsd-arm64-cgo), const S_IRGRP ideal-int -pkg syscall (netbsd-arm64-cgo), const S_IROTH = 4 -pkg syscall (netbsd-arm64-cgo), const S_IROTH ideal-int -pkg syscall (netbsd-arm64-cgo), const S_IRWXG = 56 -pkg syscall (netbsd-arm64-cgo), const S_IRWXG ideal-int -pkg syscall (netbsd-arm64-cgo), const S_IRWXO = 7 -pkg syscall (netbsd-arm64-cgo), const S_IRWXO ideal-int -pkg syscall (netbsd-arm64-cgo), const S_IRWXU = 448 -pkg syscall (netbsd-arm64-cgo), const S_IRWXU ideal-int -pkg syscall (netbsd-arm64-cgo), const S_ISTXT = 512 -pkg syscall (netbsd-arm64-cgo), const S_ISTXT ideal-int -pkg syscall (netbsd-arm64-cgo), const S_IWGRP = 16 -pkg syscall (netbsd-arm64-cgo), const S_IWGRP ideal-int -pkg syscall (netbsd-arm64-cgo), const S_IWOTH = 2 -pkg syscall (netbsd-arm64-cgo), const S_IWOTH ideal-int -pkg syscall (netbsd-arm64-cgo), const S_IWRITE = 128 -pkg syscall (netbsd-arm64-cgo), const S_IWRITE ideal-int -pkg syscall (netbsd-arm64-cgo), const S_IXGRP = 8 -pkg syscall (netbsd-arm64-cgo), const S_IXGRP ideal-int -pkg syscall (netbsd-arm64-cgo), const S_IXOTH = 1 -pkg syscall (netbsd-arm64-cgo), const S_IXOTH ideal-int -pkg syscall (netbsd-arm64-cgo), const S_LOGIN_SET = 1 -pkg syscall (netbsd-arm64-cgo), const S_LOGIN_SET ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofBpfHdr = 32 -pkg syscall (netbsd-arm64-cgo), const SizeofBpfHdr ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofBpfInsn = 8 -pkg syscall (netbsd-arm64-cgo), const SizeofBpfInsn ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofBpfProgram = 16 -pkg syscall (netbsd-arm64-cgo), const SizeofBpfProgram ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofBpfStat = 128 -pkg syscall (netbsd-arm64-cgo), const SizeofBpfStat ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofBpfVersion = 4 -pkg syscall (netbsd-arm64-cgo), const SizeofBpfVersion ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofCmsghdr = 12 -pkg syscall (netbsd-arm64-cgo), const SizeofCmsghdr ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofICMPv6Filter = 32 -pkg syscall (netbsd-arm64-cgo), const SizeofICMPv6Filter ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofIPMreq = 8 -pkg syscall (netbsd-arm64-cgo), const SizeofIPMreq ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofIPv6MTUInfo = 32 -pkg syscall (netbsd-arm64-cgo), const SizeofIPv6MTUInfo ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofIPv6Mreq = 20 -pkg syscall (netbsd-arm64-cgo), const SizeofIPv6Mreq ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofIfAnnounceMsghdr = 24 -pkg syscall (netbsd-arm64-cgo), const SizeofIfAnnounceMsghdr ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofIfData = 136 -pkg syscall (netbsd-arm64-cgo), const SizeofIfData ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofIfMsghdr = 152 -pkg syscall (netbsd-arm64-cgo), const SizeofIfMsghdr ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofIfaMsghdr = 24 -pkg syscall (netbsd-arm64-cgo), const SizeofIfaMsghdr ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofInet6Pktinfo = 20 -pkg syscall (netbsd-arm64-cgo), const SizeofInet6Pktinfo ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofLinger = 8 -pkg syscall (netbsd-arm64-cgo), const SizeofLinger ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofMsghdr = 48 -pkg syscall (netbsd-arm64-cgo), const SizeofMsghdr ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofRtMetrics = 80 -pkg syscall (netbsd-arm64-cgo), const SizeofRtMetrics ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofRtMsghdr = 120 -pkg syscall (netbsd-arm64-cgo), const SizeofRtMsghdr ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrAny = 108 -pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrAny ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrDatalink = 20 -pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrDatalink ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrInet4 = 16 -pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrInet4 ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrInet6 = 28 -pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrInet6 ideal-int -pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrUnix = 106 -pkg syscall (netbsd-arm64-cgo), const SizeofSockaddrUnix ideal-int -pkg syscall (netbsd-arm64-cgo), const TCIFLUSH = 1 -pkg syscall (netbsd-arm64-cgo), const TCIFLUSH ideal-int -pkg syscall (netbsd-arm64-cgo), const TCIOFLUSH = 3 -pkg syscall (netbsd-arm64-cgo), const TCIOFLUSH ideal-int -pkg syscall (netbsd-arm64-cgo), const TCOFLUSH = 2 -pkg syscall (netbsd-arm64-cgo), const TCOFLUSH ideal-int -pkg syscall (netbsd-arm64-cgo), const TCP_CONGCTL = 32 -pkg syscall (netbsd-arm64-cgo), const TCP_CONGCTL ideal-int -pkg syscall (netbsd-arm64-cgo), const TCP_KEEPCNT = 6 -pkg syscall (netbsd-arm64-cgo), const TCP_KEEPCNT ideal-int -pkg syscall (netbsd-arm64-cgo), const TCP_KEEPIDLE = 3 -pkg syscall (netbsd-arm64-cgo), const TCP_KEEPIDLE ideal-int -pkg syscall (netbsd-arm64-cgo), const TCP_KEEPINIT = 7 -pkg syscall (netbsd-arm64-cgo), const TCP_KEEPINIT ideal-int -pkg syscall (netbsd-arm64-cgo), const TCP_KEEPINTVL = 5 -pkg syscall (netbsd-arm64-cgo), const TCP_KEEPINTVL ideal-int -pkg syscall (netbsd-arm64-cgo), const TCP_MAXBURST = 4 -pkg syscall (netbsd-arm64-cgo), const TCP_MAXBURST ideal-int -pkg syscall (netbsd-arm64-cgo), const TCP_MAXSEG = 2 -pkg syscall (netbsd-arm64-cgo), const TCP_MAXSEG ideal-int -pkg syscall (netbsd-arm64-cgo), const TCP_MAXWIN = 65535 -pkg syscall (netbsd-arm64-cgo), const TCP_MAXWIN ideal-int -pkg syscall (netbsd-arm64-cgo), const TCP_MAX_WINSHIFT = 14 -pkg syscall (netbsd-arm64-cgo), const TCP_MAX_WINSHIFT ideal-int -pkg syscall (netbsd-arm64-cgo), const TCP_MD5SIG = 16 -pkg syscall (netbsd-arm64-cgo), const TCP_MD5SIG ideal-int -pkg syscall (netbsd-arm64-cgo), const TCP_MINMSS = 216 -pkg syscall (netbsd-arm64-cgo), const TCP_MINMSS ideal-int -pkg syscall (netbsd-arm64-cgo), const TCP_MSS = 536 -pkg syscall (netbsd-arm64-cgo), const TCP_MSS ideal-int -pkg syscall (netbsd-arm64-cgo), const TCSAFLUSH = 2 -pkg syscall (netbsd-arm64-cgo), const TCSAFLUSH ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCCBRK = 536900730 -pkg syscall (netbsd-arm64-cgo), const TIOCCBRK ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCCDTR = 536900728 -pkg syscall (netbsd-arm64-cgo), const TIOCCDTR ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCCONS = 2147775586 -pkg syscall (netbsd-arm64-cgo), const TIOCCONS ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCDCDTIMESTAMP = 1074820184 -pkg syscall (netbsd-arm64-cgo), const TIOCDCDTIMESTAMP ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCDRAIN = 536900702 -pkg syscall (netbsd-arm64-cgo), const TIOCDRAIN ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCEXCL = 536900621 -pkg syscall (netbsd-arm64-cgo), const TIOCEXCL ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCEXT = 2147775584 -pkg syscall (netbsd-arm64-cgo), const TIOCEXT ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_CDTRCTS = 16 -pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_CDTRCTS ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_CLOCAL = 2 -pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_CLOCAL ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_CRTSCTS = 4 -pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_CRTSCTS ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_MDMBUF = 8 -pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_MDMBUF ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_SOFTCAR = 1 -pkg syscall (netbsd-arm64-cgo), const TIOCFLAG_SOFTCAR ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCFLUSH = 2147775504 -pkg syscall (netbsd-arm64-cgo), const TIOCFLUSH ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCGETA = 1076655123 -pkg syscall (netbsd-arm64-cgo), const TIOCGETA ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCGETD = 1074033690 -pkg syscall (netbsd-arm64-cgo), const TIOCGETD ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCGFLAGS = 1074033757 -pkg syscall (netbsd-arm64-cgo), const TIOCGFLAGS ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCGLINED = 1075868738 -pkg syscall (netbsd-arm64-cgo), const TIOCGLINED ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCGPGRP = 1074033783 -pkg syscall (netbsd-arm64-cgo), const TIOCGPGRP ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCGQSIZE = 1074033793 -pkg syscall (netbsd-arm64-cgo), const TIOCGQSIZE ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCGRANTPT = 536900679 -pkg syscall (netbsd-arm64-cgo), const TIOCGRANTPT ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCGSID = 1074033763 -pkg syscall (netbsd-arm64-cgo), const TIOCGSID ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCGSIZE = 1074295912 -pkg syscall (netbsd-arm64-cgo), const TIOCGSIZE ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCGWINSZ = 1074295912 -pkg syscall (netbsd-arm64-cgo), const TIOCGWINSZ ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCMBIC = 2147775595 -pkg syscall (netbsd-arm64-cgo), const TIOCMBIC ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCMBIS = 2147775596 -pkg syscall (netbsd-arm64-cgo), const TIOCMBIS ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCMGET = 1074033770 -pkg syscall (netbsd-arm64-cgo), const TIOCMGET ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCMSET = 2147775597 -pkg syscall (netbsd-arm64-cgo), const TIOCMSET ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCM_CAR = 64 -pkg syscall (netbsd-arm64-cgo), const TIOCM_CAR ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCM_CD = 64 -pkg syscall (netbsd-arm64-cgo), const TIOCM_CD ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCM_CTS = 32 -pkg syscall (netbsd-arm64-cgo), const TIOCM_CTS ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCM_DSR = 256 -pkg syscall (netbsd-arm64-cgo), const TIOCM_DSR ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCM_DTR = 2 -pkg syscall (netbsd-arm64-cgo), const TIOCM_DTR ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCM_LE = 1 -pkg syscall (netbsd-arm64-cgo), const TIOCM_LE ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCM_RI = 128 -pkg syscall (netbsd-arm64-cgo), const TIOCM_RI ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCM_RNG = 128 -pkg syscall (netbsd-arm64-cgo), const TIOCM_RNG ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCM_RTS = 4 -pkg syscall (netbsd-arm64-cgo), const TIOCM_RTS ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCM_SR = 16 -pkg syscall (netbsd-arm64-cgo), const TIOCM_SR ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCM_ST = 8 -pkg syscall (netbsd-arm64-cgo), const TIOCM_ST ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCNOTTY = 536900721 -pkg syscall (netbsd-arm64-cgo), const TIOCNOTTY ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCNXCL = 536900622 -pkg syscall (netbsd-arm64-cgo), const TIOCNXCL ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCOUTQ = 1074033779 -pkg syscall (netbsd-arm64-cgo), const TIOCOUTQ ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCPKT = 2147775600 -pkg syscall (netbsd-arm64-cgo), const TIOCPKT ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_DATA = 0 -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_DATA ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_DOSTOP = 32 -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_DOSTOP ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_FLUSHREAD = 1 -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_FLUSHREAD ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_FLUSHWRITE = 2 -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_FLUSHWRITE ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_IOCTL = 64 -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_IOCTL ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_NOSTOP = 16 -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_NOSTOP ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_START = 8 -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_START ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_STOP = 4 -pkg syscall (netbsd-arm64-cgo), const TIOCPKT_STOP ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCPTMGET = 1076393030 -pkg syscall (netbsd-arm64-cgo), const TIOCPTMGET ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCPTSNAME = 1076393032 -pkg syscall (netbsd-arm64-cgo), const TIOCPTSNAME ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCRCVFRAME = 2148037701 -pkg syscall (netbsd-arm64-cgo), const TIOCRCVFRAME ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCREMOTE = 2147775593 -pkg syscall (netbsd-arm64-cgo), const TIOCREMOTE ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSBRK = 536900731 -pkg syscall (netbsd-arm64-cgo), const TIOCSBRK ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSCTTY = 536900705 -pkg syscall (netbsd-arm64-cgo), const TIOCSCTTY ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSDTR = 536900729 -pkg syscall (netbsd-arm64-cgo), const TIOCSDTR ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSETA = 2150396948 -pkg syscall (netbsd-arm64-cgo), const TIOCSETA ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSETAF = 2150396950 -pkg syscall (netbsd-arm64-cgo), const TIOCSETAF ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSETAW = 2150396949 -pkg syscall (netbsd-arm64-cgo), const TIOCSETAW ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSETD = 2147775515 -pkg syscall (netbsd-arm64-cgo), const TIOCSETD ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSFLAGS = 2147775580 -pkg syscall (netbsd-arm64-cgo), const TIOCSFLAGS ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSIG = 536900703 -pkg syscall (netbsd-arm64-cgo), const TIOCSIG ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSLINED = 2149610563 -pkg syscall (netbsd-arm64-cgo), const TIOCSLINED ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSPGRP = 2147775606 -pkg syscall (netbsd-arm64-cgo), const TIOCSPGRP ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSQSIZE = 2147775616 -pkg syscall (netbsd-arm64-cgo), const TIOCSQSIZE ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSSIZE = 2148037735 -pkg syscall (netbsd-arm64-cgo), const TIOCSSIZE ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSTART = 536900718 -pkg syscall (netbsd-arm64-cgo), const TIOCSTART ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSTAT = 2147775589 -pkg syscall (netbsd-arm64-cgo), const TIOCSTAT ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSTI = 2147578994 -pkg syscall (netbsd-arm64-cgo), const TIOCSTI ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSTOP = 536900719 -pkg syscall (netbsd-arm64-cgo), const TIOCSTOP ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCSWINSZ = 2148037735 -pkg syscall (netbsd-arm64-cgo), const TIOCSWINSZ ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCUCNTL = 2147775590 -pkg syscall (netbsd-arm64-cgo), const TIOCUCNTL ideal-int -pkg syscall (netbsd-arm64-cgo), const TIOCXMTFRAME = 2148037700 -pkg syscall (netbsd-arm64-cgo), const TIOCXMTFRAME ideal-int -pkg syscall (netbsd-arm64-cgo), const TOSTOP = 4194304 -pkg syscall (netbsd-arm64-cgo), const TOSTOP ideal-int -pkg syscall (netbsd-arm64-cgo), const VDISCARD = 15 -pkg syscall (netbsd-arm64-cgo), const VDISCARD ideal-int -pkg syscall (netbsd-arm64-cgo), const VDSUSP = 11 -pkg syscall (netbsd-arm64-cgo), const VDSUSP ideal-int -pkg syscall (netbsd-arm64-cgo), const VEOF = 0 -pkg syscall (netbsd-arm64-cgo), const VEOF ideal-int -pkg syscall (netbsd-arm64-cgo), const VEOL = 1 -pkg syscall (netbsd-arm64-cgo), const VEOL ideal-int -pkg syscall (netbsd-arm64-cgo), const VEOL2 = 2 -pkg syscall (netbsd-arm64-cgo), const VEOL2 ideal-int -pkg syscall (netbsd-arm64-cgo), const VERASE = 3 -pkg syscall (netbsd-arm64-cgo), const VERASE ideal-int -pkg syscall (netbsd-arm64-cgo), const VINTR = 8 -pkg syscall (netbsd-arm64-cgo), const VINTR ideal-int -pkg syscall (netbsd-arm64-cgo), const VKILL = 5 -pkg syscall (netbsd-arm64-cgo), const VKILL ideal-int -pkg syscall (netbsd-arm64-cgo), const VLNEXT = 14 -pkg syscall (netbsd-arm64-cgo), const VLNEXT ideal-int -pkg syscall (netbsd-arm64-cgo), const VMIN = 16 -pkg syscall (netbsd-arm64-cgo), const VMIN ideal-int -pkg syscall (netbsd-arm64-cgo), const VQUIT = 9 -pkg syscall (netbsd-arm64-cgo), const VQUIT ideal-int -pkg syscall (netbsd-arm64-cgo), const VREPRINT = 6 -pkg syscall (netbsd-arm64-cgo), const VREPRINT ideal-int -pkg syscall (netbsd-arm64-cgo), const VSTART = 12 -pkg syscall (netbsd-arm64-cgo), const VSTART ideal-int -pkg syscall (netbsd-arm64-cgo), const VSTATUS = 18 -pkg syscall (netbsd-arm64-cgo), const VSTATUS ideal-int -pkg syscall (netbsd-arm64-cgo), const VSTOP = 13 -pkg syscall (netbsd-arm64-cgo), const VSTOP ideal-int -pkg syscall (netbsd-arm64-cgo), const VSUSP = 10 -pkg syscall (netbsd-arm64-cgo), const VSUSP ideal-int -pkg syscall (netbsd-arm64-cgo), const VTIME = 17 -pkg syscall (netbsd-arm64-cgo), const VTIME ideal-int -pkg syscall (netbsd-arm64-cgo), const VWERASE = 4 -pkg syscall (netbsd-arm64-cgo), const VWERASE ideal-int -pkg syscall (netbsd-arm64-cgo), const WALL = 8 -pkg syscall (netbsd-arm64-cgo), const WALL ideal-int -pkg syscall (netbsd-arm64-cgo), const WALLSIG = 8 -pkg syscall (netbsd-arm64-cgo), const WALLSIG ideal-int -pkg syscall (netbsd-arm64-cgo), const WALTSIG = 4 -pkg syscall (netbsd-arm64-cgo), const WALTSIG ideal-int -pkg syscall (netbsd-arm64-cgo), const WCLONE = 4 -pkg syscall (netbsd-arm64-cgo), const WCLONE ideal-int -pkg syscall (netbsd-arm64-cgo), const WCOREFLAG = 128 -pkg syscall (netbsd-arm64-cgo), const WCOREFLAG ideal-int -pkg syscall (netbsd-arm64-cgo), const WNOHANG = 1 -pkg syscall (netbsd-arm64-cgo), const WNOHANG ideal-int -pkg syscall (netbsd-arm64-cgo), const WNOWAIT = 65536 -pkg syscall (netbsd-arm64-cgo), const WNOWAIT ideal-int -pkg syscall (netbsd-arm64-cgo), const WNOZOMBIE = 131072 -pkg syscall (netbsd-arm64-cgo), const WNOZOMBIE ideal-int -pkg syscall (netbsd-arm64-cgo), const WOPTSCHECKED = 262144 -pkg syscall (netbsd-arm64-cgo), const WOPTSCHECKED ideal-int -pkg syscall (netbsd-arm64-cgo), const WSTOPPED = 127 -pkg syscall (netbsd-arm64-cgo), const WSTOPPED ideal-int -pkg syscall (netbsd-arm64-cgo), const WUNTRACED = 2 -pkg syscall (netbsd-arm64-cgo), const WUNTRACED ideal-int -pkg syscall (netbsd-arm64-cgo), func Accept(int) (int, Sockaddr, error) -pkg syscall (netbsd-arm64-cgo), func Accept4(int, int) (int, Sockaddr, error) -pkg syscall (netbsd-arm64-cgo), func Access(string, uint32) error -pkg syscall (netbsd-arm64-cgo), func Adjtime(*Timeval, *Timeval) error -pkg syscall (netbsd-arm64-cgo), func Bind(int, Sockaddr) error -pkg syscall (netbsd-arm64-cgo), func BpfBuflen(int) (int, error) -pkg syscall (netbsd-arm64-cgo), func BpfDatalink(int) (int, error) -pkg syscall (netbsd-arm64-cgo), func BpfHeadercmpl(int) (int, error) -pkg syscall (netbsd-arm64-cgo), func BpfInterface(int, string) (string, error) -pkg syscall (netbsd-arm64-cgo), func BpfJump(int, int, int, int) *BpfInsn -pkg syscall (netbsd-arm64-cgo), func BpfStats(int) (*BpfStat, error) -pkg syscall (netbsd-arm64-cgo), func BpfStmt(int, int) *BpfInsn -pkg syscall (netbsd-arm64-cgo), func BpfTimeout(int) (*Timeval, error) -pkg syscall (netbsd-arm64-cgo), func CheckBpfVersion(int) error -pkg syscall (netbsd-arm64-cgo), func Chflags(string, int) error -pkg syscall (netbsd-arm64-cgo), func Chroot(string) error -pkg syscall (netbsd-arm64-cgo), func Close(int) error -pkg syscall (netbsd-arm64-cgo), func CloseOnExec(int) -pkg syscall (netbsd-arm64-cgo), func CmsgLen(int) int -pkg syscall (netbsd-arm64-cgo), func CmsgSpace(int) int -pkg syscall (netbsd-arm64-cgo), func Connect(int, Sockaddr) error -pkg syscall (netbsd-arm64-cgo), func Dup(int) (int, error) -pkg syscall (netbsd-arm64-cgo), func Dup2(int, int) error -pkg syscall (netbsd-arm64-cgo), func Fchdir(int) error -pkg syscall (netbsd-arm64-cgo), func Fchflags(int, int) error -pkg syscall (netbsd-arm64-cgo), func Fchmod(int, uint32) error -pkg syscall (netbsd-arm64-cgo), func Fchown(int, int, int) error -pkg syscall (netbsd-arm64-cgo), func FcntlFlock(uintptr, int, *Flock_t) error -pkg syscall (netbsd-arm64-cgo), func Flock(int, int) error -pkg syscall (netbsd-arm64-cgo), func FlushBpf(int) error -pkg syscall (netbsd-arm64-cgo), func ForkExec(string, []string, *ProcAttr) (int, error) -pkg syscall (netbsd-arm64-cgo), func Fpathconf(int, int) (int, error) -pkg syscall (netbsd-arm64-cgo), func Fstat(int, *Stat_t) error -pkg syscall (netbsd-arm64-cgo), func Fsync(int) error -pkg syscall (netbsd-arm64-cgo), func Ftruncate(int, int64) error -pkg syscall (netbsd-arm64-cgo), func Futimes(int, []Timeval) error -pkg syscall (netbsd-arm64-cgo), func Getdirentries(int, []uint8, *uintptr) (int, error) -pkg syscall (netbsd-arm64-cgo), func Getpeername(int) (Sockaddr, error) -pkg syscall (netbsd-arm64-cgo), func Getpgid(int) (int, error) -pkg syscall (netbsd-arm64-cgo), func Getpgrp() int -pkg syscall (netbsd-arm64-cgo), func Getpriority(int, int) (int, error) -pkg syscall (netbsd-arm64-cgo), func Getrlimit(int, *Rlimit) error -pkg syscall (netbsd-arm64-cgo), func Getrusage(int, *Rusage) error -pkg syscall (netbsd-arm64-cgo), func Getsid(int) (int, error) -pkg syscall (netbsd-arm64-cgo), func Getsockname(int) (Sockaddr, error) -pkg syscall (netbsd-arm64-cgo), func GetsockoptByte(int, int, int) (uint8, error) -pkg syscall (netbsd-arm64-cgo), func GetsockoptICMPv6Filter(int, int, int) (*ICMPv6Filter, error) -pkg syscall (netbsd-arm64-cgo), func GetsockoptIPMreq(int, int, int) (*IPMreq, error) -pkg syscall (netbsd-arm64-cgo), func GetsockoptIPv6MTUInfo(int, int, int) (*IPv6MTUInfo, error) -pkg syscall (netbsd-arm64-cgo), func GetsockoptIPv6Mreq(int, int, int) (*IPv6Mreq, error) -pkg syscall (netbsd-arm64-cgo), func GetsockoptInet4Addr(int, int, int) ([4]uint8, error) -pkg syscall (netbsd-arm64-cgo), func GetsockoptInt(int, int, int) (int, error) -pkg syscall (netbsd-arm64-cgo), func Issetugid() bool -pkg syscall (netbsd-arm64-cgo), func Kevent(int, []Kevent_t, []Kevent_t, *Timespec) (int, error) -pkg syscall (netbsd-arm64-cgo), func Kill(int, Signal) error -pkg syscall (netbsd-arm64-cgo), func Kqueue() (int, error) -pkg syscall (netbsd-arm64-cgo), func Listen(int, int) error -pkg syscall (netbsd-arm64-cgo), func Lstat(string, *Stat_t) error -pkg syscall (netbsd-arm64-cgo), func Mkfifo(string, uint32) error -pkg syscall (netbsd-arm64-cgo), func Mknod(string, uint32, int) error -pkg syscall (netbsd-arm64-cgo), func Mmap(int, int64, int, int, int) ([]uint8, error) -pkg syscall (netbsd-arm64-cgo), func Munmap([]uint8) error -pkg syscall (netbsd-arm64-cgo), func Nanosleep(*Timespec, *Timespec) error -pkg syscall (netbsd-arm64-cgo), func Open(string, int, uint32) (int, error) -pkg syscall (netbsd-arm64-cgo), func ParseDirent([]uint8, int, []string) (int, int, []string) -pkg syscall (netbsd-arm64-cgo), func ParseRoutingMessage([]uint8) ([]RoutingMessage, error) -pkg syscall (netbsd-arm64-cgo), func ParseRoutingSockaddr(RoutingMessage) ([]Sockaddr, error) -pkg syscall (netbsd-arm64-cgo), func ParseSocketControlMessage([]uint8) ([]SocketControlMessage, error) -pkg syscall (netbsd-arm64-cgo), func ParseUnixRights(*SocketControlMessage) ([]int, error) -pkg syscall (netbsd-arm64-cgo), func Pathconf(string, int) (int, error) -pkg syscall (netbsd-arm64-cgo), func Pipe([]int) error -pkg syscall (netbsd-arm64-cgo), func Pipe2([]int, int) error -pkg syscall (netbsd-arm64-cgo), func Pread(int, []uint8, int64) (int, error) -pkg syscall (netbsd-arm64-cgo), func Pwrite(int, []uint8, int64) (int, error) -pkg syscall (netbsd-arm64-cgo), func RawSyscall(uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) -pkg syscall (netbsd-arm64-cgo), func RawSyscall6(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) -pkg syscall (netbsd-arm64-cgo), func Read(int, []uint8) (int, error) -pkg syscall (netbsd-arm64-cgo), func ReadDirent(int, []uint8) (int, error) -pkg syscall (netbsd-arm64-cgo), func Recvfrom(int, []uint8, int) (int, Sockaddr, error) -pkg syscall (netbsd-arm64-cgo), func Recvmsg(int, []uint8, []uint8, int) (int, int, int, Sockaddr, error) -pkg syscall (netbsd-arm64-cgo), func Revoke(string) error -pkg syscall (netbsd-arm64-cgo), func RouteRIB(int, int) ([]uint8, error) -pkg syscall (netbsd-arm64-cgo), func Seek(int, int64, int) (int64, error) -pkg syscall (netbsd-arm64-cgo), func Select(int, *FdSet, *FdSet, *FdSet, *Timeval) error -pkg syscall (netbsd-arm64-cgo), func Sendfile(int, int, *int64, int) (int, error) -pkg syscall (netbsd-arm64-cgo), func Sendmsg(int, []uint8, []uint8, Sockaddr, int) error -pkg syscall (netbsd-arm64-cgo), func SendmsgN(int, []uint8, []uint8, Sockaddr, int) (int, error) -pkg syscall (netbsd-arm64-cgo), func Sendto(int, []uint8, int, Sockaddr) error -pkg syscall (netbsd-arm64-cgo), func SetBpf(int, []BpfInsn) error -pkg syscall (netbsd-arm64-cgo), func SetBpfBuflen(int, int) (int, error) -pkg syscall (netbsd-arm64-cgo), func SetBpfDatalink(int, int) (int, error) -pkg syscall (netbsd-arm64-cgo), func SetBpfHeadercmpl(int, int) error -pkg syscall (netbsd-arm64-cgo), func SetBpfImmediate(int, int) error -pkg syscall (netbsd-arm64-cgo), func SetBpfInterface(int, string) error -pkg syscall (netbsd-arm64-cgo), func SetBpfPromisc(int, int) error -pkg syscall (netbsd-arm64-cgo), func SetBpfTimeout(int, *Timeval) error -pkg syscall (netbsd-arm64-cgo), func SetKevent(*Kevent_t, int, int, int) -pkg syscall (netbsd-arm64-cgo), func SetNonblock(int, bool) error -pkg syscall (netbsd-arm64-cgo), func Setegid(int) error -pkg syscall (netbsd-arm64-cgo), func Seteuid(int) error -pkg syscall (netbsd-arm64-cgo), func Setgid(int) error -pkg syscall (netbsd-arm64-cgo), func Setgroups([]int) error -pkg syscall (netbsd-arm64-cgo), func Setpgid(int, int) error -pkg syscall (netbsd-arm64-cgo), func Setpriority(int, int, int) error -pkg syscall (netbsd-arm64-cgo), func Setregid(int, int) error -pkg syscall (netbsd-arm64-cgo), func Setreuid(int, int) error -pkg syscall (netbsd-arm64-cgo), func Setrlimit(int, *Rlimit) error -pkg syscall (netbsd-arm64-cgo), func Setsid() (int, error) -pkg syscall (netbsd-arm64-cgo), func SetsockoptByte(int, int, int, uint8) error -pkg syscall (netbsd-arm64-cgo), func SetsockoptICMPv6Filter(int, int, int, *ICMPv6Filter) error -pkg syscall (netbsd-arm64-cgo), func SetsockoptIPMreq(int, int, int, *IPMreq) error -pkg syscall (netbsd-arm64-cgo), func SetsockoptIPv6Mreq(int, int, int, *IPv6Mreq) error -pkg syscall (netbsd-arm64-cgo), func SetsockoptInet4Addr(int, int, int, [4]uint8) error -pkg syscall (netbsd-arm64-cgo), func SetsockoptInt(int, int, int, int) error -pkg syscall (netbsd-arm64-cgo), func SetsockoptLinger(int, int, int, *Linger) error -pkg syscall (netbsd-arm64-cgo), func SetsockoptString(int, int, int, string) error -pkg syscall (netbsd-arm64-cgo), func SetsockoptTimeval(int, int, int, *Timeval) error -pkg syscall (netbsd-arm64-cgo), func Settimeofday(*Timeval) error -pkg syscall (netbsd-arm64-cgo), func Setuid(int) error -pkg syscall (netbsd-arm64-cgo), func Shutdown(int, int) error -pkg syscall (netbsd-arm64-cgo), func SlicePtrFromStrings([]string) ([]*uint8, error) -pkg syscall (netbsd-arm64-cgo), func Socket(int, int, int) (int, error) -pkg syscall (netbsd-arm64-cgo), func Socketpair(int, int, int) ([2]int, error) -pkg syscall (netbsd-arm64-cgo), func Stat(string, *Stat_t) error -pkg syscall (netbsd-arm64-cgo), func StringSlicePtr([]string) []*uint8 -pkg syscall (netbsd-arm64-cgo), func Sync() error -pkg syscall (netbsd-arm64-cgo), func Syscall(uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) -pkg syscall (netbsd-arm64-cgo), func Syscall6(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) -pkg syscall (netbsd-arm64-cgo), func Syscall9(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) (uintptr, uintptr, Errno) -pkg syscall (netbsd-arm64-cgo), func Sysctl(string) (string, error) -pkg syscall (netbsd-arm64-cgo), func SysctlUint32(string) (uint32, error) -pkg syscall (netbsd-arm64-cgo), func TimevalToNsec(Timeval) int64 -pkg syscall (netbsd-arm64-cgo), func Truncate(string, int64) error -pkg syscall (netbsd-arm64-cgo), func Umask(int) int -pkg syscall (netbsd-arm64-cgo), func UnixRights(...int) []uint8 -pkg syscall (netbsd-arm64-cgo), func Unmount(string, int) error -pkg syscall (netbsd-arm64-cgo), func Wait4(int, *WaitStatus, int, *Rusage) (int, error) -pkg syscall (netbsd-arm64-cgo), func Write(int, []uint8) (int, error) -pkg syscall (netbsd-arm64-cgo), method (*Cmsghdr) SetLen(int) -pkg syscall (netbsd-arm64-cgo), method (*Iovec) SetLen(int) -pkg syscall (netbsd-arm64-cgo), method (*Msghdr) SetControllen(int) -pkg syscall (netbsd-arm64-cgo), type BpfHdr struct -pkg syscall (netbsd-arm64-cgo), type BpfHdr struct, Caplen uint32 -pkg syscall (netbsd-arm64-cgo), type BpfHdr struct, Datalen uint32 -pkg syscall (netbsd-arm64-cgo), type BpfHdr struct, Hdrlen uint16 -pkg syscall (netbsd-arm64-cgo), type BpfHdr struct, Pad_cgo_0 [6]uint8 -pkg syscall (netbsd-arm64-cgo), type BpfHdr struct, Tstamp BpfTimeval -pkg syscall (netbsd-arm64-cgo), type BpfInsn struct -pkg syscall (netbsd-arm64-cgo), type BpfInsn struct, Code uint16 -pkg syscall (netbsd-arm64-cgo), type BpfInsn struct, Jf uint8 -pkg syscall (netbsd-arm64-cgo), type BpfInsn struct, Jt uint8 -pkg syscall (netbsd-arm64-cgo), type BpfInsn struct, K uint32 -pkg syscall (netbsd-arm64-cgo), type BpfProgram struct -pkg syscall (netbsd-arm64-cgo), type BpfProgram struct, Insns *BpfInsn -pkg syscall (netbsd-arm64-cgo), type BpfProgram struct, Len uint32 -pkg syscall (netbsd-arm64-cgo), type BpfProgram struct, Pad_cgo_0 [4]uint8 -pkg syscall (netbsd-arm64-cgo), type BpfStat struct -pkg syscall (netbsd-arm64-cgo), type BpfStat struct, Capt uint64 -pkg syscall (netbsd-arm64-cgo), type BpfStat struct, Drop uint64 -pkg syscall (netbsd-arm64-cgo), type BpfStat struct, Padding [13]uint64 -pkg syscall (netbsd-arm64-cgo), type BpfStat struct, Recv uint64 -pkg syscall (netbsd-arm64-cgo), type BpfTimeval struct -pkg syscall (netbsd-arm64-cgo), type BpfTimeval struct, Sec int64 -pkg syscall (netbsd-arm64-cgo), type BpfTimeval struct, Usec int64 -pkg syscall (netbsd-arm64-cgo), type BpfVersion struct -pkg syscall (netbsd-arm64-cgo), type BpfVersion struct, Major uint16 -pkg syscall (netbsd-arm64-cgo), type BpfVersion struct, Minor uint16 -pkg syscall (netbsd-arm64-cgo), type Cmsghdr struct -pkg syscall (netbsd-arm64-cgo), type Cmsghdr struct, Len uint32 -pkg syscall (netbsd-arm64-cgo), type Cmsghdr struct, Level int32 -pkg syscall (netbsd-arm64-cgo), type Cmsghdr struct, Type int32 -pkg syscall (netbsd-arm64-cgo), type Credential struct -pkg syscall (netbsd-arm64-cgo), type Credential struct, Gid uint32 -pkg syscall (netbsd-arm64-cgo), type Credential struct, Groups []uint32 -pkg syscall (netbsd-arm64-cgo), type Credential struct, NoSetGroups bool -pkg syscall (netbsd-arm64-cgo), type Credential struct, Uid uint32 -pkg syscall (netbsd-arm64-cgo), type Dirent struct -pkg syscall (netbsd-arm64-cgo), type Dirent struct, Fileno uint64 -pkg syscall (netbsd-arm64-cgo), type Dirent struct, Name [512]int8 -pkg syscall (netbsd-arm64-cgo), type Dirent struct, Namlen uint16 -pkg syscall (netbsd-arm64-cgo), type Dirent struct, Pad_cgo_0 [3]uint8 -pkg syscall (netbsd-arm64-cgo), type Dirent struct, Reclen uint16 -pkg syscall (netbsd-arm64-cgo), type Dirent struct, Type uint8 -pkg syscall (netbsd-arm64-cgo), type FdSet struct -pkg syscall (netbsd-arm64-cgo), type FdSet struct, Bits [8]uint32 -pkg syscall (netbsd-arm64-cgo), type Flock_t struct -pkg syscall (netbsd-arm64-cgo), type Flock_t struct, Len int64 -pkg syscall (netbsd-arm64-cgo), type Flock_t struct, Pid int32 -pkg syscall (netbsd-arm64-cgo), type Flock_t struct, Start int64 -pkg syscall (netbsd-arm64-cgo), type Flock_t struct, Type int16 -pkg syscall (netbsd-arm64-cgo), type Flock_t struct, Whence int16 -pkg syscall (netbsd-arm64-cgo), type Fsid struct -pkg syscall (netbsd-arm64-cgo), type Fsid struct, X__fsid_val [2]int32 -pkg syscall (netbsd-arm64-cgo), type ICMPv6Filter struct -pkg syscall (netbsd-arm64-cgo), type ICMPv6Filter struct, Filt [8]uint32 -pkg syscall (netbsd-arm64-cgo), type IPv6MTUInfo struct -pkg syscall (netbsd-arm64-cgo), type IPv6MTUInfo struct, Addr RawSockaddrInet6 -pkg syscall (netbsd-arm64-cgo), type IPv6MTUInfo struct, Mtu uint32 -pkg syscall (netbsd-arm64-cgo), type IfAnnounceMsghdr struct -pkg syscall (netbsd-arm64-cgo), type IfAnnounceMsghdr struct, Index uint16 -pkg syscall (netbsd-arm64-cgo), type IfAnnounceMsghdr struct, Msglen uint16 -pkg syscall (netbsd-arm64-cgo), type IfAnnounceMsghdr struct, Name [16]int8 -pkg syscall (netbsd-arm64-cgo), type IfAnnounceMsghdr struct, Type uint8 -pkg syscall (netbsd-arm64-cgo), type IfAnnounceMsghdr struct, Version uint8 -pkg syscall (netbsd-arm64-cgo), type IfAnnounceMsghdr struct, What uint16 -pkg syscall (netbsd-arm64-cgo), type IfData struct -pkg syscall (netbsd-arm64-cgo), type IfData struct, Addrlen uint8 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Baudrate uint64 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Collisions uint64 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Hdrlen uint8 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Ibytes uint64 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Ierrors uint64 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Imcasts uint64 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Ipackets uint64 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Iqdrops uint64 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Lastchange Timespec -pkg syscall (netbsd-arm64-cgo), type IfData struct, Link_state int32 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Metric uint64 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Mtu uint64 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Noproto uint64 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Obytes uint64 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Oerrors uint64 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Omcasts uint64 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Opackets uint64 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Pad_cgo_0 [1]uint8 -pkg syscall (netbsd-arm64-cgo), type IfData struct, Type uint8 -pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct -pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Addrs int32 -pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Data IfData -pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Flags int32 -pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Index uint16 -pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Msglen uint16 -pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Pad_cgo_0 [2]uint8 -pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Type uint8 -pkg syscall (netbsd-arm64-cgo), type IfMsghdr struct, Version uint8 -pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct -pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Addrs int32 -pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Flags int32 -pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Index uint16 -pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Metric int32 -pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Msglen uint16 -pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Pad_cgo_0 [6]uint8 -pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Type uint8 -pkg syscall (netbsd-arm64-cgo), type IfaMsghdr struct, Version uint8 -pkg syscall (netbsd-arm64-cgo), type Inet6Pktinfo struct -pkg syscall (netbsd-arm64-cgo), type Inet6Pktinfo struct, Addr [16]uint8 -pkg syscall (netbsd-arm64-cgo), type Inet6Pktinfo struct, Ifindex uint32 -pkg syscall (netbsd-arm64-cgo), type InterfaceAddrMessage struct -pkg syscall (netbsd-arm64-cgo), type InterfaceAddrMessage struct, Data []uint8 -pkg syscall (netbsd-arm64-cgo), type InterfaceAddrMessage struct, Header IfaMsghdr -pkg syscall (netbsd-arm64-cgo), type InterfaceAnnounceMessage struct -pkg syscall (netbsd-arm64-cgo), type InterfaceAnnounceMessage struct, Header IfAnnounceMsghdr -pkg syscall (netbsd-arm64-cgo), type InterfaceMessage struct -pkg syscall (netbsd-arm64-cgo), type InterfaceMessage struct, Data []uint8 -pkg syscall (netbsd-arm64-cgo), type InterfaceMessage struct, Header IfMsghdr -pkg syscall (netbsd-arm64-cgo), type Iovec struct -pkg syscall (netbsd-arm64-cgo), type Iovec struct, Base *uint8 -pkg syscall (netbsd-arm64-cgo), type Iovec struct, Len uint64 -pkg syscall (netbsd-arm64-cgo), type Kevent_t struct -pkg syscall (netbsd-arm64-cgo), type Kevent_t struct, Data int64 -pkg syscall (netbsd-arm64-cgo), type Kevent_t struct, Fflags uint32 -pkg syscall (netbsd-arm64-cgo), type Kevent_t struct, Filter uint32 -pkg syscall (netbsd-arm64-cgo), type Kevent_t struct, Flags uint32 -pkg syscall (netbsd-arm64-cgo), type Kevent_t struct, Ident uint64 -pkg syscall (netbsd-arm64-cgo), type Kevent_t struct, Pad_cgo_0 [4]uint8 -pkg syscall (netbsd-arm64-cgo), type Kevent_t struct, Udata int64 -pkg syscall (netbsd-arm64-cgo), type Mclpool [0]uint8 -pkg syscall (netbsd-arm64-cgo), type Msghdr struct -pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Control *uint8 -pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Controllen uint32 -pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Flags int32 -pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Iov *Iovec -pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Iovlen int32 -pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Name *uint8 -pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Namelen uint32 -pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Pad_cgo_0 [4]uint8 -pkg syscall (netbsd-arm64-cgo), type Msghdr struct, Pad_cgo_1 [4]uint8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddr struct, Data [14]int8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddr struct, Family uint8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddr struct, Len uint8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrAny struct, Pad [92]int8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct -pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Alen uint8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Data [12]int8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Family uint8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Index uint16 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Len uint8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Nlen uint8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Slen uint8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrDatalink struct, Type uint8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrInet4 struct, Family uint8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrInet4 struct, Len uint8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrInet4 struct, Zero [8]int8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrInet6 struct, Family uint8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrInet6 struct, Len uint8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrUnix struct, Family uint8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrUnix struct, Len uint8 -pkg syscall (netbsd-arm64-cgo), type RawSockaddrUnix struct, Path [104]int8 -pkg syscall (netbsd-arm64-cgo), type Rlimit struct -pkg syscall (netbsd-arm64-cgo), type Rlimit struct, Cur uint64 -pkg syscall (netbsd-arm64-cgo), type Rlimit struct, Max uint64 -pkg syscall (netbsd-arm64-cgo), type RouteMessage struct -pkg syscall (netbsd-arm64-cgo), type RouteMessage struct, Data []uint8 -pkg syscall (netbsd-arm64-cgo), type RouteMessage struct, Header RtMsghdr -pkg syscall (netbsd-arm64-cgo), type RoutingMessage interface, unexported methods -pkg syscall (netbsd-arm64-cgo), type RtMetrics struct -pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Expire int64 -pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Hopcount uint64 -pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Locks uint64 -pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Mtu uint64 -pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Pksent int64 -pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Recvpipe uint64 -pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Rtt uint64 -pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Rttvar uint64 -pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Sendpipe uint64 -pkg syscall (netbsd-arm64-cgo), type RtMetrics struct, Ssthresh uint64 -pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct -pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Addrs int32 -pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Errno int32 -pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Flags int32 -pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Index uint16 -pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Inits int32 -pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Msglen uint16 -pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Pad_cgo_0 [2]uint8 -pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Pad_cgo_1 [4]uint8 -pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Pid int32 -pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Rmx RtMetrics -pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Seq int32 -pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Type uint8 -pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Use int32 -pkg syscall (netbsd-arm64-cgo), type RtMsghdr struct, Version uint8 -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Idrss int64 -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Inblock int64 -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Isrss int64 -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Ixrss int64 -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Majflt int64 -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Maxrss int64 -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Minflt int64 -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Msgrcv int64 -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Msgsnd int64 -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Nivcsw int64 -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Nsignals int64 -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Nswap int64 -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Nvcsw int64 -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Oublock int64 -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Stime Timeval -pkg syscall (netbsd-arm64-cgo), type Rusage struct, Utime Timeval -pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct -pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Alen uint8 -pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Data [12]int8 -pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Family uint8 -pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Index uint16 -pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Len uint8 -pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Nlen uint8 -pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Slen uint8 -pkg syscall (netbsd-arm64-cgo), type SockaddrDatalink struct, Type uint8 -pkg syscall (netbsd-arm64-cgo), type SocketControlMessage struct -pkg syscall (netbsd-arm64-cgo), type SocketControlMessage struct, Data []uint8 -pkg syscall (netbsd-arm64-cgo), type SocketControlMessage struct, Header Cmsghdr -pkg syscall (netbsd-arm64-cgo), type Stat_t struct -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Atimespec Timespec -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Birthtimespec Timespec -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Blksize uint32 -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Blocks int64 -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Ctimespec Timespec -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Dev uint64 -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Flags uint32 -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Gen uint32 -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Gid uint32 -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Ino uint64 -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Mode uint32 -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Mtimespec Timespec -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Nlink uint32 -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Pad_cgo_0 [4]uint8 -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Pad_cgo_1 [4]uint8 -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Pad_cgo_2 [4]uint8 -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Rdev uint64 -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Size int64 -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Spare [2]uint32 -pkg syscall (netbsd-arm64-cgo), type Stat_t struct, Uid uint32 -pkg syscall (netbsd-arm64-cgo), type Statfs_t [0]uint8 -pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Chroot string -pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Credential *Credential -pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Ctty int -pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Foreground bool -pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Noctty bool -pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Pgid int -pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Ptrace bool -pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Setctty bool -pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Setpgid bool -pkg syscall (netbsd-arm64-cgo), type SysProcAttr struct, Setsid bool -pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct -pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, Flags uint32 -pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, Name [32]int8 -pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, Num int32 -pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, Un [16]uint8 -pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, Ver uint32 -pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, X__rsvd uint32 -pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, X_sysctl_desc [8]uint8 -pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, X_sysctl_func [8]uint8 -pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, X_sysctl_parent [8]uint8 -pkg syscall (netbsd-arm64-cgo), type Sysctlnode struct, X_sysctl_size [8]uint8 -pkg syscall (netbsd-arm64-cgo), type Termios struct -pkg syscall (netbsd-arm64-cgo), type Termios struct, Cc [20]uint8 -pkg syscall (netbsd-arm64-cgo), type Termios struct, Cflag uint32 -pkg syscall (netbsd-arm64-cgo), type Termios struct, Iflag uint32 -pkg syscall (netbsd-arm64-cgo), type Termios struct, Ispeed int32 -pkg syscall (netbsd-arm64-cgo), type Termios struct, Lflag uint32 -pkg syscall (netbsd-arm64-cgo), type Termios struct, Oflag uint32 -pkg syscall (netbsd-arm64-cgo), type Termios struct, Ospeed int32 -pkg syscall (netbsd-arm64-cgo), type Timespec struct, Nsec int64 -pkg syscall (netbsd-arm64-cgo), type Timespec struct, Sec int64 -pkg syscall (netbsd-arm64-cgo), type Timeval struct, Pad_cgo_0 [4]uint8 -pkg syscall (netbsd-arm64-cgo), type Timeval struct, Sec int64 -pkg syscall (netbsd-arm64-cgo), type Timeval struct, Usec int32 -pkg syscall (netbsd-arm64-cgo), type WaitStatus uint32 -pkg syscall (netbsd-arm64-cgo), var Stderr int -pkg syscall (netbsd-arm64-cgo), var Stdin int -pkg syscall (netbsd-arm64-cgo), var Stdout int -pkg syscall (windows-386), type SysProcAttr struct, ProcessAttributes *SecurityAttributes -pkg syscall (windows-386), type SysProcAttr struct, ThreadAttributes *SecurityAttributes -pkg syscall (windows-amd64), type SysProcAttr struct, ProcessAttributes *SecurityAttributes -pkg syscall (windows-amd64), type SysProcAttr struct, ThreadAttributes *SecurityAttributes -pkg syscall, method (Errno) Is(error) bool -pkg testing, func Init() -pkg testing, method (*B) ReportMetric(float64, string) -pkg testing, type BenchmarkResult struct, Extra map[string]float64 -pkg text/scanner, const AllowNumberbars = 1024 -pkg text/scanner, const AllowNumberbars ideal-int -pkg text/scanner, const GoTokens = 2036 -pkg text/template, method (ExecError) Unwrap() error -pkg time, method (Duration) Microseconds() int64 -pkg time, method (Duration) Milliseconds() int64 -pkg unicode, const Version = "11.0.0" -pkg unicode, var Dogra *RangeTable -pkg unicode, var Gunjala_Gondi *RangeTable -pkg unicode, var Hanifi_Rohingya *RangeTable -pkg unicode, var Makasar *RangeTable -pkg unicode, var Medefaidrin *RangeTable -pkg unicode, var Old_Sogdian *RangeTable -pkg unicode, var Sogdian *RangeTable diff --git a/doc/articles/race_detector.html b/doc/articles/race_detector.html index 6defd98f96..2f18acfbfb 100644 --- a/doc/articles/race_detector.html +++ b/doc/articles/race_detector.html @@ -377,8 +377,11 @@ func (w *Watchdog) Start() {

Supported Systems

-The race detector runs on darwin/amd64, freebsd/amd64, -linux/amd64, and windows/amd64. + The race detector runs on + linux/amd64, linux/ppc64le, + linux/arm64, freebsd/amd64, + netbsd/amd64, darwin/amd64, + and windows/amd64.

Runtime Overhead

diff --git a/doc/asm.html b/doc/asm.html index 77defdbd28..11033fe3c5 100644 --- a/doc/asm.html +++ b/doc/asm.html @@ -590,27 +590,37 @@ Here follow some descriptions of key Go-specific details for the supported archi

The runtime pointer to the g structure is maintained through the value of an otherwise unused (as far as Go is concerned) register in the MMU. -A OS-dependent macro get_tls is defined for the assembler if the source includes -a special header, go_asm.h: +An OS-dependent macro get_tls is defined for the assembler if the source is +in the runtime package and includes a special header, go_tls.h:

-#include "go_asm.h"
+#include "go_tls.h"
 

Within the runtime, the get_tls macro loads its argument register with a pointer to the g pointer, and the g struct contains the m pointer. +There's another special header containing the offsets for each +element of g, called go_asm.h. The sequence to load g and m using CX looks like this:

+#include "go_tls.h"
+#include "go_asm.h"
+...
 get_tls(CX)
 MOVL	g(CX), AX     // Move g into AX.
 MOVL	g_m(AX), BX   // Move g.m into BX.
 
+

+Note: The code above works only in the runtime package, while go_tls.h also +applies to arm, amd64 and amd64p32, and go_asm.h applies to all architectures. +

+

Addressing modes:

diff --git a/doc/contribute.html b/doc/contribute.html index 471eeef536..abb2b9bf77 100644 --- a/doc/contribute.html +++ b/doc/contribute.html @@ -238,14 +238,16 @@ $ git codereview help

-prints help text, not an error. +prints help text, not an error. If it prints an error, make sure that +$GOPATH/bin is in your $PATH.

On Windows, when using git-bash you must make sure that git-codereview.exe is in your git exec-path. Run git --exec-path to discover the right location then create a -symbolic link or just copy the executable from $GOPATH/bin to this directory. +symbolic link or just copy the executable from $GOPATH/bin to this +directory.

diff --git a/doc/devel/release.html b/doc/devel/release.html index 6ab1c1b878..437e3c60a4 100644 --- a/doc/devel/release.html +++ b/doc/devel/release.html @@ -77,6 +77,27 @@ the go command, and the crypto/x509, net/http, and 1.12.6 milestone on our issue tracker for details.

+

+go1.12.7 (released 2019/07/08) includes fixes to cgo, the compiler, +and the linker. +See the Go +1.12.7 milestone on our issue tracker for details. +

+ +

+go1.12.8 (released 2019/08/13) includes security fixes to the +net/http and net/url packages. +See the Go +1.12.8 milestone on our issue tracker for details. +

+ +

+go1.12.9 (released 2019/08/15) includes fixes to the linker, +and the os and math/big packages. +See the Go +1.12.9 milestone on our issue tracker for details. +

+

go1.11 (released 2018/08/24)

@@ -168,6 +189,19 @@ See the Go 1.11.11 milestone on our issue tracker for details.

+

+go1.11.12 (released 2019/07/08) includes fixes to the compiler and the linker. +See the Go +1.11.12 milestone on our issue tracker for details. +

+ +

+go1.11.13 (released 2019/08/13) includes security fixes to the +net/http and net/url packages. +See the Go +1.11.13 milestone on our issue tracker for details. +

+

go1.10 (released 2018/02/16)

diff --git a/doc/effective_go.html b/doc/effective_go.html index 7bb60a0786..158f39ebc8 100644 --- a/doc/effective_go.html +++ b/doc/effective_go.html @@ -2282,8 +2282,8 @@ The crypto/cipher interfaces look like this:

 type Block interface {
     BlockSize() int
-    Encrypt(src, dst []byte)
-    Decrypt(src, dst []byte)
+    Encrypt(dst, src []byte)
+    Decrypt(dst, src []byte)
 }
 
 type Stream interface {
diff --git a/doc/go1.10.html b/doc/go1.10.html
index 2974fef9a3..41db36ab1e 100644
--- a/doc/go1.10.html
+++ b/doc/go1.10.html
@@ -12,7 +12,7 @@ Do not send CLs removing the interior tags from such phrases.
 -->
 
 
 
 

Introduction to Go 1.10

diff --git a/doc/go1.11.html b/doc/go1.11.html index 1d85be9fe4..841ead225f 100644 --- a/doc/go1.11.html +++ b/doc/go1.11.html @@ -12,7 +12,7 @@ Do not send CLs removing the interior tags from such phrases. -->

Introduction to Go 1.11

diff --git a/doc/go1.12.html b/doc/go1.12.html index cc19c0f31a..a8b0c87fe5 100644 --- a/doc/go1.12.html +++ b/doc/go1.12.html @@ -12,7 +12,7 @@ Do not send CLs removing the interior tags from such phrases. -->

Introduction to Go 1.12

@@ -80,6 +80,10 @@ Do not send CLs removing the interior tags from such phrases. checks for private API usage. Since it is considered private, syscall.Getdirentries now always fails with ENOSYS on iOS. + Additionally, syscall.Setrlimit + reports invalid argument in places where it historically + succeeded. These consequences are not specific to Go and users should expect + behavioral parity with libSystem's implementation going forward.

Tools

diff --git a/doc/go1.13.html b/doc/go1.13.html index 02c0adf32b..220f34f31d 100644 --- a/doc/go1.13.html +++ b/doc/go1.13.html @@ -12,7 +12,7 @@ Do not send CLs removing the interior tags from such phrases. -->

DRAFT RELEASE NOTES - Introduction to Go 1.13

@@ -31,11 +31,8 @@ Do not send CLs removing the interior tags from such phrases. for privacy information about these services and the go command documentation for configuration details including how to disable the use of these servers or use - different ones. -

- -

-TODO + different ones. If you depend on non-public modules, see the + documentation for configuring your environment.

Changes to the language

@@ -45,13 +42,13 @@ TODO Go 1.13 supports a more uniform and modernized set of number literal prefixes.
  • - Binary integer literals: + Binary integer literals: The prefix 0b or 0B indicates a binary integer literal such as 0b1011.
  • - Octal integer literals: + Octal integer literals: The prefix 0o or 0O indicates an octal integer literal such as 0o660. The existing octal notation indicated by a leading 0 followed by @@ -59,7 +56,7 @@ TODO
  • - Hexadecimal floating point literals: + Hexadecimal floating point literals: The prefix 0x or 0X may now be used to express the mantissa of a floating-point number in hexadecimal format such as 0x1.0p-1021. A hexadecimal floating-point number must always have an exponent, written as the letter @@ -68,7 +65,7 @@ TODO
  • - Imaginary literals: + Imaginary literals: The imaginary suffix i may now be used with any (binary, decimal, hexadecimal) integer or floating-point literal.
  • @@ -84,16 +81,16 @@ TODO

    Per the signed shift counts proposal - Go 1.13 removes the restriction that a shift count + Go 1.13 removes the restriction that a shift count must be unsigned. This change eliminates the need for many artificial uint conversions, solely introduced to satisfy this (now removed) restriction of the << and >> operators.

    These language changes were implemented by changes to the compiler, and corresponding internal changes to the library - packages go/scanner and - text/scanner (number literals), - and go/types (signed shift counts). + packages go/scanner and + text/scanner (number literals), + and go/types (signed shift counts).

    @@ -105,6 +102,23 @@ TODO

    Ports

    +

    + Go 1.13 is the last release that will run on Native Client (NaCl). +

    + +

    + For GOARCH=wasm, the new environment variable GOWASM takes a comma-separated list of experimental features that the binary gets compiled with. + The valid values are documented here. +

    + +

    AIX

    + +

    + AIX on PPC64 (aix/ppc64) now supports cgo, external + linking, and the c-archive and pie build + modes. +

    +

    Android

    @@ -136,12 +150,16 @@ TODO build tag.

    -

    AIX

    +

    NetBSD

    -

    - AIX on PPC64 (aix/ppc64) now supports cgo, external - linking, and the c-archive and pie build - modes. +

    + Go now supports NetBSD on arm64. +

    + +

    OpenBSD

    + +

    + Go now supports OpenBSD on arm64.

    Windows

    @@ -157,8 +175,246 @@ TODO

    Tools

    +

    Modules

    + +

    Environment variables

    + +

    + The GO111MODULE + environment variable continues to default to auto, but + the auto setting now activates the module-aware mode of + the go command whenever the current working directory contains, + or is below a directory containing, a go.mod file — even if the + current directory is within GOPATH/src. This change simplifies + the migration of existing code within GOPATH/src and the ongoing + maintenance of module-aware packages alongside non-module-aware importers. +

    + +

    + The new + GOPRIVATE + environment variable indicates module paths that are not publicly available. + It serves as the default value for the lower-level GONOPROXY + and GONOSUMDB variables, which provide finer-grained control over + which modules are fetched via proxy and verified using the checksum database. +

    + +

    + The GOPROXY + environment variable may now be set to a comma-separated list of proxy + URLs or the special token direct, and + its default value is + now https://proxy.golang.org,direct. When resolving a package + path to its containing module, the go command will try all + candidate module paths on each proxy in the list in succession. An unreachable + proxy or HTTP status code other than 404 or 410 terminates the search without + consulting the remaining proxies. +

    +

    -TODO + The new + GOSUMDB + environment variable identifies the name, and optionally the public key and + server URL, of the database to consult for checksums of modules that are not + yet listed in the main module's go.sum file. + If GOSUMDB does not include an explicit URL, the URL is chosen by + probing the GOPROXY URLs for an endpoint indicating support for + the checksum database, falling back to a direct connection to the named + database if it is not supported by any proxy. If GOSUMDB is set + to off, the checksum database is not consulted and only the + existing checksums in the go.sum file are verified. +

    + +

    + Users who cannot reach the default proxy and checksum database (for example, + due to a firewalled or sandboxed configuration) may disable their use by + setting GOPROXY to direct, and/or + GOSUMDB to off. + go env -w + can be used to set the default values for these variables independent of + platform: +

    +
    +go env -w GOPROXY=direct
    +go env -w GOSUMDB=off
    +
    + +

    go get

    + +

    + In module-aware mode, + go get + with the -u flag now updates a smaller set of modules that is + more consistent with the set of packages updated by + go get -u in GOPATH mode. + go get -u continues to update the + modules and packages named on the command line, but additionally updates only + the modules containing the packages imported by the named packages, + rather than the transitive module requirements of the modules containing the + named packages. +

    + +

    + Note in particular that go get -u + (without additional arguments) now updates only the transitive imports of the + package in the current directory. To instead update all of the packages + transitively imported by the main module (including test dependencies), use + go get -u all. +

    + +

    + As a result of the above changes to + go get -u, the + go get subcommand no longer supports + the -m flag, which caused go get to + stop before loading packages. The -d flag remains supported, and + continues to cause go get to stop after downloading + the source code needed to build dependencies of the named packages. +

    + +

    + By default, go get -u in module mode + upgrades only non-test dependencies, as in GOPATH mode. It now also accepts + the -t flag, which (as in GOPATH mode) + causes go get to include the packages imported + by tests of the packages named on the command line. +

    + +

    + In module-aware mode, the go get subcommand now + supports the version suffix @patch. The @patch + suffix indicates that the named module, or module containing the named + package, should be updated to the highest patch release with the same + major and minor versions as the version found in the build list. +

    + +

    + If a module passed as an argument to go get + without a version suffix is already required at a newer version than the + latest released version, it will remain at the newer version. This is + consistent with the behavior of the -u flag for module + dependencies. This prevents unexpected downgrades from pre-release versions. + The new version suffix @upgrade explicitly requests this + behavior. @latest explicitly requests the latest version + regardless of the current version. +

    + +

    Version validation

    + +

    + When extracting a module from a version control system, the go + command now performs additional validation on the requested version string. +

    + +

    + The +incompatible version annotation bypasses the requirement + of semantic + import versioning for repositories that predate the introduction of + modules. The go command now verifies that such a version does not + include an explicit go.mod file. +

    + +

    + The go command now verifies the mapping + between pseudo-versions and + version-control metadata. Specifically: +

      +
    • The version prefix must be of the form vX.0.0, or derived + from a tag on an ancestor of the named revision, or derived from a tag that + includes build metadata on + the named revision itself.
    • + +
    • The date string must match the UTC timestamp of the revision.
    • + +
    • The short name of the revision must use the same number of characters as + what the go command would generate. (For SHA-1 hashes as used + by git, a 12-digit prefix.)
    • +
    +

    + +

    + If a require directive in the + main module uses + an invalid pseudo-version, it can usually be corrected by redacting the + version to just the commit hash and re-running a go command, such + as go list -m all + or go mod tidy. For example, +

    +
    require github.com/docker/docker v1.14.0-0.20190319215453-e7b5f7dbe98c
    +

    can be redacted to

    +
    require github.com/docker/docker e7b5f7dbe98c
    +

    which currently resolves to

    +
    require github.com/docker/docker v0.7.3-0.20190319215453-e7b5f7dbe98c
    + +

    + If one of the transitive dependencies of the main module requires an invalid + version or pseudo-version, the invalid version can be replaced with a valid + one using a + replace directive in + the go.mod file of the main module. If the replacement is a + commit hash, it will be resolved to the appropriate pseudo-version as above. + For example, +

    +
    replace github.com/docker/docker v1.14.0-0.20190319215453-e7b5f7dbe98c => github.com/docker/docker e7b5f7dbe98c
    +

    currently resolves to

    +
    replace github.com/docker/docker v1.14.0-0.20190319215453-e7b5f7dbe98c => github.com/docker/docker v0.7.3-0.20190319215453-e7b5f7dbe98c
    + +

    Go command

    + +

    + The go env + command now accepts a -w flag to set the per-user default value + of an environment variable recognized by the + go command, and a corresponding -u flag to unset a + previously-set default. Defaults set via + go env -w are stored in the + go/env file within + os.UserConfigDir(). +

    + +

    + The + go version command now accepts arguments naming + executables and directories. When invoked on an executable, + go version prints the version of Go used to build + the executable. If the -m flag is used, + go version prints the executable's embedded module + version information, if available. When invoked on a directory, + go version prints information about executables + contained in the directory and its subdirectories. +

    + +

    + The new go + build flag -trimpath removes all file system paths + from the compiled executable, to improve build reproducibility. +

    + +

    + If the -o flag passed to go build + refers to an existing directory, go build will now + write executable files within that directory for main packages + matching its package arguments. +

    + +

    + The go build flag -tags now takes a + comma-separated list of build tags, to allow for multiple tags in + GOFLAGS. The + space-separated form is deprecated but still recognized and will be maintained. +

    + +

    + go + generate now sets the generate build tag so that + files may be searched for directives but ignored during build. +

    + +

    + As announced in the Go 1.12 release + notes, binary-only packages are no longer supported. Building a binary-only + package (marked with a //go:binary-only-package comment) now + results in an error.

    Compiler toolchain

    @@ -191,6 +447,41 @@ TODO introduced in ARM v8.1.

    +

    gofmt

    + +

    + gofmt (and with that go fmt) now canonicalizes + number literal prefixes and exponents to use lower-case letters, but + leaves hexadecimal digits alone. This improves readability when using the new octal prefix + (0O becomes 0o), and the rewrite is applied consistently. + gofmt now also removes unnecessary leading zeroes from a decimal integer + imaginary literal. (For backwards-compatibility, an integer imaginary literal + starting with 0 is considered a decimal, not an octal number. + Removing superfluous leading zeroes avoids potential confusion.) + For instance, 0B1010, 0XabcDEF, 0O660, + 1.2E3, and 01i become 0b1010, 0xabcDEF, + 0o660, 1.2e3, and 1i after applying gofmt. +

    + +

    godoc and go doc

    + +

    + The godoc webserver is no longer included in the main binary distribution. + To run the godoc webserver locally, manually install it first: +

    +go get golang.org/x/tools/cmd/godoc
    +godoc
    +
    +

    + +

    + The + go doc + command now always includes the package clause in its output, except for + commands. This replaces the previous behavior where a heuristic was used, + causing the package clause to be omitted under certain conditions. +

    +

    Runtime

    @@ -217,10 +508,6 @@ TODO

    Core library

    -

    -TODO generally -

    -

    TLS 1.3

    @@ -246,6 +533,37 @@ TODO generally crypto/ed25519 when used with Go 1.13+.

    +

    Error wrapping

    + +

    + Go 1.13 contains support for error wrapping, as first proposed in + the + Error Values proposal and discussed on the + associated issue. +

    +

    + An error e can wrap another error w by providing + an Unwrap method that returns w. Both e + and w are available to programs, allowing e to provide + additional context to w or to reinterpret it while still allowing + programs to make decisions based on w. +

    +

    + To support wrapping, fmt.Errorf now has a %w + verb for creating wrapped errors, and three new functions in + the errors package ( + errors.Unwrap, + errors.Is and + errors.As) simplify unwrapping + and inspecting wrapped errors. +

    +

    + For more information, read the errors package + documentation, or see + the Error Value FAQ. + There will soon be a blog post as well. +

    +

    Minor changes to the library

    @@ -254,23 +572,8 @@ TODO generally in mind.

    -

    -TODO -

    - - - - - - - -
    bytes
    -

    - TODO: https://golang.org/cl/161760: hoist error creation out of function -

    -

    The new ToValidUTF8 function returns a copy of a given byte slice with each run of invalid UTF-8 byte sequences replaced by a given slice. @@ -288,6 +591,19 @@ TODO

    crypto/tls
    +

    + Support for SSL version 3.0 (SSLv3) + is now deprecated and will be removed in Go 1.14. Note that SSLv3 is the + cryptographically broken + protocol predating TLS. +

    + +

    + SSLv3 was always disabled by default, other than in Go 1.12, when it was + mistakenly enabled by default server-side. It is now again disabled by + default. (SSLv3 was never supported client-side.) +

    +

    Ed25519 certificates are now supported in TLS versions 1.2 and 1.3.

    @@ -304,6 +620,11 @@ TODO and ParsePKIXPublicKey functions.

    +

    + The paths searched for system roots now include /etc/ssl/cert.pem + to support the default location in Alpine Linux 3.7+. +

    +
    database/sql
    @@ -331,11 +652,83 @@ TODO
    +
    errors
    +
    + +

    + The new function As finds the first + error in a given error’s chain (sequence of wrapped errors) + that matches a given target’s type, and if so, sets the target to that error value. +

    +

    + The new function Is reports whether a given error value matches an + error in another’s chain. +

    +

    + The new function Unwrap returns the result of calling + Unwrap on a given error, if one exists. +

    + +
    + +
    fmt
    +
    + +

    + The printing verbs %x and %X now format floating-point and + complex numbers in hexadecimal notation, in lower-case and upper-case respectively. +

    + + +

    + The new printing verb %O formats integers in base 8, emitting the 0o prefix. +

    + + +

    + The scanner now accepts hexadecimal floating-point values, digit-separating underscores + and leading 0b and 0o prefixes. + See the Changes to the language for details. +

    + + +

    The Errorf function + has a new verb, %w, whose operand must be an error. + The error returned from Errorf will have an + Unwrap method which returns the operand of %w. +

    + +
    + + +
    go/scanner
    +
    +

    + The scanner has been updated to recognize the new Go number literals, specifically + binary literals with 0b/0B prefix, octal literals with 0o/0O prefix, + and floating-point numbers with hexadecimal mantissa. The imaginary suffix i may now be used with any number + literal, and underscores may used as digit separators for grouping. + See the Changes to the language for details. +

    + +
    + +
    go/types
    +
    +

    + The type-checker has been updated to follow the new rules for integer shifts. + See the Changes to the language for details. +

    + +
    + + +
    html/template

    When using a <script> tag with "module" set as the - type attribute, code will now be interperted as JavaScript module script. + type attribute, code will now be interpreted as JavaScript module script.

    @@ -351,11 +744,23 @@ TODO
    math/big

    - TODO: https://golang.org/cl/160682: implement Rat.SetUint64 + The new Rat.SetUint64 method sets the Rat to a uint64 value. +

    + +

    + For Float.Parse, if base is 0, underscores + may be used between digits for readability. + See the Changes to the language for details. +

    + +

    + For Int.SetString, if base is 0, underscores + may be used between digits for readability. + See the Changes to the language for details.

    - TODO: https://golang.org/cl/168237: accept non-decimal floats with Rat.SetString + Rat.SetString now accepts non-decimal floating point representations.

    @@ -382,12 +787,37 @@ TODO

    The new field ListenConfig.KeepAlive specifies the keep-alive period for network connections accepted by the listener. + If this field is 0 (the default) TCP keep-alives will be enabled. + To disable them, set it to a negative value. +

    +

    + Note that the error returned from I/O on a connection that was + closed by a keep-alive timeout will have a + Timeout method that returns true if called. + This can make a keep-alive error difficult to distinguish from + an error returned due to a missed deadline as set by the + SetDeadline + method and similar methods. + Code that uses deadlines and checks for them with + the Timeout method or + with os.IsTimeout + may want to disable keep-alives, or + use errors.Is(syscall.ETIMEDOUT) (on Unix systems) + which will return true for a keep-alive timeout and false for a + deadline timeout.

    net/http
    +

    + The new fields Transport.WriteBufferSize + and Transport.ReadBufferSize + allow one to specify the sizes of the write and read buffers for a Transport. + If either field is zero, a default size of 4KB is used. +

    +

    The new field Transport.ForceAttemptHTTP2 controls whether HTTP/2 is enabled when a non-zero Dial, DialTLS, or DialContext @@ -395,7 +825,7 @@ TODO

    - When reusing HTTP/2, the Transport no longer performs unnecessary TLS handshakes. + When reusing HTTP/2, the Transport no longer performs unnecessary TLS handshakes.

    @@ -404,11 +834,29 @@ TODO Pusher and Flusher interfaces.

    +

    + The StatusCode 103 "Early Hints" has been added. +

    + +

    + Transport now uses the Request.Body's + io.ReaderFrom implementation if available, to optimize writing the body. +

    + +

    + On encountering unsupported transfer-encodings, http.Server now + returns a "501 Unimplemented" status as mandated by the HTTP specification RFC 7230 Section 3.3.1. +

    +

    - The new Server fields + The new Server fields BaseContext and ConnContext - allow finer control over the Context values provided to requests and connections. + allow finer control over the Context values provided to requests and connections. +

    + +

    + http.DetectContentType now correctly detects RAR signatures, and can now also detect RAR v5 signatures.

    @@ -416,6 +864,17 @@ TODO Clone returns a copy of the receiver.

    +

    + A new function NewRequestWithContext has been added and it + accepts a Context that controls the entire lifetime of + the created outgoing Request, suitable for use with + Client.Do and Transport.RoundTrip. +

    + +

    + Transport now silently ignores a 408 "Request Timeout" response. +

    +
    os
    @@ -435,9 +894,9 @@ TODO
    os/exec

    - On Windows, the environment for a Cmd always inherits the + On Windows, the environment for a Cmd always inherits the %SYSTEMROOT% value of the parent process unless the - Cmd.Env field includes an explicit value for it. + Cmd.Env field includes an explicit value for it.

    @@ -457,15 +916,27 @@ TODO
    runtime

    - Tracebacks, runtime.Caller, - and runtime.Callers now refer to the function that + Tracebacks, runtime.Caller, + and runtime.Callers now refer to the function that initializes the global variables of PKG - as PKG.init instead of PKG.init.ializers + as PKG.init instead of PKG.init.ializers.

    -
    strings
    +
    strconv
    +
    +

    + For strconv.ParseFloat, + strconv.ParseInt + and strconv.ParseUint, + if base is 0, underscores may be used between digits for readability. + See the Changes to the language for details. +

    + +
    + +
    strings

    The new ToValidUTF8 function returns a @@ -476,6 +947,14 @@ TODO

    sync
    +

    + The fast paths of Mutex.Lock, Mutex.Unlock, + RWMutex.Lock, RWMutex.RUnlock, and + Once.Do are now inlined in their callers. + For the uncontended cases on amd64, these changes make Once.Do twice as fast, and the + Mutex/RWMutex methods up to 10% faster. +

    +

    Large Pool no longer increase stop-the-world pause times.

    @@ -490,8 +969,9 @@ TODO
    syscall

    - Uses of _getdirentries64 have been removed from Darwin builds, to allow binaries - built with 1.12 to be uploaded to the macOS App Store. + Uses of _getdirentries64 have been removed from + Darwin builds, to allow Go binaries to be uploaded to the macOS + App Store.

    @@ -505,12 +985,19 @@ TODO Chmod mode on Windows.

    +

    + Values of type Errno can be tested against error values in + the os package, + like ErrExist, using + errors.Is. +

    +
    syscall/js

    - TypedArrayOf has been replaced by + TypedArrayOf has been replaced by CopyBytesToGo and CopyBytesToJS for copying bytes between a byte slice and a Uint8Array.

    @@ -520,24 +1007,32 @@ TODO
    testing

    - TODO: https://golang.org/cl/112155: stop rounding b.N + When running benchmarks, B.N is no longer rounded.

    - TODO: https://golang.org/cl/166717: add B.ReportMetric for custom benchmark metrics + The new method B.ReportMetric lets users report + custom benchmark metrics and override built-in metrics.

    - TODO: https://golang.org/cl/173722: delay flag registration; move to an Init function + Testing flags are now registered in the new Init function, + which is invoked by the generated main function for the test. + As a result, testing flags are now only registered when running a test binary, + and packages that call flag.Parse during package initialization may cause tests to fail.

    text/scanner
    -

    - The new AllowNumberbars - mode allows number literals to contain underbars as digit separators. +

    + The scanner has been updated to recognize the new Go number literals, specifically + binary literals with 0b/0B prefix, octal literals with 0o/0O prefix, + and floating-point numbers with hexadecimal mantissa. + Also, the new AllowDigitSeparators + mode allows number literals to contain underscores as digit separators (off by default for backwards-compatibility). + See the Changes to the language for details.

    @@ -554,7 +1049,7 @@ TODO
    time

    - Day-of-year is now supported by Format + Day-of-year is now supported by Format and Parse.

    @@ -567,3 +1062,13 @@ TODO
    +
    unicode
    +
    +

    + The unicode package and associated + support throughout the system has been upgraded from Unicode 10.0 to + Unicode 11.0, + which adds 684 new characters, including seven new scripts, and 66 new emoji. +

    + +
    diff --git a/doc/go1.3.html b/doc/go1.3.html index feed6480c7..18b3ec65d2 100644 --- a/doc/go1.3.html +++ b/doc/go1.3.html @@ -373,7 +373,7 @@ which can be useful information when debugging deadlocks or performance issues.

    A new package debug/plan9obj was added to the standard library. -It implements access to Plan 9 a.out object files. +It implements access to Plan 9 a.out object files.

    Major changes to the library

    diff --git a/doc/go1.6.html b/doc/go1.6.html index 902a82d517..c8ec7e7991 100644 --- a/doc/go1.6.html +++ b/doc/go1.6.html @@ -10,7 +10,7 @@ Edit .,s;^([a-z][A-Za-z0-9_/]+)\.([A-Z][A-Za-z0-9_]+\.)?([A-Z][A-Za-z0-9_]+)([ . -->

    Introduction to Go 1.6

    diff --git a/doc/go1.7.html b/doc/go1.7.html index db60702776..61076fd091 100644 --- a/doc/go1.7.html +++ b/doc/go1.7.html @@ -22,7 +22,7 @@ Do not send CLs removing the interior tags from such phrases. -->

    Introduction to Go 1.7

    diff --git a/doc/go1.8.html b/doc/go1.8.html index 611f5ee25e..2a47fac420 100644 --- a/doc/go1.8.html +++ b/doc/go1.8.html @@ -12,7 +12,7 @@ Do not send CLs removing the interior tags from such phrases. -->

    Introduction to Go 1.8

    diff --git a/doc/go1.9.html b/doc/go1.9.html index fa50ae7805..3dfdf53a81 100644 --- a/doc/go1.9.html +++ b/doc/go1.9.html @@ -12,7 +12,7 @@ Do not send CLs removing the interior tags from such phrases. -->

    Introduction to Go 1.9

    diff --git a/doc/go_spec.html b/doc/go_spec.html index fb4341be1d..4f94b14fa5 100644 --- a/doc/go_spec.html +++ b/doc/go_spec.html @@ -1,6 +1,6 @@ @@ -1244,24 +1244,36 @@ The value of an uninitialized variable of interface type is nil.

    -InterfaceType      = "interface" "{" { MethodSpec ";" } "}" .
    -MethodSpec         = MethodName Signature | InterfaceTypeName .
    +InterfaceType      = "interface" "{" { ( MethodSpec | InterfaceTypeName ) ";" } "}" .
    +MethodSpec         = MethodName Signature .
     MethodName         = identifier .
     InterfaceTypeName  = TypeName .
     

    -As with all method sets, in an interface type, each method must have a -unique -non-blank name. +An interface type may specify methods explicitly through method specifications, +or it may embed methods of other interfaces through interface type names.

    -// A simple File interface
    +// A simple File interface.
     interface {
    -	Read(b Buffer) bool
    -	Write(b Buffer) bool
    -	Close()
    +	Read([]byte) (int, error)
    +	Write([]byte) (int, error)
    +	Close() error
    +}
    +
    + +

    +The name of each explicitly specified method must be unique +and not blank. +

    + +
    +interface {
    +	String() string
    +	String() string  // illegal: String not unique
    +	_(x int)         // illegal: method must have non-blank name
     }
     
    @@ -1272,9 +1284,9 @@ have the method set

    -func (p T) Read(b Buffer) bool { return … }
    -func (p T) Write(b Buffer) bool { return … }
    -func (p T) Close() { … }
    +func (p T) Read(p []byte) (n int, err error)
    +func (p T) Write(p []byte) (n int, err error)
    +func (p T) Close() error
     

    @@ -1324,27 +1336,41 @@ as the File interface.

    An interface T may use a (possibly qualified) interface type name E in place of a method specification. This is called -embedding interface E in T; it adds -all (exported and non-exported) methods of E to the interface -T. +embedding interface E in T. +The method set of T is the union +of the method sets of T’s explicitly declared methods and of +T’s embedded interfaces.

    +type Reader interface {
    +	Read(p []byte) (n int, err error)
    +	Close() error
    +}
    +
    +type Writer interface {
    +	Write(p []byte) (n int, err error)
    +	Close() error
    +}
    +
    +// ReadWriter's methods are Read, Write, and Close.
     type ReadWriter interface {
    -	Read(b Buffer) bool
    -	Write(b Buffer) bool
    +	Reader  // includes methods of Reader in ReadWriter's method set
    +	Writer  // includes methods of Writer in ReadWriter's method set
     }
    +
    -type File interface { - ReadWriter // same as adding the methods of ReadWriter - Locker // same as adding the methods of Locker - Close() -} +

    +A union of method sets contains the (exported and non-exported) +methods of each method set exactly once, and methods with the +same names must +have identical signatures. +

    -type LockedFile interface { - Locker - File // illegal: Lock, Unlock not unique - Lock() // illegal: Lock not unique +
    +type ReadCloser interface {
    +	Reader   // includes methods of Reader in ReadCloser's method set
    +	Close()  // illegal: signatures of Reader.Close and Close are different
     }
     
    diff --git a/doc/install-source.html b/doc/install-source.html index 79c2a14b18..12b10d5621 100644 --- a/doc/install-source.html +++ b/doc/install-source.html @@ -33,7 +33,7 @@ compiler using the GCC back end, see

    -The Go compilers support eight instruction sets. +The Go compilers support nine instruction sets. There are important differences in the quality of the compilers for the different architectures.

    @@ -87,6 +87,12 @@ architectures.
    Supports Linux binaries. New in 1.7 and not as well exercised as other ports.
    +
    + wasm (WebAssembly) +
    +
    + Targets the WebAssembly platform. New in 1.11 and not as well exercised as other ports. +

    @@ -134,12 +140,16 @@ For example, $GOROOT_BOOTSTRAP/bin/go should be the go command binary for the bootstrap toolchain.

    +

    Bootstrap toolchain from binary release

    +

    To use a binary release as a bootstrap toolchain, see the downloads page or use any other packaged Go distribution.

    +

    Bootstrap toolchain from source

    +

    To build a bootstrap toolchain from source, use either the git branch release-branch.go1.4 or @@ -153,6 +163,17 @@ the environment, and run make.bash (or, on Windows, make.bat).

    +

    +Once the Go 1.4 source has been unpacked into your GOROOT_BOOTSTRAP directory, +you must keep this git clone instance checked out to branch +release-branch.go1.4. Specifically, do not attempt to reuse +this git clone in the later step named "Fetch the repository." The go1.4 +bootstrap toolchain must be able to properly traverse the go1.4 sources +that it assumes are present under this repository root. +

    + +

    Bootstrap toolchain from cross-compiled source

    +

    To cross-compile a bootstrap toolchain from source, which is necessary on systems Go 1.4 did not target (for @@ -175,6 +196,8 @@ That tree can be copied to a machine of the given target type and used as GOROOT_BOOTSTRAP to bootstrap a local build.

    +

    Bootstrap toolchain using gccgo

    +

    To use gccgo as the bootstrap toolchain, you need to arrange for $GOROOT_BOOTSTRAP/bin/go to be the go tool that comes @@ -240,6 +263,11 @@ that if Go is checked out in $HOME/go, it will conflict with the default location of $GOPATH. See GOPATH below.

    +Reminder: If you opted to also compile the bootstrap binaries from source (in an +earlier section), you still need to git clone again at this point +(to checkout the latest <tag>), because you must keep your +go1.4 repository distinct. +

    If you intend to modify the go source code, and @@ -493,25 +521,45 @@ These default to the values of $GOHOSTOS and

    Choices for $GOOS are -darwin (macOS 10.10 and above and iOS), dragonfly, freebsd, +android, darwin (macOS 10.11 and above and iOS), +dragonfly, freebsd, illumos, js, linux, netbsd, openbsd, plan9, solaris and windows. +

    + +

    Choices for $GOARCH are amd64 (64-bit x86, the most mature port), 386 (32-bit x86), arm (32-bit ARM), arm64 (64-bit ARM), ppc64le (PowerPC 64-bit, little-endian), ppc64 (PowerPC 64-bit, big-endian), mips64le (MIPS 64-bit, little-endian), mips64 (MIPS 64-bit, big-endian), -mipsle (MIPS 32-bit, little-endian), mips (MIPS 32-bit, big-endian), and -s390x (IBM System z 64-bit, big-endian). +mipsle (MIPS 32-bit, little-endian), mips (MIPS 32-bit, big-endian), +s390x (IBM System z 64-bit, big-endian), and +wasm (WebAssembly 32-bit). +

    + +

    The valid combinations of $GOOS and $GOARCH are: + + + + + + + + + + + + @@ -536,6 +584,12 @@ The valid combinations of $GOOS and $GOARCH are: + + + + + + @@ -587,12 +641,18 @@ The valid combinations of $GOOS and $GOARCH are: + + + + + + diff --git a/lib/time/update.bash b/lib/time/update.bash index 5dc74f9f0b..28f904da9f 100755 --- a/lib/time/update.bash +++ b/lib/time/update.bash @@ -8,8 +8,8 @@ # Consult https://www.iana.org/time-zones for the latest versions. # Versions to use. -CODE=2018i -DATA=2018i +CODE=2019b +DATA=2019b set -e rm -rf work diff --git a/lib/time/zoneinfo.zip b/lib/time/zoneinfo.zip index a79e5d98fd..909cf48dd5 100644 Binary files a/lib/time/zoneinfo.zip and b/lib/time/zoneinfo.zip differ diff --git a/misc/cgo/errors/errors_test.go b/misc/cgo/errors/errors_test.go index e6bac0fff4..1bdf843451 100644 --- a/misc/cgo/errors/errors_test.go +++ b/misc/cgo/errors/errors_test.go @@ -112,6 +112,7 @@ func TestReportsTypeErrors(t *testing.T) { "issue18452.go", "issue18889.go", "issue28721.go", + "issue33061.go", } { check(t, file) } diff --git a/misc/cgo/errors/ptr_test.go b/misc/cgo/errors/ptr_test.go index d1ef191bf5..4a46b6023b 100644 --- a/misc/cgo/errors/ptr_test.go +++ b/misc/cgo/errors/ptr_test.go @@ -156,8 +156,8 @@ var ptrTests = []ptrTest{ // Storing a Go pointer into C memory should fail. name: "barrier", c: `#include - char **f14a() { return malloc(sizeof(char*)); } - void f14b(char **p) {}`, + char **f14a() { return malloc(sizeof(char*)); } + void f14b(char **p) {}`, body: `p := C.f14a(); *p = new(C.char); C.f14b(p)`, fail: true, expensive: true, @@ -167,9 +167,9 @@ var ptrTests = []ptrTest{ // large value should fail. name: "barrierstruct", c: `#include - struct s15 { char *a[10]; }; - struct s15 *f15() { return malloc(sizeof(struct s15)); } - void f15b(struct s15 *p) {}`, + struct s15 { char *a[10]; }; + struct s15 *f15() { return malloc(sizeof(struct s15)); } + void f15b(struct s15 *p) {}`, body: `p := C.f15(); p.a = [10]*C.char{new(C.char)}; C.f15b(p)`, fail: true, expensive: true, @@ -179,9 +179,9 @@ var ptrTests = []ptrTest{ // copy should fail. name: "barrierslice", c: `#include - struct s16 { char *a[10]; }; - struct s16 *f16() { return malloc(sizeof(struct s16)); } - void f16b(struct s16 *p) {}`, + struct s16 { char *a[10]; }; + struct s16 *f16() { return malloc(sizeof(struct s16)); } + void f16b(struct s16 *p) {}`, body: `p := C.f16(); copy(p.a[:], []*C.char{new(C.char)}); C.f16b(p)`, fail: true, expensive: true, @@ -191,9 +191,9 @@ var ptrTests = []ptrTest{ // different code path. name: "barriergcprogarray", c: `#include - struct s17 { char *a[32769]; }; - struct s17 *f17() { return malloc(sizeof(struct s17)); } - void f17b(struct s17 *p) {}`, + struct s17 { char *a[32769]; }; + struct s17 *f17() { return malloc(sizeof(struct s17)); } + void f17b(struct s17 *p) {}`, body: `p := C.f17(); p.a = [32769]*C.char{new(C.char)}; C.f17b(p)`, fail: true, expensive: true, @@ -202,10 +202,10 @@ var ptrTests = []ptrTest{ // Similar case, with a source on the heap. name: "barriergcprogarrayheap", c: `#include - struct s18 { char *a[32769]; }; - struct s18 *f18() { return malloc(sizeof(struct s18)); } - void f18b(struct s18 *p) {} - void f18c(void *p) {}`, + struct s18 { char *a[32769]; }; + struct s18 *f18() { return malloc(sizeof(struct s18)); } + void f18b(struct s18 *p) {} + void f18c(void *p) {}`, imports: []string{"unsafe"}, body: `p := C.f18(); n := &[32769]*C.char{new(C.char)}; p.a = *n; C.f18b(p); n[0] = nil; C.f18c(unsafe.Pointer(n))`, fail: true, @@ -215,10 +215,10 @@ var ptrTests = []ptrTest{ // A GC program with a struct. name: "barriergcprogstruct", c: `#include - struct s19a { char *a[32769]; }; - struct s19b { struct s19a f; }; - struct s19b *f19() { return malloc(sizeof(struct s19b)); } - void f19b(struct s19b *p) {}`, + struct s19a { char *a[32769]; }; + struct s19b { struct s19a f; }; + struct s19b *f19() { return malloc(sizeof(struct s19b)); } + void f19b(struct s19b *p) {}`, body: `p := C.f19(); p.f = C.struct_s19a{[32769]*C.char{new(C.char)}}; C.f19b(p)`, fail: true, expensive: true, @@ -227,11 +227,11 @@ var ptrTests = []ptrTest{ // Similar case, with a source on the heap. name: "barriergcprogstructheap", c: `#include - struct s20a { char *a[32769]; }; - struct s20b { struct s20a f; }; - struct s20b *f20() { return malloc(sizeof(struct s20b)); } - void f20b(struct s20b *p) {} - void f20c(void *p) {}`, + struct s20a { char *a[32769]; }; + struct s20b { struct s20a f; }; + struct s20b *f20() { return malloc(sizeof(struct s20b)); } + void f20b(struct s20b *p) {} + void f20c(void *p) {}`, imports: []string{"unsafe"}, body: `p := C.f20(); n := &C.struct_s20a{[32769]*C.char{new(C.char)}}; p.f = *n; C.f20b(p); n.a[0] = nil; C.f20c(unsafe.Pointer(n))`, fail: true, @@ -242,7 +242,7 @@ var ptrTests = []ptrTest{ name: "export1", c: `extern unsigned char *GoFn21();`, support: `//export GoFn21 - func GoFn21() *byte { return new(byte) }`, + func GoFn21() *byte { return new(byte) }`, body: `C.GoFn21()`, fail: true, }, @@ -250,17 +250,17 @@ var ptrTests = []ptrTest{ // Returning a C pointer is fine. name: "exportok", c: `#include - extern unsigned char *GoFn22();`, + extern unsigned char *GoFn22();`, support: `//export GoFn22 - func GoFn22() *byte { return (*byte)(C.malloc(1)) }`, + func GoFn22() *byte { return (*byte)(C.malloc(1)) }`, body: `C.GoFn22()`, }, { // Passing a Go string is fine. name: "passstring", c: `#include - typedef struct { const char *p; ptrdiff_t n; } gostring23; - gostring23 f23(gostring23 s) { return s; }`, + typedef struct { const char *p; ptrdiff_t n; } gostring23; + gostring23 f23(gostring23 s) { return s; }`, imports: []string{"unsafe"}, body: `s := "a"; r := C.f23(*(*C.gostring23)(unsafe.Pointer(&s))); if *(*string)(unsafe.Pointer(&r)) != s { panic(r) }`, }, @@ -279,12 +279,12 @@ var ptrTests = []ptrTest{ c: `extern void f25();`, imports: []string{"strings"}, support: `//export GoStr25 - func GoStr25() string { return strings.Repeat("a", 2) }`, + func GoStr25() string { return strings.Repeat("a", 2) }`, body: `C.f25()`, c1: `#include - typedef struct { const char *p; ptrdiff_t n; } gostring25; - extern gostring25 GoStr25(); - void f25() { GoStr25(); }`, + typedef struct { const char *p; ptrdiff_t n; } gostring25; + extern gostring25 GoStr25(); + void f25() { GoStr25(); }`, fail: true, }, { @@ -295,7 +295,7 @@ var ptrTests = []ptrTest{ // that is, we are testing something that is not unsafe. name: "ptrdata1", c: `#include - void f26(void* p) {}`, + void f26(void* p) {}`, imports: []string{"unsafe"}, support: `type S26 struct { p *int; a [8*8]byte; u uintptr }`, body: `i := 0; p := &S26{u:uintptr(unsafe.Pointer(&i))}; q := (*S26)(C.malloc(C.size_t(unsafe.Sizeof(*p)))); *q = *p; C.f26(unsafe.Pointer(q))`, @@ -305,7 +305,7 @@ var ptrTests = []ptrTest{ // Like ptrdata1, but with a type that uses a GC program. name: "ptrdata2", c: `#include - void f27(void* p) {}`, + void f27(void* p) {}`, imports: []string{"unsafe"}, support: `type S27 struct { p *int; a [32769*8]byte; q *int; u uintptr }`, body: `i := 0; p := S27{u:uintptr(unsafe.Pointer(&i))}; q := (*S27)(C.malloc(C.size_t(unsafe.Sizeof(p)))); *q = p; C.f27(unsafe.Pointer(q))`, @@ -423,6 +423,15 @@ var ptrTests = []ptrTest{ body: `t := reflect.StructOf([]reflect.StructField{{Name: "MyInt38", Type: reflect.TypeOf(MyInt38(0)), Anonymous: true}}); v := reflect.New(t).Elem(); v.Interface().(Getter38).Get()`, fail: false, }, + { + // Test that a converted address of a struct field results + // in a check for just that field and not the whole struct. + name: "structfieldcast", + c: `struct S40i { int i; int* p; }; void f40(struct S40i* p) {}`, + support: `type S40 struct { p *int; a C.struct_S40i }`, + body: `s := &S40{p: new(int)}; C.f40((*C.struct_S40i)(&s.a))`, + fail: false, + }, } func TestPointerChecks(t *testing.T) { @@ -466,6 +475,9 @@ func buildPtrTests(t *testing.T) (dir, exe string) { if err := os.MkdirAll(src, 0777); err != nil { t.Fatal(err) } + if err := ioutil.WriteFile(filepath.Join(src, "go.mod"), []byte("module ptrtest"), 0666); err != nil { + t.Fatal(err) + } // Prepare two cgo inputs: one for standard cgo and one for //export cgo. // (The latter cannot have C definitions, only declarations.) diff --git a/misc/cgo/errors/testdata/issue33061.go b/misc/cgo/errors/testdata/issue33061.go new file mode 100644 index 0000000000..77d5f7a7c9 --- /dev/null +++ b/misc/cgo/errors/testdata/issue33061.go @@ -0,0 +1,17 @@ +// Copyright 2019 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. + +// cgo shouldn't crash if there is an extra argument with a C reference. + +package main + +// void F(void* p) {}; +import "C" + +import "unsafe" + +func F() { + var i int + C.F(unsafe.Pointer(&i), C.int(0)) // ERROR HERE +} diff --git a/misc/cgo/test/cgo_test.go b/misc/cgo/test/cgo_test.go index 2d6d269608..c66df2cd46 100644 --- a/misc/cgo/test/cgo_test.go +++ b/misc/cgo/test/cgo_test.go @@ -57,6 +57,7 @@ func Test26066(t *testing.T) { test26066(t) } func Test27660(t *testing.T) { test27660(t) } func Test28896(t *testing.T) { test28896(t) } func Test30065(t *testing.T) { test30065(t) } +func Test32579(t *testing.T) { test32579(t) } func TestAlign(t *testing.T) { testAlign(t) } func TestAtol(t *testing.T) { testAtol(t) } func TestBlocking(t *testing.T) { testBlocking(t) } diff --git a/misc/cgo/test/test.go b/misc/cgo/test/test.go index cc940da211..4286fb9cdb 100644 --- a/misc/cgo/test/test.go +++ b/misc/cgo/test/test.go @@ -852,6 +852,8 @@ static void issue29781F(char **p, int n) {} // issue 31093 static uint16_t issue31093F(uint16_t v) { return v; } +// issue 32579 +typedef struct S32579 { unsigned char data[1]; } S32579; */ import "C" @@ -2083,3 +2085,13 @@ func test30065(t *testing.T) { func Issue31093() { C.issue31093F(C.ushort(0)) } + +// issue 32579 + +func test32579(t *testing.T) { + var s [1]C.struct_S32579 + C.memset(unsafe.Pointer(&s[0].data[0]), 1, 1) + if s[0].data[0] != 1 { + t.Errorf("&s[0].data[0] failed: got %d, want %d", s[0].data[0], 1) + } +} diff --git a/misc/cgo/testshared/shared_test.go b/misc/cgo/testshared/shared_test.go index ac1a1c7f1a..9d16338c0f 100644 --- a/misc/cgo/testshared/shared_test.go +++ b/misc/cgo/testshared/shared_test.go @@ -941,3 +941,10 @@ func TestTestInstalledShared(t *testing.T) { func TestGeneratedMethod(t *testing.T) { goCmd(t, "install", "-buildmode=shared", "-linkshared", "./issue25065") } + +// Test use of shared library struct with generated hash function. +// Issue 30768. +func TestGeneratedHash(t *testing.T) { + goCmd(nil, "install", "-buildmode=shared", "-linkshared", "./issue30768/issue30768lib") + goCmd(nil, "test", "-linkshared", "./issue30768") +} diff --git a/misc/cgo/testshared/testdata/issue30768/issue30768lib/lib.go b/misc/cgo/testshared/testdata/issue30768/issue30768lib/lib.go new file mode 100644 index 0000000000..9e45ebe683 --- /dev/null +++ b/misc/cgo/testshared/testdata/issue30768/issue30768lib/lib.go @@ -0,0 +1,11 @@ +// Copyright 2019 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 issue30768lib + +// S is a struct that requires a generated hash function. +type S struct { + A string + B int +} diff --git a/misc/cgo/testshared/testdata/issue30768/x_test.go b/misc/cgo/testshared/testdata/issue30768/x_test.go new file mode 100644 index 0000000000..1bbd139d3e --- /dev/null +++ b/misc/cgo/testshared/testdata/issue30768/x_test.go @@ -0,0 +1,22 @@ +// Copyright 2019 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 issue30768_test + +import ( + "testing" + + "testshared/issue30768/issue30768lib" +) + +type s struct { + s issue30768lib.S +} + +func Test30768(t *testing.T) { + // Calling t.Log will convert S to an empty interface, + // which will force a reference to the generated hash function, + // defined in the shared library. + t.Log(s{}) +} diff --git a/misc/reboot/experiment_toolid_test.go b/misc/reboot/experiment_toolid_test.go new file mode 100644 index 0000000000..eabf06b19e --- /dev/null +++ b/misc/reboot/experiment_toolid_test.go @@ -0,0 +1,101 @@ +// Copyright 2019 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. + +// +build explicit + +// Package experiment_toolid_test verifies that GOEXPERIMENT settings built +// into the toolchain influence tool ids in the Go command. +// This test requires bootstrapping the toolchain twice, so it's very expensive. +// It must be run explicitly with -tags=explicit. +// Verifies golang.org/issue/33091. +package reboot_test + +import ( + "bytes" + "io/ioutil" + "os" + "os/exec" + "path/filepath" + "runtime" + "testing" +) + +func TestExperimentToolID(t *testing.T) { + // Set up GOROOT + goroot, err := ioutil.TempDir("", "experiment-goroot") + if err != nil { + t.Fatal(err) + } + defer os.RemoveAll(goroot) + + gorootSrc := filepath.Join(goroot, "src") + if err := overlayDir(gorootSrc, filepath.Join(runtime.GOROOT(), "src")); err != nil { + t.Fatal(err) + } + + if err := ioutil.WriteFile(filepath.Join(goroot, "VERSION"), []byte("go1.999"), 0666); err != nil { + t.Fatal(err) + } + env := append(os.Environ(), "GOROOT=", "GOROOT_BOOTSTRAP="+runtime.GOROOT()) + + // Use a clean cache. + gocache, err := ioutil.TempDir("", "experiment-gocache") + if err != nil { + t.Fatal(err) + } + defer os.RemoveAll(gocache) + env = append(env, "GOCACHE="+gocache) + + // Build the toolchain without GOEXPERIMENT. + var makeScript string + switch runtime.GOOS { + case "windows": + makeScript = "make.bat" + case "plan9": + makeScript = "make.rc" + default: + makeScript = "make.bash" + } + makeScriptPath := filepath.Join(runtime.GOROOT(), "src", makeScript) + runCmd(t, gorootSrc, env, makeScriptPath) + + // Verify compiler version string. + goCmdPath := filepath.Join(goroot, "bin", "go") + if runtime.GOOS == "windows" { + goCmdPath += ".exe" + } + gotVersion := bytes.TrimSpace(runCmd(t, gorootSrc, env, goCmdPath, "tool", "compile", "-V=full")) + wantVersion := []byte(`compile version go1.999`) + if !bytes.Equal(gotVersion, wantVersion) { + t.Errorf("compile version without experiment: got %q, want %q", gotVersion, wantVersion) + } + + // Build a package in a mode not handled by the make script. + runCmd(t, gorootSrc, env, goCmdPath, "build", "-race", "archive/tar") + + // Rebuild the toolchain with GOEXPERIMENT. + env = append(env, "GOEXPERIMENT=fieldtrack") + runCmd(t, gorootSrc, env, makeScriptPath) + + // Verify compiler version string. + gotVersion = bytes.TrimSpace(runCmd(t, gorootSrc, env, goCmdPath, "tool", "compile", "-V=full")) + wantVersion = []byte(`compile version go1.999 X:fieldtrack,framepointer`) + if !bytes.Equal(gotVersion, wantVersion) { + t.Errorf("compile version with experiment: got %q, want %q", gotVersion, wantVersion) + } + + // Build the same package. We should not get a cache conflict. + runCmd(t, gorootSrc, env, goCmdPath, "build", "-race", "archive/tar") +} + +func runCmd(t *testing.T, dir string, env []string, path string, args ...string) []byte { + cmd := exec.Command(path, args...) + cmd.Dir = dir + cmd.Env = env + out, err := cmd.Output() + if err != nil { + t.Fatal(err) + } + return out +} diff --git a/src/README.vendor b/src/README.vendor index c80265344e..e74fc2f316 100644 --- a/src/README.vendor +++ b/src/README.vendor @@ -41,13 +41,13 @@ The vendor directory may be updated with 'go mod vendor'. A typical sequence might be: cd src - go get -m golang.org/x/net@latest + go get -d golang.org/x/net@latest go mod tidy go mod vendor Use caution when passing '-u' to 'go get'. The '-u' flag updates -modules providing all transitively imported packages, not just -the target module. +modules providing all transitively imported packages, not only +the module providing the target package. Note that 'go mod vendor' only copies packages that are transitively imported by packages in the current module. If a new package is needed, diff --git a/src/archive/zip/reader.go b/src/archive/zip/reader.go index 2260b398c3..13ff9ddcf4 100644 --- a/src/archive/zip/reader.go +++ b/src/archive/zip/reader.go @@ -8,7 +8,6 @@ import ( "bufio" "encoding/binary" "errors" - "fmt" "hash" "hash/crc32" "io" @@ -84,9 +83,6 @@ func (z *Reader) init(r io.ReaderAt, size int64) error { if err != nil { return err } - if end.directoryRecords > uint64(size)/fileHeaderLen { - return fmt.Errorf("archive/zip: TOC declares impossible %d files in %d byte zip", end.directoryRecords, size) - } z.r = r z.File = make([]*File, 0, end.directoryRecords) z.Comment = end.comment diff --git a/src/archive/zip/reader_test.go b/src/archive/zip/reader_test.go index 6b3f2f33bb..328559cc7d 100644 --- a/src/archive/zip/reader_test.go +++ b/src/archive/zip/reader_test.go @@ -981,15 +981,17 @@ func TestIssue10957(t *testing.T) { } } -// Verify the number of files is sane. +// Verify that this particular malformed zip file is rejected. func TestIssue10956(t *testing.T) { data := []byte("PK\x06\x06PK\x06\a0000\x00\x00\x00\x00\x00\x00\x00\x00" + "0000PK\x05\x06000000000000" + "0000\v\x00000\x00\x00\x00\x00\x00\x00\x000") - _, err := NewReader(bytes.NewReader(data), int64(len(data))) - const want = "TOC declares impossible 3472328296227680304 files in 57 byte" - if err == nil && !strings.Contains(err.Error(), want) { - t.Errorf("error = %v; want %q", err, want) + r, err := NewReader(bytes.NewReader(data), int64(len(data))) + if err == nil { + t.Errorf("got nil error, want ErrFormat") + } + if r != nil { + t.Errorf("got non-nil Reader, want nil") } } diff --git a/src/bufio/bufio.go b/src/bufio/bufio.go index 0125d729d1..0f05d3b322 100644 --- a/src/bufio/bufio.go +++ b/src/bufio/bufio.go @@ -197,6 +197,9 @@ func (b *Reader) Discard(n int) (discarded int, err error) { func (b *Reader) Read(p []byte) (n int, err error) { n = len(p) if n == 0 { + if b.Buffered() > 0 { + return 0, nil + } return 0, b.readErr() } if b.r == b.w { diff --git a/src/bufio/bufio_test.go b/src/bufio/bufio_test.go index f7a0682e70..782ca2149a 100644 --- a/src/bufio/bufio_test.go +++ b/src/bufio/bufio_test.go @@ -1481,6 +1481,60 @@ func newScriptedReader(steps ...func(p []byte) (n int, err error)) io.Reader { return &sr } +// eofReader returns the number of bytes read and io.EOF for the read that consumes the last of the content. +type eofReader struct { + buf []byte +} + +func (r *eofReader) Read(p []byte) (int, error) { + read := copy(p, r.buf) + r.buf = r.buf[read:] + + switch read { + case 0, len(r.buf): + // As allowed in the documentation, this will return io.EOF + // in the same call that consumes the last of the data. + // https://godoc.org/io#Reader + return read, io.EOF + } + + return read, nil +} + +func TestPartialReadEOF(t *testing.T) { + src := make([]byte, 10) + eofR := &eofReader{buf: src} + r := NewReader(eofR) + + // Start by reading 5 of the 10 available bytes. + dest := make([]byte, 5) + read, err := r.Read(dest) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if n := len(dest); read != n { + t.Fatalf("read %d bytes; wanted %d bytes", read, n) + } + + // The Reader should have buffered all the content from the io.Reader. + if n := len(eofR.buf); n != 0 { + t.Fatalf("got %d bytes left in bufio.Reader source; want 0 bytes", n) + } + // To prove the point, check that there are still 5 bytes available to read. + if n := r.Buffered(); n != 5 { + t.Fatalf("got %d bytes buffered in bufio.Reader; want 5 bytes", n) + } + + // This is the second read of 0 bytes. + read, err = r.Read([]byte{}) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if read != 0 { + t.Fatalf("read %d bytes; want 0 bytes", read) + } +} + func BenchmarkReaderCopyOptimal(b *testing.B) { // Optimal case is where the underlying reader implements io.WriterTo srcBuf := bytes.NewBuffer(make([]byte, 8192)) diff --git a/src/bufio/example_test.go b/src/bufio/example_test.go index bb57139918..8885d40549 100644 --- a/src/bufio/example_test.go +++ b/src/bufio/example_test.go @@ -31,6 +31,19 @@ func ExampleScanner_lines() { } } +// Return the most recent call to Scan as a []byte. +func ExampleScanner_Bytes() { + scanner := bufio.NewScanner(strings.NewReader("gopher")) + for scanner.Scan() { + fmt.Println(len(scanner.Bytes()) == 6) + } + if err := scanner.Err(); err != nil { + fmt.Fprintln(os.Stderr, "shouldn't see an error scanning a string") + } + // Output: + // true +} + // Use a Scanner to implement a simple word-count utility by scanning the // input as a sequence of space-delimited tokens. func ExampleScanner_words() { diff --git a/src/cmd/cgo/gcc.go b/src/cmd/cgo/gcc.go index 9428ffd3bf..01b86adadb 100644 --- a/src/cmd/cgo/gcc.go +++ b/src/cmd/cgo/gcc.go @@ -793,10 +793,10 @@ func (p *Package) rewriteCall(f *File, call *Call) (string, bool) { params := name.FuncType.Params args := call.Call.Args - // Avoid a crash if the number of arguments is - // less than the number of parameters. + // Avoid a crash if the number of arguments doesn't match + // the number of parameters. // This will be caught when the generated file is compiled. - if len(args) < len(params) { + if len(args) != len(params) { return "", false } @@ -1239,6 +1239,8 @@ func (p *Package) isType(t ast.Expr) bool { if strings.HasPrefix(t.Name, "_Ctype_") { return true } + case *ast.ParenExpr: + return p.isType(t.X) case *ast.StarExpr: return p.isType(t.X) case *ast.ArrayType, *ast.StructType, *ast.FuncType, *ast.InterfaceType, @@ -1256,6 +1258,8 @@ func (p *Package) isVariable(x ast.Expr) bool { return true case *ast.SelectorExpr: return p.isVariable(x.X) + case *ast.IndexExpr: + return true } return false } diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go index 488db52c2e..1fddbb6b54 100644 --- a/src/cmd/cgo/out.go +++ b/src/cmd/cgo/out.go @@ -268,6 +268,35 @@ func (p *Package) writeDefs() { } } +// elfImportedSymbols is like elf.File.ImportedSymbols, but it +// includes weak symbols. +// +// A bug in some versions of LLD (at least LLD 8) cause it to emit +// several pthreads symbols as weak, but we need to import those. See +// issue #31912 or https://bugs.llvm.org/show_bug.cgi?id=42442. +// +// When doing external linking, we hand everything off to the external +// linker, which will create its own dynamic symbol tables. For +// internal linking, this may turn weak imports into strong imports, +// which could cause dynamic linking to fail if a symbol really isn't +// defined. However, the standard library depends on everything it +// imports, and this is the primary use of dynamic symbol tables with +// internal linking. +func elfImportedSymbols(f *elf.File) []elf.ImportedSymbol { + syms, _ := f.DynamicSymbols() + var imports []elf.ImportedSymbol + for _, s := range syms { + if (elf.ST_BIND(s.Info) == elf.STB_GLOBAL || elf.ST_BIND(s.Info) == elf.STB_WEAK) && s.Section == elf.SHN_UNDEF { + imports = append(imports, elf.ImportedSymbol{ + Name: s.Name, + Library: s.Library, + Version: s.Version, + }) + } + } + return imports +} + func dynimport(obj string) { stdout := os.Stdout if *dynout != "" { @@ -290,7 +319,7 @@ func dynimport(obj string) { } } } - sym, _ := f.ImportedSymbols() + sym := elfImportedSymbols(f) for _, s := range sym { targ := s.Name if s.Version != "" { diff --git a/src/cmd/compile/internal/arm64/ggen.go b/src/cmd/compile/internal/arm64/ggen.go index 9d8fe53cfd..2f925656bc 100644 --- a/src/cmd/compile/internal/arm64/ggen.go +++ b/src/cmd/compile/internal/arm64/ggen.go @@ -36,9 +36,9 @@ func zerorange(pp *gc.Progs, p *obj.Prog, off, cnt int64, _ *uint32) *obj.Prog { off += int64(gc.Widthptr) cnt -= int64(gc.Widthptr) } - p = pp.Appendpp(p, arm64.AMOVD, obj.TYPE_REG, arm64.REGSP, 0, obj.TYPE_REG, arm64.REGRT1, 0) - p = pp.Appendpp(p, arm64.AADD, obj.TYPE_CONST, 0, 8+off, obj.TYPE_REG, arm64.REGRT1, 0) - p.Reg = arm64.REGRT1 + p = pp.Appendpp(p, arm64.AMOVD, obj.TYPE_REG, arm64.REGSP, 0, obj.TYPE_REG, arm64.REG_R20, 0) + p = pp.Appendpp(p, arm64.AADD, obj.TYPE_CONST, 0, 8+off, obj.TYPE_REG, arm64.REG_R20, 0) + p.Reg = arm64.REG_R20 p = pp.Appendpp(p, obj.ADUFFZERO, obj.TYPE_NONE, 0, 0, obj.TYPE_MEM, 0, 0) p.To.Name = obj.NAME_EXTERN p.To.Sym = gc.Duffzero diff --git a/src/cmd/compile/internal/arm64/ssa.go b/src/cmd/compile/internal/arm64/ssa.go index fc7a60e63e..f13bd71f7a 100644 --- a/src/cmd/compile/internal/arm64/ssa.go +++ b/src/cmd/compile/internal/arm64/ssa.go @@ -820,7 +820,7 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) { p.To.Type = obj.TYPE_REG p.To.Reg = v.Reg() case ssa.OpARM64DUFFZERO: - // runtime.duffzero expects start address in R16 + // runtime.duffzero expects start address in R20 p := s.Prog(obj.ADUFFZERO) p.To.Type = obj.TYPE_MEM p.To.Name = obj.NAME_EXTERN diff --git a/src/cmd/compile/internal/gc/align.go b/src/cmd/compile/internal/gc/align.go index 17c549d252..9ef31ed92c 100644 --- a/src/cmd/compile/internal/gc/align.go +++ b/src/cmd/compile/internal/gc/align.go @@ -27,11 +27,32 @@ func Rnd(o int64, r int64) int64 { // expandiface computes the method set for interface type t by // expanding embedded interfaces. func expandiface(t *types.Type) { - var fields []*types.Field + seen := make(map[*types.Sym]*types.Field) + var methods []*types.Field + + addMethod := func(m *types.Field, explicit bool) { + switch prev := seen[m.Sym]; { + case prev == nil: + seen[m.Sym] = m + case !explicit && types.Identical(m.Type, prev.Type): + return + default: + yyerrorl(m.Pos, "duplicate method %s", m.Sym.Name) + } + methods = append(methods, m) + } + + for _, m := range t.Methods().Slice() { + if m.Sym == nil { + continue + } + + checkwidth(m.Type) + addMethod(m, true) + } + for _, m := range t.Methods().Slice() { if m.Sym != nil { - fields = append(fields, m) - checkwidth(m.Type) continue } @@ -43,7 +64,7 @@ func expandiface(t *types.Type) { // include the broken embedded type when // printing t. // TODO(mdempsky): Revisit this. - fields = append(fields, m) + methods = append(methods, m) continue } @@ -56,26 +77,22 @@ func expandiface(t *types.Type) { f.Sym = t1.Sym f.Type = t1.Type f.SetBroke(t1.Broke()) - fields = append(fields, f) + addMethod(f, false) } } - sort.Sort(methcmp(fields)) + + sort.Sort(methcmp(methods)) + + if int64(len(methods)) >= thearch.MAXWIDTH/int64(Widthptr) { + yyerror("interface too large") + } + for i, m := range methods { + m.Offset = int64(i) * int64(Widthptr) + } // Access fields directly to avoid recursively calling dowidth // within Type.Fields(). - t.Extra.(*types.Interface).Fields.Set(fields) -} - -func offmod(t *types.Type) { - o := int32(0) - for _, f := range t.Fields().Slice() { - f.Offset = int64(o) - o += int32(Widthptr) - if int64(o) >= thearch.MAXWIDTH { - yyerror("interface too large") - o = int32(Widthptr) - } - } + t.Extra.(*types.Interface).Fields.Set(methods) } func widstruct(errtype *types.Type, t *types.Type, o int64, flag int) int64 { @@ -381,14 +398,6 @@ func dowidth(t *types.Type) { t.Align = uint8(w) } - if t.Etype == TINTER { - // We defer calling these functions until after - // setting t.Width and t.Align so the recursive calls - // to dowidth within t.Fields() will succeed. - checkdupfields("method", t) - offmod(t) - } - lineno = lno if defercalc == 1 { diff --git a/src/cmd/compile/internal/gc/const.go b/src/cmd/compile/internal/gc/const.go index 4ed881bc07..504f8f0ec3 100644 --- a/src/cmd/compile/internal/gc/const.go +++ b/src/cmd/compile/internal/gc/const.go @@ -6,6 +6,8 @@ package gc import ( "cmd/compile/internal/types" + "cmd/internal/src" + "fmt" "math/big" "strings" ) @@ -1397,7 +1399,7 @@ func hascallchan(n *Node) bool { // A constSet represents a set of Go constant expressions. type constSet struct { - m map[constSetKey]*Node + m map[constSetKey]src.XPos } type constSetKey struct { @@ -1405,20 +1407,22 @@ type constSetKey struct { val interface{} } -// add adds constant expressions to s. If a constant expression of -// equal value and identical type has already been added, then that -// type expression is returned. Otherwise, add returns nil. +// add adds constant expression n to s. If a constant expression of +// equal value and identical type has already been added, then add +// reports an error about the duplicate value. // -// add also returns nil if n is not a Go constant expression. +// pos provides position information for where expression n occured +// (in case n does not have its own position information). what and +// where are used in the error message. // // n must not be an untyped constant. -func (s *constSet) add(n *Node) *Node { +func (s *constSet) add(pos src.XPos, n *Node, what, where string) { if n.Op == OCONVIFACE && n.Implicit() { n = n.Left } if !n.isGoConst() { - return nil + return } if n.Type.IsUntyped() { Fatalf("%v is untyped", n) @@ -1448,12 +1452,32 @@ func (s *constSet) add(n *Node) *Node { } k := constSetKey{typ, n.Val().Interface()} + if hasUniquePos(n) { + pos = n.Pos + } + if s.m == nil { - s.m = make(map[constSetKey]*Node) + s.m = make(map[constSetKey]src.XPos) } - old, dup := s.m[k] - if !dup { - s.m[k] = n + + if prevPos, isDup := s.m[k]; isDup { + yyerrorl(pos, "duplicate %s %s in %s\n\tprevious %s at %v", + what, nodeAndVal(n), where, + what, linestr(prevPos)) + } else { + s.m[k] = pos } - return old +} + +// nodeAndVal reports both an expression and its constant value, if +// the latter is non-obvious. +// +// TODO(mdempsky): This could probably be a fmt.go flag. +func nodeAndVal(n *Node) string { + show := n.String() + val := n.Val().Interface() + if s := fmt.Sprintf("%#v", val); show != s { + show += " (value " + s + ")" + } + return show } diff --git a/src/cmd/compile/internal/gc/dcl.go b/src/cmd/compile/internal/gc/dcl.go index 12875e798e..012f993d69 100644 --- a/src/cmd/compile/internal/gc/dcl.go +++ b/src/cmd/compile/internal/gc/dcl.go @@ -576,10 +576,10 @@ func structfield(n *Node) *types.Field { // checkdupfields emits errors for duplicately named fields or methods in // a list of struct or interface types. -func checkdupfields(what string, ts ...*types.Type) { +func checkdupfields(what string, fss ...[]*types.Field) { seen := make(map[*types.Sym]bool) - for _, t := range ts { - for _, f := range t.Fields().Slice() { + for _, fs := range fss { + for _, f := range fs { if f.Sym == nil || f.Sym.IsBlank() { continue } @@ -615,7 +615,7 @@ func tostruct0(t *types.Type, l []*Node) { } t.SetFields(fields) - checkdupfields("field", t) + checkdupfields("field", t.FieldSlice()) if !t.Broke() { checkwidth(t) @@ -747,7 +747,7 @@ func functype0(t *types.Type, this *Node, in, out []*Node) { t.FuncType().Params = tofunargs(in, types.FunargParams) t.FuncType().Results = tofunargs(out, types.FunargResults) - checkdupfields("argument", t.Recvs(), t.Params(), t.Results()) + checkdupfields("argument", t.Recvs().FieldSlice(), t.Params().FieldSlice(), t.Results().FieldSlice()) if t.Recvs().Broke() || t.Results().Broke() || t.Params().Broke() { t.SetBroke(true) diff --git a/src/cmd/compile/internal/gc/escape.go b/src/cmd/compile/internal/gc/escape.go index 47ce853858..f92f4a7a6c 100644 --- a/src/cmd/compile/internal/gc/escape.go +++ b/src/cmd/compile/internal/gc/escape.go @@ -614,9 +614,14 @@ func (e *Escape) unsafeValue(k EscHole, n *Node) { } case OPLUS, ONEG, OBITNOT: e.unsafeValue(k, n.Left) - case OADD, OSUB, OOR, OXOR, OMUL, ODIV, OMOD, OLSH, ORSH, OAND, OANDNOT: + case OADD, OSUB, OOR, OXOR, OMUL, ODIV, OMOD, OAND, OANDNOT: e.unsafeValue(k, n.Left) e.unsafeValue(k, n.Right) + case OLSH, ORSH: + e.unsafeValue(k, n.Left) + // RHS need not be uintptr-typed (#32959) and can't meaningfully + // flow pointers anyway. + e.discard(n.Right) default: e.exprSkipInit(e.discardHole(), n) } diff --git a/src/cmd/compile/internal/gc/inl_test.go b/src/cmd/compile/internal/gc/inl_test.go index a04869c5a3..a0f56e776b 100644 --- a/src/cmd/compile/internal/gc/inl_test.go +++ b/src/cmd/compile/internal/gc/inl_test.go @@ -31,10 +31,6 @@ func TestIntendedInlining(t *testing.T) { // might not actually be inlined anywhere. want := map[string][]string{ "runtime": { - // TODO(mvdan): enable these once mid-stack - // inlining is available - // "adjustctxt", - "add", "acquirem", "add1", diff --git a/src/cmd/compile/internal/gc/reflect.go b/src/cmd/compile/internal/gc/reflect.go index 5c0d9d1afa..39293917c7 100644 --- a/src/cmd/compile/internal/gc/reflect.go +++ b/src/cmd/compile/internal/gc/reflect.go @@ -330,7 +330,6 @@ func deferstruct(stksize int64) *types.Type { return f } argtype := types.NewArray(types.Types[TUINT8], stksize) - argtype.SetNoalg(true) argtype.Width = stksize argtype.Align = 1 // These fields must match the ones in runtime/runtime2.go:_defer and @@ -1687,7 +1686,17 @@ func (a typesByString) Less(i, j int) bool { // they refer to byte or uint8, such as **byte vs **uint8, // the types' ShortStrings can be identical. // To preserve deterministic sort ordering, sort these by String(). - return a[i].regular < a[j].regular + if a[i].regular != a[j].regular { + return a[i].regular < a[j].regular + } + // Identical anonymous interfaces defined in different locations + // will be equal for the above checks, but different in DWARF output. + // Sort by source position to ensure deterministic order. + // See issues 27013 and 30202. + if a[i].t.Etype == types.TINTER && a[i].t.Methods().Len() > 0 { + return a[i].t.Methods().Index(0).Pos.Before(a[j].t.Methods().Index(0).Pos) + } + return false } func (a typesByString) Swap(i, j int) { a[i], a[j] = a[j], a[i] } diff --git a/src/cmd/compile/internal/gc/reproduciblebuilds_test.go b/src/cmd/compile/internal/gc/reproduciblebuilds_test.go index 9173f80ee3..59d1edb9e8 100644 --- a/src/cmd/compile/internal/gc/reproduciblebuilds_test.go +++ b/src/cmd/compile/internal/gc/reproduciblebuilds_test.go @@ -18,6 +18,7 @@ func TestReproducibleBuilds(t *testing.T) { tests := []string{ "issue20272.go", "issue27013.go", + "issue30202.go", } testenv.MustHaveGoBuild(t) @@ -38,7 +39,9 @@ func TestReproducibleBuilds(t *testing.T) { defer os.Remove(tmp.Name()) defer tmp.Close() for i := 0; i < iters; i++ { - out, err := exec.Command(testenv.GoToolPath(t), "tool", "compile", "-o", tmp.Name(), filepath.Join("testdata", "reproducible", test)).CombinedOutput() + // Note: use -c 2 to expose any nondeterminism which is the result + // of the runtime scheduler. + out, err := exec.Command(testenv.GoToolPath(t), "tool", "compile", "-c", "2", "-o", tmp.Name(), filepath.Join("testdata", "reproducible", test)).CombinedOutput() if err != nil { t.Fatalf("failed to compile: %v\n%s", err, out) } diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go index 5509e3d182..9871e11a09 100644 --- a/src/cmd/compile/internal/gc/ssa.go +++ b/src/cmd/compile/internal/gc/ssa.go @@ -908,7 +908,7 @@ func (s *state) stmt(n *Node) { case ODCL: if n.Left.Class() == PAUTOHEAP { - Fatalf("DCL %v", n) + s.Fatalf("DCL %v", n) } case OLABEL: @@ -966,7 +966,7 @@ func (s *state) stmt(n *Node) { // rewritten during walk. Any that remain are just T{} // or equivalents. Use the zero value. if !isZero(rhs) { - Fatalf("literal with nonzero value in SSA: %v", rhs) + s.Fatalf("literal with nonzero value in SSA: %v", rhs) } rhs = nil case OAPPEND: @@ -2295,7 +2295,7 @@ func (s *state) expr(n *Node) *ssa.Value { // rewritten during walk. Any that remain are just T{} // or equivalents. Use the zero value. if !isZero(n.Left) { - Fatalf("literal with nonzero value in SSA: %v", n.Left) + s.Fatalf("literal with nonzero value in SSA: %v", n.Left) } return s.zeroVal(n.Type) } @@ -2457,7 +2457,7 @@ func (s *state) expr(n *Node) *ssa.Value { // rewritten during walk. Any that remain are just T{} // or equivalents. Use the zero value. if !isZero(n) { - Fatalf("literal with nonzero value in SSA: %v", n) + s.Fatalf("literal with nonzero value in SSA: %v", n) } return s.zeroVal(n.Type) @@ -3768,7 +3768,7 @@ func (s *state) call(n *Node, k callKind) *ssa.Value { } case OCALLMETH: if fn.Op != ODOTMETH { - Fatalf("OCALLMETH: n.Left not an ODOTMETH: %v", fn) + s.Fatalf("OCALLMETH: n.Left not an ODOTMETH: %v", fn) } if k == callNormal { sym = fn.Sym @@ -3790,7 +3790,7 @@ func (s *state) call(n *Node, k callKind) *ssa.Value { // want to set it here. case OCALLINTER: if fn.Op != ODOTINTER { - Fatalf("OCALLINTER: n.Left not an ODOTINTER: %v", fn.Op) + s.Fatalf("OCALLINTER: n.Left not an ODOTINTER: %v", fn.Op) } i := s.expr(fn.Left) itab := s.newValue1(ssa.OpITab, types.Types[TUINTPTR], i) @@ -3923,7 +3923,7 @@ func (s *state) call(n *Node, k callKind) *ssa.Value { case sym != nil: call = s.newValue1A(ssa.OpStaticCall, types.TypeMem, sym.Linksym(), s.mem()) default: - Fatalf("bad call type %v %v", n.Op, n) + s.Fatalf("bad call type %v %v", n.Op, n) } call.AuxInt = stksize // Call operations carry the argsize of the callee along with them } @@ -4079,7 +4079,7 @@ func (s *state) canSSA(n *Node) bool { return false } if n.Class() == PAUTOHEAP { - Fatalf("canSSA of PAUTOHEAP %v", n) + s.Fatalf("canSSA of PAUTOHEAP %v", n) } switch n.Class() { case PEXTERN: @@ -4299,7 +4299,7 @@ func (s *state) rtcall(fn *obj.LSym, returns bool, results []*types.Type, args . b.SetControl(call) call.AuxInt = off - Ctxt.FixedFrameSize() if len(results) > 0 { - Fatalf("panic call can't have results") + s.Fatalf("panic call can't have results") } return nil } @@ -5258,7 +5258,7 @@ func emitStackObjects(e *ssafn, pp *Progs) { // Locals have a negative Xoffset, in which case the offset is relative to varp. off = duintptr(x, off, uint64(v.Xoffset)) if !typesym(v.Type).Siggen() { - Fatalf("stack object's type symbol not generated for type %s", v.Type) + e.Fatalf(v.Pos, "stack object's type symbol not generated for type %s", v.Type) } off = dsymptr(x, off, dtypesym(v.Type), 0) } @@ -5597,10 +5597,10 @@ func defframe(s *SSAGenState, e *ssafn) { continue } if n.Class() != PAUTO { - Fatalf("needzero class %d", n.Class()) + e.Fatalf(n.Pos, "needzero class %d", n.Class()) } if n.Type.Size()%int64(Widthptr) != 0 || n.Xoffset%int64(Widthptr) != 0 || n.Type.Size() == 0 { - Fatalf("var %L has size %d offset %d", n, n.Type.Size(), n.Xoffset) + e.Fatalf(n.Pos, "var %L has size %d offset %d", n, n.Type.Size(), n.Xoffset) } if lo != hi && n.Xoffset+n.Type.Size() >= lo-int64(2*Widthreg) { @@ -6096,7 +6096,7 @@ func (e *ssafn) SplitArray(name ssa.LocalSlot) ssa.LocalSlot { n := name.N.(*Node) at := name.Type if at.NumElem() != 1 { - Fatalf("bad array size") + e.Fatalf(n.Pos, "bad array size") } et := at.Elem() if n.Class() == PAUTO && !n.Addrtaken() { @@ -6186,7 +6186,7 @@ func (e *ssafn) Syslook(name string) *obj.LSym { case "typedmemclr": return typedmemclr } - Fatalf("unknown Syslook func %v", name) + e.Fatalf(src.NoXPos, "unknown Syslook func %v", name) return nil } diff --git a/src/cmd/compile/internal/gc/subr.go b/src/cmd/compile/internal/gc/subr.go index f3ec21c7cb..42f47bb8c1 100644 --- a/src/cmd/compile/internal/gc/subr.go +++ b/src/cmd/compile/internal/gc/subr.go @@ -194,30 +194,37 @@ func Fatalf(fmt_ string, args ...interface{}) { errorexit() } -func setlineno(n *Node) src.XPos { - lno := lineno - if n != nil { - switch n.Op { - case ONAME, OPACK: - break - - case OLITERAL, OTYPE: - if n.Sym != nil { - break - } - fallthrough - - default: - lineno = n.Pos - if !lineno.IsKnown() { - if Debug['K'] != 0 { - Warn("setlineno: unknown position (line 0)") - } - lineno = lno - } +// hasUniquePos reports whether n has a unique position that can be +// used for reporting error messages. +// +// It's primarily used to distinguish references to named objects, +// whose Pos will point back to their declaration position rather than +// their usage position. +func hasUniquePos(n *Node) bool { + switch n.Op { + case ONAME, OPACK: + return false + case OLITERAL, OTYPE: + if n.Sym != nil { + return false } } + if !n.Pos.IsKnown() { + if Debug['K'] != 0 { + Warn("setlineno: unknown position (line 0)") + } + return false + } + + return true +} + +func setlineno(n *Node) src.XPos { + lno := lineno + if n != nil && hasUniquePos(n) { + lineno = n.Pos + } return lno } diff --git a/src/cmd/compile/internal/gc/swt.go b/src/cmd/compile/internal/gc/swt.go index 6a41885954..1436e29bae 100644 --- a/src/cmd/compile/internal/gc/swt.go +++ b/src/cmd/compile/internal/gc/swt.go @@ -6,7 +6,6 @@ package gc import ( "cmd/compile/internal/types" - "fmt" "sort" ) @@ -641,23 +640,11 @@ func checkDupExprCases(exprname *Node, clauses []*Node) { continue } - if prev := cs.add(n); prev != nil { - yyerrorl(ncase.Pos, "duplicate case %s in switch\n\tprevious case at %v", - nodeAndVal(n), prev.Line()) - } + cs.add(ncase.Pos, n, "case", "switch") } } } -func nodeAndVal(n *Node) string { - show := n.String() - val := n.Val().Interface() - if s := fmt.Sprintf("%#v", val); show != s { - show += " (value " + s + ")" - } - return show -} - // walk generates an AST that implements sw, // where sw is a type switch. // The AST is generally of the form of a linear diff --git a/src/cmd/compile/internal/gc/testdata/reproducible/issue30202.go b/src/cmd/compile/internal/gc/testdata/reproducible/issue30202.go new file mode 100644 index 0000000000..7b5de2cc8b --- /dev/null +++ b/src/cmd/compile/internal/gc/testdata/reproducible/issue30202.go @@ -0,0 +1,17 @@ +// Copyright 2019 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 + +func A(x interface { + X() int +}) int { + return x.X() +} + +func B(x interface { + X() int +}) int { + return x.X() +} diff --git a/src/cmd/compile/internal/gc/typecheck.go b/src/cmd/compile/internal/gc/typecheck.go index 4cb28d6100..0e680f54ae 100644 --- a/src/cmd/compile/internal/gc/typecheck.go +++ b/src/cmd/compile/internal/gc/typecheck.go @@ -2911,9 +2911,7 @@ func typecheckcomplit(n *Node) (res *Node) { r = typecheck(r, ctxExpr) r = defaultlit(r, t.Key()) l.Left = assignconv(r, t.Key(), "map key") - if cs.add(l.Left) != nil { - yyerror("duplicate key %v in map literal", l.Left) - } + cs.add(lineno, l.Left, "key", "map literal") r = l.Right pushtype(r, t.Elem()) diff --git a/src/cmd/compile/internal/ssa/gen/AMD64.rules b/src/cmd/compile/internal/ssa/gen/AMD64.rules index 5e59f7def2..96255613f5 100644 --- a/src/cmd/compile/internal/ssa/gen/AMD64.rules +++ b/src/cmd/compile/internal/ssa/gen/AMD64.rules @@ -1608,13 +1608,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWload [i0] {s} p mem)) y) + -> @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWload [i0] {s} p mem)) y) (ORQ s1:(SHLQconst [j1] x1:(MOVBload [i1] {s} p mem)) @@ -1629,13 +1629,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWload [i0] {s} p mem)) y) + -> @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWload [i0] {s} p mem)) y) (ORQ s1:(SHLQconst [j1] x1:(MOVWload [i1] {s} p mem)) @@ -1650,13 +1650,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLload [i0] {s} p mem)) y) + -> @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLload [i0] {s} p mem)) y) // Little-endian indexed loads @@ -1733,13 +1733,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + -> @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) (ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) @@ -1754,13 +1754,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + -> @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) (ORQ s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} p idx mem)) @@ -1775,13 +1775,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + -> @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) // Big-endian loads @@ -1875,13 +1875,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) + -> @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) (ORQ s0:(SHLQconst [j0] x0:(MOVBload [i0] {s} p mem)) @@ -1896,13 +1896,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) + -> @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) (ORQ s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWload [i0] {s} p mem))) @@ -1919,7 +1919,7 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) @@ -1927,7 +1927,7 @@ && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLload [i0] {s} p mem))) y) + -> @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLload [i0] {s} p mem))) y) // Big-endian indexed loads @@ -2021,13 +2021,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + -> @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) (ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) @@ -2042,13 +2042,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + -> @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) (ORQ s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} p idx mem))) @@ -2065,7 +2065,7 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) @@ -2073,7 +2073,7 @@ && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + -> @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) // Combine 2 byte stores + shift into rolw 8 + word store (MOVBstore [i] {s} p w diff --git a/src/cmd/compile/internal/ssa/gen/ARM64Ops.go b/src/cmd/compile/internal/ssa/gen/ARM64Ops.go index a0c8b060c7..d4de904a24 100644 --- a/src/cmd/compile/internal/ssa/gen/ARM64Ops.go +++ b/src/cmd/compile/internal/ssa/gen/ARM64Ops.go @@ -495,14 +495,14 @@ func init() { // arg1 = mem // auxint = offset into duffzero code to start executing // returns mem - // R16 aka arm64.REGRT1 changed as side effect + // R20 changed as side effect { name: "DUFFZERO", aux: "Int64", argLength: 2, reg: regInfo{ - inputs: []regMask{buildReg("R16")}, - clobbers: buildReg("R16 R30"), + inputs: []regMask{buildReg("R20")}, + clobbers: buildReg("R20 R30"), }, faultOnNilArg0: true, }, @@ -529,19 +529,19 @@ func init() { }, // duffcopy - // arg0 = address of dst memory (in R17 aka arm64.REGRT2, changed as side effect) - // arg1 = address of src memory (in R16 aka arm64.REGRT1, changed as side effect) + // arg0 = address of dst memory (in R21, changed as side effect) + // arg1 = address of src memory (in R20, changed as side effect) // arg2 = mem // auxint = offset into duffcopy code to start executing // returns mem - // R16, R17 changed as side effect + // R20, R21 changed as side effect { name: "DUFFCOPY", aux: "Int64", argLength: 3, reg: regInfo{ - inputs: []regMask{buildReg("R17"), buildReg("R16")}, - clobbers: buildReg("R16 R17 R26 R30"), + inputs: []regMask{buildReg("R21"), buildReg("R20")}, + clobbers: buildReg("R20 R21 R26 R30"), }, faultOnNilArg0: true, faultOnNilArg1: true, diff --git a/src/cmd/compile/internal/ssa/gen/S390X.rules b/src/cmd/compile/internal/ssa/gen/S390X.rules index cbf53506d7..ee670a908d 100644 --- a/src/cmd/compile/internal/ssa/gen/S390X.rules +++ b/src/cmd/compile/internal/ssa/gen/S390X.rules @@ -1535,13 +1535,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZload [i0] {s} p mem)) y) + -> @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZload [i0] {s} p mem)) y) (OR s0:(SLDconst [j0] x0:(MOVBZload [i0] {s} p mem)) @@ -1556,13 +1556,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZload [i0] {s} p mem)) y) + -> @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZload [i0] {s} p mem)) y) (OR s0:(SLDconst [j0] x0:(MOVHZload [i0] {s} p mem)) @@ -1577,13 +1577,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZload [i0] {s} p mem)) y) + -> @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZload [i0] {s} p mem)) y) // Big-endian indexed loads @@ -1665,13 +1665,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + -> @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) (OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) @@ -1686,13 +1686,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + -> @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) (OR s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} p idx mem)) @@ -1707,13 +1707,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + -> @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) // Little-endian loads @@ -1805,13 +1805,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) + -> @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) (OR s1:(SLDconst [j1] x1:(MOVBZload [i1] {s} p mem)) @@ -1827,13 +1827,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) + -> @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) (OR s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRload [i1] {s} p mem))) @@ -1850,7 +1850,7 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) @@ -1858,7 +1858,7 @@ && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRload [i0] {s} p mem))) y) + -> @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRload [i0] {s} p mem))) y) // Little-endian indexed loads @@ -1950,13 +1950,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + -> @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) (OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) @@ -1972,13 +1972,13 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + -> @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) (OR s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} p idx mem))) @@ -1995,7 +1995,7 @@ && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 - && mergePoint(b,x0,x1) != nil + && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) @@ -2003,7 +2003,7 @@ && clobber(s0) && clobber(s1) && clobber(or) - -> @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + -> @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) // Combine stores into store multiples. // 32-bit diff --git a/src/cmd/compile/internal/ssa/gen/generic.rules b/src/cmd/compile/internal/ssa/gen/generic.rules index 454eb498c6..347bf2a00f 100644 --- a/src/cmd/compile/internal/ssa/gen/generic.rules +++ b/src/cmd/compile/internal/ssa/gen/generic.rules @@ -1733,6 +1733,12 @@ (Eq(8|16|32|64) s:(Sub(8|16|32|64) x y) (Const(8|16|32|64) [0])) && s.Uses == 1 -> (Eq(8|16|32|64) x y) (Neq(8|16|32|64) s:(Sub(8|16|32|64) x y) (Const(8|16|32|64) [0])) && s.Uses == 1 -> (Neq(8|16|32|64) x y) +// Optimize bitsets +(Eq(8|16|32|64) (And(8|16|32|64) x (Const(8|16|32|64) [y])) (Const(8|16|32|64) [y])) && isPowerOfTwo(y) + -> (Neq(8|16|32|64) (And(8|16|32|64) x (Const(8|16|32|64) [y])) (Const(8|16|32|64) [0])) +(Neq(8|16|32|64) (And(8|16|32|64) x (Const(8|16|32|64) [y])) (Const(8|16|32|64) [y])) && isPowerOfTwo(y) + -> (Eq(8|16|32|64) (And(8|16|32|64) x (Const(8|16|32|64) [y])) (Const(8|16|32|64) [0])) + // Reassociate expressions involving // constants such that constants come first, // exposing obvious constant-folding opportunities. diff --git a/src/cmd/compile/internal/ssa/gen/main.go b/src/cmd/compile/internal/ssa/gen/main.go index bfecb9b29f..9c0e0904b2 100644 --- a/src/cmd/compile/internal/ssa/gen/main.go +++ b/src/cmd/compile/internal/ssa/gen/main.go @@ -15,10 +15,14 @@ import ( "go/format" "io/ioutil" "log" + "os" "path" "regexp" + "runtime" + "runtime/pprof" "sort" "strings" + "sync" ) type arch struct { @@ -93,11 +97,36 @@ func (a arch) regMaskComment(r regMask) string { var archs []arch +var cpuprofile = flag.String("cpuprofile", "", "write cpu profile to `file`") +var memprofile = flag.String("memprofile", "", "write memory profile to `file`") + func main() { flag.Parse() + if *cpuprofile != "" { + f, err := os.Create(*cpuprofile) + if err != nil { + log.Fatal("could not create CPU profile: ", err) + } + defer f.Close() + if err := pprof.StartCPUProfile(f); err != nil { + log.Fatal("could not start CPU profile: ", err) + } + defer pprof.StopCPUProfile() + } sort.Sort(ArchsByName(archs)) genOp() genLower() + if *memprofile != "" { + f, err := os.Create(*memprofile) + if err != nil { + log.Fatal("could not create memory profile: ", err) + } + defer f.Close() + runtime.GC() // get up-to-date statistics + if err := pprof.WriteHeapProfile(f); err != nil { + log.Fatal("could not write memory profile: ", err) + } + } } func genOp() { @@ -395,11 +424,26 @@ func (a arch) Name() string { return s } +// genLower generates all arch-specific rewrite Go source files. The files are +// generated and written concurrently, since it's a CPU-intensive task that can +// easily make use of many cores on a machine. +// +// Note that there is no limit on the concurrency at the moment. On a four-core +// laptop at the time of writing, peak RSS usually reached ~230MiB, which seems +// doable by practially any machine nowadays. If that stops being the case, we +// can cap this func to a fixed number of architectures being generated at once. func genLower() { + var wg sync.WaitGroup for _, a := range archs { - genRules(a) - genSplitLoadRules(a) + a := a + wg.Add(1) + go func() { + genRules(a) + genSplitLoadRules(a) + wg.Done() + }() } + wg.Wait() } // countRegs returns the number of set bits in the register mask. diff --git a/src/cmd/compile/internal/ssa/gen/rulegen.go b/src/cmd/compile/internal/ssa/gen/rulegen.go index 4ca6796f7c..500d98431c 100644 --- a/src/cmd/compile/internal/ssa/gen/rulegen.go +++ b/src/cmd/compile/internal/ssa/gen/rulegen.go @@ -16,14 +16,20 @@ import ( "bytes" "flag" "fmt" + "go/ast" "go/format" + "go/parser" + "go/printer" + "go/token" + "go/types" "io" - "io/ioutil" "log" "os" "regexp" "sort" "strings" + + "golang.org/x/tools/go/ast/astutil" ) // rule syntax: @@ -47,9 +53,7 @@ import ( // If multiple rules match, the first one in file order is selected. -var ( - genLog = flag.Bool("log", false, "generate code that logs; for debugging only") -) +var genLog = flag.Bool("log", false, "generate code that logs; for debugging only") type Rule struct { rule string @@ -136,13 +140,13 @@ func genRulesSuffix(arch arch, suff string) { r := Rule{rule: rule3, loc: loc} if rawop := strings.Split(rule3, " ")[0][1:]; isBlock(rawop, arch) { blockrules[rawop] = append(blockrules[rawop], r) - } else { - // Do fancier value op matching. - match, _, _ := r.parse() - op, oparch, _, _, _, _ := parseValue(match, arch, loc) - opname := fmt.Sprintf("Op%s%s", oparch, op.name) - oprules[opname] = append(oprules[opname], r) + continue } + // Do fancier value op matching. + match, _, _ := r.parse() + op, oparch, _, _, _, _ := parseValue(match, arch, loc) + opname := fmt.Sprintf("Op%s%s", oparch, op.name) + oprules[opname] = append(oprules[opname], r) } } rule = "" @@ -162,256 +166,434 @@ func genRulesSuffix(arch arch, suff string) { } sort.Strings(ops) - // Start output buffer, write header. - w := new(bytes.Buffer) - fmt.Fprintf(w, "// Code generated from gen/%s%s.rules; DO NOT EDIT.\n", arch.name, suff) - fmt.Fprintln(w, "// generated with: cd gen; go run *.go") - fmt.Fprintln(w) - fmt.Fprintln(w, "package ssa") - fmt.Fprintln(w, "import \"fmt\"") - fmt.Fprintln(w, "import \"math\"") - fmt.Fprintln(w, "import \"cmd/internal/obj\"") - fmt.Fprintln(w, "import \"cmd/internal/objabi\"") - fmt.Fprintln(w, "import \"cmd/compile/internal/types\"") - fmt.Fprintln(w, "var _ = fmt.Println // in case not otherwise used") - fmt.Fprintln(w, "var _ = math.MinInt8 // in case not otherwise used") - fmt.Fprintln(w, "var _ = obj.ANOP // in case not otherwise used") - fmt.Fprintln(w, "var _ = objabi.GOROOT // in case not otherwise used") - fmt.Fprintln(w, "var _ = types.TypeMem // in case not otherwise used") - fmt.Fprintln(w) - + genFile := &File{arch: arch, suffix: suff} const chunkSize = 10 // Main rewrite routine is a switch on v.Op. - fmt.Fprintf(w, "func rewriteValue%s%s(v *Value) bool {\n", arch.name, suff) - fmt.Fprintf(w, "switch v.Op {\n") + fn := &Func{kind: "Value"} + + sw := &Switch{expr: exprf("v.Op")} for _, op := range ops { - fmt.Fprintf(w, "case %s:\n", op) - fmt.Fprint(w, "return ") + var ors []string for chunk := 0; chunk < len(oprules[op]); chunk += chunkSize { - if chunk > 0 { - fmt.Fprint(w, " || ") - } - fmt.Fprintf(w, "rewriteValue%s%s_%s_%d(v)", arch.name, suff, op, chunk) + ors = append(ors, fmt.Sprintf("rewriteValue%s%s_%s_%d(v)", arch.name, suff, op, chunk)) } - fmt.Fprintln(w) + swc := &Case{expr: exprf(op)} + swc.add(stmtf("return %s", strings.Join(ors, " || "))) + sw.add(swc) } - fmt.Fprintf(w, "}\n") - fmt.Fprintf(w, "return false\n") - fmt.Fprintf(w, "}\n") + fn.add(sw) + fn.add(stmtf("return false")) + genFile.add(fn) // Generate a routine per op. Note that we don't make one giant routine // because it is too big for some compilers. for _, op := range ops { - for chunk := 0; chunk < len(oprules[op]); chunk += chunkSize { - buf := new(bytes.Buffer) - var canFail bool + rules := oprules[op] + // rr is kept between chunks, so that a following chunk checks + // that the previous one ended with a rule that wasn't + // unconditional. + var rr *RuleRewrite + for chunk := 0; chunk < len(rules); chunk += chunkSize { endchunk := chunk + chunkSize - if endchunk > len(oprules[op]) { - endchunk = len(oprules[op]) + if endchunk > len(rules) { + endchunk = len(rules) } - for i, rule := range oprules[op][chunk:endchunk] { - match, cond, result := rule.parse() - fmt.Fprintf(buf, "// match: %s\n", match) - fmt.Fprintf(buf, "// cond: %s\n", cond) - fmt.Fprintf(buf, "// result: %s\n", result) - - canFail = false - fmt.Fprintf(buf, "for {\n") - pos, _, matchCanFail := genMatch(buf, arch, match, rule.loc) + fn := &Func{ + kind: "Value", + suffix: fmt.Sprintf("_%s_%d", op, chunk), + } + fn.add(declf("b", "v.Block")) + fn.add(declf("config", "b.Func.Config")) + fn.add(declf("fe", "b.Func.fe")) + fn.add(declf("typ", "&b.Func.Config.Types")) + for _, rule := range rules[chunk:endchunk] { + if rr != nil && !rr.canFail { + log.Fatalf("unconditional rule %s is followed by other rules", rr.match) + } + rr = &RuleRewrite{loc: rule.loc} + rr.match, rr.cond, rr.result = rule.parse() + pos, _ := genMatch(rr, arch, rr.match) if pos == "" { pos = "v.Pos" } - if matchCanFail { - canFail = true + if rr.cond != "" { + rr.add(breakf("!(%s)", rr.cond)) } - - if cond != "" { - fmt.Fprintf(buf, "if !(%s) {\nbreak\n}\n", cond) - canFail = true - } - if !canFail && i+chunk != len(oprules[op])-1 { - log.Fatalf("unconditional rule %s is followed by other rules", match) - } - - genResult(buf, arch, result, rule.loc, pos) + genResult(rr, arch, rr.result, pos) if *genLog { - fmt.Fprintf(buf, "logRule(\"%s\")\n", rule.loc) + rr.add(stmtf("logRule(%q)", rule.loc)) } - fmt.Fprintf(buf, "return true\n") - - fmt.Fprintf(buf, "}\n") + fn.add(rr) } - if canFail { - fmt.Fprintf(buf, "return false\n") + if rr.canFail { + fn.add(stmtf("return false")) } - - body := buf.String() - // Figure out whether we need b, config, fe, and/or types; provide them if so. - hasb := strings.Contains(body, " b.") - hasconfig := strings.Contains(body, "config.") || strings.Contains(body, "config)") - hasfe := strings.Contains(body, "fe.") - hastyps := strings.Contains(body, "typ.") - fmt.Fprintf(w, "func rewriteValue%s%s_%s_%d(v *Value) bool {\n", arch.name, suff, op, chunk) - if hasb || hasconfig || hasfe || hastyps { - fmt.Fprintln(w, "b := v.Block") - } - if hasconfig { - fmt.Fprintln(w, "config := b.Func.Config") - } - if hasfe { - fmt.Fprintln(w, "fe := b.Func.fe") - } - if hastyps { - fmt.Fprintln(w, "typ := &b.Func.Config.Types") - } - fmt.Fprint(w, body) - fmt.Fprintf(w, "}\n") + genFile.add(fn) } } // Generate block rewrite function. There are only a few block types // so we can make this one function with a switch. - fmt.Fprintf(w, "func rewriteBlock%s%s(b *Block) bool {\n", arch.name, suff) - fmt.Fprintln(w, "config := b.Func.Config") - fmt.Fprintln(w, "typ := &config.Types") - fmt.Fprintln(w, "_ = typ") - fmt.Fprintln(w, "v := b.Control") - fmt.Fprintln(w, "_ = v") - fmt.Fprintf(w, "switch b.Kind {\n") - ops = nil + fn = &Func{kind: "Block"} + fn.add(declf("config", "b.Func.Config")) + fn.add(declf("typ", "&config.Types")) + fn.add(declf("v", "b.Control")) + + sw = &Switch{expr: exprf("b.Kind")} + ops = ops[:0] for op := range blockrules { ops = append(ops, op) } sort.Strings(ops) for _, op := range ops { - fmt.Fprintf(w, "case %s:\n", blockName(op, arch)) + swc := &Case{expr: exprf("%s", blockName(op, arch))} for _, rule := range blockrules[op] { - match, cond, result := rule.parse() - fmt.Fprintf(w, "// match: %s\n", match) - fmt.Fprintf(w, "// cond: %s\n", cond) - fmt.Fprintf(w, "// result: %s\n", result) + swc.add(genBlockRewrite(rule, arch)) + } + sw.add(swc) + } + fn.add(sw) + fn.add(stmtf("return false")) + genFile.add(fn) - _, _, _, aux, s := extract(match) // remove parens, then split + // Remove unused imports and variables. + buf := new(bytes.Buffer) + fprint(buf, genFile) + fset := token.NewFileSet() + file, err := parser.ParseFile(fset, "", buf, parser.ParseComments) + if err != nil { + log.Fatal(err) + } + tfile := fset.File(file.Pos()) - loopw := new(bytes.Buffer) - - // check match of control value - pos := "" - checkOp := "" - if s[0] != "nil" { - if strings.Contains(s[0], "(") { - pos, checkOp, _ = genMatch0(loopw, arch, s[0], "v", map[string]struct{}{}, rule.loc) - } else { - fmt.Fprintf(loopw, "%s := b.Control\n", s[0]) + for n := 0; n < 3; n++ { + unused := make(map[token.Pos]bool) + conf := types.Config{Error: func(err error) { + if terr, ok := err.(types.Error); ok && strings.Contains(terr.Msg, "not used") { + unused[terr.Pos] = true + } + }} + _, _ = conf.Check("ssa", fset, []*ast.File{file}, nil) + if len(unused) == 0 { + break + } + pre := func(c *astutil.Cursor) bool { + if node := c.Node(); node != nil && unused[node.Pos()] { + c.Delete() + // Unused imports and declarations use exactly + // one line. Prevent leaving an empty line. + tfile.MergeLine(tfile.Position(node.Pos()).Line) + return false + } + return true + } + post := func(c *astutil.Cursor) bool { + switch node := c.Node().(type) { + case *ast.GenDecl: + if len(node.Specs) == 0 { + c.Delete() } } - if aux != "" { - fmt.Fprintf(loopw, "%s := b.Aux\n", aux) - } + return true + } + file = astutil.Apply(file, pre, post).(*ast.File) + } - if cond != "" { - fmt.Fprintf(loopw, "if !(%s) {\nbreak\n}\n", cond) - } + // Write the well-formatted source to file + f, err := os.Create("../rewrite" + arch.name + suff + ".go") + if err != nil { + log.Fatalf("can't write output: %v", err) + } + defer f.Close() + // gofmt result; use a buffered writer, as otherwise go/format spends + // far too much time in syscalls. + bw := bufio.NewWriter(f) + if err := format.Node(bw, fset, file); err != nil { + log.Fatalf("can't format output: %v", err) + } + if err := bw.Flush(); err != nil { + log.Fatalf("can't write output: %v", err) + } + if err := f.Close(); err != nil { + log.Fatalf("can't write output: %v", err) + } +} - // Rule matches. Generate result. - outop, _, _, aux, t := extract(result) // remove parens, then split - newsuccs := t[1:] - - // Check if newsuccs is the same set as succs. - succs := s[1:] - m := map[string]bool{} - for _, succ := range succs { - if m[succ] { - log.Fatalf("can't have a repeat successor name %s in %s", succ, rule) - } - m[succ] = true +func fprint(w io.Writer, n Node) { + switch n := n.(type) { + case *File: + fmt.Fprintf(w, "// Code generated from gen/%s%s.rules; DO NOT EDIT.\n", n.arch.name, n.suffix) + fmt.Fprintf(w, "// generated with: cd gen; go run *.go\n") + fmt.Fprintf(w, "\npackage ssa\n") + for _, path := range []string{ + "fmt", "math", + "cmd/internal/obj", "cmd/internal/objabi", + "cmd/compile/internal/types", + } { + fmt.Fprintf(w, "import %q\n", path) + } + for _, f := range n.list { + f := f.(*Func) + fmt.Fprintf(w, "func rewrite%s%s%s%s(", f.kind, n.arch.name, n.suffix, f.suffix) + fmt.Fprintf(w, "%c *%s) bool {\n", strings.ToLower(f.kind)[0], f.kind) + for _, n := range f.list { + fprint(w, n) } - for _, succ := range newsuccs { - if !m[succ] { - log.Fatalf("unknown successor %s in %s", succ, rule) - } - delete(m, succ) - } - if len(m) != 0 { - log.Fatalf("unmatched successors %v in %s", m, rule) - } - - fmt.Fprintf(loopw, "b.Kind = %s\n", blockName(outop, arch)) - if t[0] == "nil" { - fmt.Fprintf(loopw, "b.SetControl(nil)\n") - } else { - if pos == "" { - pos = "v.Pos" - } - fmt.Fprintf(loopw, "b.SetControl(%s)\n", genResult0(loopw, arch, t[0], new(int), false, false, rule.loc, pos)) - } - if aux != "" { - fmt.Fprintf(loopw, "b.Aux = %s\n", aux) - } else { - fmt.Fprintln(loopw, "b.Aux = nil") - } - - succChanged := false - for i := 0; i < len(succs); i++ { - if succs[i] != newsuccs[i] { - succChanged = true - } - } - if succChanged { - if len(succs) != 2 { - log.Fatalf("changed successors, len!=2 in %s", rule) - } - if succs[0] != newsuccs[1] || succs[1] != newsuccs[0] { - log.Fatalf("can only handle swapped successors in %s", rule) - } - fmt.Fprintln(loopw, "b.swapSuccessors()") - } - - if *genLog { - fmt.Fprintf(loopw, "logRule(\"%s\")\n", rule.loc) - } - fmt.Fprintf(loopw, "return true\n") - - if checkOp != "" { - fmt.Fprintf(w, "for v.Op == %s {\n", checkOp) - } else { - fmt.Fprintf(w, "for {\n") - } - io.Copy(w, loopw) - fmt.Fprintf(w, "}\n") } + case *Switch: + fmt.Fprintf(w, "switch ") + fprint(w, n.expr) + fmt.Fprintf(w, " {\n") + for _, n := range n.list { + fprint(w, n) + } + fmt.Fprintf(w, "}\n") + case *Case: + fmt.Fprintf(w, "case ") + fprint(w, n.expr) + fmt.Fprintf(w, ":\n") + for _, n := range n.list { + fprint(w, n) + } + case *RuleRewrite: + fmt.Fprintf(w, "// match: %s\n", n.match) + fmt.Fprintf(w, "// cond: %s\n", n.cond) + fmt.Fprintf(w, "// result: %s\n", n.result) + if n.checkOp != "" { + fmt.Fprintf(w, "for v.Op == %s {\n", n.checkOp) + } else { + fmt.Fprintf(w, "for {\n") + } + for _, n := range n.list { + fprint(w, n) + } + fmt.Fprintf(w, "return true\n}\n") + case *Declare: + fmt.Fprintf(w, "%s := ", n.name) + fprint(w, n.value) + fmt.Fprintln(w) + case *CondBreak: + fmt.Fprintf(w, "if ") + fprint(w, n.expr) + fmt.Fprintf(w, " {\nbreak\n}\n") + case ast.Node: + printer.Fprint(w, emptyFset, n) + if _, ok := n.(ast.Stmt); ok { + fmt.Fprintln(w) + } + default: + log.Fatalf("cannot print %T", n) } - fmt.Fprintf(w, "}\n") - fmt.Fprintf(w, "return false\n") - fmt.Fprintf(w, "}\n") +} - // gofmt result - b := w.Bytes() - src, err := format.Source(b) +var emptyFset = token.NewFileSet() + +// Node can be a Statement or an ast.Expr. +type Node interface{} + +// Statement can be one of our high-level statement struct types, or an +// ast.Stmt under some limited circumstances. +type Statement interface{} + +// bodyBase is shared by all of our statement psuedo-node types which can +// contain other statements. +type bodyBase struct { + list []Statement + canFail bool +} + +func (w *bodyBase) body() []Statement { return w.list } +func (w *bodyBase) add(nodes ...Statement) { + w.list = append(w.list, nodes...) + for _, node := range nodes { + if _, ok := node.(*CondBreak); ok { + w.canFail = true + } + } +} + +// declared reports if the body contains a Declare with the given name. +func (w *bodyBase) declared(name string) bool { + for _, s := range w.list { + if decl, ok := s.(*Declare); ok && decl.name == name { + return true + } + } + return false +} + +// These types define some high-level statement struct types, which can be used +// as a Statement. This allows us to keep some node structs simpler, and have +// higher-level nodes such as an entire rule rewrite. +// +// Note that ast.Expr is always used as-is; we don't declare our own expression +// nodes. +type ( + File struct { + bodyBase // []*Func + arch arch + suffix string + } + Func struct { + bodyBase + kind string // "Value" or "Block" + suffix string + } + Switch struct { + bodyBase // []*Case + expr ast.Expr + } + Case struct { + bodyBase + expr ast.Expr + } + RuleRewrite struct { + bodyBase + match, cond, result string // top comments + checkOp string + + alloc int // for unique var names + loc string // file name & line number of the original rule + } + Declare struct { + name string + value ast.Expr + } + CondBreak struct { + expr ast.Expr + } +) + +// exprf parses a Go expression generated from fmt.Sprintf, panicking if an +// error occurs. +func exprf(format string, a ...interface{}) ast.Expr { + src := fmt.Sprintf(format, a...) + expr, err := parser.ParseExpr(src) if err != nil { - fmt.Printf("%s\n", b) - panic(err) + log.Fatalf("expr parse error on %q: %v", src, err) + } + return expr +} + +// stmtf parses a Go statement generated from fmt.Sprintf. This function is only +// meant for simple statements that don't have a custom Statement node declared +// in this package, such as ast.ReturnStmt or ast.ExprStmt. +func stmtf(format string, a ...interface{}) Statement { + src := fmt.Sprintf(format, a...) + fsrc := "package p\nfunc _() {\n" + src + "\n}\n" + file, err := parser.ParseFile(token.NewFileSet(), "", fsrc, 0) + if err != nil { + log.Fatalf("stmt parse error on %q: %v", src, err) + } + return file.Decls[0].(*ast.FuncDecl).Body.List[0] +} + +// declf constructs a simple "name := value" declaration, using exprf for its +// value. +func declf(name, format string, a ...interface{}) *Declare { + return &Declare{name, exprf(format, a...)} +} + +// breakf constructs a simple "if cond { break }" statement, using exprf for its +// condition. +func breakf(format string, a ...interface{}) *CondBreak { + return &CondBreak{exprf(format, a...)} +} + +func genBlockRewrite(rule Rule, arch arch) *RuleRewrite { + rr := &RuleRewrite{loc: rule.loc} + rr.match, rr.cond, rr.result = rule.parse() + _, _, _, aux, s := extract(rr.match) // remove parens, then split + + // check match of control value + pos := "" + if s[0] != "nil" { + if strings.Contains(s[0], "(") { + pos, rr.checkOp = genMatch0(rr, arch, s[0], "v") + } else { + rr.add(declf(s[0], "b.Control")) + } + } + if aux != "" { + rr.add(declf(aux, "b.Aux")) + } + if rr.cond != "" { + rr.add(breakf("!(%s)", rr.cond)) } - // Write to file - err = ioutil.WriteFile("../rewrite"+arch.name+suff+".go", src, 0666) - if err != nil { - log.Fatalf("can't write output: %v\n", err) + // Rule matches. Generate result. + outop, _, _, aux, t := extract(rr.result) // remove parens, then split + newsuccs := t[1:] + + // Check if newsuccs is the same set as succs. + succs := s[1:] + m := map[string]bool{} + for _, succ := range succs { + if m[succ] { + log.Fatalf("can't have a repeat successor name %s in %s", succ, rule) + } + m[succ] = true } + for _, succ := range newsuccs { + if !m[succ] { + log.Fatalf("unknown successor %s in %s", succ, rule) + } + delete(m, succ) + } + if len(m) != 0 { + log.Fatalf("unmatched successors %v in %s", m, rule) + } + + rr.add(stmtf("b.Kind = %s", blockName(outop, arch))) + if t[0] == "nil" { + rr.add(stmtf("b.SetControl(nil)")) + } else { + if pos == "" { + pos = "v.Pos" + } + v := genResult0(rr, arch, t[0], false, false, pos) + rr.add(stmtf("b.SetControl(%s)", v)) + } + if aux != "" { + rr.add(stmtf("b.Aux = %s", aux)) + } else { + rr.add(stmtf("b.Aux = nil")) + } + + succChanged := false + for i := 0; i < len(succs); i++ { + if succs[i] != newsuccs[i] { + succChanged = true + } + } + if succChanged { + if len(succs) != 2 { + log.Fatalf("changed successors, len!=2 in %s", rule) + } + if succs[0] != newsuccs[1] || succs[1] != newsuccs[0] { + log.Fatalf("can only handle swapped successors in %s", rule) + } + rr.add(stmtf("b.swapSuccessors()")) + } + + if *genLog { + rr.add(stmtf("logRule(%q)", rule.loc)) + } + return rr } // genMatch returns the variable whose source position should be used for the // result (or "" if no opinion), and a boolean that reports whether the match can fail. -func genMatch(w io.Writer, arch arch, match string, loc string) (pos, checkOp string, canFail bool) { - return genMatch0(w, arch, match, "v", map[string]struct{}{}, loc) +func genMatch(rr *RuleRewrite, arch arch, match string) (pos, checkOp string) { + return genMatch0(rr, arch, match, "v") } -func genMatch0(w io.Writer, arch arch, match, v string, m map[string]struct{}, loc string) (pos, checkOp string, canFail bool) { +func genMatch0(rr *RuleRewrite, arch arch, match, v string) (pos, checkOp string) { if match[0] != '(' || match[len(match)-1] != ')' { - panic("non-compound expr in genMatch0: " + match) + log.Fatalf("non-compound expr in genMatch0: %q", match) } - op, oparch, typ, auxint, aux, args := parseValue(match, arch, loc) + op, oparch, typ, auxint, aux, args := parseValue(match, arch, rr.loc) checkOp = fmt.Sprintf("Op%s%s", oparch, op.name) @@ -421,68 +603,40 @@ func genMatch0(w io.Writer, arch arch, match, v string, m map[string]struct{}, l } if typ != "" { - if !isVariable(typ) { - // code. We must match the results of this code. - fmt.Fprintf(w, "if %s.Type != %s {\nbreak\n}\n", v, typ) - canFail = true + if !token.IsIdentifier(typ) || rr.declared(typ) { + // code or variable + rr.add(breakf("%s.Type != %s", v, typ)) } else { - // variable - if _, ok := m[typ]; ok { - // must match previous variable - fmt.Fprintf(w, "if %s.Type != %s {\nbreak\n}\n", v, typ) - canFail = true - } else { - m[typ] = struct{}{} - fmt.Fprintf(w, "%s := %s.Type\n", typ, v) - } + rr.add(declf(typ, "%s.Type", v)) } } - if auxint != "" { - if !isVariable(auxint) { - // code - fmt.Fprintf(w, "if %s.AuxInt != %s {\nbreak\n}\n", v, auxint) - canFail = true + if !token.IsIdentifier(auxint) || rr.declared(auxint) { + // code or variable + rr.add(breakf("%s.AuxInt != %s", v, auxint)) } else { - // variable - if _, ok := m[auxint]; ok { - fmt.Fprintf(w, "if %s.AuxInt != %s {\nbreak\n}\n", v, auxint) - canFail = true - } else { - m[auxint] = struct{}{} - fmt.Fprintf(w, "%s := %s.AuxInt\n", auxint, v) - } + rr.add(declf(auxint, "%s.AuxInt", v)) } } - if aux != "" { - if !isVariable(aux) { - // code - fmt.Fprintf(w, "if %s.Aux != %s {\nbreak\n}\n", v, aux) - canFail = true + if !token.IsIdentifier(aux) || rr.declared(aux) { + // code or variable + rr.add(breakf("%s.Aux != %s", v, aux)) } else { - // variable - if _, ok := m[aux]; ok { - fmt.Fprintf(w, "if %s.Aux != %s {\nbreak\n}\n", v, aux) - canFail = true - } else { - m[aux] = struct{}{} - fmt.Fprintf(w, "%s := %s.Aux\n", aux, v) - } + rr.add(declf(aux, "%s.Aux", v)) } } // Access last argument first to minimize bounds checks. if n := len(args); n > 1 { a := args[n-1] - if _, set := m[a]; !set && a != "_" && isVariable(a) { - m[a] = struct{}{} - fmt.Fprintf(w, "%s := %s.Args[%d]\n", a, v, n-1) + if a != "_" && !rr.declared(a) && token.IsIdentifier(a) { + rr.add(declf(a, "%s.Args[%d]", v, n-1)) // delete the last argument so it is not reprocessed args = args[:n-1] } else { - fmt.Fprintf(w, "_ = %s.Args[%d]\n", v, n-1) + rr.add(stmtf("_ = %s.Args[%d]", v, n-1)) } } for i, arg := range args { @@ -491,41 +645,36 @@ func genMatch0(w io.Writer, arch arch, match, v string, m map[string]struct{}, l } if !strings.Contains(arg, "(") { // leaf variable - if _, ok := m[arg]; ok { + if rr.declared(arg) { // variable already has a definition. Check whether // the old definition and the new definition match. // For example, (add x x). Equality is just pointer equality // on Values (so cse is important to do before lowering). - fmt.Fprintf(w, "if %s != %s.Args[%d] {\nbreak\n}\n", arg, v, i) - canFail = true + rr.add(breakf("%s != %s.Args[%d]", arg, v, i)) } else { - // remember that this variable references the given value - m[arg] = struct{}{} - fmt.Fprintf(w, "%s := %s.Args[%d]\n", arg, v, i) + rr.add(declf(arg, "%s.Args[%d]", v, i)) } continue } // compound sexpr - var argname string + argname := fmt.Sprintf("%s_%d", v, i) colon := strings.Index(arg, ":") openparen := strings.Index(arg, "(") if colon >= 0 && openparen >= 0 && colon < openparen { // rule-specified name argname = arg[:colon] arg = arg[colon+1:] - } else { - // autogenerated name - argname = fmt.Sprintf("%s_%d", v, i) } if argname == "b" { log.Fatalf("don't name args 'b', it is ambiguous with blocks") } - fmt.Fprintf(w, "%s := %s.Args[%d]\n", argname, v, i) - w2 := new(bytes.Buffer) - argPos, argCheckOp, _ := genMatch0(w2, arch, arg, argname, m, loc) - fmt.Fprintf(w, "if %s.Op != %s {\nbreak\n}\n", argname, argCheckOp) - io.Copy(w, w2) + rr.add(declf(argname, "%s.Args[%d]", v, i)) + bexpr := exprf("%s.Op != addLater", argname) + rr.add(&CondBreak{expr: bexpr}) + rr.canFail = true // since we're not using breakf + argPos, argCheckOp := genMatch0(rr, arch, arg, argname) + bexpr.(*ast.BinaryExpr).Y.(*ast.Ident).Name = argCheckOp if argPos != "" { // Keep the argument in preference to the parent, as the @@ -535,28 +684,26 @@ func genMatch0(w io.Writer, arch arch, match, v string, m map[string]struct{}, l // in the program flow. pos = argPos } - canFail = true } if op.argLength == -1 { - fmt.Fprintf(w, "if len(%s.Args) != %d {\nbreak\n}\n", v, len(args)) - canFail = true + rr.add(breakf("len(%s.Args) != %d", v, len(args))) } - return pos, checkOp, canFail + return pos, checkOp } -func genResult(w io.Writer, arch arch, result string, loc string, pos string) { - move := false - if result[0] == '@' { +func genResult(rr *RuleRewrite, arch arch, result, pos string) { + move := result[0] == '@' + if move { // parse @block directive s := strings.SplitN(result[1:], " ", 2) - fmt.Fprintf(w, "b = %s\n", s[0]) + rr.add(stmtf("b = %s", s[0])) result = s[1] - move = true } - genResult0(w, arch, result, new(int), true, move, loc, pos) + genResult0(rr, arch, result, true, move, pos) } -func genResult0(w io.Writer, arch arch, result string, alloc *int, top, move bool, loc string, pos string) string { + +func genResult0(rr *RuleRewrite, arch arch, result string, top, move bool, pos string) string { // TODO: when generating a constant result, use f.constVal to avoid // introducing copies just to clean them up again. if result[0] != '(' { @@ -565,14 +712,14 @@ func genResult0(w io.Writer, arch arch, result string, alloc *int, top, move boo // It in not safe in general to move a variable between blocks // (and particularly not a phi node). // Introduce a copy. - fmt.Fprintf(w, "v.reset(OpCopy)\n") - fmt.Fprintf(w, "v.Type = %s.Type\n", result) - fmt.Fprintf(w, "v.AddArg(%s)\n", result) + rr.add(stmtf("v.reset(OpCopy)")) + rr.add(stmtf("v.Type = %s.Type", result)) + rr.add(stmtf("v.AddArg(%s)", result)) } return result } - op, oparch, typ, auxint, aux, args := parseValue(result, arch, loc) + op, oparch, typ, auxint, aux, args := parseValue(result, arch, rr.loc) // Find the type of the variable. typeOverride := typ != "" @@ -580,36 +727,35 @@ func genResult0(w io.Writer, arch arch, result string, alloc *int, top, move boo typ = typeName(op.typ) } - var v string + v := "v" if top && !move { - v = "v" - fmt.Fprintf(w, "v.reset(Op%s%s)\n", oparch, op.name) + rr.add(stmtf("v.reset(Op%s%s)", oparch, op.name)) if typeOverride { - fmt.Fprintf(w, "v.Type = %s\n", typ) + rr.add(stmtf("v.Type = %s", typ)) } } else { if typ == "" { - log.Fatalf("sub-expression %s (op=Op%s%s) at %s must have a type", result, oparch, op.name, loc) + log.Fatalf("sub-expression %s (op=Op%s%s) at %s must have a type", result, oparch, op.name, rr.loc) } - v = fmt.Sprintf("v%d", *alloc) - *alloc++ - fmt.Fprintf(w, "%s := b.NewValue0(%s, Op%s%s, %s)\n", v, pos, oparch, op.name, typ) + v = fmt.Sprintf("v%d", rr.alloc) + rr.alloc++ + rr.add(declf(v, "b.NewValue0(%s, Op%s%s, %s)", pos, oparch, op.name, typ)) if move && top { // Rewrite original into a copy - fmt.Fprintf(w, "v.reset(OpCopy)\n") - fmt.Fprintf(w, "v.AddArg(%s)\n", v) + rr.add(stmtf("v.reset(OpCopy)")) + rr.add(stmtf("v.AddArg(%s)", v)) } } if auxint != "" { - fmt.Fprintf(w, "%s.AuxInt = %s\n", v, auxint) + rr.add(stmtf("%s.AuxInt = %s", v, auxint)) } if aux != "" { - fmt.Fprintf(w, "%s.Aux = %s\n", v, aux) + rr.add(stmtf("%s.Aux = %s", v, aux)) } for _, arg := range args { - x := genResult0(w, arch, arg, alloc, false, move, loc, pos) - fmt.Fprintf(w, "%s.AddArg(%s)\n", v, x) + x := genResult0(rr, arch, arg, false, move, pos) + rr.add(stmtf("%s.AddArg(%s)", v, x)) } return v @@ -652,7 +798,7 @@ outer: } } if d != 0 { - panic("imbalanced expression: " + s) + log.Fatalf("imbalanced expression: %q", s) } if nonsp { r = append(r, strings.TrimSpace(s)) @@ -677,7 +823,7 @@ func isBlock(name string, arch arch) bool { return false } -func extract(val string) (op string, typ string, auxint string, aux string, args []string) { +func extract(val string) (op, typ, auxint, aux string, args []string) { val = val[1 : len(val)-1] // remove () // Split val up into regions. @@ -705,7 +851,7 @@ func extract(val string) (op string, typ string, auxint string, aux string, args // The value can be from the match or the result side. // It returns the op and unparsed strings for typ, auxint, and aux restrictions and for all args. // oparch is the architecture that op is located in, or "" for generic. -func parseValue(val string, arch arch, loc string) (op opData, oparch string, typ string, auxint string, aux string, args []string) { +func parseValue(val string, arch arch, loc string) (op opData, oparch, typ, auxint, aux string, args []string) { // Resolve the op. var s string s, typ, auxint, aux, args = extract(val) @@ -723,9 +869,8 @@ func parseValue(val string, arch arch, loc string) (op opData, oparch string, ty if x.argLength != -1 && int(x.argLength) != len(args) { if strict { return false - } else { - log.Printf("%s: op %s (%s) should have %d args, has %d", loc, s, archname, x.argLength, len(args)) } + log.Printf("%s: op %s (%s) should have %d args, has %d", loc, s, archname, x.argLength, len(args)) } return true } @@ -736,16 +881,14 @@ func parseValue(val string, arch arch, loc string) (op opData, oparch string, ty break } } - if arch.name != "generic" { - for _, x := range arch.ops { - if match(x, true, arch.name) { - if op.name != "" { - log.Fatalf("%s: matches for op %s found in both generic and %s", loc, op.name, arch.name) - } - op = x - oparch = arch.name - break + for _, x := range arch.ops { + if arch.name != "generic" && match(x, true, arch.name) { + if op.name != "" { + log.Fatalf("%s: matches for op %s found in both generic and %s", loc, op.name, arch.name) } + op = x + oparch = arch.name + break } } @@ -777,7 +920,6 @@ func parseValue(val string, arch arch, loc string) (op opData, oparch string, ty log.Fatalf("%s: op %s %s can't have aux", loc, op.name, op.aux) } } - return } @@ -795,7 +937,7 @@ func typeName(typ string) string { if typ[0] == '(' { ts := strings.Split(typ[1:len(typ)-1], ",") if len(ts) != 2 { - panic("Tuple expect 2 arguments") + log.Fatalf("Tuple expect 2 arguments") } return "types.NewTuple(" + typeName(ts[0]) + ", " + typeName(ts[1]) + ")" } @@ -809,29 +951,19 @@ func typeName(typ string) string { // unbalanced reports whether there aren't the same number of ( and ) in the string. func unbalanced(s string) bool { - var left, right int + balance := 0 for _, c := range s { if c == '(' { - left++ - } - if c == ')' { - right++ + balance++ + } else if c == ')' { + balance-- } } - return left != right + return balance != 0 } -// isVariable reports whether s is a single Go alphanumeric identifier. -func isVariable(s string) bool { - b, err := regexp.MatchString("^[A-Za-z_][A-Za-z_0-9]*$", s) - if err != nil { - panic("bad variable regexp") - } - return b -} - -// opRegexp is a regular expression to find the opcode portion of s-expressions. -var opRegexp = regexp.MustCompile(`[(](\w+[|])+\w+[)]`) +// findAllOpcode is a function to find the opcode portion of s-expressions. +var findAllOpcode = regexp.MustCompile(`[(](\w+[|])+\w+[)]`).FindAllStringIndex // excludeFromExpansion reports whether the substring s[idx[0]:idx[1]] in a rule // should be disregarded as a candidate for | expansion. @@ -859,7 +991,7 @@ func expandOr(r string) []string { // Count width of |-forms. They must match. n := 1 - for _, idx := range opRegexp.FindAllStringIndex(r, -1) { + for _, idx := range findAllOpcode(r, -1) { if excludeFromExpansion(r, idx) { continue } @@ -882,7 +1014,7 @@ func expandOr(r string) []string { for i := 0; i < n; i++ { buf := new(strings.Builder) x := 0 - for _, idx := range opRegexp.FindAllStringIndex(r, -1) { + for _, idx := range findAllOpcode(r, -1) { if excludeFromExpansion(r, idx) { continue } @@ -913,7 +1045,7 @@ func commute(r string, arch arch) []string { if len(a) == 1 && normalizeWhitespace(r) != normalizeWhitespace(a[0]) { fmt.Println(normalizeWhitespace(r)) fmt.Println(normalizeWhitespace(a[0])) - panic("commute() is not the identity for noncommuting rule") + log.Fatalf("commute() is not the identity for noncommuting rule") } if false && len(a) > 1 { fmt.Println(r) @@ -925,18 +1057,17 @@ func commute(r string, arch arch) []string { } func commute1(m string, cnt map[string]int, arch arch) []string { - if m[0] == '<' || m[0] == '[' || m[0] == '{' || isVariable(m) { + if m[0] == '<' || m[0] == '[' || m[0] == '{' || token.IsIdentifier(m) { return []string{m} } // Split up input. var prefix string - colon := strings.Index(m, ":") - if colon >= 0 && isVariable(m[:colon]) { - prefix = m[:colon+1] - m = m[colon+1:] + if i := strings.Index(m, ":"); i >= 0 && token.IsIdentifier(m[:i]) { + prefix = m[:i+1] + m = m[i+1:] } if m[0] != '(' || m[len(m)-1] != ')' { - panic("non-compound expr in commute1: " + m) + log.Fatalf("non-compound expr in commute1: %q", m) } s := split(m[1 : len(m)-1]) op := s[0] @@ -978,7 +1109,7 @@ func commute1(m string, cnt map[string]int, arch arch) []string { } } if idx1 == 0 { - panic("couldn't find first two args of commutative op " + s[0]) + log.Fatalf("couldn't find first two args of commutative op %q", s[0]) } if cnt[s[idx0]] == 1 && cnt[s[idx1]] == 1 || s[idx0] == s[idx1] && cnt[s[idx0]] == 2 { // When we have (Add x y) with no other uses of x and y in the matching rule, @@ -1016,22 +1147,22 @@ func varCount(m string) map[string]int { varCount1(m, cnt) return cnt } + func varCount1(m string, cnt map[string]int) { if m[0] == '<' || m[0] == '[' || m[0] == '{' { return } - if isVariable(m) { + if token.IsIdentifier(m) { cnt[m]++ return } // Split up input. - colon := strings.Index(m, ":") - if colon >= 0 && isVariable(m[:colon]) { - cnt[m[:colon]]++ - m = m[colon+1:] + if i := strings.Index(m, ":"); i >= 0 && token.IsIdentifier(m[:i]) { + cnt[m[:i]]++ + m = m[i+1:] } if m[0] != '(' || m[len(m)-1] != ')' { - panic("non-compound expr in commute1: " + m) + log.Fatalf("non-compound expr in commute1: %q", m) } s := split(m[1 : len(m)-1]) for _, arg := range s[1:] { diff --git a/src/cmd/compile/internal/ssa/opGen.go b/src/cmd/compile/internal/ssa/opGen.go index 8e701cdd9f..00e49c97b7 100644 --- a/src/cmd/compile/internal/ssa/opGen.go +++ b/src/cmd/compile/internal/ssa/opGen.go @@ -18668,9 +18668,9 @@ var opcodeTable = [...]opInfo{ faultOnNilArg0: true, reg: regInfo{ inputs: []inputInfo{ - {0, 65536}, // R16 + {0, 1048576}, // R20 }, - clobbers: 536936448, // R16 R30 + clobbers: 537919488, // R20 R30 }, }, { @@ -18694,10 +18694,10 @@ var opcodeTable = [...]opInfo{ faultOnNilArg1: true, reg: regInfo{ inputs: []inputInfo{ - {0, 131072}, // R17 - {1, 65536}, // R16 + {0, 2097152}, // R21 + {1, 1048576}, // R20 }, - clobbers: 604176384, // R16 R17 R26 R30 + clobbers: 607125504, // R20 R21 R26 R30 }, }, { diff --git a/src/cmd/compile/internal/ssa/prove.go b/src/cmd/compile/internal/ssa/prove.go index 7c69327990..697862f986 100644 --- a/src/cmd/compile/internal/ssa/prove.go +++ b/src/cmd/compile/internal/ssa/prove.go @@ -530,6 +530,25 @@ func (ft *factsTable) update(parent *Block, v, w *Value, d domain, r relation) { } } + // Look through value-preserving extensions. + // If the domain is appropriate for the pre-extension Type, + // repeat the update with the pre-extension Value. + if isCleanExt(v) { + switch { + case d == signed && v.Args[0].Type.IsSigned(): + fallthrough + case d == unsigned && !v.Args[0].Type.IsSigned(): + ft.update(parent, v.Args[0], w, d, r) + } + } + if isCleanExt(w) { + switch { + case d == signed && w.Args[0].Type.IsSigned(): + fallthrough + case d == unsigned && !w.Args[0].Type.IsSigned(): + ft.update(parent, v, w.Args[0], d, r) + } + } } var opMin = map[Op]int64{ @@ -584,6 +603,11 @@ func (ft *factsTable) isNonNegative(v *Value) bool { } } + // Check if v is a value-preserving extension of a non-negative value. + if isCleanExt(v) && ft.isNonNegative(v.Args[0]) { + return true + } + // Check if the signed poset can prove that the value is >= 0 return ft.order[0].OrderedOrEqual(ft.zero, v) } @@ -1299,3 +1323,20 @@ func isConstDelta(v *Value) (w *Value, delta int64) { } return nil, 0 } + +// isCleanExt reports whether v is the result of a value-preserving +// sign or zero extension +func isCleanExt(v *Value) bool { + switch v.Op { + case OpSignExt8to16, OpSignExt8to32, OpSignExt8to64, + OpSignExt16to32, OpSignExt16to64, OpSignExt32to64: + // signed -> signed is the only value-preserving sign extension + return v.Args[0].Type.IsSigned() && v.Type.IsSigned() + + case OpZeroExt8to16, OpZeroExt8to32, OpZeroExt8to64, + OpZeroExt16to32, OpZeroExt16to64, OpZeroExt32to64: + // unsigned -> signed/unsigned are value-preserving zero extensions + return !v.Args[0].Type.IsSigned() + } + return false +} diff --git a/src/cmd/compile/internal/ssa/regalloc.go b/src/cmd/compile/internal/ssa/regalloc.go index b6fae5e0a3..8abbf61507 100644 --- a/src/cmd/compile/internal/ssa/regalloc.go +++ b/src/cmd/compile/internal/ssa/regalloc.go @@ -1455,7 +1455,7 @@ func (s *regAllocState) regalloc(f *Func) { } } // Avoid registers we're saving for other values. - if mask&^desired.avoid != 0 { + if mask&^desired.avoid&^s.nospill != 0 { mask &^= desired.avoid } r := s.allocReg(mask, v) diff --git a/src/cmd/compile/internal/ssa/rewrite386.go b/src/cmd/compile/internal/ssa/rewrite386.go index 8f896ec0c7..812aa9420d 100644 --- a/src/cmd/compile/internal/ssa/rewrite386.go +++ b/src/cmd/compile/internal/ssa/rewrite386.go @@ -3,18 +3,9 @@ package ssa -import "fmt" import "math" -import "cmd/internal/obj" -import "cmd/internal/objabi" import "cmd/compile/internal/types" -var _ = fmt.Println // in case not otherwise used -var _ = math.MinInt8 // in case not otherwise used -var _ = obj.ANOP // in case not otherwise used -var _ = objabi.GOROOT // in case not otherwise used -var _ = types.TypeMem // in case not otherwise used - func rewriteValue386(v *Value) bool { switch v.Op { case Op386ADCL: @@ -24539,11 +24530,7 @@ func rewriteValue386_OpZeromask_0(v *Value) bool { } } func rewriteBlock386(b *Block) bool { - config := b.Func.Config - typ := &config.Types - _ = typ v := b.Control - _ = v switch b.Kind { case Block386EQ: // match: (EQ (InvertFlags cmp) yes no) diff --git a/src/cmd/compile/internal/ssa/rewrite386splitload.go b/src/cmd/compile/internal/ssa/rewrite386splitload.go index 1eaf2d9d48..b6c1989d52 100644 --- a/src/cmd/compile/internal/ssa/rewrite386splitload.go +++ b/src/cmd/compile/internal/ssa/rewrite386splitload.go @@ -3,18 +3,6 @@ package ssa -import "fmt" -import "math" -import "cmd/internal/obj" -import "cmd/internal/objabi" -import "cmd/compile/internal/types" - -var _ = fmt.Println // in case not otherwise used -var _ = math.MinInt8 // in case not otherwise used -var _ = obj.ANOP // in case not otherwise used -var _ = objabi.GOROOT // in case not otherwise used -var _ = types.TypeMem // in case not otherwise used - func rewriteValue386splitload(v *Value) bool { switch v.Op { case Op386CMPBconstload: @@ -168,11 +156,6 @@ func rewriteValue386splitload_Op386CMPWload_0(v *Value) bool { } } func rewriteBlock386splitload(b *Block) bool { - config := b.Func.Config - typ := &config.Types - _ = typ - v := b.Control - _ = v switch b.Kind { } return false diff --git a/src/cmd/compile/internal/ssa/rewriteAMD64.go b/src/cmd/compile/internal/ssa/rewriteAMD64.go index 4ffa317a06..1f888211ef 100644 --- a/src/cmd/compile/internal/ssa/rewriteAMD64.go +++ b/src/cmd/compile/internal/ssa/rewriteAMD64.go @@ -3,18 +3,9 @@ package ssa -import "fmt" import "math" -import "cmd/internal/obj" -import "cmd/internal/objabi" import "cmd/compile/internal/types" -var _ = fmt.Println // in case not otherwise used -var _ = math.MinInt8 // in case not otherwise used -var _ = obj.ANOP // in case not otherwise used -var _ = objabi.GOROOT // in case not otherwise used -var _ = types.TypeMem // in case not otherwise used - func rewriteValueAMD64(v *Value) bool { switch v.Op { case OpAMD64ADCQ: @@ -29437,8 +29428,8 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool { return true } // match: (ORL s1:(SHLLconst [j1] x1:(MOVBload [i1] {s} p mem)) or:(ORL s0:(SHLLconst [j0] x0:(MOVBload [i0] {s} p mem)) y)) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWload [i0] {s} p mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -29479,10 +29470,10 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -29499,8 +29490,8 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool { return true } // match: (ORL s1:(SHLLconst [j1] x1:(MOVBload [i1] {s} p mem)) or:(ORL y s0:(SHLLconst [j0] x0:(MOVBload [i0] {s} p mem)))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWload [i0] {s} p mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -29542,10 +29533,10 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -29562,8 +29553,8 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool { return true } // match: (ORL or:(ORL s0:(SHLLconst [j0] x0:(MOVBload [i0] {s} p mem)) y) s1:(SHLLconst [j1] x1:(MOVBload [i1] {s} p mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWload [i0] {s} p mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -29604,10 +29595,10 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -29629,8 +29620,8 @@ func rewriteValueAMD64_OpAMD64ORL_60(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORL or:(ORL y s0:(SHLLconst [j0] x0:(MOVBload [i0] {s} p mem))) s1:(SHLLconst [j1] x1:(MOVBload [i1] {s} p mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWload [i0] {s} p mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -29672,10 +29663,10 @@ func rewriteValueAMD64_OpAMD64ORL_60(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30545,8 +30536,8 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool { return true } // match: (ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) or:(ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) y)) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -30591,10 +30582,10 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30612,8 +30603,8 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool { return true } // match: (ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) or:(ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) y)) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -30658,10 +30649,10 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30679,8 +30670,8 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool { return true } // match: (ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) or:(ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) y)) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -30725,10 +30716,10 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30751,8 +30742,8 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) or:(ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) y)) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -30797,10 +30788,10 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30818,8 +30809,8 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { return true } // match: (ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) or:(ORL y s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -30865,10 +30856,10 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30886,8 +30877,8 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { return true } // match: (ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) or:(ORL y s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -30933,10 +30924,10 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30954,8 +30945,8 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { return true } // match: (ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) or:(ORL y s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -31001,10 +30992,10 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31022,8 +31013,8 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { return true } // match: (ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) or:(ORL y s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -31069,10 +31060,10 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31090,8 +31081,8 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { return true } // match: (ORL or:(ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) y) s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -31136,10 +31127,10 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31157,8 +31148,8 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { return true } // match: (ORL or:(ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) y) s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -31203,10 +31194,10 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31224,8 +31215,8 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { return true } // match: (ORL or:(ORL y s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem))) s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -31271,10 +31262,10 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31292,8 +31283,8 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { return true } // match: (ORL or:(ORL y s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem))) s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -31339,10 +31330,10 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31360,8 +31351,8 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { return true } // match: (ORL or:(ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) y) s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -31406,10 +31397,10 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31432,8 +31423,8 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORL or:(ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) y) s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -31478,10 +31469,10 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31499,8 +31490,8 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool { return true } // match: (ORL or:(ORL y s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem))) s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -31546,10 +31537,10 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31567,8 +31558,8 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool { return true } // match: (ORL or:(ORL y s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem))) s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -31614,10 +31605,10 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31865,8 +31856,8 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool { return true } // match: (ORL s0:(SHLLconst [j0] x0:(MOVBload [i0] {s} p mem)) or:(ORL s1:(SHLLconst [j1] x1:(MOVBload [i1] {s} p mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -31907,10 +31898,10 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31930,8 +31921,8 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool { return true } // match: (ORL s0:(SHLLconst [j0] x0:(MOVBload [i0] {s} p mem)) or:(ORL y s1:(SHLLconst [j1] x1:(MOVBload [i1] {s} p mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -31973,10 +31964,10 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31996,8 +31987,8 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool { return true } // match: (ORL or:(ORL s1:(SHLLconst [j1] x1:(MOVBload [i1] {s} p mem)) y) s0:(SHLLconst [j0] x0:(MOVBload [i0] {s} p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -32038,10 +32029,10 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -32066,8 +32057,8 @@ func rewriteValueAMD64_OpAMD64ORL_100(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORL or:(ORL y s1:(SHLLconst [j1] x1:(MOVBload [i1] {s} p mem))) s0:(SHLLconst [j0] x0:(MOVBload [i0] {s} p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -32109,10 +32100,10 @@ func rewriteValueAMD64_OpAMD64ORL_100(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -33137,8 +33128,8 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool { return true } // match: (ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) or:(ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -33183,10 +33174,10 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -33207,8 +33198,8 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool { return true } // match: (ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) or:(ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -33253,10 +33244,10 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -33277,8 +33268,8 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool { return true } // match: (ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) or:(ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -33323,10 +33314,10 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -33352,8 +33343,8 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) or:(ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -33398,10 +33389,10 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -33422,8 +33413,8 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { return true } // match: (ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) or:(ORL y s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -33469,10 +33460,10 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -33493,8 +33484,8 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { return true } // match: (ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) or:(ORL y s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -33540,10 +33531,10 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -33564,8 +33555,8 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { return true } // match: (ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) or:(ORL y s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -33611,10 +33602,10 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -33635,8 +33626,8 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { return true } // match: (ORL s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) or:(ORL y s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -33682,10 +33673,10 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -33706,8 +33697,8 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { return true } // match: (ORL or:(ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) y) s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -33752,10 +33743,10 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -33776,8 +33767,8 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { return true } // match: (ORL or:(ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) y) s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -33822,10 +33813,10 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -33846,8 +33837,8 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { return true } // match: (ORL or:(ORL y s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem))) s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -33893,10 +33884,10 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -33917,8 +33908,8 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { return true } // match: (ORL or:(ORL y s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem))) s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -33964,10 +33955,10 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -33988,8 +33979,8 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { return true } // match: (ORL or:(ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) y) s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -34034,10 +34025,10 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34063,8 +34054,8 @@ func rewriteValueAMD64_OpAMD64ORL_130(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORL or:(ORL s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) y) s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -34109,10 +34100,10 @@ func rewriteValueAMD64_OpAMD64ORL_130(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34133,8 +34124,8 @@ func rewriteValueAMD64_OpAMD64ORL_130(v *Value) bool { return true } // match: (ORL or:(ORL y s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem))) s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -34180,10 +34171,10 @@ func rewriteValueAMD64_OpAMD64ORL_130(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34204,8 +34195,8 @@ func rewriteValueAMD64_OpAMD64ORL_130(v *Value) bool { return true } // match: (ORL or:(ORL y s1:(SHLLconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem))) s0:(SHLLconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORL (SHLLconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -34251,10 +34242,10 @@ func rewriteValueAMD64_OpAMD64ORL_130(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORL, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36200,8 +36191,8 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVBload [i1] {s} p mem)) or:(ORQ s0:(SHLQconst [j0] x0:(MOVBload [i0] {s} p mem)) y)) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWload [i0] {s} p mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -36242,10 +36233,10 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36262,8 +36253,8 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVBload [i1] {s} p mem)) or:(ORQ y s0:(SHLQconst [j0] x0:(MOVBload [i0] {s} p mem)))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWload [i0] {s} p mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -36305,10 +36296,10 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36325,8 +36316,8 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { return true } // match: (ORQ or:(ORQ s0:(SHLQconst [j0] x0:(MOVBload [i0] {s} p mem)) y) s1:(SHLQconst [j1] x1:(MOVBload [i1] {s} p mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWload [i0] {s} p mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -36367,10 +36358,10 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36387,8 +36378,8 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { return true } // match: (ORQ or:(ORQ y s0:(SHLQconst [j0] x0:(MOVBload [i0] {s} p mem))) s1:(SHLQconst [j1] x1:(MOVBload [i1] {s} p mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWload [i0] {s} p mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -36430,10 +36421,10 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36450,8 +36441,8 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVWload [i1] {s} p mem)) or:(ORQ s0:(SHLQconst [j0] x0:(MOVWload [i0] {s} p mem)) y)) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLload [i0] {s} p mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLload [i0] {s} p mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -36492,10 +36483,10 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36512,8 +36503,8 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVWload [i1] {s} p mem)) or:(ORQ y s0:(SHLQconst [j0] x0:(MOVWload [i0] {s} p mem)))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLload [i0] {s} p mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLload [i0] {s} p mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -36555,10 +36546,10 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36575,8 +36566,8 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { return true } // match: (ORQ or:(ORQ s0:(SHLQconst [j0] x0:(MOVWload [i0] {s} p mem)) y) s1:(SHLQconst [j1] x1:(MOVWload [i1] {s} p mem))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLload [i0] {s} p mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLload [i0] {s} p mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -36617,10 +36608,10 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36637,8 +36628,8 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { return true } // match: (ORQ or:(ORQ y s0:(SHLQconst [j0] x0:(MOVWload [i0] {s} p mem))) s1:(SHLQconst [j1] x1:(MOVWload [i1] {s} p mem))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLload [i0] {s} p mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLload [i0] {s} p mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -36680,10 +36671,10 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -37987,8 +37978,8 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) or:(ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) y)) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -38033,10 +38024,10 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -38054,8 +38045,8 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) or:(ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) y)) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -38100,10 +38091,10 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -38121,8 +38112,8 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) or:(ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) y)) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -38167,10 +38158,10 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -38188,8 +38179,8 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) or:(ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) y)) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -38234,10 +38225,10 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -38255,8 +38246,8 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) or:(ORQ y s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -38302,10 +38293,10 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -38323,8 +38314,8 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) or:(ORQ y s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -38370,10 +38361,10 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -38391,8 +38382,8 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) or:(ORQ y s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -38438,10 +38429,10 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -38464,8 +38455,8 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) or:(ORQ y s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -38511,10 +38502,10 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -38532,8 +38523,8 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { return true } // match: (ORQ or:(ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) y) s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -38578,10 +38569,10 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -38599,8 +38590,8 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { return true } // match: (ORQ or:(ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) y) s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -38645,10 +38636,10 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -38666,8 +38657,8 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { return true } // match: (ORQ or:(ORQ y s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem))) s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -38713,10 +38704,10 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -38734,8 +38725,8 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { return true } // match: (ORQ or:(ORQ y s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem))) s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -38781,10 +38772,10 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -38802,8 +38793,8 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { return true } // match: (ORQ or:(ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) y) s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -38848,10 +38839,10 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -38869,8 +38860,8 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { return true } // match: (ORQ or:(ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) y) s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -38915,10 +38906,10 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -38936,8 +38927,8 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { return true } // match: (ORQ or:(ORQ y s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem))) s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -38983,10 +38974,10 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -39004,8 +38995,8 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { return true } // match: (ORQ or:(ORQ y s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem))) s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVWloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -39051,10 +39042,10 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -39072,8 +39063,8 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} p idx mem)) or:(ORQ s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} p idx mem)) y)) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -39118,10 +39109,10 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -39144,8 +39135,8 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORQ s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} idx p mem)) or:(ORQ s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} p idx mem)) y)) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -39190,10 +39181,10 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -39211,8 +39202,8 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} p idx mem)) or:(ORQ s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} idx p mem)) y)) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -39257,10 +39248,10 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -39278,8 +39269,8 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} idx p mem)) or:(ORQ s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} idx p mem)) y)) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -39324,10 +39315,10 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -39345,8 +39336,8 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} p idx mem)) or:(ORQ y s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} p idx mem)))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -39392,10 +39383,10 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -39413,8 +39404,8 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} idx p mem)) or:(ORQ y s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} p idx mem)))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -39460,10 +39451,10 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -39481,8 +39472,8 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} p idx mem)) or:(ORQ y s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} idx p mem)))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -39528,10 +39519,10 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -39549,8 +39540,8 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { return true } // match: (ORQ s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} idx p mem)) or:(ORQ y s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} idx p mem)))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -39596,10 +39587,10 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -39617,8 +39608,8 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { return true } // match: (ORQ or:(ORQ s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} p idx mem)) y) s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} p idx mem))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -39663,10 +39654,10 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -39684,8 +39675,8 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { return true } // match: (ORQ or:(ORQ s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} idx p mem)) y) s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} p idx mem))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -39730,10 +39721,10 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -39751,8 +39742,8 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { return true } // match: (ORQ or:(ORQ y s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} p idx mem))) s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} p idx mem))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -39798,10 +39789,10 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -39824,8 +39815,8 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORQ or:(ORQ y s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} idx p mem))) s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} p idx mem))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -39871,10 +39862,10 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -39892,8 +39883,8 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool { return true } // match: (ORQ or:(ORQ s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} p idx mem)) y) s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} idx p mem))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -39938,10 +39929,10 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -39959,8 +39950,8 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool { return true } // match: (ORQ or:(ORQ s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} idx p mem)) y) s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} idx p mem))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -40005,10 +39996,10 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -40026,8 +40017,8 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool { return true } // match: (ORQ or:(ORQ y s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} p idx mem))) s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} idx p mem))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -40073,10 +40064,10 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -40094,8 +40085,8 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool { return true } // match: (ORQ or:(ORQ y s0:(SHLQconst [j0] x0:(MOVWloadidx1 [i0] {s} idx p mem))) s1:(SHLQconst [j1] x1:(MOVWloadidx1 [i1] {s} idx p mem))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j0] (MOVLloadidx1 [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -40141,10 +40132,10 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -40513,8 +40504,8 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] x0:(MOVBload [i0] {s} p mem)) or:(ORQ s1:(SHLQconst [j1] x1:(MOVBload [i1] {s} p mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -40555,10 +40546,10 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -40578,8 +40569,8 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] x0:(MOVBload [i0] {s} p mem)) or:(ORQ y s1:(SHLQconst [j1] x1:(MOVBload [i1] {s} p mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -40621,10 +40612,10 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -40644,8 +40635,8 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { return true } // match: (ORQ or:(ORQ s1:(SHLQconst [j1] x1:(MOVBload [i1] {s} p mem)) y) s0:(SHLQconst [j0] x0:(MOVBload [i0] {s} p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -40686,10 +40677,10 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -40709,8 +40700,8 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { return true } // match: (ORQ or:(ORQ y s1:(SHLQconst [j1] x1:(MOVBload [i1] {s} p mem))) s0:(SHLQconst [j0] x0:(MOVBload [i0] {s} p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWload [i0] {s} p mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -40752,10 +40743,10 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -40775,8 +40766,8 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWload [i0] {s} p mem))) or:(ORQ s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWload [i1] {s} p mem))) y)) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLload [i0] {s} p mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLload [i0] {s} p mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -40831,10 +40822,10 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -40853,8 +40844,8 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWload [i0] {s} p mem))) or:(ORQ y s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWload [i1] {s} p mem))))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLload [i0] {s} p mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLload [i0] {s} p mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -40910,10 +40901,10 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -40932,8 +40923,8 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { return true } // match: (ORQ or:(ORQ s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWload [i1] {s} p mem))) y) s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWload [i0] {s} p mem)))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLload [i0] {s} p mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLload [i0] {s} p mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -40988,10 +40979,10 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -41010,8 +41001,8 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { return true } // match: (ORQ or:(ORQ y s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWload [i1] {s} p mem)))) s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWload [i0] {s} p mem)))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLload [i0] {s} p mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLload [i0] {s} p mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -41067,10 +41058,10 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -42608,8 +42599,8 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) or:(ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -42654,10 +42645,10 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -42678,8 +42669,8 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) or:(ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -42724,10 +42715,10 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -42748,8 +42739,8 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) or:(ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -42794,10 +42785,10 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -42818,8 +42809,8 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) or:(ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -42864,10 +42855,10 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -42888,8 +42879,8 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) or:(ORQ y s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -42935,10 +42926,10 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -42959,8 +42950,8 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) or:(ORQ y s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -43006,10 +42997,10 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -43030,8 +43021,8 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem)) or:(ORQ y s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -43077,10 +43068,10 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -43106,8 +43097,8 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORQ s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem)) or:(ORQ y s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -43153,10 +43144,10 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -43177,8 +43168,8 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { return true } // match: (ORQ or:(ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) y) s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -43223,10 +43214,10 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -43247,8 +43238,8 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { return true } // match: (ORQ or:(ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) y) s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -43293,10 +43284,10 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -43317,8 +43308,8 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { return true } // match: (ORQ or:(ORQ y s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem))) s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -43364,10 +43355,10 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -43388,8 +43379,8 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { return true } // match: (ORQ or:(ORQ y s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem))) s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -43435,10 +43426,10 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -43459,8 +43450,8 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { return true } // match: (ORQ or:(ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem)) y) s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -43505,10 +43496,10 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -43529,8 +43520,8 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { return true } // match: (ORQ or:(ORQ s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem)) y) s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -43575,10 +43566,10 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -43599,8 +43590,8 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { return true } // match: (ORQ or:(ORQ y s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} p idx mem))) s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -43646,10 +43637,10 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -43670,8 +43661,8 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { return true } // match: (ORQ or:(ORQ y s1:(SHLQconst [j1] x1:(MOVBloadidx1 [i1] {s} idx p mem))) s0:(SHLQconst [j0] x0:(MOVBloadidx1 [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (ROLWconst [8] (MOVWloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -43717,10 +43708,10 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -43741,8 +43732,8 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} p idx mem))) or:(ORQ s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} p idx mem))) y)) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -43801,10 +43792,10 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -43829,8 +43820,8 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORQ s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} idx p mem))) or:(ORQ s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} p idx mem))) y)) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -43889,10 +43880,10 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -43912,8 +43903,8 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} p idx mem))) or:(ORQ s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} idx p mem))) y)) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -43972,10 +43963,10 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -43995,8 +43986,8 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} idx p mem))) or:(ORQ s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} idx p mem))) y)) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -44055,10 +44046,10 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -44078,8 +44069,8 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} p idx mem))) or:(ORQ y s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} p idx mem))))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -44139,10 +44130,10 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -44162,8 +44153,8 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} idx p mem))) or:(ORQ y s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} p idx mem))))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -44223,10 +44214,10 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -44246,8 +44237,8 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} p idx mem))) or:(ORQ y s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} idx p mem))))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -44307,10 +44298,10 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -44330,8 +44321,8 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { return true } // match: (ORQ s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} idx p mem))) or:(ORQ y s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} idx p mem))))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -44391,10 +44382,10 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -44414,8 +44405,8 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { return true } // match: (ORQ or:(ORQ s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} p idx mem))) y) s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} p idx mem)))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -44474,10 +44465,10 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -44497,8 +44488,8 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { return true } // match: (ORQ or:(ORQ s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} idx p mem))) y) s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} p idx mem)))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -44557,10 +44548,10 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -44580,8 +44571,8 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { return true } // match: (ORQ or:(ORQ y s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} p idx mem)))) s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} p idx mem)))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -44641,10 +44632,10 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -44669,8 +44660,8 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORQ or:(ORQ y s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} idx p mem)))) s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} p idx mem)))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -44730,10 +44721,10 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -44753,8 +44744,8 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool { return true } // match: (ORQ or:(ORQ s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} p idx mem))) y) s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} idx p mem)))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -44813,10 +44804,10 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -44836,8 +44827,8 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool { return true } // match: (ORQ or:(ORQ s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} idx p mem))) y) s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} idx p mem)))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -44896,10 +44887,10 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -44919,8 +44910,8 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool { return true } // match: (ORQ or:(ORQ y s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} p idx mem)))) s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} idx p mem)))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -44980,10 +44971,10 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -45003,8 +44994,8 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool { return true } // match: (ORQ or:(ORQ y s1:(SHLQconst [j1] r1:(ROLWconst [8] x1:(MOVWloadidx1 [i1] {s} idx p mem)))) s0:(SHLQconst [j0] r0:(ROLWconst [8] x0:(MOVWloadidx1 [i0] {s} idx p mem)))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORQ (SHLQconst [j1] (BSWAPL (MOVLloadidx1 [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -45064,10 +45055,10 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -64753,10 +64744,7 @@ func rewriteValueAMD64_OpZeroExt8to64_0(v *Value) bool { } func rewriteBlockAMD64(b *Block) bool { config := b.Func.Config - typ := &config.Types - _ = typ v := b.Control - _ = v switch b.Kind { case BlockAMD64EQ: // match: (EQ (TESTL (SHLL (MOVLconst [1]) x) y)) diff --git a/src/cmd/compile/internal/ssa/rewriteAMD64splitload.go b/src/cmd/compile/internal/ssa/rewriteAMD64splitload.go index 0a0ff2dfbf..2cccc8d4a1 100644 --- a/src/cmd/compile/internal/ssa/rewriteAMD64splitload.go +++ b/src/cmd/compile/internal/ssa/rewriteAMD64splitload.go @@ -3,18 +3,6 @@ package ssa -import "fmt" -import "math" -import "cmd/internal/obj" -import "cmd/internal/objabi" -import "cmd/compile/internal/types" - -var _ = fmt.Println // in case not otherwise used -var _ = math.MinInt8 // in case not otherwise used -var _ = obj.ANOP // in case not otherwise used -var _ = objabi.GOROOT // in case not otherwise used -var _ = types.TypeMem // in case not otherwise used - func rewriteValueAMD64splitload(v *Value) bool { switch v.Op { case OpAMD64CMPBconstload: @@ -217,11 +205,6 @@ func rewriteValueAMD64splitload_OpAMD64CMPWload_0(v *Value) bool { } } func rewriteBlockAMD64splitload(b *Block) bool { - config := b.Func.Config - typ := &config.Types - _ = typ - v := b.Control - _ = v switch b.Kind { } return false diff --git a/src/cmd/compile/internal/ssa/rewriteARM.go b/src/cmd/compile/internal/ssa/rewriteARM.go index 72c07c94c8..6a3237497c 100644 --- a/src/cmd/compile/internal/ssa/rewriteARM.go +++ b/src/cmd/compile/internal/ssa/rewriteARM.go @@ -3,18 +3,9 @@ package ssa -import "fmt" -import "math" -import "cmd/internal/obj" import "cmd/internal/objabi" import "cmd/compile/internal/types" -var _ = fmt.Println // in case not otherwise used -var _ = math.MinInt8 // in case not otherwise used -var _ = obj.ANOP // in case not otherwise used -var _ = objabi.GOROOT // in case not otherwise used -var _ = types.TypeMem // in case not otherwise used - func rewriteValueARM(v *Value) bool { switch v.Op { case OpARMADC: @@ -21785,11 +21776,7 @@ func rewriteValueARM_OpZeromask_0(v *Value) bool { } } func rewriteBlockARM(b *Block) bool { - config := b.Func.Config - typ := &config.Types - _ = typ v := b.Control - _ = v switch b.Kind { case BlockARMEQ: // match: (EQ (FlagEQ) yes no) diff --git a/src/cmd/compile/internal/ssa/rewriteARM64.go b/src/cmd/compile/internal/ssa/rewriteARM64.go index 9dfd848bc4..fc677726dc 100644 --- a/src/cmd/compile/internal/ssa/rewriteARM64.go +++ b/src/cmd/compile/internal/ssa/rewriteARM64.go @@ -3,18 +3,8 @@ package ssa -import "fmt" -import "math" -import "cmd/internal/obj" -import "cmd/internal/objabi" import "cmd/compile/internal/types" -var _ = fmt.Println // in case not otherwise used -var _ = math.MinInt8 // in case not otherwise used -var _ = obj.ANOP // in case not otherwise used -var _ = objabi.GOROOT // in case not otherwise used -var _ = types.TypeMem // in case not otherwise used - func rewriteValueARM64(v *Value) bool { switch v.Op { case OpARM64ADCSflags: @@ -38293,11 +38283,7 @@ func rewriteValueARM64_OpZeroExt8to64_0(v *Value) bool { } } func rewriteBlockARM64(b *Block) bool { - config := b.Func.Config - typ := &config.Types - _ = typ v := b.Control - _ = v switch b.Kind { case BlockARM64EQ: // match: (EQ (CMPWconst [0] x:(ANDconst [c] y)) yes no) diff --git a/src/cmd/compile/internal/ssa/rewriteMIPS.go b/src/cmd/compile/internal/ssa/rewriteMIPS.go index 6e0fa2b891..5ce0ec36f7 100644 --- a/src/cmd/compile/internal/ssa/rewriteMIPS.go +++ b/src/cmd/compile/internal/ssa/rewriteMIPS.go @@ -3,18 +3,8 @@ package ssa -import "fmt" -import "math" -import "cmd/internal/obj" -import "cmd/internal/objabi" import "cmd/compile/internal/types" -var _ = fmt.Println // in case not otherwise used -var _ = math.MinInt8 // in case not otherwise used -var _ = obj.ANOP // in case not otherwise used -var _ = objabi.GOROOT // in case not otherwise used -var _ = types.TypeMem // in case not otherwise used - func rewriteValueMIPS(v *Value) bool { switch v.Op { case OpAdd16: @@ -9452,11 +9442,7 @@ func rewriteValueMIPS_OpZeromask_0(v *Value) bool { } } func rewriteBlockMIPS(b *Block) bool { - config := b.Func.Config - typ := &config.Types - _ = typ v := b.Control - _ = v switch b.Kind { case BlockMIPSEQ: // match: (EQ (FPFlagTrue cmp) yes no) diff --git a/src/cmd/compile/internal/ssa/rewriteMIPS64.go b/src/cmd/compile/internal/ssa/rewriteMIPS64.go index db104504e9..8b75c032cc 100644 --- a/src/cmd/compile/internal/ssa/rewriteMIPS64.go +++ b/src/cmd/compile/internal/ssa/rewriteMIPS64.go @@ -3,18 +3,8 @@ package ssa -import "fmt" -import "math" -import "cmd/internal/obj" -import "cmd/internal/objabi" import "cmd/compile/internal/types" -var _ = fmt.Println // in case not otherwise used -var _ = math.MinInt8 // in case not otherwise used -var _ = obj.ANOP // in case not otherwise used -var _ = objabi.GOROOT // in case not otherwise used -var _ = types.TypeMem // in case not otherwise used - func rewriteValueMIPS64(v *Value) bool { switch v.Op { case OpAdd16: @@ -10186,11 +10176,7 @@ func rewriteValueMIPS64_OpZeroExt8to64_0(v *Value) bool { } } func rewriteBlockMIPS64(b *Block) bool { - config := b.Func.Config - typ := &config.Types - _ = typ v := b.Control - _ = v switch b.Kind { case BlockMIPS64EQ: // match: (EQ (FPFlagTrue cmp) yes no) diff --git a/src/cmd/compile/internal/ssa/rewritePPC64.go b/src/cmd/compile/internal/ssa/rewritePPC64.go index d35cf6eeac..1bc16515d4 100644 --- a/src/cmd/compile/internal/ssa/rewritePPC64.go +++ b/src/cmd/compile/internal/ssa/rewritePPC64.go @@ -3,18 +3,10 @@ package ssa -import "fmt" import "math" -import "cmd/internal/obj" import "cmd/internal/objabi" import "cmd/compile/internal/types" -var _ = fmt.Println // in case not otherwise used -var _ = math.MinInt8 // in case not otherwise used -var _ = obj.ANOP // in case not otherwise used -var _ = objabi.GOROOT // in case not otherwise used -var _ = types.TypeMem // in case not otherwise used - func rewriteValuePPC64(v *Value) bool { switch v.Op { case OpAbs: @@ -30305,11 +30297,7 @@ func rewriteValuePPC64_OpZeroExt8to64_0(v *Value) bool { } } func rewriteBlockPPC64(b *Block) bool { - config := b.Func.Config - typ := &config.Types - _ = typ v := b.Control - _ = v switch b.Kind { case BlockPPC64EQ: // match: (EQ (CMPconst [0] (ANDconst [c] x)) yes no) diff --git a/src/cmd/compile/internal/ssa/rewriteS390X.go b/src/cmd/compile/internal/ssa/rewriteS390X.go index 7781590f2a..2de5e1b83f 100644 --- a/src/cmd/compile/internal/ssa/rewriteS390X.go +++ b/src/cmd/compile/internal/ssa/rewriteS390X.go @@ -3,18 +3,8 @@ package ssa -import "fmt" -import "math" -import "cmd/internal/obj" -import "cmd/internal/objabi" import "cmd/compile/internal/types" -var _ = fmt.Println // in case not otherwise used -var _ = math.MinInt8 // in case not otherwise used -var _ = obj.ANOP // in case not otherwise used -var _ = objabi.GOROOT // in case not otherwise used -var _ = types.TypeMem // in case not otherwise used - func rewriteValueS390X(v *Value) bool { switch v.Op { case OpAdd16: @@ -23598,8 +23588,8 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVBZload [i0] {s} p mem)) or:(OR s1:(SLDconst [j1] x1:(MOVBZload [i1] {s} p mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZload [i0] {s} p mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -23640,10 +23630,10 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -23660,8 +23650,8 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVBZload [i0] {s} p mem)) or:(OR y s1:(SLDconst [j1] x1:(MOVBZload [i1] {s} p mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZload [i0] {s} p mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -23703,10 +23693,10 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -23723,8 +23713,8 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool { return true } // match: (OR or:(OR s1:(SLDconst [j1] x1:(MOVBZload [i1] {s} p mem)) y) s0:(SLDconst [j0] x0:(MOVBZload [i0] {s} p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZload [i0] {s} p mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -23765,10 +23755,10 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -23785,8 +23775,8 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool { return true } // match: (OR or:(OR y s1:(SLDconst [j1] x1:(MOVBZload [i1] {s} p mem))) s0:(SLDconst [j0] x0:(MOVBZload [i0] {s} p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZload [i0] {s} p mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -23828,10 +23818,10 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -23848,8 +23838,8 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVHZload [i0] {s} p mem)) or:(OR s1:(SLDconst [j1] x1:(MOVHZload [i1] {s} p mem)) y)) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZload [i0] {s} p mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZload [i0] {s} p mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -23890,10 +23880,10 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -23910,8 +23900,8 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVHZload [i0] {s} p mem)) or:(OR y s1:(SLDconst [j1] x1:(MOVHZload [i1] {s} p mem)))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZload [i0] {s} p mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZload [i0] {s} p mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -23953,10 +23943,10 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -23973,8 +23963,8 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool { return true } // match: (OR or:(OR s1:(SLDconst [j1] x1:(MOVHZload [i1] {s} p mem)) y) s0:(SLDconst [j0] x0:(MOVHZload [i0] {s} p mem))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZload [i0] {s} p mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZload [i0] {s} p mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -24015,10 +24005,10 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -24040,8 +24030,8 @@ func rewriteValueS390X_OpS390XOR_30(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (OR or:(OR y s1:(SLDconst [j1] x1:(MOVHZload [i1] {s} p mem))) s0:(SLDconst [j0] x0:(MOVHZload [i0] {s} p mem))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZload [i0] {s} p mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZload [i0] {s} p mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -24083,10 +24073,10 @@ func rewriteValueS390X_OpS390XOR_30(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -25385,8 +25375,8 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) or:(OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -25431,10 +25421,10 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -25452,8 +25442,8 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) or:(OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -25498,10 +25488,10 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -25519,8 +25509,8 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) or:(OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -25565,10 +25555,10 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -25586,8 +25576,8 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) or:(OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -25632,10 +25622,10 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -25653,8 +25643,8 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) or:(OR y s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -25700,10 +25690,10 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -25726,8 +25716,8 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) or:(OR y s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -25773,10 +25763,10 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -25794,8 +25784,8 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) or:(OR y s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -25841,10 +25831,10 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -25862,8 +25852,8 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) or:(OR y s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -25909,10 +25899,10 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -25930,8 +25920,8 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { return true } // match: (OR or:(OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) y) s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -25976,10 +25966,10 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -25997,8 +25987,8 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { return true } // match: (OR or:(OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) y) s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -26043,10 +26033,10 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -26064,8 +26054,8 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { return true } // match: (OR or:(OR y s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem))) s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -26111,10 +26101,10 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -26132,8 +26122,8 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { return true } // match: (OR or:(OR y s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem))) s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -26179,10 +26169,10 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -26200,8 +26190,8 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { return true } // match: (OR or:(OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) y) s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -26246,10 +26236,10 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -26267,8 +26257,8 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { return true } // match: (OR or:(OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) y) s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -26313,10 +26303,10 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -26334,8 +26324,8 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { return true } // match: (OR or:(OR y s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem))) s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -26381,10 +26371,10 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -26407,8 +26397,8 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (OR or:(OR y s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem))) s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -26454,10 +26444,10 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -26475,8 +26465,8 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} p idx mem)) or:(OR s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} p idx mem)) y)) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -26521,10 +26511,10 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -26542,8 +26532,8 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} idx p mem)) or:(OR s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} p idx mem)) y)) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -26588,10 +26578,10 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -26609,8 +26599,8 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} p idx mem)) or:(OR s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} idx p mem)) y)) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -26655,10 +26645,10 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -26676,8 +26666,8 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} idx p mem)) or:(OR s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} idx p mem)) y)) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -26722,10 +26712,10 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -26743,8 +26733,8 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} p idx mem)) or:(OR y s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} p idx mem)))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -26790,10 +26780,10 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -26811,8 +26801,8 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} idx p mem)) or:(OR y s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} p idx mem)))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -26858,10 +26848,10 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -26879,8 +26869,8 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} p idx mem)) or:(OR y s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} idx p mem)))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -26926,10 +26916,10 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -26947,8 +26937,8 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { return true } // match: (OR s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} idx p mem)) or:(OR y s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} idx p mem)))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -26994,10 +26984,10 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -27015,8 +27005,8 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { return true } // match: (OR or:(OR s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} p idx mem)) y) s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} p idx mem))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -27061,10 +27051,10 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -27087,8 +27077,8 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (OR or:(OR s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} idx p mem)) y) s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} p idx mem))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -27133,10 +27123,10 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -27154,8 +27144,8 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool { return true } // match: (OR or:(OR y s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} p idx mem))) s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} p idx mem))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -27201,10 +27191,10 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -27222,8 +27212,8 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool { return true } // match: (OR or:(OR y s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} idx p mem))) s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} p idx mem))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -27269,10 +27259,10 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -27290,8 +27280,8 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool { return true } // match: (OR or:(OR s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} p idx mem)) y) s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} idx p mem))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -27336,10 +27326,10 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -27357,8 +27347,8 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool { return true } // match: (OR or:(OR s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} idx p mem)) y) s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} idx p mem))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -27403,10 +27393,10 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -27424,8 +27414,8 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool { return true } // match: (OR or:(OR y s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} p idx mem))) s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} idx p mem))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -27471,10 +27461,10 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -27492,8 +27482,8 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool { return true } // match: (OR or:(OR y s1:(SLDconst [j1] x1:(MOVHZloadidx [i1] {s} idx p mem))) s0:(SLDconst [j0] x0:(MOVHZloadidx [i0] {s} idx p mem))) - // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+2 && j1 == j0-16 && j1 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j1] (MOVWZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -27539,10 +27529,10 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -27893,8 +27883,8 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] x1:(MOVBZload [i1] {s} p mem)) or:(OR s0:(SLDconst [j0] x0:(MOVBZload [i0] {s} p mem)) y)) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -27935,10 +27925,10 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool { if mem != x0.Args[1] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -27957,8 +27947,8 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] x1:(MOVBZload [i1] {s} p mem)) or:(OR y s0:(SLDconst [j0] x0:(MOVBZload [i0] {s} p mem)))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -28000,10 +27990,10 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool { if mem != x0.Args[1] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -28022,8 +28012,8 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool { return true } // match: (OR or:(OR s0:(SLDconst [j0] x0:(MOVBZload [i0] {s} p mem)) y) s1:(SLDconst [j1] x1:(MOVBZload [i1] {s} p mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -28064,10 +28054,10 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool { if mem != x1.Args[1] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -28086,8 +28076,8 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool { return true } // match: (OR or:(OR y s0:(SLDconst [j0] x0:(MOVBZload [i0] {s} p mem))) s1:(SLDconst [j1] x1:(MOVBZload [i1] {s} p mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -28129,10 +28119,10 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool { if mem != x1.Args[1] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -28151,8 +28141,8 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRload [i1] {s} p mem))) or:(OR s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRload [i0] {s} p mem))) y)) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRload [i0] {s} p mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRload [i0] {s} p mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -28201,10 +28191,10 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -28223,8 +28213,8 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRload [i1] {s} p mem))) or:(OR y s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRload [i0] {s} p mem))))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRload [i0] {s} p mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRload [i0] {s} p mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -28274,10 +28264,10 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -28296,8 +28286,8 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool { return true } // match: (OR or:(OR s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRload [i0] {s} p mem))) y) s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRload [i1] {s} p mem)))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRload [i0] {s} p mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRload [i0] {s} p mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -28346,10 +28336,10 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -28373,8 +28363,8 @@ func rewriteValueS390X_OpS390XOR_100(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (OR or:(OR y s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRload [i0] {s} p mem)))) s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRload [i1] {s} p mem)))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRload [i0] {s} p mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRload [i0] {s} p mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -28424,10 +28414,10 @@ func rewriteValueS390X_OpS390XOR_100(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -29888,8 +29878,8 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) or:(OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) y)) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -29934,10 +29924,10 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -29957,8 +29947,8 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) or:(OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) y)) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -30003,10 +29993,10 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30026,8 +30016,8 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) or:(OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) y)) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -30072,10 +30062,10 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30095,8 +30085,8 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) or:(OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) y)) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -30141,10 +30131,10 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30164,8 +30154,8 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) or:(OR y s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -30211,10 +30201,10 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30239,8 +30229,8 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) or:(OR y s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -30286,10 +30276,10 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30309,8 +30299,8 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) or:(OR y s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -30356,10 +30346,10 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30379,8 +30369,8 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) or:(OR y s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -30426,10 +30416,10 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30449,8 +30439,8 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { return true } // match: (OR or:(OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) y) s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -30495,10 +30485,10 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30518,8 +30508,8 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { return true } // match: (OR or:(OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) y) s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -30564,10 +30554,10 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30587,8 +30577,8 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { return true } // match: (OR or:(OR y s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem))) s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -30634,10 +30624,10 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30657,8 +30647,8 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { return true } // match: (OR or:(OR y s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem))) s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -30704,10 +30694,10 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30727,8 +30717,8 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { return true } // match: (OR or:(OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) y) s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -30773,10 +30763,10 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30796,8 +30786,8 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { return true } // match: (OR or:(OR s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) y) s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -30842,10 +30832,10 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30865,8 +30855,8 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { return true } // match: (OR or:(OR y s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem))) s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -30912,10 +30902,10 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -30940,8 +30930,8 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (OR or:(OR y s0:(SLDconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem))) s1:(SLDconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -30987,10 +30977,10 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31010,8 +31000,8 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} p idx mem))) or:(OR s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} p idx mem))) y)) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -31064,10 +31054,10 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31087,8 +31077,8 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} idx p mem))) or:(OR s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} p idx mem))) y)) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -31141,10 +31131,10 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31164,8 +31154,8 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} p idx mem))) or:(OR s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} idx p mem))) y)) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -31218,10 +31208,10 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31241,8 +31231,8 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} idx p mem))) or:(OR s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} idx p mem))) y)) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -31295,10 +31285,10 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31318,8 +31308,8 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} p idx mem))) or:(OR y s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} p idx mem))))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -31373,10 +31363,10 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31396,8 +31386,8 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} idx p mem))) or:(OR y s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} p idx mem))))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -31451,10 +31441,10 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31474,8 +31464,8 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} p idx mem))) or:(OR y s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} idx p mem))))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -31529,10 +31519,10 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31552,8 +31542,8 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { return true } // match: (OR s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} idx p mem))) or:(OR y s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} idx p mem))))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -31607,10 +31597,10 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31630,8 +31620,8 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { return true } // match: (OR or:(OR s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} p idx mem))) y) s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} p idx mem)))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -31684,10 +31674,10 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31712,8 +31702,8 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (OR or:(OR s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} idx p mem))) y) s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} p idx mem)))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -31766,10 +31756,10 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31789,8 +31779,8 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool { return true } // match: (OR or:(OR y s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} p idx mem)))) s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} p idx mem)))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -31844,10 +31834,10 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31867,8 +31857,8 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool { return true } // match: (OR or:(OR y s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} idx p mem)))) s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} p idx mem)))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -31922,10 +31912,10 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -31945,8 +31935,8 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool { return true } // match: (OR or:(OR s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} p idx mem))) y) s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} idx p mem)))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -31999,10 +31989,10 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -32022,8 +32012,8 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool { return true } // match: (OR or:(OR s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} idx p mem))) y) s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} idx p mem)))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -32076,10 +32066,10 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -32099,8 +32089,8 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool { return true } // match: (OR or:(OR y s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} p idx mem)))) s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} idx p mem)))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -32154,10 +32144,10 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -32177,8 +32167,8 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool { return true } // match: (OR or:(OR y s0:(SLDconst [j0] r0:(MOVHZreg x0:(MOVHBRloadidx [i0] {s} idx p mem)))) s1:(SLDconst [j1] r1:(MOVHZreg x1:(MOVHBRloadidx [i1] {s} idx p mem)))) - // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) + // cond: i1 == i0+2 && j1 == j0+16 && j0 % 32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (OR (SLDconst [j0] (MOVWZreg (MOVWBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -32232,10 +32222,10 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XOR, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -32765,8 +32755,8 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool { return true } // match: (ORW s0:(SLWconst [j0] x0:(MOVBZload [i0] {s} p mem)) or:(ORW s1:(SLWconst [j1] x1:(MOVBZload [i1] {s} p mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZload [i0] {s} p mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -32807,10 +32797,10 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -32827,8 +32817,8 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool { return true } // match: (ORW s0:(SLWconst [j0] x0:(MOVBZload [i0] {s} p mem)) or:(ORW y s1:(SLWconst [j1] x1:(MOVBZload [i1] {s} p mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZload [i0] {s} p mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -32870,10 +32860,10 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool { if mem != x1.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -32890,8 +32880,8 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool { return true } // match: (ORW or:(ORW s1:(SLWconst [j1] x1:(MOVBZload [i1] {s} p mem)) y) s0:(SLWconst [j0] x0:(MOVBZload [i0] {s} p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZload [i0] {s} p mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -32932,10 +32922,10 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -32957,8 +32947,8 @@ func rewriteValueS390X_OpS390XORW_20(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORW or:(ORW y s1:(SLWconst [j1] x1:(MOVBZload [i1] {s} p mem))) s0:(SLWconst [j0] x0:(MOVBZload [i0] {s} p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZload [i0] {s} p mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZload [i0] {s} p mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -33000,10 +32990,10 @@ func rewriteValueS390X_OpS390XORW_20(v *Value) bool { if mem != x0.Args[1] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -33873,8 +33863,8 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool { return true } // match: (ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) or:(ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -33919,10 +33909,10 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -33940,8 +33930,8 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool { return true } // match: (ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) or:(ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -33986,10 +33976,10 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34007,8 +33997,8 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool { return true } // match: (ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) or:(ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -34053,10 +34043,10 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34079,8 +34069,8 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) or:(ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) y)) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -34125,10 +34115,10 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34146,8 +34136,8 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { return true } // match: (ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) or:(ORW y s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -34193,10 +34183,10 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34214,8 +34204,8 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { return true } // match: (ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) or:(ORW y s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -34261,10 +34251,10 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34282,8 +34272,8 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { return true } // match: (ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) or:(ORW y s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -34329,10 +34319,10 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34350,8 +34340,8 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { return true } // match: (ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) or:(ORW y s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] s0 := v.Args[0] @@ -34397,10 +34387,10 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { if mem != x1.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34418,8 +34408,8 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { return true } // match: (ORW or:(ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) y) s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -34464,10 +34454,10 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34485,8 +34475,8 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { return true } // match: (ORW or:(ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) y) s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -34531,10 +34521,10 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34552,8 +34542,8 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { return true } // match: (ORW or:(ORW y s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem))) s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -34599,10 +34589,10 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34620,8 +34610,8 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { return true } // match: (ORW or:(ORW y s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem))) s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -34667,10 +34657,10 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34688,8 +34678,8 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { return true } // match: (ORW or:(ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) y) s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -34734,10 +34724,10 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34760,8 +34750,8 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORW or:(ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) y) s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -34806,10 +34796,10 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34827,8 +34817,8 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool { return true } // match: (ORW or:(ORW y s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem))) s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -34874,10 +34864,10 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -34895,8 +34885,8 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool { return true } // match: (ORW or:(ORW y s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem))) s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem))) - // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) + // cond: i1 == i0+1 && j1 == j0-8 && j1 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j1] (MOVHZloadidx [i0] {s} p idx mem)) y) for { _ = v.Args[1] or := v.Args[0] @@ -34942,10 +34932,10 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool { if mem != x0.Args[2] { break } - if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -35175,8 +35165,8 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool { return true } // match: (ORW s1:(SLWconst [j1] x1:(MOVBZload [i1] {s} p mem)) or:(ORW s0:(SLWconst [j0] x0:(MOVBZload [i0] {s} p mem)) y)) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -35217,10 +35207,10 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool { if mem != x0.Args[1] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -35239,8 +35229,8 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool { return true } // match: (ORW s1:(SLWconst [j1] x1:(MOVBZload [i1] {s} p mem)) or:(ORW y s0:(SLWconst [j0] x0:(MOVBZload [i0] {s} p mem)))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -35282,10 +35272,10 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool { if mem != x0.Args[1] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x0.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -35304,8 +35294,8 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool { return true } // match: (ORW or:(ORW s0:(SLWconst [j0] x0:(MOVBZload [i0] {s} p mem)) y) s1:(SLWconst [j1] x1:(MOVBZload [i1] {s} p mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -35346,10 +35336,10 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool { if mem != x1.Args[1] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -35373,8 +35363,8 @@ func rewriteValueS390X_OpS390XORW_60(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORW or:(ORW y s0:(SLWconst [j0] x0:(MOVBZload [i0] {s} p mem))) s1:(SLWconst [j1] x1:(MOVBZload [i1] {s} p mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRload [i0] {s} p mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -35416,10 +35406,10 @@ func rewriteValueS390X_OpS390XORW_60(v *Value) bool { if mem != x1.Args[1] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(x1.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36371,8 +36361,8 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool { return true } // match: (ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) or:(ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) y)) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -36417,10 +36407,10 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36440,8 +36430,8 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool { return true } // match: (ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) or:(ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) y)) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -36486,10 +36476,10 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36509,8 +36499,8 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool { return true } // match: (ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) or:(ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) y)) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -36555,10 +36545,10 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36583,8 +36573,8 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) or:(ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) y)) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -36629,10 +36619,10 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36652,8 +36642,8 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { return true } // match: (ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) or:(ORW y s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -36699,10 +36689,10 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36722,8 +36712,8 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { return true } // match: (ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) or:(ORW y s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -36769,10 +36759,10 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36792,8 +36782,8 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { return true } // match: (ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem)) or:(ORW y s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -36839,10 +36829,10 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36862,8 +36852,8 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { return true } // match: (ORW s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem)) or:(ORW y s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] s1 := v.Args[0] @@ -36909,10 +36899,10 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { if mem != x0.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -36932,8 +36922,8 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { return true } // match: (ORW or:(ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) y) s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -36978,10 +36968,10 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -37001,8 +36991,8 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { return true } // match: (ORW or:(ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) y) s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -37047,10 +37037,10 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -37070,8 +37060,8 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { return true } // match: (ORW or:(ORW y s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem))) s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -37117,10 +37107,10 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -37140,8 +37130,8 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { return true } // match: (ORW or:(ORW y s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem))) s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} p idx mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -37187,10 +37177,10 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -37210,8 +37200,8 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { return true } // match: (ORW or:(ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem)) y) s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -37256,10 +37246,10 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -37284,8 +37274,8 @@ func rewriteValueS390X_OpS390XORW_90(v *Value) bool { b := v.Block typ := &b.Func.Config.Types // match: (ORW or:(ORW s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem)) y) s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -37330,10 +37320,10 @@ func rewriteValueS390X_OpS390XORW_90(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -37353,8 +37343,8 @@ func rewriteValueS390X_OpS390XORW_90(v *Value) bool { return true } // match: (ORW or:(ORW y s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} p idx mem))) s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -37400,10 +37390,10 @@ func rewriteValueS390X_OpS390XORW_90(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -37423,8 +37413,8 @@ func rewriteValueS390X_OpS390XORW_90(v *Value) bool { return true } // match: (ORW or:(ORW y s0:(SLWconst [j0] x0:(MOVBZloadidx [i0] {s} idx p mem))) s1:(SLWconst [j1] x1:(MOVBZloadidx [i1] {s} idx p mem))) - // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) - // result: @mergePoint(b,x0,x1) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) + // cond: p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0 % 16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b,x0,x1,y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or) + // result: @mergePoint(b,x0,x1,y) (ORW (SLWconst [j0] (MOVHZreg (MOVHBRloadidx [i0] {s} p idx mem))) y) for { _ = v.Args[1] or := v.Args[0] @@ -37470,10 +37460,10 @@ func rewriteValueS390X_OpS390XORW_90(v *Value) bool { if mem != x1.Args[2] { break } - if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { + if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1, y) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) { break } - b = mergePoint(b, x0, x1) + b = mergePoint(b, x0, x1, y) v0 := b.NewValue0(v.Pos, OpS390XORW, v.Type) v.reset(OpCopy) v.AddArg(v0) @@ -41547,9 +41537,7 @@ func rewriteValueS390X_OpZeroExt8to64_0(v *Value) bool { func rewriteBlockS390X(b *Block) bool { config := b.Func.Config typ := &config.Types - _ = typ v := b.Control - _ = v switch b.Kind { case BlockS390XEQ: // match: (EQ (InvertFlags cmp) yes no) diff --git a/src/cmd/compile/internal/ssa/rewriteWasm.go b/src/cmd/compile/internal/ssa/rewriteWasm.go index acfbb24f10..98ca6f69a3 100644 --- a/src/cmd/compile/internal/ssa/rewriteWasm.go +++ b/src/cmd/compile/internal/ssa/rewriteWasm.go @@ -3,18 +3,9 @@ package ssa -import "fmt" -import "math" -import "cmd/internal/obj" import "cmd/internal/objabi" import "cmd/compile/internal/types" -var _ = fmt.Println // in case not otherwise used -var _ = math.MinInt8 // in case not otherwise used -var _ = obj.ANOP // in case not otherwise used -var _ = objabi.GOROOT // in case not otherwise used -var _ = types.TypeMem // in case not otherwise used - func rewriteValueWasm(v *Value) bool { switch v.Op { case OpAbs: @@ -6555,11 +6546,6 @@ func rewriteValueWasm_OpZeroExt8to64_0(v *Value) bool { } } func rewriteBlockWasm(b *Block) bool { - config := b.Func.Config - typ := &config.Types - _ = typ - v := b.Control - _ = v switch b.Kind { } return false diff --git a/src/cmd/compile/internal/ssa/rewritedec.go b/src/cmd/compile/internal/ssa/rewritedec.go index fe135821eb..389e69213d 100644 --- a/src/cmd/compile/internal/ssa/rewritedec.go +++ b/src/cmd/compile/internal/ssa/rewritedec.go @@ -3,18 +3,8 @@ package ssa -import "fmt" -import "math" -import "cmd/internal/obj" -import "cmd/internal/objabi" import "cmd/compile/internal/types" -var _ = fmt.Println // in case not otherwise used -var _ = math.MinInt8 // in case not otherwise used -var _ = obj.ANOP // in case not otherwise used -var _ = objabi.GOROOT // in case not otherwise used -var _ = types.TypeMem // in case not otherwise used - func rewriteValuedec(v *Value) bool { switch v.Op { case OpComplexImag: @@ -492,11 +482,6 @@ func rewriteValuedec_OpStringPtr_0(v *Value) bool { return false } func rewriteBlockdec(b *Block) bool { - config := b.Func.Config - typ := &config.Types - _ = typ - v := b.Control - _ = v switch b.Kind { } return false diff --git a/src/cmd/compile/internal/ssa/rewritedec64.go b/src/cmd/compile/internal/ssa/rewritedec64.go index a67ae1ed52..3c15ddefdd 100644 --- a/src/cmd/compile/internal/ssa/rewritedec64.go +++ b/src/cmd/compile/internal/ssa/rewritedec64.go @@ -3,18 +3,8 @@ package ssa -import "fmt" -import "math" -import "cmd/internal/obj" -import "cmd/internal/objabi" import "cmd/compile/internal/types" -var _ = fmt.Println // in case not otherwise used -var _ = math.MinInt8 // in case not otherwise used -var _ = obj.ANOP // in case not otherwise used -var _ = objabi.GOROOT // in case not otherwise used -var _ = types.TypeMem // in case not otherwise used - func rewriteValuedec64(v *Value) bool { switch v.Op { case OpAdd64: @@ -2726,11 +2716,6 @@ func rewriteValuedec64_OpZeroExt8to64_0(v *Value) bool { } } func rewriteBlockdec64(b *Block) bool { - config := b.Func.Config - typ := &config.Types - _ = typ - v := b.Control - _ = v switch b.Kind { } return false diff --git a/src/cmd/compile/internal/ssa/rewritedecArgs.go b/src/cmd/compile/internal/ssa/rewritedecArgs.go index 6b811297b3..0f6d01f22b 100644 --- a/src/cmd/compile/internal/ssa/rewritedecArgs.go +++ b/src/cmd/compile/internal/ssa/rewritedecArgs.go @@ -3,18 +3,6 @@ package ssa -import "fmt" -import "math" -import "cmd/internal/obj" -import "cmd/internal/objabi" -import "cmd/compile/internal/types" - -var _ = fmt.Println // in case not otherwise used -var _ = math.MinInt8 // in case not otherwise used -var _ = obj.ANOP // in case not otherwise used -var _ = objabi.GOROOT // in case not otherwise used -var _ = types.TypeMem // in case not otherwise used - func rewriteValuedecArgs(v *Value) bool { switch v.Op { case OpArg: @@ -270,11 +258,6 @@ func rewriteValuedecArgs_OpArg_10(v *Value) bool { return false } func rewriteBlockdecArgs(b *Block) bool { - config := b.Func.Config - typ := &config.Types - _ = typ - v := b.Control - _ = v switch b.Kind { } return false diff --git a/src/cmd/compile/internal/ssa/rewritegeneric.go b/src/cmd/compile/internal/ssa/rewritegeneric.go index 7117f77d24..6b0cd05047 100644 --- a/src/cmd/compile/internal/ssa/rewritegeneric.go +++ b/src/cmd/compile/internal/ssa/rewritegeneric.go @@ -3,18 +3,9 @@ package ssa -import "fmt" import "math" -import "cmd/internal/obj" -import "cmd/internal/objabi" import "cmd/compile/internal/types" -var _ = fmt.Println // in case not otherwise used -var _ = math.MinInt8 // in case not otherwise used -var _ = obj.ANOP // in case not otherwise used -var _ = objabi.GOROOT // in case not otherwise used -var _ = types.TypeMem // in case not otherwise used - func rewriteValuegeneric(v *Value) bool { switch v.Op { case OpAdd16: @@ -98,7 +89,7 @@ func rewriteValuegeneric(v *Value) bool { case OpDiv8u: return rewriteValuegeneric_OpDiv8u_0(v) case OpEq16: - return rewriteValuegeneric_OpEq16_0(v) || rewriteValuegeneric_OpEq16_10(v) || rewriteValuegeneric_OpEq16_20(v) || rewriteValuegeneric_OpEq16_30(v) || rewriteValuegeneric_OpEq16_40(v) || rewriteValuegeneric_OpEq16_50(v) + return rewriteValuegeneric_OpEq16_0(v) || rewriteValuegeneric_OpEq16_10(v) || rewriteValuegeneric_OpEq16_20(v) || rewriteValuegeneric_OpEq16_30(v) || rewriteValuegeneric_OpEq16_40(v) || rewriteValuegeneric_OpEq16_50(v) || rewriteValuegeneric_OpEq16_60(v) case OpEq32: return rewriteValuegeneric_OpEq32_0(v) || rewriteValuegeneric_OpEq32_10(v) || rewriteValuegeneric_OpEq32_20(v) || rewriteValuegeneric_OpEq32_30(v) || rewriteValuegeneric_OpEq32_40(v) || rewriteValuegeneric_OpEq32_50(v) || rewriteValuegeneric_OpEq32_60(v) || rewriteValuegeneric_OpEq32_70(v) || rewriteValuegeneric_OpEq32_80(v) || rewriteValuegeneric_OpEq32_90(v) case OpEq32F: @@ -284,17 +275,17 @@ func rewriteValuegeneric(v *Value) bool { case OpNeg8: return rewriteValuegeneric_OpNeg8_0(v) case OpNeq16: - return rewriteValuegeneric_OpNeq16_0(v) + return rewriteValuegeneric_OpNeq16_0(v) || rewriteValuegeneric_OpNeq16_10(v) case OpNeq32: - return rewriteValuegeneric_OpNeq32_0(v) + return rewriteValuegeneric_OpNeq32_0(v) || rewriteValuegeneric_OpNeq32_10(v) case OpNeq32F: return rewriteValuegeneric_OpNeq32F_0(v) case OpNeq64: - return rewriteValuegeneric_OpNeq64_0(v) + return rewriteValuegeneric_OpNeq64_0(v) || rewriteValuegeneric_OpNeq64_10(v) case OpNeq64F: return rewriteValuegeneric_OpNeq64F_0(v) case OpNeq8: - return rewriteValuegeneric_OpNeq8_0(v) + return rewriteValuegeneric_OpNeq8_0(v) || rewriteValuegeneric_OpNeq8_10(v) case OpNeqB: return rewriteValuegeneric_OpNeqB_0(v) case OpNeqInter: @@ -12725,6 +12716,188 @@ func rewriteValuegeneric_OpEq16_50(v *Value) bool { v.AddArg(y) return true } + // match: (Eq16 (And16 x (Const16 [y])) (Const16 [y])) + // cond: isPowerOfTwo(y) + // result: (Neq16 (And16 x (Const16 [y])) (Const16 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd16 { + break + } + t := v_0.Type + _ = v_0.Args[1] + x := v_0.Args[0] + v_0_1 := v_0.Args[1] + if v_0_1.Op != OpConst16 { + break + } + if v_0_1.Type != t { + break + } + y := v_0_1.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst16 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq16) + v0 := b.NewValue0(v.Pos, OpAnd16, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst16, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst16, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Eq16 (And16 (Const16 [y]) x) (Const16 [y])) + // cond: isPowerOfTwo(y) + // result: (Neq16 (And16 x (Const16 [y])) (Const16 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd16 { + break + } + t := v_0.Type + x := v_0.Args[1] + v_0_0 := v_0.Args[0] + if v_0_0.Op != OpConst16 { + break + } + if v_0_0.Type != t { + break + } + y := v_0_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst16 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq16) + v0 := b.NewValue0(v.Pos, OpAnd16, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst16, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst16, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Eq16 (Const16 [y]) (And16 x (Const16 [y]))) + // cond: isPowerOfTwo(y) + // result: (Neq16 (And16 x (Const16 [y])) (Const16 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst16 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd16 { + break + } + if v_1.Type != t { + break + } + _ = v_1.Args[1] + x := v_1.Args[0] + v_1_1 := v_1.Args[1] + if v_1_1.Op != OpConst16 { + break + } + if v_1_1.Type != t { + break + } + if v_1_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq16) + v0 := b.NewValue0(v.Pos, OpAnd16, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst16, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst16, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + return false +} +func rewriteValuegeneric_OpEq16_60(v *Value) bool { + b := v.Block + // match: (Eq16 (Const16 [y]) (And16 (Const16 [y]) x)) + // cond: isPowerOfTwo(y) + // result: (Neq16 (And16 x (Const16 [y])) (Const16 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst16 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd16 { + break + } + if v_1.Type != t { + break + } + x := v_1.Args[1] + v_1_0 := v_1.Args[0] + if v_1_0.Op != OpConst16 { + break + } + if v_1_0.Type != t { + break + } + if v_1_0.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq16) + v0 := b.NewValue0(v.Pos, OpAnd16, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst16, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst16, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } return false } func rewriteValuegeneric_OpEq32_0(v *Value) bool { @@ -19717,6 +19890,184 @@ func rewriteValuegeneric_OpEq32_90(v *Value) bool { v.AddArg(y) return true } + // match: (Eq32 (And32 x (Const32 [y])) (Const32 [y])) + // cond: isPowerOfTwo(y) + // result: (Neq32 (And32 x (Const32 [y])) (Const32 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd32 { + break + } + t := v_0.Type + _ = v_0.Args[1] + x := v_0.Args[0] + v_0_1 := v_0.Args[1] + if v_0_1.Op != OpConst32 { + break + } + if v_0_1.Type != t { + break + } + y := v_0_1.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst32 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq32) + v0 := b.NewValue0(v.Pos, OpAnd32, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst32, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst32, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Eq32 (And32 (Const32 [y]) x) (Const32 [y])) + // cond: isPowerOfTwo(y) + // result: (Neq32 (And32 x (Const32 [y])) (Const32 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd32 { + break + } + t := v_0.Type + x := v_0.Args[1] + v_0_0 := v_0.Args[0] + if v_0_0.Op != OpConst32 { + break + } + if v_0_0.Type != t { + break + } + y := v_0_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst32 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq32) + v0 := b.NewValue0(v.Pos, OpAnd32, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst32, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst32, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Eq32 (Const32 [y]) (And32 x (Const32 [y]))) + // cond: isPowerOfTwo(y) + // result: (Neq32 (And32 x (Const32 [y])) (Const32 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst32 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd32 { + break + } + if v_1.Type != t { + break + } + _ = v_1.Args[1] + x := v_1.Args[0] + v_1_1 := v_1.Args[1] + if v_1_1.Op != OpConst32 { + break + } + if v_1_1.Type != t { + break + } + if v_1_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq32) + v0 := b.NewValue0(v.Pos, OpAnd32, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst32, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst32, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Eq32 (Const32 [y]) (And32 (Const32 [y]) x)) + // cond: isPowerOfTwo(y) + // result: (Neq32 (And32 x (Const32 [y])) (Const32 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst32 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd32 { + break + } + if v_1.Type != t { + break + } + x := v_1.Args[1] + v_1_0 := v_1.Args[0] + if v_1_0.Op != OpConst32 { + break + } + if v_1_0.Type != t { + break + } + if v_1_0.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq32) + v0 := b.NewValue0(v.Pos, OpAnd32, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst32, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst32, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } return false } func rewriteValuegeneric_OpEq32F_0(v *Value) bool { @@ -24067,6 +24418,7 @@ func rewriteValuegeneric_OpEq64_50(v *Value) bool { return false } func rewriteValuegeneric_OpEq64_60(v *Value) bool { + b := v.Block // match: (Eq64 (Const64 [0]) s:(Sub64 x y)) // cond: s.Uses == 1 // result: (Eq64 x y) @@ -24093,6 +24445,184 @@ func rewriteValuegeneric_OpEq64_60(v *Value) bool { v.AddArg(y) return true } + // match: (Eq64 (And64 x (Const64 [y])) (Const64 [y])) + // cond: isPowerOfTwo(y) + // result: (Neq64 (And64 x (Const64 [y])) (Const64 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd64 { + break + } + t := v_0.Type + _ = v_0.Args[1] + x := v_0.Args[0] + v_0_1 := v_0.Args[1] + if v_0_1.Op != OpConst64 { + break + } + if v_0_1.Type != t { + break + } + y := v_0_1.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst64 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq64) + v0 := b.NewValue0(v.Pos, OpAnd64, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst64, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst64, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Eq64 (And64 (Const64 [y]) x) (Const64 [y])) + // cond: isPowerOfTwo(y) + // result: (Neq64 (And64 x (Const64 [y])) (Const64 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd64 { + break + } + t := v_0.Type + x := v_0.Args[1] + v_0_0 := v_0.Args[0] + if v_0_0.Op != OpConst64 { + break + } + if v_0_0.Type != t { + break + } + y := v_0_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst64 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq64) + v0 := b.NewValue0(v.Pos, OpAnd64, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst64, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst64, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Eq64 (Const64 [y]) (And64 x (Const64 [y]))) + // cond: isPowerOfTwo(y) + // result: (Neq64 (And64 x (Const64 [y])) (Const64 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst64 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd64 { + break + } + if v_1.Type != t { + break + } + _ = v_1.Args[1] + x := v_1.Args[0] + v_1_1 := v_1.Args[1] + if v_1_1.Op != OpConst64 { + break + } + if v_1_1.Type != t { + break + } + if v_1_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq64) + v0 := b.NewValue0(v.Pos, OpAnd64, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst64, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst64, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Eq64 (Const64 [y]) (And64 (Const64 [y]) x)) + // cond: isPowerOfTwo(y) + // result: (Neq64 (And64 x (Const64 [y])) (Const64 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst64 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd64 { + break + } + if v_1.Type != t { + break + } + x := v_1.Args[1] + v_1_0 := v_1.Args[0] + if v_1_0.Op != OpConst64 { + break + } + if v_1_0.Type != t { + break + } + if v_1_0.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq64) + v0 := b.NewValue0(v.Pos, OpAnd64, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst64, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst64, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } return false } func rewriteValuegeneric_OpEq64F_0(v *Value) bool { @@ -26186,6 +26716,184 @@ func rewriteValuegeneric_OpEq8_30(v *Value) bool { v.AddArg(y) return true } + // match: (Eq8 (And8 x (Const8 [y])) (Const8 [y])) + // cond: isPowerOfTwo(y) + // result: (Neq8 (And8 x (Const8 [y])) (Const8 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd8 { + break + } + t := v_0.Type + _ = v_0.Args[1] + x := v_0.Args[0] + v_0_1 := v_0.Args[1] + if v_0_1.Op != OpConst8 { + break + } + if v_0_1.Type != t { + break + } + y := v_0_1.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst8 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq8) + v0 := b.NewValue0(v.Pos, OpAnd8, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst8, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst8, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Eq8 (And8 (Const8 [y]) x) (Const8 [y])) + // cond: isPowerOfTwo(y) + // result: (Neq8 (And8 x (Const8 [y])) (Const8 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd8 { + break + } + t := v_0.Type + x := v_0.Args[1] + v_0_0 := v_0.Args[0] + if v_0_0.Op != OpConst8 { + break + } + if v_0_0.Type != t { + break + } + y := v_0_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst8 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq8) + v0 := b.NewValue0(v.Pos, OpAnd8, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst8, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst8, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Eq8 (Const8 [y]) (And8 x (Const8 [y]))) + // cond: isPowerOfTwo(y) + // result: (Neq8 (And8 x (Const8 [y])) (Const8 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst8 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd8 { + break + } + if v_1.Type != t { + break + } + _ = v_1.Args[1] + x := v_1.Args[0] + v_1_1 := v_1.Args[1] + if v_1_1.Op != OpConst8 { + break + } + if v_1_1.Type != t { + break + } + if v_1_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq8) + v0 := b.NewValue0(v.Pos, OpAnd8, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst8, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst8, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Eq8 (Const8 [y]) (And8 (Const8 [y]) x)) + // cond: isPowerOfTwo(y) + // result: (Neq8 (And8 x (Const8 [y])) (Const8 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst8 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd8 { + break + } + if v_1.Type != t { + break + } + x := v_1.Args[1] + v_1_0 := v_1.Args[0] + if v_1_0.Op != OpConst8 { + break + } + if v_1_0.Type != t { + break + } + if v_1_0.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpNeq8) + v0 := b.NewValue0(v.Pos, OpAnd8, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst8, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst8, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } return false } func rewriteValuegeneric_OpEqB_0(v *Value) bool { @@ -35985,6 +36693,188 @@ func rewriteValuegeneric_OpNeq16_0(v *Value) bool { v.AddArg(y) return true } + // match: (Neq16 (And16 x (Const16 [y])) (Const16 [y])) + // cond: isPowerOfTwo(y) + // result: (Eq16 (And16 x (Const16 [y])) (Const16 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd16 { + break + } + t := v_0.Type + _ = v_0.Args[1] + x := v_0.Args[0] + v_0_1 := v_0.Args[1] + if v_0_1.Op != OpConst16 { + break + } + if v_0_1.Type != t { + break + } + y := v_0_1.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst16 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq16) + v0 := b.NewValue0(v.Pos, OpAnd16, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst16, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst16, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + return false +} +func rewriteValuegeneric_OpNeq16_10(v *Value) bool { + b := v.Block + // match: (Neq16 (And16 (Const16 [y]) x) (Const16 [y])) + // cond: isPowerOfTwo(y) + // result: (Eq16 (And16 x (Const16 [y])) (Const16 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd16 { + break + } + t := v_0.Type + x := v_0.Args[1] + v_0_0 := v_0.Args[0] + if v_0_0.Op != OpConst16 { + break + } + if v_0_0.Type != t { + break + } + y := v_0_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst16 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq16) + v0 := b.NewValue0(v.Pos, OpAnd16, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst16, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst16, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Neq16 (Const16 [y]) (And16 x (Const16 [y]))) + // cond: isPowerOfTwo(y) + // result: (Eq16 (And16 x (Const16 [y])) (Const16 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst16 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd16 { + break + } + if v_1.Type != t { + break + } + _ = v_1.Args[1] + x := v_1.Args[0] + v_1_1 := v_1.Args[1] + if v_1_1.Op != OpConst16 { + break + } + if v_1_1.Type != t { + break + } + if v_1_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq16) + v0 := b.NewValue0(v.Pos, OpAnd16, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst16, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst16, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Neq16 (Const16 [y]) (And16 (Const16 [y]) x)) + // cond: isPowerOfTwo(y) + // result: (Eq16 (And16 x (Const16 [y])) (Const16 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst16 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd16 { + break + } + if v_1.Type != t { + break + } + x := v_1.Args[1] + v_1_0 := v_1.Args[0] + if v_1_0.Op != OpConst16 { + break + } + if v_1_0.Type != t { + break + } + if v_1_0.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq16) + v0 := b.NewValue0(v.Pos, OpAnd16, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst16, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst16, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } return false } func rewriteValuegeneric_OpNeq32_0(v *Value) bool { @@ -36217,6 +37107,188 @@ func rewriteValuegeneric_OpNeq32_0(v *Value) bool { v.AddArg(y) return true } + // match: (Neq32 (And32 x (Const32 [y])) (Const32 [y])) + // cond: isPowerOfTwo(y) + // result: (Eq32 (And32 x (Const32 [y])) (Const32 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd32 { + break + } + t := v_0.Type + _ = v_0.Args[1] + x := v_0.Args[0] + v_0_1 := v_0.Args[1] + if v_0_1.Op != OpConst32 { + break + } + if v_0_1.Type != t { + break + } + y := v_0_1.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst32 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq32) + v0 := b.NewValue0(v.Pos, OpAnd32, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst32, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst32, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + return false +} +func rewriteValuegeneric_OpNeq32_10(v *Value) bool { + b := v.Block + // match: (Neq32 (And32 (Const32 [y]) x) (Const32 [y])) + // cond: isPowerOfTwo(y) + // result: (Eq32 (And32 x (Const32 [y])) (Const32 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd32 { + break + } + t := v_0.Type + x := v_0.Args[1] + v_0_0 := v_0.Args[0] + if v_0_0.Op != OpConst32 { + break + } + if v_0_0.Type != t { + break + } + y := v_0_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst32 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq32) + v0 := b.NewValue0(v.Pos, OpAnd32, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst32, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst32, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Neq32 (Const32 [y]) (And32 x (Const32 [y]))) + // cond: isPowerOfTwo(y) + // result: (Eq32 (And32 x (Const32 [y])) (Const32 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst32 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd32 { + break + } + if v_1.Type != t { + break + } + _ = v_1.Args[1] + x := v_1.Args[0] + v_1_1 := v_1.Args[1] + if v_1_1.Op != OpConst32 { + break + } + if v_1_1.Type != t { + break + } + if v_1_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq32) + v0 := b.NewValue0(v.Pos, OpAnd32, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst32, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst32, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Neq32 (Const32 [y]) (And32 (Const32 [y]) x)) + // cond: isPowerOfTwo(y) + // result: (Eq32 (And32 x (Const32 [y])) (Const32 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst32 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd32 { + break + } + if v_1.Type != t { + break + } + x := v_1.Args[1] + v_1_0 := v_1.Args[0] + if v_1_0.Op != OpConst32 { + break + } + if v_1_0.Type != t { + break + } + if v_1_0.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq32) + v0 := b.NewValue0(v.Pos, OpAnd32, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst32, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst32, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } return false } func rewriteValuegeneric_OpNeq32F_0(v *Value) bool { @@ -36490,6 +37562,188 @@ func rewriteValuegeneric_OpNeq64_0(v *Value) bool { v.AddArg(y) return true } + // match: (Neq64 (And64 x (Const64 [y])) (Const64 [y])) + // cond: isPowerOfTwo(y) + // result: (Eq64 (And64 x (Const64 [y])) (Const64 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd64 { + break + } + t := v_0.Type + _ = v_0.Args[1] + x := v_0.Args[0] + v_0_1 := v_0.Args[1] + if v_0_1.Op != OpConst64 { + break + } + if v_0_1.Type != t { + break + } + y := v_0_1.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst64 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq64) + v0 := b.NewValue0(v.Pos, OpAnd64, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst64, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst64, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + return false +} +func rewriteValuegeneric_OpNeq64_10(v *Value) bool { + b := v.Block + // match: (Neq64 (And64 (Const64 [y]) x) (Const64 [y])) + // cond: isPowerOfTwo(y) + // result: (Eq64 (And64 x (Const64 [y])) (Const64 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd64 { + break + } + t := v_0.Type + x := v_0.Args[1] + v_0_0 := v_0.Args[0] + if v_0_0.Op != OpConst64 { + break + } + if v_0_0.Type != t { + break + } + y := v_0_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst64 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq64) + v0 := b.NewValue0(v.Pos, OpAnd64, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst64, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst64, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Neq64 (Const64 [y]) (And64 x (Const64 [y]))) + // cond: isPowerOfTwo(y) + // result: (Eq64 (And64 x (Const64 [y])) (Const64 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst64 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd64 { + break + } + if v_1.Type != t { + break + } + _ = v_1.Args[1] + x := v_1.Args[0] + v_1_1 := v_1.Args[1] + if v_1_1.Op != OpConst64 { + break + } + if v_1_1.Type != t { + break + } + if v_1_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq64) + v0 := b.NewValue0(v.Pos, OpAnd64, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst64, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst64, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Neq64 (Const64 [y]) (And64 (Const64 [y]) x)) + // cond: isPowerOfTwo(y) + // result: (Eq64 (And64 x (Const64 [y])) (Const64 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst64 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd64 { + break + } + if v_1.Type != t { + break + } + x := v_1.Args[1] + v_1_0 := v_1.Args[0] + if v_1_0.Op != OpConst64 { + break + } + if v_1_0.Type != t { + break + } + if v_1_0.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq64) + v0 := b.NewValue0(v.Pos, OpAnd64, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst64, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst64, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } return false } func rewriteValuegeneric_OpNeq64F_0(v *Value) bool { @@ -36763,6 +38017,188 @@ func rewriteValuegeneric_OpNeq8_0(v *Value) bool { v.AddArg(y) return true } + // match: (Neq8 (And8 x (Const8 [y])) (Const8 [y])) + // cond: isPowerOfTwo(y) + // result: (Eq8 (And8 x (Const8 [y])) (Const8 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd8 { + break + } + t := v_0.Type + _ = v_0.Args[1] + x := v_0.Args[0] + v_0_1 := v_0.Args[1] + if v_0_1.Op != OpConst8 { + break + } + if v_0_1.Type != t { + break + } + y := v_0_1.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst8 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq8) + v0 := b.NewValue0(v.Pos, OpAnd8, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst8, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst8, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + return false +} +func rewriteValuegeneric_OpNeq8_10(v *Value) bool { + b := v.Block + // match: (Neq8 (And8 (Const8 [y]) x) (Const8 [y])) + // cond: isPowerOfTwo(y) + // result: (Eq8 (And8 x (Const8 [y])) (Const8 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpAnd8 { + break + } + t := v_0.Type + x := v_0.Args[1] + v_0_0 := v_0.Args[0] + if v_0_0.Op != OpConst8 { + break + } + if v_0_0.Type != t { + break + } + y := v_0_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpConst8 { + break + } + if v_1.Type != t { + break + } + if v_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq8) + v0 := b.NewValue0(v.Pos, OpAnd8, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst8, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst8, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Neq8 (Const8 [y]) (And8 x (Const8 [y]))) + // cond: isPowerOfTwo(y) + // result: (Eq8 (And8 x (Const8 [y])) (Const8 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst8 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd8 { + break + } + if v_1.Type != t { + break + } + _ = v_1.Args[1] + x := v_1.Args[0] + v_1_1 := v_1.Args[1] + if v_1_1.Op != OpConst8 { + break + } + if v_1_1.Type != t { + break + } + if v_1_1.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq8) + v0 := b.NewValue0(v.Pos, OpAnd8, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst8, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst8, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } + // match: (Neq8 (Const8 [y]) (And8 (Const8 [y]) x)) + // cond: isPowerOfTwo(y) + // result: (Eq8 (And8 x (Const8 [y])) (Const8 [0])) + for { + _ = v.Args[1] + v_0 := v.Args[0] + if v_0.Op != OpConst8 { + break + } + t := v_0.Type + y := v_0.AuxInt + v_1 := v.Args[1] + if v_1.Op != OpAnd8 { + break + } + if v_1.Type != t { + break + } + x := v_1.Args[1] + v_1_0 := v_1.Args[0] + if v_1_0.Op != OpConst8 { + break + } + if v_1_0.Type != t { + break + } + if v_1_0.AuxInt != y { + break + } + if !(isPowerOfTwo(y)) { + break + } + v.reset(OpEq8) + v0 := b.NewValue0(v.Pos, OpAnd8, t) + v0.AddArg(x) + v1 := b.NewValue0(v.Pos, OpConst8, t) + v1.AuxInt = y + v0.AddArg(v1) + v.AddArg(v0) + v2 := b.NewValue0(v.Pos, OpConst8, t) + v2.AuxInt = 0 + v.AddArg(v2) + return true + } return false } func rewriteValuegeneric_OpNeqB_0(v *Value) bool { @@ -49166,11 +50602,7 @@ func rewriteValuegeneric_OpZeroExt8to64_0(v *Value) bool { return false } func rewriteBlockgeneric(b *Block) bool { - config := b.Func.Config - typ := &config.Types - _ = typ v := b.Control - _ = v switch b.Kind { case BlockIf: // match: (If (Not cond) yes no) diff --git a/src/cmd/compile/internal/ssa/writebarrier.go b/src/cmd/compile/internal/ssa/writebarrier.go index 3c64da20a7..8bc807c493 100644 --- a/src/cmd/compile/internal/ssa/writebarrier.go +++ b/src/cmd/compile/internal/ssa/writebarrier.go @@ -520,6 +520,10 @@ func IsReadOnlyGlobalAddr(v *Value) bool { if !IsGlobalAddr(v) { return false } + if v.Op == OpConst64 || v.Op == OpConst32 { + // Nil pointers are read only. See issue 33438. + return true + } // See TODO in OpAddr case in IsSanitizerSafeAddr below. return strings.HasPrefix(v.Aux.(*obj.LSym).Name, `""..stmp_`) } diff --git a/src/cmd/compile/internal/syntax/parser.go b/src/cmd/compile/internal/syntax/parser.go index d4e9bf2f96..6ad1e5b9a5 100644 --- a/src/cmd/compile/internal/syntax/parser.go +++ b/src/cmd/compile/internal/syntax/parser.go @@ -869,7 +869,7 @@ func (p *parser) operand(keep_parens bool) Expr { default: x := p.bad() p.syntaxError("expecting expression") - p.advance() + p.advance(_Rparen, _Rbrack, _Rbrace) return x } @@ -1840,6 +1840,9 @@ func (p *parser) header(keyword token) (init SimpleStmt, cond Expr, post SimpleS } else { // asking for a '{' rather than a ';' here leads to a better error message p.want(_Lbrace) + if p.tok != _Lbrace { + p.advance(_Lbrace, _Rbrace) // for better synchronization (e.g., issue #22581) + } } if keyword == _For { if p.tok != _Semi { diff --git a/src/cmd/doc/doc_test.go b/src/cmd/doc/doc_test.go index bc870aca58..11d0bdafd9 100644 --- a/src/cmd/doc/doc_test.go +++ b/src/cmd/doc/doc_test.go @@ -920,7 +920,10 @@ func TestDotSlashLookup(t *testing.T) { t.Skip("scanning file system takes too long") } maybeSkip(t) - where := pwd() + where, err := os.Getwd() + if err != nil { + t.Fatal(err) + } defer func() { if err := os.Chdir(where); err != nil { t.Fatal(err) @@ -931,7 +934,7 @@ func TestDotSlashLookup(t *testing.T) { } var b bytes.Buffer var flagSet flag.FlagSet - err := do(&b, &flagSet, []string{"./template"}) + err = do(&b, &flagSet, []string{"./template"}) if err != nil { t.Errorf("unexpected error %q from ./template", err) } diff --git a/src/cmd/doc/main.go b/src/cmd/doc/main.go index 9e3ad0c0e7..a739761afe 100644 --- a/src/cmd/doc/main.go +++ b/src/cmd/doc/main.go @@ -187,16 +187,20 @@ func failMessage(paths []string, symbol, method string) error { // is rand.Float64, we must scan both crypto/rand and math/rand // to find the symbol, and the first call will return crypto/rand, true. func parseArgs(args []string) (pkg *build.Package, path, symbol string, more bool) { + wd, err := os.Getwd() + if err != nil { + log.Fatal(err) + } if len(args) == 0 { // Easy: current directory. - return importDir(pwd()), "", "", false + return importDir(wd), "", "", false } arg := args[0] // We have an argument. If it is a directory name beginning with . or .., // use the absolute path name. This discriminates "./errors" from "errors" // if the current directory contains a non-standard errors package. if isDotSlash(arg) { - arg = filepath.Join(pwd(), arg) + arg = filepath.Join(wd, arg) } switch len(args) { default: @@ -205,7 +209,7 @@ func parseArgs(args []string) (pkg *build.Package, path, symbol string, more boo // Done below. case 2: // Package must be findable and importable. - pkg, err := build.Import(args[0], "", build.ImportComment) + pkg, err := build.Import(args[0], wd, build.ImportComment) if err == nil { return pkg, args[0], args[1], false } @@ -225,7 +229,7 @@ func parseArgs(args []string) (pkg *build.Package, path, symbol string, more boo // First, is it a complete package path as it is? If so, we are done. // This avoids confusion over package paths that have other // package paths as their prefix. - pkg, err := build.Import(arg, "", build.ImportComment) + pkg, err = build.Import(arg, wd, build.ImportComment) if err == nil { return pkg, arg, "", false } @@ -260,7 +264,7 @@ func parseArgs(args []string) (pkg *build.Package, path, symbol string, more boo symbol = arg[period+1:] } // Have we identified a package already? - pkg, err := build.Import(arg[0:period], "", build.ImportComment) + pkg, err := build.Import(arg[0:period], wd, build.ImportComment) if err == nil { return pkg, arg[0:period], symbol, false } @@ -283,7 +287,7 @@ func parseArgs(args []string) (pkg *build.Package, path, symbol string, more boo log.Fatalf("no such package %s", arg[0:period]) } // Guess it's a symbol in the current directory. - return importDir(pwd()), "", arg, false + return importDir(wd), "", arg, false } // dotPaths lists all the dotted paths legal on Unix-like and @@ -385,12 +389,3 @@ var buildCtx = build.Default func splitGopath() []string { return filepath.SplitList(buildCtx.GOPATH) } - -// pwd returns the current directory. -func pwd() string { - wd, err := os.Getwd() - if err != nil { - log.Fatal(err) - } - return wd -} diff --git a/src/cmd/go.mod b/src/cmd/go.mod index 3d9b4a8d24..19496a3c67 100644 --- a/src/cmd/go.mod +++ b/src/cmd/go.mod @@ -5,7 +5,7 @@ go 1.12 require ( github.com/google/pprof v0.0.0-20190515194954-54271f7e092f github.com/ianlancetaylor/demangle v0.0.0-20180524225900-fc6590592b44 // indirect - golang.org/x/arch v0.0.0-20181203225421-5a4828bb7045 + golang.org/x/arch v0.0.0-20190815191158-8a70ba74b3a1 golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82 // indirect golang.org/x/tools v0.0.0-20190611154301-25a4f137592f diff --git a/src/cmd/go.sum b/src/cmd/go.sum index 6ca1dee5ed..9aa94eee7b 100644 --- a/src/cmd/go.sum +++ b/src/cmd/go.sum @@ -2,16 +2,19 @@ github.com/google/pprof v0.0.0-20190515194954-54271f7e092f h1:Jnx61latede7zDD3Di github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/ianlancetaylor/demangle v0.0.0-20180524225900-fc6590592b44 h1:pKqc8lAAA6rcwpvsephnRuZp4VHbfszZRClvqAE6Sq8= github.com/ianlancetaylor/demangle v0.0.0-20180524225900-fc6590592b44/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -golang.org/x/arch v0.0.0-20181203225421-5a4828bb7045 h1:Pn8fQdvx+z1avAi7fdM2kRYWQNxGlavNDSyzrQg2SsU= -golang.org/x/arch v0.0.0-20181203225421-5a4828bb7045/go.mod h1:cYlCBUl1MsqxdiKgmc4uh7TxZfWSFLOGSRR090WDxt8= +golang.org/x/arch v0.0.0-20190815191158-8a70ba74b3a1 h1:A71BZbKSu+DtCNry/x5JKn20C+64DirDHmePEA8k0FY= +golang.org/x/arch v0.0.0-20190815191158-8a70ba74b3a1/go.mod h1:flIaEI6LNU6xOCD5PaJvn9wGP0agmIOqjrtsKGRguv4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c h1:Vj5n4GlwjmQteupaxJ9+0FNOmBrHfq7vN4btdGoDZgI= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82 h1:vsphBvatvfbhlb4PO1BYSr9dzugGxJ/SQHoNufZJq1w= golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/tools v0.0.0-20190611154301-25a4f137592f h1:6awn5JC4pwVI5HiBqs7MDtRxnwV9PpO5iSA9v6P09pA= golang.org/x/tools v0.0.0-20190611154301-25a4f137592f/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/src/cmd/go/alldocs.go b/src/cmd/go/alldocs.go index d2ce578564..ebbead5d31 100644 --- a/src/cmd/go/alldocs.go +++ b/src/cmd/go/alldocs.go @@ -78,6 +78,8 @@ // If the arguments to build are a list of .go files from a single directory, // build treats them as a list of source files specifying a single package. // +// When compiling packages, build ignores files that end in '_test.go'. +// // When compiling a single main package, build writes // the resulting executable to an output file named after // the first source file ('go build ed.go rx.go' writes 'ed' or 'ed.exe') @@ -88,8 +90,6 @@ // build compiles the packages but discards the resulting object, // serving only as a check that the packages can be built. // -// When compiling packages, build ignores files that end in '_test.go'. -// // The -o flag forces build to write the resulting executable or object // to the named output file or directory, instead of the default behavior described // in the last two paragraphs. If the named output is a directory that exists, @@ -566,17 +566,27 @@ // The first step is to resolve which dependencies to add. // // For each named package or package pattern, get must decide which version of -// the corresponding module to use. By default, get chooses the latest tagged +// the corresponding module to use. By default, get looks up the latest tagged // release version, such as v0.4.5 or v1.2.3. If there are no tagged release -// versions, get chooses the latest tagged pre-release version, such as -// v0.0.1-pre1. If there are no tagged versions at all, get chooses the latest -// known commit. +// versions, get looks up the latest tagged pre-release version, such as +// v0.0.1-pre1. If there are no tagged versions at all, get looks up the latest +// known commit. If the module is not already required at a later version +// (for example, a pre-release newer than the latest release), get will use +// the version it looked up. Otherwise, get will use the currently +// required version. // // This default version selection can be overridden by adding an @version // suffix to the package argument, as in 'go get golang.org/x/text@v0.3.0'. +// The version may be a prefix: @v1 denotes the latest available version starting +// with v1. See 'go help modules' under the heading 'Module queries' for the +// full query syntax. +// // For modules stored in source control repositories, the version suffix can // also be a commit hash, branch identifier, or other syntax known to the -// source control system, as in 'go get golang.org/x/text@master'. +// source control system, as in 'go get golang.org/x/text@master'. Note that +// branches with names that overlap with other module query syntax cannot be +// selected explicitly. For example, the suffix @v2 means the latest version +// starting with v2, not the branch named v2. // // If a module under consideration is already a dependency of the current // development module, then get will update the required version. @@ -586,12 +596,14 @@ // depending on it as needed. // // The version suffix @latest explicitly requests the latest minor release of the -// given path. The suffix @patch requests the latest patch release: if the path -// is already in the build list, the selected version will have the same minor -// version. If the path is not already in the build list, @patch is equivalent -// to @latest. Neither @latest nor @patch will cause 'go get' to downgrade a module -// in the build list if it is required at a newer pre-release version that is -// newer than the latest released version. +// module named by the given path. The suffix @upgrade is like @latest but +// will not downgrade a module if it is already required at a revision or +// pre-release version newer than the latest released version. The suffix +// @patch requests the latest patch release: the latest released version +// with the same major and minor version numbers as the currently required +// version. Like @upgrade, @patch will not downgrade a module already required +// at a newer version. If the path is not already required, @upgrade and @patch +// are equivalent to @latest. // // Although get defaults to using the latest version of the module containing // a named package, it does not use the latest version of that module's @@ -1006,6 +1018,7 @@ // Dir string // absolute path to cached source root directory // Sum string // checksum for path, version (as in go.sum) // GoModSum string // checksum for go.mod (as in go.sum) +// Latest bool // would @latest resolve to this version? // } // // See 'go help modules' for more about module queries. @@ -1562,6 +1575,9 @@ // GOCACHE // The directory where the go command will store cached // information for reuse in future builds. +// GODEBUG +// Enable various debugging facilities. See 'go doc runtime' +// for details. // GOENV // The location of the Go environment configuration file. // Cannot be set using 'go env -w'. @@ -1806,6 +1822,13 @@ // including go build, go get, go install, go list, go test, go mod graph, // go mod tidy, and go mod why. // +// The expected language version, set by the go directive, determines +// which language features are available when compiling the module. +// Language features available in that version will be available for use. +// Language features removed in earlier versions, or added in later versions, +// will not be available. Note that the language version does not affect +// build tags, which are determined by the Go release being used. +// // // GOPATH environment variable // @@ -2489,12 +2512,25 @@ // The string "latest" matches the latest available tagged version, // or else the underlying source repository's latest untagged revision. // -// A revision identifier for the underlying source repository, -// such as a commit hash prefix, revision tag, or branch name, -// selects that specific code revision. If the revision is -// also tagged with a semantic version, the query evaluates to -// that semantic version. Otherwise the query evaluates to a -// pseudo-version for the commit. +// The string "upgrade" is like "latest", but if the module is +// currently required at a later version than the version "latest" +// would select (for example, a newer pre-release version), "upgrade" +// will select the later version instead. +// +// The string "patch" matches the latest available tagged version +// of a module with the same major and minor version numbers as the +// currently required version. If no version is currently required, +// "patch" is equivalent to "latest". +// +// A revision identifier for the underlying source repository, such as +// a commit hash prefix, revision tag, or branch name, selects that +// specific code revision. If the revision is also tagged with a +// semantic version, the query evaluates to that semantic version. +// Otherwise the query evaluates to a pseudo-version for the commit. +// Note that branches and tags with names that are matched by other +// query syntax cannot be selected this way. For example, the query +// "v2" means the latest version starting with "v2", not the branch +// named "v2". // // All queries prefer release versions to pre-release versions. // For example, " 0 { - helpSuccess = " " + strings.Join(args[:i], " ") + helpSuccess += " " + strings.Join(args[:i], " ") } fmt.Fprintf(os.Stderr, "go help %s: unknown help topic. Run '%s'.\n", strings.Join(args, " "), helpSuccess) base.SetExitStatus(2) // failed at 'go help cmd' diff --git a/src/cmd/go/internal/help/helpdoc.go b/src/cmd/go/internal/help/helpdoc.go index c2b5fb4b83..dfb89d4910 100644 --- a/src/cmd/go/internal/help/helpdoc.go +++ b/src/cmd/go/internal/help/helpdoc.go @@ -493,6 +493,9 @@ General-purpose environment variables: GOCACHE The directory where the go command will store cached information for reuse in future builds. + GODEBUG + Enable various debugging facilities. See 'go doc runtime' + for details. GOENV The location of the Go environment configuration file. Cannot be set using 'go env -w'. diff --git a/src/cmd/go/internal/imports/build.go b/src/cmd/go/internal/imports/build.go index 1e44a83c72..3e9fe357e0 100644 --- a/src/cmd/go/internal/imports/build.go +++ b/src/cmd/go/internal/imports/build.go @@ -138,6 +138,9 @@ func matchTag(name string, tags map[string]bool, want bool) bool { if name == "linux" { have = have || tags["android"] } + if name == "solaris" { + have = have || tags["illumos"] + } return have == want } @@ -152,7 +155,9 @@ func matchTag(name string, tags map[string]bool, want bool) bool { // name_$(GOARCH)_test.* // name_$(GOOS)_$(GOARCH)_test.* // -// An exception: if GOOS=android, then files with GOOS=linux are also matched. +// Exceptions: +// if GOOS=android, then files with GOOS=linux are also matched. +// if GOOS=illumos, then files with GOOS=solaris are also matched. // // If tags["*"] is true, then MatchFile will consider all possible // GOOS and GOARCH to be available and will consequently diff --git a/src/cmd/go/internal/imports/testdata/illumos/a_illumos.go b/src/cmd/go/internal/imports/testdata/illumos/a_illumos.go new file mode 100644 index 0000000000..2e6cb50805 --- /dev/null +++ b/src/cmd/go/internal/imports/testdata/illumos/a_illumos.go @@ -0,0 +1,3 @@ +package illumos + +import _ "a" diff --git a/src/cmd/go/internal/imports/testdata/illumos/b_illumos_amd64.go b/src/cmd/go/internal/imports/testdata/illumos/b_illumos_amd64.go new file mode 100644 index 0000000000..2834d80660 --- /dev/null +++ b/src/cmd/go/internal/imports/testdata/illumos/b_illumos_amd64.go @@ -0,0 +1,3 @@ +package illumos + +import _ "b" diff --git a/src/cmd/go/internal/imports/testdata/illumos/c_solaris.go b/src/cmd/go/internal/imports/testdata/illumos/c_solaris.go new file mode 100644 index 0000000000..d7f9462f15 --- /dev/null +++ b/src/cmd/go/internal/imports/testdata/illumos/c_solaris.go @@ -0,0 +1,3 @@ +package illumos + +import _ "c" diff --git a/src/cmd/go/internal/imports/testdata/illumos/d_solaris_amd64.go b/src/cmd/go/internal/imports/testdata/illumos/d_solaris_amd64.go new file mode 100644 index 0000000000..0f52c2bb48 --- /dev/null +++ b/src/cmd/go/internal/imports/testdata/illumos/d_solaris_amd64.go @@ -0,0 +1,3 @@ +package illumos + +import _ "d" diff --git a/src/cmd/go/internal/imports/testdata/illumos/e.go b/src/cmd/go/internal/imports/testdata/illumos/e.go new file mode 100644 index 0000000000..5e1ed3cb9d --- /dev/null +++ b/src/cmd/go/internal/imports/testdata/illumos/e.go @@ -0,0 +1,5 @@ +// +build illumos + +package illumos + +import _ "e" diff --git a/src/cmd/go/internal/imports/testdata/illumos/f.go b/src/cmd/go/internal/imports/testdata/illumos/f.go new file mode 100644 index 0000000000..f3e3f728bc --- /dev/null +++ b/src/cmd/go/internal/imports/testdata/illumos/f.go @@ -0,0 +1,5 @@ +// +build solaris + +package illumos + +import _ "f" diff --git a/src/cmd/go/internal/imports/testdata/illumos/g.go b/src/cmd/go/internal/imports/testdata/illumos/g.go new file mode 100644 index 0000000000..b30f1eb403 --- /dev/null +++ b/src/cmd/go/internal/imports/testdata/illumos/g.go @@ -0,0 +1,5 @@ +// +build !illumos + +package illumos + +import _ "g" diff --git a/src/cmd/go/internal/imports/testdata/illumos/tags.txt b/src/cmd/go/internal/imports/testdata/illumos/tags.txt new file mode 100644 index 0000000000..b6386a3260 --- /dev/null +++ b/src/cmd/go/internal/imports/testdata/illumos/tags.txt @@ -0,0 +1 @@ +illumos amd64 diff --git a/src/cmd/go/internal/imports/testdata/illumos/want.txt b/src/cmd/go/internal/imports/testdata/illumos/want.txt new file mode 100644 index 0000000000..0fdf397db0 --- /dev/null +++ b/src/cmd/go/internal/imports/testdata/illumos/want.txt @@ -0,0 +1,6 @@ +a +b +c +d +e +f diff --git a/src/cmd/go/internal/list/list.go b/src/cmd/go/internal/list/list.go index e7e78e7c59..a5f1abe64a 100644 --- a/src/cmd/go/internal/list/list.go +++ b/src/cmd/go/internal/list/list.go @@ -390,7 +390,7 @@ func runList(cmd *base.Command, args []string) { if !*listE { for _, m := range mods { if m.Error != nil { - base.Errorf("go list -m %s: %v", m.Path, m.Error.Err) + base.Errorf("go list -m: %v", m.Error.Err) } } base.ExitIfErrors() @@ -459,7 +459,7 @@ func runList(cmd *base.Command, args []string) { } if pmain != nil { pkgs = append(pkgs, pmain) - data := pmain.Internal.TestmainGo + data := *pmain.Internal.TestmainGo h := cache.NewHash("testmain") h.Write([]byte("testmain\n")) h.Write(data) diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go index 12bf0e1f7a..64267a4a46 100644 --- a/src/cmd/go/internal/load/pkg.go +++ b/src/cmd/go/internal/load/pkg.go @@ -64,7 +64,7 @@ type PackagePublic struct { Doc string `json:",omitempty"` // package documentation string Target string `json:",omitempty"` // installed target for this package (may be executable) Shlib string `json:",omitempty"` // the shared library that contains this package (only set when -linkshared) - Root string `json:",omitempty"` // Go root or Go path dir containing this package + Root string `json:",omitempty"` // Go root, Go path dir, or module root dir containing this package ConflictDir string `json:",omitempty"` // Dir is hidden by this other directory ForTest string `json:",omitempty"` // package is only for use in named test Export string `json:",omitempty"` // file containing export data (set by go list -export) @@ -177,8 +177,7 @@ type PackageInternal struct { OmitDebug bool // tell linker not to write debug information GobinSubdir bool // install target would be subdir of GOBIN BuildInfo string // add this info to package main - TestinginitGo []byte // content for _testinginit.go - TestmainGo []byte // content for _testmain.go + TestmainGo *[]byte // content for _testmain.go Asmflags []string // -asmflags for this package Gcflags []string // -gcflags for this package @@ -653,9 +652,14 @@ func loadPackageData(path, parentPath, parentDir, parentRoot string, parentIsStd buildMode = build.ImportComment } data.p, data.err = cfg.BuildContext.ImportDir(r.dir, buildMode) + if data.p.Root == "" && cfg.ModulesEnabled { + if info := ModPackageModuleInfo(path); info != nil { + data.p.Root = info.Dir + } + } } else if r.err != nil { data.p = new(build.Package) - data.err = fmt.Errorf("unknown import path %q: %v", r.path, r.err) + data.err = r.err } else if cfg.ModulesEnabled && path != "unsafe" { data.p = new(build.Package) data.err = fmt.Errorf("unknown import path %q: internal error: module loader did not resolve import", r.path) @@ -668,11 +672,17 @@ func loadPackageData(path, parentPath, parentDir, parentRoot string, parentIsStd data.p, data.err = cfg.BuildContext.Import(r.path, parentDir, buildMode) } data.p.ImportPath = r.path - if cfg.GOBIN != "" { - data.p.BinDir = cfg.GOBIN - } else if cfg.ModulesEnabled && !data.p.Goroot { - data.p.BinDir = ModBinDir() + + // Set data.p.BinDir in cases where go/build.Context.Import + // may give us a path we don't want. + if !data.p.Goroot { + if cfg.GOBIN != "" { + data.p.BinDir = cfg.GOBIN + } else if cfg.ModulesEnabled { + data.p.BinDir = ModBinDir() + } } + if !cfg.ModulesEnabled && data.err == nil && data.p.ImportComment != "" && data.p.ImportComment != path && !strings.Contains(path, "/vendor/") && !strings.HasPrefix(path, "vendor/") { diff --git a/src/cmd/go/internal/load/test.go b/src/cmd/go/internal/load/test.go index c247d56c81..afff5deaaa 100644 --- a/src/cmd/go/internal/load/test.go +++ b/src/cmd/go/internal/load/test.go @@ -102,7 +102,6 @@ func TestPackagesAndErrors(p *Package, cover *TestCover) (pmain, ptest, pxtest * var stk ImportStack stk.Push(p.ImportPath + " (test)") rawTestImports := str.StringList(p.TestImports) - var ptestImportsTesting, pxtestImportsTesting bool for i, path := range p.TestImports { p1 := loadImport(pre, path, p.Dir, p, &stk, p.Internal.Build.TestImportPos[path], ResolveImport) if str.Contains(p1.Deps, p.ImportPath) || p1.ImportPath == p.ImportPath { @@ -117,9 +116,6 @@ func TestPackagesAndErrors(p *Package, cover *TestCover) (pmain, ptest, pxtest * } p.TestImports[i] = p1.ImportPath imports = append(imports, p1) - if path == "testing" { - ptestImportsTesting = true - } } stk.Pop() stk.Push(p.ImportPath + "_test") @@ -133,9 +129,6 @@ func TestPackagesAndErrors(p *Package, cover *TestCover) (pmain, ptest, pxtest * ximports = append(ximports, p1) } p.XTestImports[i] = p1.ImportPath - if path == "testing" { - pxtestImportsTesting = true - } } stk.Pop() @@ -145,9 +138,6 @@ func TestPackagesAndErrors(p *Package, cover *TestCover) (pmain, ptest, pxtest * *ptest = *p ptest.Error = ptestErr ptest.ForTest = p.ImportPath - if ptestImportsTesting { - ptest.Internal.TestinginitGo = formatTestinginit(p) - } ptest.GoFiles = nil ptest.GoFiles = append(ptest.GoFiles, p.GoFiles...) ptest.GoFiles = append(ptest.GoFiles, p.TestGoFiles...) @@ -212,9 +202,6 @@ func TestPackagesAndErrors(p *Package, cover *TestCover) (pmain, ptest, pxtest * Gccgoflags: p.Internal.Gccgoflags, }, } - if pxtestImportsTesting { - pxtest.Internal.TestinginitGo = formatTestinginit(pxtest) - } if pxtestNeedsPtest { pxtest.Internal.Imports = append(pxtest.Internal.Imports, ptest) } @@ -337,7 +324,9 @@ func TestPackagesAndErrors(p *Package, cover *TestCover) (pmain, ptest, pxtest * if err != nil && pmain.Error == nil { pmain.Error = &PackageError{Err: err.Error()} } - pmain.Internal.TestmainGo = data + if data != nil { + pmain.Internal.TestmainGo = &data + } return pmain, ptest, pxtest } @@ -485,15 +474,6 @@ func loadTestFuncs(ptest *Package) (*testFuncs, error) { return t, err } -// formatTestinginit returns the content of the _testinginit.go file for p. -func formatTestinginit(p *Package) []byte { - var buf bytes.Buffer - if err := testinginitTmpl.Execute(&buf, p); err != nil { - panic("testinginit template execution failed") // shouldn't be possible - } - return buf.Bytes() -} - // formatTestmain returns the content of the _testmain.go file for t. func formatTestmain(t *testFuncs) ([]byte, error) { var buf bytes.Buffer @@ -623,23 +603,6 @@ func checkTestFunc(fn *ast.FuncDecl, arg string) error { return nil } -var testinginitTmpl = lazytemplate.New("init", ` -package {{.Name}} - -import _go_testing "testing" - -{{/* -Call testing.Init before any other user initialization code runs. -(This file is passed to the compiler first.) -This provides the illusion of the old behavior where testing flags -were registered as part of the testing package's initialization. -*/}} -var _ = func() bool { - _go_testing.Init() - return true -}() -`) - var testmainTmpl = lazytemplate.New("main", ` // Code generated by 'go test'. DO NOT EDIT. diff --git a/src/cmd/go/internal/modcmd/download.go b/src/cmd/go/internal/modcmd/download.go index 71b660d6fd..60d0d5b6e2 100644 --- a/src/cmd/go/internal/modcmd/download.go +++ b/src/cmd/go/internal/modcmd/download.go @@ -43,6 +43,7 @@ corresponding to this Go struct: Dir string // absolute path to cached source root directory Sum string // checksum for path, version (as in go.sum) GoModSum string // checksum for go.mod (as in go.sum) + Latest bool // would @latest resolve to this version? } See 'go help modules' for more about module queries. @@ -65,6 +66,7 @@ type moduleJSON struct { Dir string `json:",omitempty"` Sum string `json:",omitempty"` GoModSum string `json:",omitempty"` + Latest bool `json:",omitempty"` } func runDownload(cmd *base.Command, args []string) { @@ -87,7 +89,8 @@ func runDownload(cmd *base.Command, args []string) { if info.Replace != nil { info = info.Replace } - if info.Version == "" { + if info.Version == "" && info.Error == nil { + // main module continue } m := &moduleJSON{ @@ -95,9 +98,38 @@ func runDownload(cmd *base.Command, args []string) { Version: info.Version, } mods = append(mods, m) + if info.Error != nil { + m.Error = info.Error.Err + continue + } work.Add(m) } + latest := map[string]string{} // path → version + if *downloadJSON { + // We need to populate the Latest field, but if the main module depends on a + // version newer than latest — or if the version requested on the command + // line is itself newer than latest — that's not trivial to determine from + // the info returned by ListModules. Instead, we issue a separate + // ListModules request for "latest", which should be inexpensive relative to + // downloading the modules. + var latestArgs []string + for _, m := range mods { + if m.Error != "" { + continue + } + latestArgs = append(latestArgs, m.Path+"@latest") + } + + if len(latestArgs) > 0 { + for _, info := range modload.ListModules(latestArgs, listU, listVersions) { + if info.Version != "" { + latest[info.Path] = info.Version + } + } + } + } + work.Do(10, func(item interface{}) { m := item.(*moduleJSON) var err error @@ -128,6 +160,9 @@ func runDownload(cmd *base.Command, args []string) { m.Error = err.Error() return } + if latest[m.Path] == m.Version { + m.Latest = true + } }) if *downloadJSON { @@ -144,7 +179,7 @@ func runDownload(cmd *base.Command, args []string) { } else { for _, m := range mods { if m.Error != "" { - base.Errorf("%s@%s: %s\n", m.Path, m.Version, m.Error) + base.Errorf("%s", m.Error) } } base.ExitIfErrors() diff --git a/src/cmd/go/internal/modconv/convert_test.go b/src/cmd/go/internal/modconv/convert_test.go index 32727e79eb..8ff229bd14 100644 --- a/src/cmd/go/internal/modconv/convert_test.go +++ b/src/cmd/go/internal/modconv/convert_test.go @@ -128,7 +128,7 @@ func TestConvertLegacyConfig(t *testing.T) { { // golang.org/issue/24585 - confusion about v2.0.0 tag in legacy non-v2 module - "github.com/fishy/gcsbucket", "v0.0.0-20150410205453-618d60fe84e0", + "github.com/fishy/gcsbucket", "v0.0.0-20180217031846-618d60fe84e0", `module github.com/fishy/gcsbucket require ( diff --git a/src/cmd/go/internal/modfetch/cache.go b/src/cmd/go/internal/modfetch/cache.go index b23776d874..c0062809d1 100644 --- a/src/cmd/go/internal/modfetch/cache.go +++ b/src/cmd/go/internal/modfetch/cache.go @@ -216,29 +216,21 @@ func (r *cachingRepo) Latest() (*RevInfo, error) { return &info, nil } -func (r *cachingRepo) GoMod(rev string) ([]byte, error) { +func (r *cachingRepo) GoMod(version string) ([]byte, error) { type cached struct { text []byte err error } - c := r.cache.Do("gomod:"+rev, func() interface{} { - file, text, err := readDiskGoMod(r.path, rev) + c := r.cache.Do("gomod:"+version, func() interface{} { + file, text, err := readDiskGoMod(r.path, version) if err == nil { // Note: readDiskGoMod already called checkGoMod. return cached{text, nil} } - // Convert rev to canonical version - // so that we use the right identifier in the go.sum check. - info, err := r.Stat(rev) - if err != nil { - return cached{nil, err} - } - rev = info.Version - - text, err = r.r.GoMod(rev) + text, err = r.r.GoMod(version) if err == nil { - checkGoMod(r.path, rev, text) + checkGoMod(r.path, version, text) if err := writeDiskGoMod(file, text); err != nil { fmt.Fprintf(os.Stderr, "go: writing go.mod cache: %v\n", err) } diff --git a/src/cmd/go/internal/modfetch/codehost/codehost.go b/src/cmd/go/internal/modfetch/codehost/codehost.go index 6c17f7886f..a4e50d692a 100644 --- a/src/cmd/go/internal/modfetch/codehost/codehost.go +++ b/src/cmd/go/internal/modfetch/codehost/codehost.go @@ -79,14 +79,16 @@ type Repo interface { // nested in a single top-level directory, whose name is not specified. ReadZip(rev, subdir string, maxSize int64) (zip io.ReadCloser, actualSubdir string, err error) - // RecentTag returns the most recent tag at or before the given rev - // with the given prefix. It should make a best-effort attempt to - // find a tag that is a valid semantic version (following the prefix), - // or else the result is not useful to the caller, but it need not - // incur great expense in doing so. For example, the git implementation - // of RecentTag limits git's search to tags matching the glob expression - // "v[0-9]*.[0-9]*.[0-9]*" (after the prefix). - RecentTag(rev, prefix string) (tag string, err error) + // RecentTag returns the most recent tag on rev or one of its predecessors + // with the given prefix and major version. + // An empty major string matches any major version. + RecentTag(rev, prefix, major string) (tag string, err error) + + // DescendsFrom reports whether rev or any of its ancestors has the given tag. + // + // DescendsFrom must return true for any tag returned by RecentTag for the + // same revision. + DescendsFrom(rev, tag string) (bool, error) } // A Rev describes a single revision in a source code repository. @@ -105,6 +107,32 @@ type FileRev struct { Err error // error if any; os.IsNotExist(Err)==true if rev exists but file does not exist in that rev } +// UnknownRevisionError is an error equivalent to os.ErrNotExist, but for a +// revision rather than a file. +type UnknownRevisionError struct { + Rev string +} + +func (e *UnknownRevisionError) Error() string { + return "unknown revision " + e.Rev +} +func (UnknownRevisionError) Is(err error) bool { + return err == os.ErrNotExist +} + +// ErrNoCommits is an error equivalent to os.ErrNotExist indicating that a given +// repository or module contains no commits. +var ErrNoCommits error = noCommitsError{} + +type noCommitsError struct{} + +func (noCommitsError) Error() string { + return "no commits" +} +func (noCommitsError) Is(err error) bool { + return err == os.ErrNotExist +} + // AllHex reports whether the revision rev is entirely lower-case hexadecimal digits. func AllHex(rev string) bool { for i := 0; i < len(rev); i++ { diff --git a/src/cmd/go/internal/modfetch/codehost/git.go b/src/cmd/go/internal/modfetch/codehost/git.go index a1d451d61a..d382e8ac9a 100644 --- a/src/cmd/go/internal/modfetch/codehost/git.go +++ b/src/cmd/go/internal/modfetch/codehost/git.go @@ -10,6 +10,7 @@ import ( "io" "io/ioutil" "os" + "os/exec" "path/filepath" "sort" "strconv" @@ -221,7 +222,7 @@ func (r *gitRepo) Latest() (*RevInfo, error) { return nil, r.refsErr } if r.refs["HEAD"] == "" { - return nil, fmt.Errorf("no commits") + return nil, ErrNoCommits } return r.Stat(r.refs["HEAD"]) } @@ -318,7 +319,7 @@ func (r *gitRepo) stat(rev string) (*RevInfo, error) { hash = rev } } else { - return nil, fmt.Errorf("unknown revision %s", rev) + return nil, &UnknownRevisionError{Rev: rev} } // Protect r.fetchLevel and the "fetch more and more" sequence. @@ -378,19 +379,32 @@ func (r *gitRepo) stat(rev string) (*RevInfo, error) { // Last resort. // Fetch all heads and tags and hope the hash we want is in the history. - if r.fetchLevel < fetchAll { - // TODO(bcmills): should we wait to upgrade fetchLevel until after we check - // err? If there is a temporary server error, we want subsequent fetches to - // try again instead of proceeding with an incomplete repo. - r.fetchLevel = fetchAll - if err := r.fetchUnshallow("refs/heads/*:refs/heads/*", "refs/tags/*:refs/tags/*"); err != nil { - return nil, err - } + if err := r.fetchRefsLocked(); err != nil { + return nil, err } return r.statLocal(rev, rev) } +// fetchRefsLocked fetches all heads and tags from the origin, along with the +// ancestors of those commits. +// +// We only fetch heads and tags, not arbitrary other commits: we don't want to +// pull in off-branch commits (such as rejected GitHub pull requests) that the +// server may be willing to provide. (See the comments within the stat method +// for more detail.) +// +// fetchRefsLocked requires that r.mu remain locked for the duration of the call. +func (r *gitRepo) fetchRefsLocked() error { + if r.fetchLevel < fetchAll { + if err := r.fetchUnshallow("refs/heads/*:refs/heads/*", "refs/tags/*:refs/tags/*"); err != nil { + return err + } + r.fetchLevel = fetchAll + } + return nil +} + func (r *gitRepo) fetchUnshallow(refSpecs ...string) error { // To work around a protocol version 2 bug that breaks --unshallow, // add -c protocol.version=0. @@ -411,7 +425,7 @@ func (r *gitRepo) fetchUnshallow(refSpecs ...string) error { func (r *gitRepo) statLocal(version, rev string) (*RevInfo, error) { out, err := Run(r.dir, "git", "-c", "log.showsignature=false", "log", "-n1", "--format=format:%H %ct %D", rev, "--") if err != nil { - return nil, fmt.Errorf("unknown revision %s", rev) + return nil, &UnknownRevisionError{Rev: rev} } f := strings.Fields(string(out)) if len(f) < 2 { @@ -648,7 +662,7 @@ func (r *gitRepo) readFileRevs(tags []string, file string, fileMap map[string]*F return missing, nil } -func (r *gitRepo) RecentTag(rev, prefix string) (tag string, err error) { +func (r *gitRepo) RecentTag(rev, prefix, major string) (tag string, err error) { info, err := r.Stat(rev) if err != nil { return "", err @@ -681,7 +695,7 @@ func (r *gitRepo) RecentTag(rev, prefix string) (tag string, err error) { semtag := line[len(prefix):] // Consider only tags that are valid and complete (not just major.minor prefixes). - if c := semver.Canonical(semtag); c != "" && strings.HasPrefix(semtag, c) { + if c := semver.Canonical(semtag); c != "" && strings.HasPrefix(semtag, c) && (major == "" || semver.Major(c) == major) { highest = semver.Max(highest, semtag) } } @@ -716,12 +730,8 @@ func (r *gitRepo) RecentTag(rev, prefix string) (tag string, err error) { } defer unlock() - if r.fetchLevel < fetchAll { - // Fetch all heads and tags and see if that gives us enough history. - if err := r.fetchUnshallow("refs/heads/*:refs/heads/*", "refs/tags/*:refs/tags/*"); err != nil { - return "", err - } - r.fetchLevel = fetchAll + if err := r.fetchRefsLocked(); err != nil { + return "", err } // If we've reached this point, we have all of the commits that are reachable @@ -738,6 +748,67 @@ func (r *gitRepo) RecentTag(rev, prefix string) (tag string, err error) { return tag, err } +func (r *gitRepo) DescendsFrom(rev, tag string) (bool, error) { + // The "--is-ancestor" flag was added to "git merge-base" in version 1.8.0, so + // this won't work with Git 1.7.1. According to golang.org/issue/28550, cmd/go + // already doesn't work with Git 1.7.1, so at least it's not a regression. + // + // git merge-base --is-ancestor exits with status 0 if rev is an ancestor, or + // 1 if not. + _, err := Run(r.dir, "git", "merge-base", "--is-ancestor", "--", tag, rev) + + // Git reports "is an ancestor" with exit code 0 and "not an ancestor" with + // exit code 1. + // Unfortunately, if we've already fetched rev with a shallow history, git + // merge-base has been observed to report a false-negative, so don't stop yet + // even if the exit code is 1! + if err == nil { + return true, nil + } + + // See whether the tag and rev even exist. + tags, err := r.Tags(tag) + if err != nil { + return false, err + } + if len(tags) == 0 { + return false, nil + } + + // NOTE: r.stat is very careful not to fetch commits that we shouldn't know + // about, like rejected GitHub pull requests, so don't try to short-circuit + // that here. + if _, err = r.stat(rev); err != nil { + return false, err + } + + // Now fetch history so that git can search for a path. + unlock, err := r.mu.Lock() + if err != nil { + return false, err + } + defer unlock() + + if r.fetchLevel < fetchAll { + // Fetch the complete history for all refs and heads. It would be more + // efficient to only fetch the history from rev to tag, but that's much more + // complicated, and any kind of shallow fetch is fairly likely to trigger + // bugs in JGit servers and/or the go command anyway. + if err := r.fetchRefsLocked(); err != nil { + return false, err + } + } + + _, err = Run(r.dir, "git", "merge-base", "--is-ancestor", "--", tag, rev) + if err == nil { + return true, nil + } + if ee, ok := err.(*RunError).Err.(*exec.ExitError); ok && ee.ExitCode() == 1 { + return false, nil + } + return false, err +} + func (r *gitRepo) ReadZip(rev, subdir string, maxSize int64) (zip io.ReadCloser, actualSubdir string, err error) { // TODO: Use maxSize or drop it. args := []string{} diff --git a/src/cmd/go/internal/modfetch/codehost/vcs.go b/src/cmd/go/internal/modfetch/codehost/vcs.go index 34aeedebc5..48238f176c 100644 --- a/src/cmd/go/internal/modfetch/codehost/vcs.go +++ b/src/cmd/go/internal/modfetch/codehost/vcs.go @@ -341,13 +341,15 @@ func (r *vcsRepo) Stat(rev string) (*RevInfo, error) { } func (r *vcsRepo) fetch() { - _, r.fetchErr = Run(r.dir, r.cmd.fetch) + if len(r.cmd.fetch) > 0 { + _, r.fetchErr = Run(r.dir, r.cmd.fetch) + } } func (r *vcsRepo) statLocal(rev string) (*RevInfo, error) { out, err := Run(r.dir, r.cmd.statLocal(rev, r.remote)) if err != nil { - return nil, vcsErrorf("unknown revision %s", rev) + return nil, &UnknownRevisionError{Rev: rev} } return r.cmd.parseStat(rev, string(out)) } @@ -392,7 +394,7 @@ func (r *vcsRepo) ReadFileRevs(revs []string, file string, maxSize int64) (map[s return nil, vcsErrorf("ReadFileRevs not implemented") } -func (r *vcsRepo) RecentTag(rev, prefix string) (tag string, err error) { +func (r *vcsRepo) RecentTag(rev, prefix, major string) (tag string, err error) { // We don't technically need to lock here since we're returning an error // uncondititonally, but doing so anyway will help to avoid baking in // lock-inversion bugs. @@ -405,6 +407,16 @@ func (r *vcsRepo) RecentTag(rev, prefix string) (tag string, err error) { return "", vcsErrorf("RecentTag not implemented") } +func (r *vcsRepo) DescendsFrom(rev, tag string) (bool, error) { + unlock, err := r.mu.Lock() + if err != nil { + return false, err + } + defer unlock() + + return false, vcsErrorf("DescendsFrom not implemented") +} + func (r *vcsRepo) ReadZip(rev, subdir string, maxSize int64) (zip io.ReadCloser, actualSubdir string, err error) { if r.cmd.readZip == nil { return nil, "", vcsErrorf("ReadZip not implemented for %s", r.cmd.vcs) diff --git a/src/cmd/go/internal/modfetch/coderepo.go b/src/cmd/go/internal/modfetch/coderepo.go index 59f2cc70b5..f15ce67d46 100644 --- a/src/cmd/go/internal/modfetch/coderepo.go +++ b/src/cmd/go/internal/modfetch/coderepo.go @@ -6,12 +6,14 @@ package modfetch import ( "archive/zip" + "errors" "fmt" "io" "io/ioutil" "os" "path" "strings" + "time" "cmd/go/internal/modfetch/codehost" "cmd/go/internal/modfile" @@ -29,7 +31,7 @@ type codeRepo struct { codeRoot string // codeDir is the directory (relative to root) at which we expect to find the module. // If pathMajor is non-empty and codeRoot is not the full modPath, - // then we look in both codeDir and codeDir+modPath + // then we look in both codeDir and codeDir/pathMajor[1:]. codeDir string // pathMajor is the suffix of modPath that indicates its major version, @@ -42,12 +44,10 @@ type codeRepo struct { // It is used only for logging. pathPrefix string - // pseudoMajor is the major version prefix to use when generating - // pseudo-versions for this module, derived from the module path. - // - // TODO(golang.org/issue/29262): We can't distinguish v0 from v1 using the - // path alone: we have to compute it by examining the tags at a particular - // revision. + // pseudoMajor is the major version prefix to require when generating + // pseudo-versions for this module, derived from the module path. pseudoMajor + // is empty if the module path does not include a version suffix (that is, + // accepts either v0 or v1). pseudoMajor string } @@ -65,10 +65,7 @@ func newCodeRepo(code codehost.Repo, codeRoot, path string) (Repo, error) { if codeRoot == path { pathPrefix = path } - pseudoMajor := "v0" - if pathMajor != "" { - pseudoMajor = pathMajor[1:] - } + pseudoMajor := module.PathMajorPrefix(pathMajor) // Compute codeDir = bar, the subdirectory within the repo // corresponding to the module root. @@ -159,7 +156,7 @@ func (r *codeRepo) Versions(prefix string) ([]string, error) { if v == "" || v != module.CanonicalVersion(v) || IsPseudoVersion(v) { continue } - if !module.MatchPathMajor(v, r.pathMajor) { + if err := module.MatchPathMajor(v, r.pathMajor); err != nil { if r.codeDir == "" && r.pathMajor == "" && semver.Major(v) > "v1" { incompatible = append(incompatible, v) } @@ -195,7 +192,13 @@ func (r *codeRepo) Stat(rev string) (*RevInfo, error) { codeRev := r.revToRev(rev) info, err := r.code.Stat(codeRev) if err != nil { - return nil, err + return nil, &module.ModuleError{ + Path: r.modPath, + Err: &module.InvalidVersionError{ + Version: rev, + Err: err, + }, + } } return r.convert(info, rev) } @@ -220,79 +223,353 @@ func (r *codeRepo) convert(info *codehost.RevInfo, statVers string) (*RevInfo, e Time: info.Time, } - // Determine version. - if module.CanonicalVersion(statVers) == statVers && module.MatchPathMajor(statVers, r.pathMajor) { - // The original call was repo.Stat(statVers), and requestedVersion is OK, so use it. - info2.Version = statVers - } else { - // Otherwise derive a version from a code repo tag. - // Tag must have a prefix matching codeDir. - p := "" - if r.codeDir != "" { - p = r.codeDir + "/" - } - - // If this is a plain tag (no dir/ prefix) - // and the module path is unversioned, - // and if the underlying file tree has no go.mod, - // then allow using the tag with a +incompatible suffix. - canUseIncompatible := false + // If this is a plain tag (no dir/ prefix) + // and the module path is unversioned, + // and if the underlying file tree has no go.mod, + // then allow using the tag with a +incompatible suffix. + var canUseIncompatible func() bool + canUseIncompatible = func() bool { + var ok bool if r.codeDir == "" && r.pathMajor == "" { _, errGoMod := r.code.ReadFile(info.Name, "go.mod", codehost.MaxGoMod) if errGoMod != nil { - canUseIncompatible = true + ok = true } } + canUseIncompatible = func() bool { return ok } + return ok + } - tagToVersion := func(v string) string { - if !strings.HasPrefix(v, p) { - return "" - } - v = v[len(p):] - if module.CanonicalVersion(v) != v || IsPseudoVersion(v) { - return "" - } - if module.MatchPathMajor(v, r.pathMajor) { - return v - } - if canUseIncompatible { - return v + "+incompatible" - } - return "" - } - - // If info.Version is OK, use it. - if v := tagToVersion(info.Version); v != "" { - info2.Version = v - } else { - // Otherwise look through all known tags for latest in semver ordering. - for _, tag := range info.Tags { - if v := tagToVersion(tag); v != "" && semver.Compare(info2.Version, v) < 0 { - info2.Version = v - } - } - // Otherwise make a pseudo-version. - if info2.Version == "" { - tag, _ := r.code.RecentTag(info.Name, p) - v = tagToVersion(tag) - // TODO: Check that v is OK for r.pseudoMajor or else is OK for incompatible. - info2.Version = PseudoVersion(r.pseudoMajor, v, info.Time, info.Short) - } + invalidf := func(format string, args ...interface{}) error { + return &module.ModuleError{ + Path: r.modPath, + Err: &module.InvalidVersionError{ + Version: info2.Version, + Err: fmt.Errorf(format, args...), + }, } } - // Do not allow a successful stat of a pseudo-version for a subdirectory - // unless the subdirectory actually does have a go.mod. - if IsPseudoVersion(info2.Version) && r.codeDir != "" { + // checkGoMod verifies that the go.mod file for the module exists or does not + // exist as required by info2.Version and the module path represented by r. + checkGoMod := func() (*RevInfo, error) { + // If r.codeDir is non-empty, then the go.mod file must exist: the module + // author — not the module consumer, — gets to decide how to carve up the repo + // into modules. + // + // Conversely, if the go.mod file exists, the module author — not the module + // consumer — gets to determine the module's path + // + // r.findDir verifies both of these conditions. Execute it now so that + // r.Stat will correctly return a notExistError if the go.mod location or + // declared module path doesn't match. _, _, _, err := r.findDir(info2.Version) if err != nil { // TODO: It would be nice to return an error like "not a module". // Right now we return "missing go.mod", which is a little confusing. - return nil, err + return nil, &module.ModuleError{ + Path: r.modPath, + Err: &module.InvalidVersionError{ + Version: info2.Version, + Err: notExistError(err.Error()), + }, + } + } + + // If the version is +incompatible, then the go.mod file must not exist: + // +incompatible is not an ongoing opt-out from semantic import versioning. + if strings.HasSuffix(info2.Version, "+incompatible") { + if !canUseIncompatible() { + if r.pathMajor != "" { + return nil, invalidf("+incompatible suffix not allowed: module path includes a major version suffix, so major version must match") + } else { + return nil, invalidf("+incompatible suffix not allowed: module contains a go.mod file, so semantic import versioning is required") + } + } + + if err := module.MatchPathMajor(strings.TrimSuffix(info2.Version, "+incompatible"), r.pathMajor); err == nil { + return nil, invalidf("+incompatible suffix not allowed: major version %s is compatible", semver.Major(info2.Version)) + } + } + + return info2, nil + } + + // Determine version. + // + // If statVers is canonical, then the original call was repo.Stat(statVers). + // Since the version is canonical, we must not resolve it to anything but + // itself, possibly with a '+incompatible' annotation: we do not need to do + // the work required to look for an arbitrary pseudo-version. + if statVers != "" && statVers == module.CanonicalVersion(statVers) { + info2.Version = statVers + + if IsPseudoVersion(info2.Version) { + if err := r.validatePseudoVersion(info, info2.Version); err != nil { + return nil, err + } + return checkGoMod() + } + + if err := module.MatchPathMajor(info2.Version, r.pathMajor); err != nil { + if canUseIncompatible() { + info2.Version += "+incompatible" + return checkGoMod() + } else { + if vErr, ok := err.(*module.InvalidVersionError); ok { + // We're going to describe why the version is invalid in more detail, + // so strip out the existing “invalid version” wrapper. + err = vErr.Err + } + return nil, invalidf("module contains a go.mod file, so major version must be compatible: %v", err) + } + } + + return checkGoMod() + } + + // statVers is empty or non-canonical, so we need to resolve it to a canonical + // version or pseudo-version. + + // Derive or verify a version from a code repo tag. + // Tag must have a prefix matching codeDir. + tagPrefix := "" + if r.codeDir != "" { + tagPrefix = r.codeDir + "/" + } + + // tagToVersion returns the version obtained by trimming tagPrefix from tag. + // If the tag is invalid or a pseudo-version, tagToVersion returns an empty + // version. + tagToVersion := func(tag string) (v string, tagIsCanonical bool) { + if !strings.HasPrefix(tag, tagPrefix) { + return "", false + } + trimmed := tag[len(tagPrefix):] + // Tags that look like pseudo-versions would be confusing. Ignore them. + if IsPseudoVersion(tag) { + return "", false + } + + v = semver.Canonical(trimmed) // Not module.Canonical: we don't want to pick up an explicit "+incompatible" suffix from the tag. + if v == "" || !strings.HasPrefix(trimmed, v) { + return "", false // Invalid or incomplete version (just vX or vX.Y). + } + if v == trimmed { + tagIsCanonical = true + } + + if err := module.MatchPathMajor(v, r.pathMajor); err != nil { + if canUseIncompatible() { + return v + "+incompatible", tagIsCanonical + } + return "", false + } + + return v, tagIsCanonical + } + + // If the VCS gave us a valid version, use that. + if v, tagIsCanonical := tagToVersion(info.Version); tagIsCanonical { + info2.Version = v + return checkGoMod() + } + + // Look through the tags on the revision for either a usable canonical version + // or an appropriate base for a pseudo-version. + var pseudoBase string + for _, pathTag := range info.Tags { + v, tagIsCanonical := tagToVersion(pathTag) + if tagIsCanonical { + if statVers != "" && semver.Compare(v, statVers) == 0 { + // The user requested a non-canonical version, but the tag for the + // canonical equivalent refers to the same revision. Use it. + info2.Version = v + return checkGoMod() + } else { + // Save the highest canonical tag for the revision. If we don't find a + // better match, we'll use it as the canonical version. + // + // NOTE: Do not replace this with semver.Max. Despite the name, + // semver.Max *also* canonicalizes its arguments, which uses + // semver.Canonical instead of module.CanonicalVersion and thereby + // strips our "+incompatible" suffix. + if semver.Compare(info2.Version, v) < 0 { + info2.Version = v + } + } + } else if v != "" && semver.Compare(v, statVers) == 0 { + // The user explicitly requested something equivalent to this tag. We + // can't use the version from the tag directly: since the tag is not + // canonical, it could be ambiguous. For example, tags v0.0.1+a and + // v0.0.1+b might both exist and refer to different revisions. + // + // The tag is otherwise valid for the module, so we can at least use it as + // the base of an unambiguous pseudo-version. + // + // If multiple tags match, tagToVersion will canonicalize them to the same + // base version. + pseudoBase = v } } - return info2, nil + // If we found any canonical tag for the revision, return it. + // Even if we found a good pseudo-version base, a canonical version is better. + if info2.Version != "" { + return checkGoMod() + } + + if pseudoBase == "" { + var tag string + if r.pseudoMajor != "" || canUseIncompatible() { + tag, _ = r.code.RecentTag(info.Name, tagPrefix, r.pseudoMajor) + } else { + // Allow either v1 or v0, but not incompatible higher versions. + tag, _ = r.code.RecentTag(info.Name, tagPrefix, "v1") + if tag == "" { + tag, _ = r.code.RecentTag(info.Name, tagPrefix, "v0") + } + } + pseudoBase, _ = tagToVersion(tag) // empty if the tag is invalid + } + + info2.Version = PseudoVersion(r.pseudoMajor, pseudoBase, info.Time, info.Short) + return checkGoMod() +} + +// validatePseudoVersion checks that version has a major version compatible with +// r.modPath and encodes a base version and commit metadata that agrees with +// info. +// +// Note that verifying a nontrivial base version in particular may be somewhat +// expensive: in order to do so, r.code.DescendsFrom will need to fetch at least +// enough of the commit history to find a path between version and its base. +// Fortunately, many pseudo-versions — such as those for untagged repositories — +// have trivial bases! +func (r *codeRepo) validatePseudoVersion(info *codehost.RevInfo, version string) (err error) { + defer func() { + if err != nil { + if _, ok := err.(*module.ModuleError); !ok { + if _, ok := err.(*module.InvalidVersionError); !ok { + err = &module.InvalidVersionError{Version: version, Pseudo: true, Err: err} + } + err = &module.ModuleError{Path: r.modPath, Err: err} + } + } + }() + + if err := module.MatchPathMajor(version, r.pathMajor); err != nil { + return err + } + + rev, err := PseudoVersionRev(version) + if err != nil { + return err + } + if rev != info.Short { + switch { + case strings.HasPrefix(rev, info.Short): + return fmt.Errorf("revision is longer than canonical (%s)", info.Short) + case strings.HasPrefix(info.Short, rev): + return fmt.Errorf("revision is shorter than canonical (%s)", info.Short) + default: + return fmt.Errorf("does not match short name of revision (%s)", info.Short) + } + } + + t, err := PseudoVersionTime(version) + if err != nil { + return err + } + if !t.Equal(info.Time.Truncate(time.Second)) { + return fmt.Errorf("does not match version-control timestamp (%s)", info.Time.UTC().Format(time.RFC3339)) + } + + tagPrefix := "" + if r.codeDir != "" { + tagPrefix = r.codeDir + "/" + } + + // A pseudo-version should have a precedence just above its parent revisions, + // and no higher. Otherwise, it would be possible for library authors to "pin" + // dependency versions (and bypass the usual minimum version selection) by + // naming an extremely high pseudo-version rather than an accurate one. + // + // Moreover, if we allow a pseudo-version to use any arbitrary pre-release + // tag, we end up with infinitely many possible names for each commit. Each + // name consumes resources in the module cache and proxies, so we want to + // restrict them to a finite set under control of the module author. + // + // We address both of these issues by requiring the tag upon which the + // pseudo-version is based to refer to some ancestor of the revision. We + // prefer the highest such tag when constructing a new pseudo-version, but do + // not enforce that property when resolving existing pseudo-versions: we don't + // know when the parent tags were added, and the highest-tagged parent may not + // have existed when the pseudo-version was first resolved. + base, err := PseudoVersionBase(strings.TrimSuffix(version, "+incompatible")) + if err != nil { + return err + } + if base == "" { + if r.pseudoMajor == "" && semver.Major(version) == "v1" { + return fmt.Errorf("major version without preceding tag must be v0, not v1") + } + return nil + } else { + for _, tag := range info.Tags { + versionOnly := strings.TrimPrefix(tag, tagPrefix) + if versionOnly == base { + // The base version is canonical, so if the version from the tag is + // literally equal (not just equivalent), then the tag is canonical too. + // + // We allow pseudo-versions to be derived from non-canonical tags on the + // same commit, so that tags like "v1.1.0+some-metadata" resolve as + // close as possible to the canonical version ("v1.1.0") while still + // enforcing a total ordering ("v1.1.1-0.[…]" with a unique suffix). + // + // However, canonical tags already have a total ordering, so there is no + // reason not to use the canonical tag directly, and we know that the + // canonical tag must already exist because the pseudo-version is + // derived from it. In that case, referring to the revision by a + // pseudo-version derived from its own canonical tag is just confusing. + return fmt.Errorf("tag (%s) found on revision %s is already canonical, so should not be replaced with a pseudo-version derived from that tag", tag, rev) + } + } + } + + tags, err := r.code.Tags(tagPrefix + base) + if err != nil { + return err + } + + var lastTag string // Prefer to log some real tag rather than a canonically-equivalent base. + ancestorFound := false + for _, tag := range tags { + versionOnly := strings.TrimPrefix(tag, tagPrefix) + if semver.Compare(versionOnly, base) == 0 { + lastTag = tag + ancestorFound, err = r.code.DescendsFrom(info.Name, tag) + if ancestorFound { + break + } + } + } + + if lastTag == "" { + return fmt.Errorf("preceding tag (%s) not found", base) + } + + if !ancestorFound { + if err != nil { + return err + } + rev, err := PseudoVersionRev(version) + if err != nil { + return fmt.Errorf("not a descendent of preceding tag (%s)", lastTag) + } + return fmt.Errorf("revision %s is not a descendent of preceding tag (%s)", rev, lastTag) + } + return nil } func (r *codeRepo) revToRev(rev string) string { @@ -314,11 +591,21 @@ func (r *codeRepo) revToRev(rev string) string { func (r *codeRepo) versionToRev(version string) (rev string, err error) { if !semver.IsValid(version) { - return "", fmt.Errorf("malformed semantic version %q", version) + return "", &module.ModuleError{ + Path: r.modPath, + Err: &module.InvalidVersionError{ + Version: version, + Err: errors.New("syntax error"), + }, + } } return r.revToRev(version), nil } +// findDir locates the directory within the repo containing the module. +// +// If r.pathMajor is non-empty, this can be either r.codeDir or — if a go.mod +// file exists — r.codeDir/r.pathMajor[1:]. func (r *codeRepo) findDir(version string) (rev, dir string, gomod []byte, err error) { rev, err = r.versionToRev(version) if err != nil { @@ -424,6 +711,21 @@ func isMajor(mpath, pathMajor string) bool { } func (r *codeRepo) GoMod(version string) (data []byte, err error) { + if version != module.CanonicalVersion(version) { + return nil, fmt.Errorf("version %s is not canonical", version) + } + + if IsPseudoVersion(version) { + // findDir ignores the metadata encoded in a pseudo-version, + // only using the revision at the end. + // Invoke Stat to verify the metadata explicitly so we don't return + // a bogus file for an invalid version. + _, err := r.Stat(version) + if err != nil { + return nil, err + } + } + rev, dir, gomod, err := r.findDir(version) if err != nil { return nil, err @@ -457,6 +759,21 @@ func (r *codeRepo) modPrefix(rev string) string { } func (r *codeRepo) Zip(dst io.Writer, version string) error { + if version != module.CanonicalVersion(version) { + return fmt.Errorf("version %s is not canonical", version) + } + + if IsPseudoVersion(version) { + // findDir ignores the metadata encoded in a pseudo-version, + // only using the revision at the end. + // Invoke Stat to verify the metadata explicitly so we don't return + // a bogus file for an invalid version. + _, err := r.Stat(version) + if err != nil { + return err + } + } + rev, dir, _, err := r.findDir(version) if err != nil { return err diff --git a/src/cmd/go/internal/modfetch/coderepo_test.go b/src/cmd/go/internal/modfetch/coderepo_test.go index 2cf6f81122..1f2b95bd23 100644 --- a/src/cmd/go/internal/modfetch/coderepo_test.go +++ b/src/cmd/go/internal/modfetch/coderepo_test.go @@ -7,7 +7,6 @@ package modfetch import ( "archive/zip" "internal/testenv" - "io" "io/ioutil" "log" "os" @@ -84,6 +83,26 @@ var codeRepoTests = []codeRepoTest{ "pkg/p.go", }, }, + { + vcs: "git", + path: "github.com/rsc/vgotest1", + rev: "v0.0.0-20180219231006-80d85c5d4d17", + version: "v0.0.0-20180219231006-80d85c5d4d17", + name: "80d85c5d4d17598a0e9055e7c175a32b415d6128", + short: "80d85c5d4d17", + time: time.Date(2018, 2, 19, 23, 10, 6, 0, time.UTC), + zip: []string{ + "LICENSE", + "README.md", + "pkg/p.go", + }, + }, + { + vcs: "git", + path: "github.com/rsc/vgotest1", + rev: "v0.0.1-0.20180219231006-80d85c5d4d17", + err: `github.com/rsc/vgotest1@v0.0.1-0.20180219231006-80d85c5d4d17: invalid pseudo-version: tag (v0.0.0) found on revision 80d85c5d4d17 is already canonical, so should not be replaced with a pseudo-version derived from that tag`, + }, { vcs: "git", path: "github.com/rsc/vgotest1", @@ -106,7 +125,7 @@ var codeRepoTests = []codeRepoTest{ name: "45f53230a74ad275c7127e117ac46914c8126160", short: "45f53230a74a", time: time.Date(2018, 7, 19, 1, 21, 27, 0, time.UTC), - ziperr: "missing github.com/rsc/vgotest1/go.mod and .../v2/go.mod at revision v2.0.0", + err: "missing github.com/rsc/vgotest1/go.mod and .../v2/go.mod at revision v2.0.0", }, { vcs: "git", @@ -137,15 +156,14 @@ var codeRepoTests = []codeRepoTest{ }, }, { - vcs: "git", - path: "github.com/rsc/vgotest1/v2", - rev: "45f53230a", - version: "v2.0.0", - name: "45f53230a74ad275c7127e117ac46914c8126160", - short: "45f53230a74a", - time: time.Date(2018, 7, 19, 1, 21, 27, 0, time.UTC), - gomoderr: "missing github.com/rsc/vgotest1/go.mod and .../v2/go.mod at revision v2.0.0", - ziperr: "missing github.com/rsc/vgotest1/go.mod and .../v2/go.mod at revision v2.0.0", + vcs: "git", + path: "github.com/rsc/vgotest1/v2", + rev: "45f53230a", + version: "v2.0.0", + name: "45f53230a74ad275c7127e117ac46914c8126160", + short: "45f53230a74a", + time: time.Date(2018, 7, 19, 1, 21, 27, 0, time.UTC), + err: "missing github.com/rsc/vgotest1/go.mod and .../v2/go.mod at revision v2.0.0", }, { vcs: "git", @@ -155,7 +173,7 @@ var codeRepoTests = []codeRepoTest{ name: "80d85c5d4d17598a0e9055e7c175a32b415d6128", short: "80d85c5d4d17", time: time.Date(2018, 2, 19, 23, 10, 6, 0, time.UTC), - ziperr: "missing github.com/rsc/vgotest1/go.mod and .../v54321/go.mod at revision 80d85c5d4d17", + err: "missing github.com/rsc/vgotest1/go.mod and .../v54321/go.mod at revision 80d85c5d4d17", }, { vcs: "git", @@ -211,24 +229,24 @@ var codeRepoTests = []codeRepoTest{ gomod: "module \"github.com/rsc/vgotest1/v2\" // root go.mod\n", }, { - vcs: "git", - path: "github.com/rsc/vgotest1/v2", - rev: "v2.0.3", - version: "v2.0.3", - name: "f18795870fb14388a21ef3ebc1d75911c8694f31", - short: "f18795870fb1", - time: time.Date(2018, 2, 19, 23, 16, 4, 0, time.UTC), - gomoderr: "github.com/rsc/vgotest1/v2/go.mod has non-.../v2 module path \"github.com/rsc/vgotest\" at revision v2.0.3", + vcs: "git", + path: "github.com/rsc/vgotest1/v2", + rev: "v2.0.3", + version: "v2.0.3", + name: "f18795870fb14388a21ef3ebc1d75911c8694f31", + short: "f18795870fb1", + time: time.Date(2018, 2, 19, 23, 16, 4, 0, time.UTC), + err: "github.com/rsc/vgotest1/v2/go.mod has non-.../v2 module path \"github.com/rsc/vgotest\" at revision v2.0.3", }, { - vcs: "git", - path: "github.com/rsc/vgotest1/v2", - rev: "v2.0.4", - version: "v2.0.4", - name: "1f863feb76bc7029b78b21c5375644838962f88d", - short: "1f863feb76bc", - time: time.Date(2018, 2, 20, 0, 3, 38, 0, time.UTC), - gomoderr: "github.com/rsc/vgotest1/go.mod and .../v2/go.mod both have .../v2 module paths at revision v2.0.4", + vcs: "git", + path: "github.com/rsc/vgotest1/v2", + rev: "v2.0.4", + version: "v2.0.4", + name: "1f863feb76bc7029b78b21c5375644838962f88d", + short: "1f863feb76bc", + time: time.Date(2018, 2, 20, 0, 3, 38, 0, time.UTC), + err: "github.com/rsc/vgotest1/go.mod and .../v2/go.mod both have .../v2 module paths at revision v2.0.4", }, { vcs: "git", @@ -505,6 +523,7 @@ func TestCodeRepo(t *testing.T) { tt.name = remap(tt.name, m) tt.short = remap(tt.short, m) tt.rev = remap(tt.rev, m) + tt.err = remap(tt.err, m) tt.gomoderr = remap(tt.gomoderr, m) tt.ziperr = remap(tt.ziperr, m) t.Run(strings.ReplaceAll(tt.path, "/", "_")+"/"+tt.rev, f(tt)) @@ -516,7 +535,7 @@ func TestCodeRepo(t *testing.T) { } var hgmap = map[string]string{ - "github.com/rsc/vgotest1/": "vcs-test.golang.org/hg/vgotest1.hg/", + "github.com/rsc/vgotest1": "vcs-test.golang.org/hg/vgotest1.hg", "f18795870fb14388a21ef3ebc1d75911c8694f31": "a9ad6d1d14eb544f459f446210c7eb3b009807c6", "ea65f87c8f52c15ea68f3bdd9925ef17e20d91e9": "f1fc0f22021b638d073d31c752847e7bf385def7", "b769f2de407a4db81af9c5de0a06016d60d2ea09": "92c7eb888b4fac17f1c6bd2e1060a1b881a3b832", @@ -632,14 +651,29 @@ var latestTests = []struct { err: "no commits", }, { - vcs: "git", - path: "github.com/rsc/vgotest1", - version: "v0.0.0-20180219223237-a08abb797a67", + vcs: "git", + path: "github.com/rsc/vgotest1", + err: `github.com/rsc/vgotest1@v0.0.0-20180219223237-a08abb797a67: invalid version: go.mod has post-v0 module path "github.com/vgotest1/v2" at revision a08abb797a67`, + }, + { + vcs: "git", + path: "github.com/rsc/vgotest1/v2", + err: `github.com/rsc/vgotest1/v2@v2.0.0-20180219223237-a08abb797a67: invalid version: github.com/rsc/vgotest1/go.mod and .../v2/go.mod both have .../v2 module paths at revision a08abb797a67`, }, { vcs: "git", path: "github.com/rsc/vgotest1/subdir", - err: "missing github.com/rsc/vgotest1/subdir/go.mod at revision a08abb797a67", + err: "github.com/rsc/vgotest1/subdir@v0.0.0-20180219223237-a08abb797a67: invalid version: missing github.com/rsc/vgotest1/subdir/go.mod at revision a08abb797a67", + }, + { + vcs: "git", + path: "vcs-test.golang.org/git/commit-after-tag.git", + version: "v1.0.1-0.20190715211727-b325d8217783", + }, + { + vcs: "git", + path: "vcs-test.golang.org/git/no-tags.git", + version: "v0.0.0-20190715212047-e706ba1d9f6d", }, { vcs: "mod", @@ -695,21 +729,10 @@ func TestLatest(t *testing.T) { // fixedTagsRepo is a fake codehost.Repo that returns a fixed list of tags type fixedTagsRepo struct { tags []string + codehost.Repo } -func (ch *fixedTagsRepo) Tags(string) ([]string, error) { return ch.tags, nil } -func (ch *fixedTagsRepo) Latest() (*codehost.RevInfo, error) { panic("not impl") } -func (ch *fixedTagsRepo) ReadFile(string, string, int64) ([]byte, error) { panic("not impl") } -func (ch *fixedTagsRepo) ReadFileRevs([]string, string, int64) (map[string]*codehost.FileRev, error) { - panic("not impl") -} -func (ch *fixedTagsRepo) ReadZip(string, string, int64) (io.ReadCloser, string, error) { - panic("not impl") -} -func (ch *fixedTagsRepo) RecentTag(string, string) (string, error) { - panic("not impl") -} -func (ch *fixedTagsRepo) Stat(string) (*codehost.RevInfo, error) { panic("not impl") } +func (ch *fixedTagsRepo) Tags(string) ([]string, error) { return ch.tags, nil } func TestNonCanonicalSemver(t *testing.T) { root := "golang.org/x/issue24476" diff --git a/src/cmd/go/internal/modfetch/fetch.go b/src/cmd/go/internal/modfetch/fetch.go index bc1d35e690..51a56028c4 100644 --- a/src/cmd/go/internal/modfetch/fetch.go +++ b/src/cmd/go/internal/modfetch/fetch.go @@ -701,9 +701,11 @@ to use and optionally its public key and URL, as in: GOSUMDB="sum.golang.org+" GOSUMDB="sum.golang.org+ https://sum.golang.org" -The go command knows the public key of sum.golang.org; use of any other -database requires giving the public key explicitly. The URL defaults to -"https://" followed by the database name. +The go command knows the public key of sum.golang.org, and also that the name +sum.golang.google.cn (available inside mainland China) connects to the +sum.golang.org checksum database; use of any other database requires giving +the public key explicitly. +The URL defaults to "https://" followed by the database name. GOSUMDB defaults to "sum.golang.org", the Go checksum database run by Google. See https://sum.golang.org/privacy for the service's privacy policy. @@ -757,7 +759,7 @@ users would configure go using: GOPROXY=proxy.example.com GONOPROXY=none -This would tell the go comamnd and other tools that modules beginning with +This would tell the go command and other tools that modules beginning with a corp.example.com subdomain are private but that the company proxy should be used for downloading both public and private modules, because GONOPROXY has been set to a pattern that won't match any modules, diff --git a/src/cmd/go/internal/modfetch/proxy.go b/src/cmd/go/internal/modfetch/proxy.go index ce74e826e1..569ef3a57a 100644 --- a/src/cmd/go/internal/modfetch/proxy.go +++ b/src/cmd/go/internal/modfetch/proxy.go @@ -196,6 +196,26 @@ func (p *proxyRepo) ModulePath() string { return p.path } +// versionError returns err wrapped in a ModuleError for p.path. +func (p *proxyRepo) versionError(version string, err error) error { + if version != "" && version != module.CanonicalVersion(version) { + return &module.ModuleError{ + Path: p.path, + Err: &module.InvalidVersionError{ + Version: version, + Pseudo: IsPseudoVersion(version), + Err: err, + }, + } + } + + return &module.ModuleError{ + Path: p.path, + Version: version, + Err: err, + } +} + func (p *proxyRepo) getBytes(path string) ([]byte, error) { body, err := p.getBody(path) if err != nil { @@ -226,12 +246,12 @@ func (p *proxyRepo) getBody(path string) (io.ReadCloser, error) { func (p *proxyRepo) Versions(prefix string) ([]string, error) { data, err := p.getBytes("@v/list") if err != nil { - return nil, err + return nil, p.versionError("", err) } var list []string for _, line := range strings.Split(string(data), "\n") { f := strings.Fields(line) - if len(f) >= 1 && semver.IsValid(f[0]) && strings.HasPrefix(f[0], prefix) { + if len(f) >= 1 && semver.IsValid(f[0]) && strings.HasPrefix(f[0], prefix) && !IsPseudoVersion(f[0]) { list = append(list, f[0]) } } @@ -242,44 +262,82 @@ func (p *proxyRepo) Versions(prefix string) ([]string, error) { func (p *proxyRepo) latest() (*RevInfo, error) { data, err := p.getBytes("@v/list") if err != nil { - return nil, err + return nil, p.versionError("", err) } - var best time.Time - var bestVersion string + + var ( + bestTime time.Time + bestTimeIsFromPseudo bool + bestVersion string + ) + for _, line := range strings.Split(string(data), "\n") { f := strings.Fields(line) - if len(f) >= 2 && semver.IsValid(f[0]) { - ft, err := time.Parse(time.RFC3339, f[1]) - if err == nil && best.Before(ft) { - best = ft + if len(f) >= 1 && semver.IsValid(f[0]) { + // If the proxy includes timestamps, prefer the timestamp it reports. + // Otherwise, derive the timestamp from the pseudo-version. + var ( + ft time.Time + ftIsFromPseudo = false + ) + if len(f) >= 2 { + ft, _ = time.Parse(time.RFC3339, f[1]) + } else if IsPseudoVersion(f[0]) { + ft, _ = PseudoVersionTime(f[0]) + ftIsFromPseudo = true + } else { + // Repo.Latest promises that this method is only called where there are + // no tagged versions. Ignore any tagged versions that were added in the + // meantime. + continue + } + if bestTime.Before(ft) { + bestTime = ft + bestTimeIsFromPseudo = ftIsFromPseudo bestVersion = f[0] } } } if bestVersion == "" { - return nil, fmt.Errorf("no commits") + return nil, p.versionError("", codehost.ErrNoCommits) } - info := &RevInfo{ + + if bestTimeIsFromPseudo { + // We parsed bestTime from the pseudo-version, but that's in UTC and we're + // supposed to report the timestamp as reported by the VCS. + // Stat the selected version to canonicalize the timestamp. + // + // TODO(bcmills): Should we also stat other versions to ensure that we + // report the correct Name and Short for the revision? + return p.Stat(bestVersion) + } + + return &RevInfo{ Version: bestVersion, Name: bestVersion, Short: bestVersion, - Time: best, - } - return info, nil + Time: bestTime, + }, nil } func (p *proxyRepo) Stat(rev string) (*RevInfo, error) { encRev, err := module.EncodeVersion(rev) if err != nil { - return nil, err + return nil, p.versionError(rev, err) } data, err := p.getBytes("@v/" + encRev + ".info") if err != nil { - return nil, err + return nil, p.versionError(rev, err) } info := new(RevInfo) if err := json.Unmarshal(data, info); err != nil { - return nil, err + return nil, p.versionError(rev, err) + } + if info.Version != rev && rev == module.CanonicalVersion(rev) && module.Check(p.path, rev) == nil { + // If we request a correct, appropriate version for the module path, the + // proxy must return either exactly that version or an error — not some + // arbitrary other version. + return nil, p.versionError(rev, fmt.Errorf("proxy returned info for version %s instead of requested version", info.Version)) } return info, nil } @@ -287,45 +345,55 @@ func (p *proxyRepo) Stat(rev string) (*RevInfo, error) { func (p *proxyRepo) Latest() (*RevInfo, error) { data, err := p.getBytes("@latest") if err != nil { - // TODO return err if not 404 + if !errors.Is(err, os.ErrNotExist) { + return nil, p.versionError("", err) + } return p.latest() } info := new(RevInfo) if err := json.Unmarshal(data, info); err != nil { - return nil, err + return nil, p.versionError("", err) } return info, nil } func (p *proxyRepo) GoMod(version string) ([]byte, error) { + if version != module.CanonicalVersion(version) { + return nil, p.versionError(version, fmt.Errorf("internal error: version passed to GoMod is not canonical")) + } + encVer, err := module.EncodeVersion(version) if err != nil { - return nil, err + return nil, p.versionError(version, err) } data, err := p.getBytes("@v/" + encVer + ".mod") if err != nil { - return nil, err + return nil, p.versionError(version, err) } return data, nil } func (p *proxyRepo) Zip(dst io.Writer, version string) error { + if version != module.CanonicalVersion(version) { + return p.versionError(version, fmt.Errorf("internal error: version passed to Zip is not canonical")) + } + encVer, err := module.EncodeVersion(version) if err != nil { - return err + return p.versionError(version, err) } body, err := p.getBody("@v/" + encVer + ".zip") if err != nil { - return err + return p.versionError(version, err) } defer body.Close() lr := &io.LimitedReader{R: body, N: codehost.MaxZipFile + 1} if _, err := io.Copy(dst, lr); err != nil { - return err + return p.versionError(version, err) } if lr.N <= 0 { - return fmt.Errorf("downloaded zip file too large") + return p.versionError(version, fmt.Errorf("downloaded zip file too large")) } return nil } diff --git a/src/cmd/go/internal/modfetch/pseudo.go b/src/cmd/go/internal/modfetch/pseudo.go index e13607ac2b..8c063b9107 100644 --- a/src/cmd/go/internal/modfetch/pseudo.go +++ b/src/cmd/go/internal/modfetch/pseudo.go @@ -35,13 +35,18 @@ package modfetch import ( - "cmd/go/internal/semver" + "errors" "fmt" - "internal/lazyregexp" "strings" "time" + + "cmd/go/internal/module" + "cmd/go/internal/semver" + "internal/lazyregexp" ) +var pseudoVersionRE = lazyregexp.New(`^v[0-9]+\.(0\.0-|\d+\.\d+-([^+]*\.)?0\.)\d{14}-[A-Za-z0-9]+(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$`) + // PseudoVersion returns a pseudo-version for the given major version ("v1") // preexisting older tagged version ("" or "v1.2.3" or "v1.2.3-pre"), revision time, // and revision identifier (usually a 12-byte commit hash prefix). @@ -49,7 +54,6 @@ func PseudoVersion(major, older string, t time.Time, rev string) string { if major == "" { major = "v0" } - major = strings.TrimSuffix(major, "-unstable") // make gopkg.in/macaroon-bakery.v2-unstable use "v2" segment := fmt.Sprintf("%s-%s", t.UTC().Format("20060102150405"), rev) build := semver.Build(older) older = semver.Canonical(older) @@ -65,11 +69,16 @@ func PseudoVersion(major, older string, t time.Time, rev string) string { i := strings.LastIndex(older, ".") + 1 v, patch := older[:i], older[i:] - // Increment PATCH by adding 1 to decimal: - // scan right to left turning 9s to 0s until you find a digit to increment. - // (Number might exceed int64, but math/big is overkill.) - digits := []byte(patch) - for i = len(digits) - 1; i >= 0 && digits[i] == '9'; i-- { + // Reassemble. + return v + incDecimal(patch) + "-0." + segment + build +} + +// incDecimal returns the decimal string incremented by 1. +func incDecimal(decimal string) string { + // Scan right to left turning 9s to 0s until you find a digit to increment. + digits := []byte(decimal) + i := len(digits) - 1 + for ; i >= 0 && digits[i] == '9'; i-- { digits[i] = '0' } if i >= 0 { @@ -79,13 +88,29 @@ func PseudoVersion(major, older string, t time.Time, rev string) string { digits[0] = '1' digits = append(digits, '0') } - patch = string(digits) - - // Reassemble. - return v + patch + "-0." + segment + build + return string(digits) } -var pseudoVersionRE = lazyregexp.New(`^v[0-9]+\.(0\.0-|\d+\.\d+-([^+]*\.)?0\.)\d{14}-[A-Za-z0-9]+(\+incompatible)?$`) +// decDecimal returns the decimal string decremented by 1, or the empty string +// if the decimal is all zeroes. +func decDecimal(decimal string) string { + // Scan right to left turning 0s to 9s until you find a digit to decrement. + digits := []byte(decimal) + i := len(digits) - 1 + for ; i >= 0 && digits[i] == '0'; i-- { + digits[i] = '9' + } + if i < 0 { + // decimal is all zeros + return "" + } + if i == 0 && digits[i] == '1' && len(digits) > 1 { + digits = digits[1:] + } else { + digits[i]-- + } + return string(digits) +} // IsPseudoVersion reports whether v is a pseudo-version. func IsPseudoVersion(v string) bool { @@ -96,13 +121,17 @@ func IsPseudoVersion(v string) bool { // It returns an error if v is not a pseudo-version or if the time stamp // embedded in the pseudo-version is not a valid time. func PseudoVersionTime(v string) (time.Time, error) { - timestamp, _, err := parsePseudoVersion(v) + _, timestamp, _, _, err := parsePseudoVersion(v) if err != nil { return time.Time{}, err } t, err := time.Parse("20060102150405", timestamp) if err != nil { - return time.Time{}, fmt.Errorf("pseudo-version with malformed time %s: %q", timestamp, v) + return time.Time{}, &module.InvalidVersionError{ + Version: v, + Pseudo: true, + Err: fmt.Errorf("malformed time %q", timestamp), + } } return t, nil } @@ -110,22 +139,99 @@ func PseudoVersionTime(v string) (time.Time, error) { // PseudoVersionRev returns the revision identifier of the pseudo-version v. // It returns an error if v is not a pseudo-version. func PseudoVersionRev(v string) (rev string, err error) { - _, rev, err = parsePseudoVersion(v) + _, _, rev, _, err = parsePseudoVersion(v) return } -func parsePseudoVersion(v string) (timestamp, rev string, err error) { - if !IsPseudoVersion(v) { - return "", "", fmt.Errorf("malformed pseudo-version %q", v) +// PseudoVersionBase returns the canonical parent version, if any, upon which +// the pseudo-version v is based. +// +// If v has no parent version (that is, if it is "vX.0.0-[…]"), +// PseudoVersionBase returns the empty string and a nil error. +func PseudoVersionBase(v string) (string, error) { + base, _, _, build, err := parsePseudoVersion(v) + if err != nil { + return "", err } - v = strings.TrimSuffix(v, "+incompatible") + + switch pre := semver.Prerelease(base); pre { + case "": + // vX.0.0-yyyymmddhhmmss-abcdef123456 → "" + if build != "" { + // Pseudo-versions of the form vX.0.0-yyyymmddhhmmss-abcdef123456+incompatible + // are nonsensical: the "vX.0.0-" prefix implies that there is no parent tag, + // but the "+incompatible" suffix implies that the major version of + // the parent tag is not compatible with the module's import path. + // + // There are a few such entries in the index generated by proxy.golang.org, + // but we believe those entries were generated by the proxy itself. + return "", &module.InvalidVersionError{ + Version: v, + Pseudo: true, + Err: fmt.Errorf("lacks base version, but has build metadata %q", build), + } + } + return "", nil + + case "-0": + // vX.Y.(Z+1)-0.yyyymmddhhmmss-abcdef123456 → vX.Y.Z + // vX.Y.(Z+1)-0.yyyymmddhhmmss-abcdef123456+incompatible → vX.Y.Z+incompatible + base = strings.TrimSuffix(base, pre) + i := strings.LastIndexByte(base, '.') + if i < 0 { + panic("base from parsePseudoVersion missing patch number: " + base) + } + patch := decDecimal(base[i+1:]) + if patch == "" { + // vX.0.0-0 is invalid, but has been observed in the wild in the index + // generated by requests to proxy.golang.org. + // + // NOTE(bcmills): I cannot find a historical bug that accounts for + // pseudo-versions of this form, nor have I seen such versions in any + // actual go.mod files. If we find actual examples of this form and a + // reasonable theory of how they came into existence, it seems fine to + // treat them as equivalent to vX.0.0 (especially since the invalid + // pseudo-versions have lower precedence than the real ones). For now, we + // reject them. + return "", &module.InvalidVersionError{ + Version: v, + Pseudo: true, + Err: fmt.Errorf("version before %s would have negative patch number", base), + } + } + return base[:i+1] + patch + build, nil + + default: + // vX.Y.Z-pre.0.yyyymmddhhmmss-abcdef123456 → vX.Y.Z-pre + // vX.Y.Z-pre.0.yyyymmddhhmmss-abcdef123456+incompatible → vX.Y.Z-pre+incompatible + if !strings.HasSuffix(base, ".0") { + panic(`base from parsePseudoVersion missing ".0" before date: ` + base) + } + return strings.TrimSuffix(base, ".0") + build, nil + } +} + +var errPseudoSyntax = errors.New("syntax error") + +func parsePseudoVersion(v string) (base, timestamp, rev, build string, err error) { + if !IsPseudoVersion(v) { + return "", "", "", "", &module.InvalidVersionError{ + Version: v, + Pseudo: true, + Err: errPseudoSyntax, + } + } + build = semver.Build(v) + v = strings.TrimSuffix(v, build) j := strings.LastIndex(v, "-") v, rev = v[:j], v[j+1:] i := strings.LastIndex(v, "-") if j := strings.LastIndex(v, "."); j > i { + base = v[:j] // "vX.Y.Z-pre.0" or "vX.Y.(Z+1)-0" timestamp = v[j+1:] } else { + base = v[:i] // "vX.0.0" timestamp = v[i+1:] } - return timestamp, rev, nil + return base, timestamp, rev, build, nil } diff --git a/src/cmd/go/internal/modfetch/pseudo_test.go b/src/cmd/go/internal/modfetch/pseudo_test.go index d0e800b450..4483f8e962 100644 --- a/src/cmd/go/internal/modfetch/pseudo_test.go +++ b/src/cmd/go/internal/modfetch/pseudo_test.go @@ -23,6 +23,10 @@ var pseudoTests = []struct { {"unused", "v1.2.99999999999999999", "v1.2.100000000000000000-0.20060102150405-hash"}, {"unused", "v1.2.3-pre", "v1.2.3-pre.0.20060102150405-hash"}, {"unused", "v1.3.0-pre", "v1.3.0-pre.0.20060102150405-hash"}, + {"unused", "v0.0.0--", "v0.0.0--.0.20060102150405-hash"}, + {"unused", "v1.0.0+metadata", "v1.0.1-0.20060102150405-hash+metadata"}, + {"unused", "v2.0.0+incompatible", "v2.0.1-0.20060102150405-hash+incompatible"}, + {"unused", "v2.3.0-pre+incompatible", "v2.3.0-pre.0.20060102150405-hash+incompatible"}, } var pseudoTime = time.Date(2006, 1, 2, 15, 4, 5, 0, time.UTC) @@ -79,3 +83,72 @@ func TestPseudoVersionRev(t *testing.T) { } } } + +func TestPseudoVersionBase(t *testing.T) { + for _, tt := range pseudoTests { + base, err := PseudoVersionBase(tt.version) + if err != nil { + t.Errorf("PseudoVersionBase(%q): %v", tt.version, err) + } else if base != tt.older { + t.Errorf("PseudoVersionBase(%q) = %q; want %q", tt.version, base, tt.older) + } + } +} + +func TestInvalidPseudoVersionBase(t *testing.T) { + for _, in := range []string{ + "v0.0.0", + "v0.0.0-", // malformed: empty prerelease + "v0.0.0-0.20060102150405-hash", // Z+1 == 0 + "v0.1.0-0.20060102150405-hash", // Z+1 == 0 + "v1.0.0-0.20060102150405-hash", // Z+1 == 0 + "v0.0.0-20060102150405-hash+incompatible", // "+incompatible without base version + "v0.0.0-20060102150405-hash+metadata", // other metadata without base version + } { + base, err := PseudoVersionBase(in) + if err == nil || base != "" { + t.Errorf(`PseudoVersionBase(%q) = %q, %v; want "", error`, in, base, err) + } + } +} + +func TestIncDecimal(t *testing.T) { + cases := []struct { + in, want string + }{ + {"0", "1"}, + {"1", "2"}, + {"99", "100"}, + {"100", "101"}, + {"101", "102"}, + } + + for _, tc := range cases { + got := incDecimal(tc.in) + if got != tc.want { + t.Fatalf("incDecimal(%q) = %q; want %q", tc.in, tc.want, got) + } + } +} + +func TestDecDecimal(t *testing.T) { + cases := []struct { + in, want string + }{ + {"", ""}, + {"0", ""}, + {"00", ""}, + {"1", "0"}, + {"2", "1"}, + {"99", "98"}, + {"100", "99"}, + {"101", "100"}, + } + + for _, tc := range cases { + got := decDecimal(tc.in) + if got != tc.want { + t.Fatalf("decDecimal(%q) = %q; want %q", tc.in, tc.want, got) + } + } +} diff --git a/src/cmd/go/internal/modfetch/repo.go b/src/cmd/go/internal/modfetch/repo.go index 95351269db..be52a8dc11 100644 --- a/src/cmd/go/internal/modfetch/repo.go +++ b/src/cmd/go/internal/modfetch/repo.go @@ -240,7 +240,7 @@ func lookup(proxy, path string) (r Repo, err error) { var ( errModVendor = errors.New("module lookup disabled by -mod=vendor") - errProxyOff = errors.New("module lookup disabled by GOPROXY=off") + errProxyOff = notExistError("module lookup disabled by GOPROXY=off") errNoproxy error = notExistError("disabled by GOPRIVATE/GONOPROXY") errUseProxy error = notExistError("path does not match GOPRIVATE/GONOPROXY") ) diff --git a/src/cmd/go/internal/modfetch/sumdb.go b/src/cmd/go/internal/modfetch/sumdb.go index 66a09d32c2..1c24ec273b 100644 --- a/src/cmd/go/internal/modfetch/sumdb.go +++ b/src/cmd/go/internal/modfetch/sumdb.go @@ -60,7 +60,17 @@ func dbDial() (dbName string, db *sumweb.Conn, err error) { // $GOSUMDB can be "key" or "key url", // and the key can be a full verifier key // or a host on our list of known keys. - key := strings.Fields(cfg.GOSUMDB) + + // Special case: sum.golang.google.cn + // is an alias, reachable inside mainland China, + // for sum.golang.org. If there are more + // of these we should add a map like knownGOSUMDB. + gosumdb := cfg.GOSUMDB + if gosumdb == "sum.golang.google.cn" { + gosumdb = "sum.golang.org https://sum.golang.google.cn" + } + + key := strings.Fields(gosumdb) if len(key) >= 1 { if k := knownGOSUMDB[key[0]]; k != "" { key[0] = k @@ -232,10 +242,10 @@ func (*dbClient) WriteConfig(file string, old, new []byte) error { } // ReadCache reads cached lookups or tiles from -// GOPATH/pkg/mod/download/cache/sumdb, +// GOPATH/pkg/mod/cache/download/sumdb, // which will be deleted by "go clean -modcache". func (*dbClient) ReadCache(file string) ([]byte, error) { - targ := filepath.Join(PkgMod, "download/cache/sumdb", file) + targ := filepath.Join(PkgMod, "cache/download/sumdb", file) data, err := lockedfile.Read(targ) // lockedfile.Write does not atomically create the file with contents. // There is a moment between file creation and locking the file for writing, @@ -249,7 +259,7 @@ func (*dbClient) ReadCache(file string) ([]byte, error) { // WriteCache updates cached lookups or tiles. func (*dbClient) WriteCache(file string, data []byte) { - targ := filepath.Join(PkgMod, "download/cache/sumdb", file) + targ := filepath.Join(PkgMod, "cache/download/sumdb", file) os.MkdirAll(filepath.Dir(targ), 0777) lockedfile.Write(targ, bytes.NewReader(data), 0666) } diff --git a/src/cmd/go/internal/modfile/rule.go b/src/cmd/go/internal/modfile/rule.go index 8fa4f125a5..6e1a22f3ca 100644 --- a/src/cmd/go/internal/modfile/rule.go +++ b/src/cmd/go/internal/modfile/rule.go @@ -16,7 +16,6 @@ import ( "unicode" "cmd/go/internal/module" - "cmd/go/internal/semver" ) // A File is the parsed, interpreted form of a go.mod file. @@ -214,10 +213,9 @@ func (f *File) add(errs *bytes.Buffer, line *Line, verb string, args []string, f fmt.Fprintf(errs, "%s:%d: invalid quoted string: %v\n", f.Syntax.Name, line.Start.Line, err) return } - old := args[1] - v, err := parseVersion(s, &args[1], fix) + v, err := parseVersion(verb, s, &args[1], fix) if err != nil { - fmt.Fprintf(errs, "%s:%d: invalid module version %q: %v\n", f.Syntax.Name, line.Start.Line, old, err) + fmt.Fprintf(errs, "%s:%d: %v\n", f.Syntax.Name, line.Start.Line, err) return } pathMajor, err := modulePathMajor(s) @@ -225,11 +223,8 @@ func (f *File) add(errs *bytes.Buffer, line *Line, verb string, args []string, f fmt.Fprintf(errs, "%s:%d: %v\n", f.Syntax.Name, line.Start.Line, err) return } - if !module.MatchPathMajor(v, pathMajor) { - if pathMajor == "" { - pathMajor = "v0 or v1" - } - fmt.Fprintf(errs, "%s:%d: invalid module: %s should be %s, not %s (%s)\n", f.Syntax.Name, line.Start.Line, s, pathMajor, semver.Major(v), v) + if err := module.MatchPathMajor(v, pathMajor); err != nil { + fmt.Fprintf(errs, "%s:%d: %v\n", f.Syntax.Name, line.Start.Line, &Error{Verb: verb, ModPath: s, Err: err}) return } if verb == "require" { @@ -265,17 +260,13 @@ func (f *File) add(errs *bytes.Buffer, line *Line, verb string, args []string, f } var v string if arrow == 2 { - old := args[1] - v, err = parseVersion(s, &args[1], fix) + v, err = parseVersion(verb, s, &args[1], fix) if err != nil { - fmt.Fprintf(errs, "%s:%d: invalid module version %v: %v\n", f.Syntax.Name, line.Start.Line, old, err) + fmt.Fprintf(errs, "%s:%d: %v\n", f.Syntax.Name, line.Start.Line, err) return } - if !module.MatchPathMajor(v, pathMajor) { - if pathMajor == "" { - pathMajor = "v0 or v1" - } - fmt.Fprintf(errs, "%s:%d: invalid module: %s should be %s, not %s (%s)\n", f.Syntax.Name, line.Start.Line, s, pathMajor, semver.Major(v), v) + if err := module.MatchPathMajor(v, pathMajor); err != nil { + fmt.Fprintf(errs, "%s:%d: %v\n", f.Syntax.Name, line.Start.Line, &Error{Verb: verb, ModPath: s, Err: err}) return } } @@ -296,10 +287,9 @@ func (f *File) add(errs *bytes.Buffer, line *Line, verb string, args []string, f } } if len(args) == arrow+3 { - old := args[arrow+1] - nv, err = parseVersion(ns, &args[arrow+2], fix) + nv, err = parseVersion(verb, ns, &args[arrow+2], fix) if err != nil { - fmt.Fprintf(errs, "%s:%d: invalid module version %v: %v\n", f.Syntax.Name, line.Start.Line, old, err) + fmt.Fprintf(errs, "%s:%d: %v\n", f.Syntax.Name, line.Start.Line, err) return } if IsDirectoryPath(ns) { @@ -411,15 +401,41 @@ func parseString(s *string) (string, error) { return t, nil } -func parseVersion(path string, s *string, fix VersionFixer) (string, error) { +type Error struct { + Verb string + ModPath string + Err error +} + +func (e *Error) Error() string { + return fmt.Sprintf("%s %s: %v", e.Verb, e.ModPath, e.Err) +} + +func (e *Error) Unwrap() error { return e.Err } + +func parseVersion(verb string, path string, s *string, fix VersionFixer) (string, error) { t, err := parseString(s) if err != nil { - return "", err + return "", &Error{ + Verb: verb, + ModPath: path, + Err: &module.InvalidVersionError{ + Version: *s, + Err: err, + }, + } } if fix != nil { var err error t, err = fix(path, t) if err != nil { + if err, ok := err.(*module.ModuleError); ok { + return "", &Error{ + Verb: verb, + ModPath: path, + Err: err.Err, + } + } return "", err } } @@ -427,7 +443,14 @@ func parseVersion(path string, s *string, fix VersionFixer) (string, error) { *s = v return *s, nil } - return "", fmt.Errorf("version must be of the form v1.2.3") + return "", &Error{ + Verb: verb, + ModPath: path, + Err: &module.InvalidVersionError{ + Version: t, + Err: errors.New("must be of the form v1.2.3"), + }, + } } func modulePathMajor(path string) (string, error) { diff --git a/src/cmd/go/internal/modget/get.go b/src/cmd/go/internal/modget/get.go index 93d6a15dae..1cae311c4c 100644 --- a/src/cmd/go/internal/modget/get.go +++ b/src/cmd/go/internal/modget/get.go @@ -39,17 +39,27 @@ and then builds and installs them. The first step is to resolve which dependencies to add. For each named package or package pattern, get must decide which version of -the corresponding module to use. By default, get chooses the latest tagged +the corresponding module to use. By default, get looks up the latest tagged release version, such as v0.4.5 or v1.2.3. If there are no tagged release -versions, get chooses the latest tagged pre-release version, such as -v0.0.1-pre1. If there are no tagged versions at all, get chooses the latest -known commit. +versions, get looks up the latest tagged pre-release version, such as +v0.0.1-pre1. If there are no tagged versions at all, get looks up the latest +known commit. If the module is not already required at a later version +(for example, a pre-release newer than the latest release), get will use +the version it looked up. Otherwise, get will use the currently +required version. This default version selection can be overridden by adding an @version suffix to the package argument, as in 'go get golang.org/x/text@v0.3.0'. +The version may be a prefix: @v1 denotes the latest available version starting +with v1. See 'go help modules' under the heading 'Module queries' for the +full query syntax. + For modules stored in source control repositories, the version suffix can also be a commit hash, branch identifier, or other syntax known to the -source control system, as in 'go get golang.org/x/text@master'. +source control system, as in 'go get golang.org/x/text@master'. Note that +branches with names that overlap with other module query syntax cannot be +selected explicitly. For example, the suffix @v2 means the latest version +starting with v2, not the branch named v2. If a module under consideration is already a dependency of the current development module, then get will update the required version. @@ -59,12 +69,14 @@ dependency should be removed entirely, downgrading or removing modules depending on it as needed. The version suffix @latest explicitly requests the latest minor release of the -given path. The suffix @patch requests the latest patch release: if the path -is already in the build list, the selected version will have the same minor -version. If the path is not already in the build list, @patch is equivalent -to @latest. Neither @latest nor @patch will cause 'go get' to downgrade a module -in the build list if it is required at a newer pre-release version that is -newer than the latest released version. +module named by the given path. The suffix @upgrade is like @latest but +will not downgrade a module if it is already required at a revision or +pre-release version newer than the latest released version. The suffix +@patch requests the latest patch release: the latest released version +with the same major and minor version numbers as the currently required +version. Like @upgrade, @patch will not downgrade a module already required +at a newer version. If the path is not already required, @upgrade and @patch +are equivalent to @latest. Although get defaults to using the latest version of the module containing a named package, it does not use the latest version of that module's @@ -178,7 +190,7 @@ func (v *upgradeFlag) Set(s string) error { s = "" } if s == "true" { - s = "latest" + s = "upgrade" } *v = upgradeFlag(s) return nil @@ -202,8 +214,9 @@ type getArg struct { // if there is no "@"). path specifies the modules or packages to get. path string - // vers is the part of the argument after "@" (or "" if there is no "@"). - // vers specifies the module version to get. + // vers is the part of the argument after "@" or an implied + // "upgrade" or "patch" if there is no "@". vers specifies the + // module version to get. vers string } @@ -249,7 +262,7 @@ func runGet(cmd *base.Command, args []string) { } switch getU { - case "", "latest", "patch": + case "", "upgrade", "patch": // ok default: base.Fatalf("go get: unknown upgrade flag -u=%s", getU) @@ -283,11 +296,11 @@ func runGet(cmd *base.Command, args []string) { // Parse command-line arguments and report errors. The command-line // arguments are of the form path@version or simply path, with implicit - // @latest. path@none is "downgrade away". + // @upgrade. path@none is "downgrade away". var gets []getArg var queries []*query for _, arg := range search.CleanPatterns(args) { - // Argument is module query path@vers, or else path with implicit @latest. + // Argument is path or path@vers. path := arg vers := "" if i := strings.Index(arg, "@"); i >= 0 { @@ -298,10 +311,14 @@ func runGet(cmd *base.Command, args []string) { continue } - // If the user runs 'go get -u=patch some/module', update some/module to a - // patch release, not a minor version. - if vers == "" && getU != "" { - vers = string(getU) + // If no version suffix is specified, assume @upgrade. + // If -u=patch was specified, assume @patch instead. + if vers == "" { + if getU != "" { + vers = string(getU) + } else { + vers = "upgrade" + } } gets = append(gets, getArg{raw: arg, path: path, vers: vers}) @@ -358,7 +375,7 @@ func runGet(cmd *base.Command, args []string) { // The argument is a package path. if pkgs := modload.TargetPackages(path); len(pkgs) != 0 { // The path is in the main module. Nothing to query. - if vers != "" && vers != "latest" && vers != "patch" { + if vers != "upgrade" && vers != "patch" { base.Errorf("go get %s: can't request explicit version of path in main module", arg) } continue @@ -376,8 +393,8 @@ func runGet(cmd *base.Command, args []string) { continue } - // If we're querying "latest" or "patch", we need to know the current - // version of the module. For "latest", we want to avoid accidentally + // If we're querying "upgrade" or "patch", we need to know the current + // version of the module. For "upgrade", we want to avoid accidentally // downgrading from a newer prerelease. For "patch", we need to query // the correct minor version. // Here, we check if "path" is the name of a module in the build list @@ -472,7 +489,6 @@ func runGet(cmd *base.Command, args []string) { // and the load and upgrade operations may only add and upgrade modules // in the build list. var matches []*search.Match - var install []string for { var seenPkgs map[string]bool seenQuery := make(map[querySpec]bool) @@ -664,7 +680,7 @@ func runGet(cmd *base.Command, args []string) { } work.BuildInit() pkgs := load.PackagesForBuild(pkgPatterns) - work.InstallPackages(install, pkgs) + work.InstallPackages(pkgPatterns, pkgs) } // runQueries looks up modules at target versions in parallel. Results will be @@ -719,7 +735,7 @@ func runQueries(cache map[querySpec]*query, queries []*query, modOnly map[string return byPath } -// getQuery evaluates the given package path, version pair +// getQuery evaluates the given (package or module) path and version // to determine the underlying module version being requested. // If forceModulePath is set, getQuery must interpret path // as a module path. @@ -737,34 +753,51 @@ func getQuery(path, vers string, prevM module.Version, forceModulePath bool) (mo base.Fatalf("go get: internal error: prevM may be set if and only if forceModulePath is set") } - if vers == "" || vers == "patch" && prevM.Version == "" { - vers = "latest" - } - - if forceModulePath || !strings.Contains(path, "...") { + // If the query must be a module path, try only that module path. + if forceModulePath { if path == modload.Target.Path { if vers != "latest" { return module.Version{}, fmt.Errorf("can't get a specific version of the main module") } } - // If the path doesn't contain a wildcard, try interpreting it as a module path. info, err := modload.Query(path, vers, prevM.Version, modload.Allowed) if err == nil { return module.Version{Path: path, Version: info.Version}, nil } - // If the query fails, and the path must be a real module, report the query error. - if forceModulePath { - return module.Version{}, err + // If the query was "upgrade" or "patch" and the current version has been + // replaced, check to see whether the error was for that same version: + // if so, the version was probably replaced because it is invalid, + // and we should keep that replacement without complaining. + if vers == "upgrade" || vers == "patch" { + var vErr *module.InvalidVersionError + if errors.As(err, &vErr) && vErr.Version == prevM.Version && modload.Replacement(prevM).Path != "" { + return prevM, nil + } } - } - // Otherwise, try a package path or pattern. - results, err := modload.QueryPattern(path, vers, modload.Allowed) - if err != nil { return module.Version{}, err } + + // If the query may be either a package or a module, try it as a package path. + // If it turns out to only exist as a module, we can detect the resulting + // PackageNotInModuleError and avoid a second round-trip through (potentially) + // all of the configured proxies. + results, err := modload.QueryPattern(path, vers, modload.Allowed) + if err != nil { + // If the path doesn't contain a wildcard, check whether it was actually a + // module path instead. If so, return that. + if !strings.Contains(path, "...") { + var modErr *modload.PackageNotInModuleError + if errors.As(err, &modErr) && modErr.Mod.Path == path { + return modErr.Mod, nil + } + } + + return module.Version{}, err + } + return results[0].Mod, nil } @@ -894,13 +927,23 @@ func (u *upgrader) Upgrade(m module.Version) (module.Version, error) { // which may return a pseudoversion for the latest commit. // Query "latest" returns the newest tagged version or the newest // prerelease version if there are no non-prereleases, or repo.Latest - // if there aren't any tagged versions. Since we're providing the previous - // version, Query will confirm the latest version is actually newer - // and will return the current version if not. + // if there aren't any tagged versions. + // If we're querying "upgrade" or "patch", Query will compare the current + // version against the chosen version and will return the current version + // if it is newer. info, err := modload.Query(m.Path, string(getU), m.Version, modload.Allowed) if err != nil { // Report error but return m, to let version selection continue. // (Reporting the error will fail the command at the next base.ExitIfErrors.) + + // Special case: if the error is for m.Version itself and m.Version has a + // replacement, then keep it and don't report the error: the fact that the + // version is invalid is likely the reason it was replaced to begin with. + var vErr *module.InvalidVersionError + if errors.As(err, &vErr) && vErr.Version == m.Version && modload.Replacement(m).Path != "" { + return m, nil + } + // Special case: if the error is "no matching versions" then don't // even report the error. Because Query does not consider pseudo-versions, // it may happen that we have a pseudo-version but during -u=patch diff --git a/src/cmd/go/internal/modload/build.go b/src/cmd/go/internal/modload/build.go index c26c8a2f59..ff42516c80 100644 --- a/src/cmd/go/internal/modload/build.go +++ b/src/cmd/go/internal/modload/build.go @@ -79,7 +79,7 @@ func addUpdate(m *modinfo.ModulePublic) { return } - if info, err := Query(m.Path, "latest", m.Version, Allowed); err == nil && semver.Compare(info.Version, m.Version) > 0 { + if info, err := Query(m.Path, "upgrade", m.Version, Allowed); err == nil && semver.Compare(info.Version, m.Version) > 0 { m.Update = &modinfo.ModulePublic{ Path: m.Path, Version: info.Version, diff --git a/src/cmd/go/internal/modload/help.go b/src/cmd/go/internal/modload/help.go index 9ce8dfb33b..1927c1cff7 100644 --- a/src/cmd/go/internal/modload/help.go +++ b/src/cmd/go/internal/modload/help.go @@ -231,12 +231,25 @@ evaluates to the available tagged version nearest to the comparison target The string "latest" matches the latest available tagged version, or else the underlying source repository's latest untagged revision. -A revision identifier for the underlying source repository, -such as a commit hash prefix, revision tag, or branch name, -selects that specific code revision. If the revision is -also tagged with a semantic version, the query evaluates to -that semantic version. Otherwise the query evaluates to a -pseudo-version for the commit. +The string "upgrade" is like "latest", but if the module is +currently required at a later version than the version "latest" +would select (for example, a newer pre-release version), "upgrade" +will select the later version instead. + +The string "patch" matches the latest available tagged version +of a module with the same major and minor version numbers as the +currently required version. If no version is currently required, +"patch" is equivalent to "latest". + +A revision identifier for the underlying source repository, such as +a commit hash prefix, revision tag, or branch name, selects that +specific code revision. If the revision is also tagged with a +semantic version, the query evaluates to that semantic version. +Otherwise the query evaluates to a pseudo-version for the commit. +Note that branches and tags with names that are matched by other +query syntax cannot be selected this way. For example, the query +"v2" means the latest version starting with "v2", not the branch +named "v2". All queries prefer release versions to pre-release versions. For example, "=v0.0.0", vers: "v0.0.0"}, {path: queryRepo, query: "v0.0.1", vers: "v0.0.1"}, {path: queryRepo, query: "v0.0.1+foo", vers: "v0.0.1"}, - {path: queryRepo, query: "v0.0.99", err: `unknown revision v0.0.99`}, + {path: queryRepo, query: "v0.0.99", err: `vcs-test.golang.org/git/querytest.git@v0.0.99: invalid version: unknown revision v0.0.99`}, {path: queryRepo, query: "v0", vers: "v0.3.0"}, {path: queryRepo, query: "v0.1", vers: "v0.1.2"}, {path: queryRepo, query: "v0.2", err: `no matching versions for query "v0.2"`}, {path: queryRepo, query: "v0.0", vers: "v0.0.3"}, {path: queryRepo, query: "v1.9.10-pre2+metadata", vers: "v1.9.10-pre2.0.20190513201126-42abcb6df8ee"}, - {path: queryRepo, query: "v1.9.10-pre2+wrongmetadata", err: `unknown revision v1.9.10-pre2+wrongmetadata`}, - {path: queryRepo, query: "v1.9.10-pre2", err: `unknown revision v1.9.10-pre2`}, + + // golang.org/issue/29262: The major version for for a module without a suffix + // should be based on the most recent tag (v1 as appropriate, not v0 + // unconditionally). + {path: queryRepo, query: "42abcb6df8ee", vers: "v1.9.10-pre2.0.20190513201126-42abcb6df8ee"}, + + {path: queryRepo, query: "v1.9.10-pre2+wrongmetadata", err: `vcs-test.golang.org/git/querytest.git@v1.9.10-pre2+wrongmetadata: invalid version: unknown revision v1.9.10-pre2+wrongmetadata`}, + {path: queryRepo, query: "v1.9.10-pre2", err: `vcs-test.golang.org/git/querytest.git@v1.9.10-pre2: invalid version: unknown revision v1.9.10-pre2`}, {path: queryRepo, query: "latest", vers: "v1.9.9"}, - {path: queryRepo, query: "latest", current: "v1.9.10-pre1", vers: "v1.9.10-pre1"}, - {path: queryRepo, query: "latest", current: "v1.9.10-pre2+metadata", vers: "v1.9.10-pre2.0.20190513201126-42abcb6df8ee"}, - {path: queryRepo, query: "latest", current: "v0.0.0-20990101120000-5ba9a4ea6213", vers: "v0.0.0-20990101120000-5ba9a4ea6213"}, - {path: queryRepo, query: "latest", allow: "NOMATCH", err: `no matching versions for query "latest"`}, - {path: queryRepo, query: "latest", current: "v1.9.9", allow: "NOMATCH", err: `no matching versions for query "latest" (current version is v1.9.9)`}, - {path: queryRepo, query: "latest", current: "v1.99.99", err: `unknown revision v1.99.99`}, + {path: queryRepo, query: "latest", current: "v1.9.10-pre1", vers: "v1.9.9"}, + {path: queryRepo, query: "upgrade", vers: "v1.9.9"}, + {path: queryRepo, query: "upgrade", current: "v1.9.10-pre1", vers: "v1.9.10-pre1"}, + {path: queryRepo, query: "upgrade", current: "v1.9.10-pre2+metadata", vers: "v1.9.10-pre2.0.20190513201126-42abcb6df8ee"}, + {path: queryRepo, query: "upgrade", current: "v0.0.0-20190513201126-42abcb6df8ee", vers: "v0.0.0-20190513201126-42abcb6df8ee"}, + {path: queryRepo, query: "upgrade", allow: "NOMATCH", err: `no matching versions for query "upgrade"`}, + {path: queryRepo, query: "upgrade", current: "v1.9.9", allow: "NOMATCH", err: `no matching versions for query "upgrade" (current version is v1.9.9)`}, + {path: queryRepo, query: "upgrade", current: "v1.99.99", err: `vcs-test.golang.org/git/querytest.git@v1.99.99: invalid version: unknown revision v1.99.99`}, {path: queryRepo, query: "patch", current: "", vers: "v1.9.9"}, {path: queryRepo, query: "patch", current: "v0.1.0", vers: "v0.1.2"}, {path: queryRepo, query: "patch", current: "v1.9.0", vers: "v1.9.9"}, @@ -125,21 +133,39 @@ var queryTests = []struct { {path: queryRepo, query: ">v1.10.0", err: `no matching versions for query ">v1.10.0"`}, {path: queryRepo, query: ">=v1.10.0", err: `no matching versions for query ">=v1.10.0"`}, {path: queryRepo, query: "6cf84eb", vers: "v0.0.2-0.20180704023347-6cf84ebaea54"}, + + // golang.org/issue/27173: A pseudo-version may be based on the highest tag on + // any parent commit, or any existing semantically-lower tag: a given commit + // could have been a pre-release for a backport tag at any point. + {path: queryRepo, query: "3ef0cec634e0", vers: "v0.1.2-0.20180704023347-3ef0cec634e0"}, + {path: queryRepo, query: "v0.1.2-0.20180704023347-3ef0cec634e0", vers: "v0.1.2-0.20180704023347-3ef0cec634e0"}, + {path: queryRepo, query: "v0.1.1-0.20180704023347-3ef0cec634e0", vers: "v0.1.1-0.20180704023347-3ef0cec634e0"}, + {path: queryRepo, query: "v0.0.4-0.20180704023347-3ef0cec634e0", vers: "v0.0.4-0.20180704023347-3ef0cec634e0"}, + + // Invalid tags are tested in cmd/go/testdata/script/mod_pseudo_invalid.txt. + {path: queryRepo, query: "start", vers: "v0.0.0-20180704023101-5e9e31667ddf"}, + {path: queryRepo, query: "5e9e31667ddf", vers: "v0.0.0-20180704023101-5e9e31667ddf"}, + {path: queryRepo, query: "v0.0.0-20180704023101-5e9e31667ddf", vers: "v0.0.0-20180704023101-5e9e31667ddf"}, + {path: queryRepo, query: "7a1b6bf", vers: "v0.1.0"}, {path: queryRepoV2, query: "v0.0.0", vers: "v2.0.0"}, {path: queryRepoV2, query: ">=v0.0.0", vers: "v2.0.0"}, - {path: queryRepoV2, query: "v0.0.1+foo", vers: "v2.0.0-20180704023347-179bc86b1be3"}, + {path: queryRepoV2, query: "v2", vers: "v2.5.5"}, {path: queryRepoV2, query: "v2.5", vers: "v2.5.5"}, {path: queryRepoV2, query: "v2.6", err: `no matching versions for query "v2.6"`}, {path: queryRepoV2, query: "v2.6.0-pre1", vers: "v2.6.0-pre1"}, {path: queryRepoV2, query: "latest", vers: "v2.5.5"}, - {path: queryRepoV3, query: "latest", vers: "v3.0.0-20180704024501-e0cf3de987e6"}, + // e0cf3de987e6 is the latest commit on the master branch, and it's actually + // v1.19.10-pre1, not anything resembling v3: attempting to query it as such + // should fail. + {path: queryRepoV3, query: "e0cf3de987e6", err: `vcs-test.golang.org/git/querytest.git/v3@v3.0.0-20180704024501-e0cf3de987e6: invalid version: go.mod has non-.../v3 module path "vcs-test.golang.org/git/querytest.git" (and .../v3/go.mod does not exist) at revision e0cf3de987e6`}, + {path: queryRepoV3, query: "latest", err: `no matching versions for query "latest"`}, {path: emptyRepo, query: "latest", vers: "v0.0.0-20180704023549-7bb914627242"}, {path: emptyRepo, query: ">v0.0.0", err: `no matching versions for query ">v0.0.0"`}, @@ -159,13 +185,18 @@ func TestQuery(t *testing.T) { ok, _ := path.Match(allow, m.Version) return ok } + tt := tt t.Run(strings.ReplaceAll(tt.path, "/", "_")+"/"+tt.query+"/"+tt.current+"/"+allow, func(t *testing.T) { + t.Parallel() + info, err := Query(tt.path, tt.query, tt.current, allowed) if tt.err != "" { - if err != nil && err.Error() == tt.err { - return + if err == nil { + t.Errorf("Query(%q, %q, %v) = %v, want error %q", tt.path, tt.query, allow, info.Version, tt.err) + } else if err.Error() != tt.err { + t.Errorf("Query(%q, %q, %v): %v, want error %q", tt.path, tt.query, allow, err, tt.err) } - t.Fatalf("Query(%q, %q, %v): %v, want error %q", tt.path, tt.query, allow, err, tt.err) + return } if err != nil { t.Fatalf("Query(%q, %q, %v): %v", tt.path, tt.query, allow, err) diff --git a/src/cmd/go/internal/module/module.go b/src/cmd/go/internal/module/module.go index bc76b92b91..3e0baba15b 100644 --- a/src/cmd/go/internal/module/module.go +++ b/src/cmd/go/internal/module/module.go @@ -18,6 +18,7 @@ package module // Changes to the semantics in this file require approval from rsc. import ( + "errors" "fmt" "sort" "strings" @@ -40,6 +41,60 @@ type Version struct { Version string `json:",omitempty"` } +// A ModuleError indicates an error specific to a module. +type ModuleError struct { + Path string + Version string + Err error +} + +// VersionError returns a ModuleError derived from a Version and error. +func VersionError(v Version, err error) error { + return &ModuleError{ + Path: v.Path, + Version: v.Version, + Err: err, + } +} + +func (e *ModuleError) Error() string { + if v, ok := e.Err.(*InvalidVersionError); ok { + return fmt.Sprintf("%s@%s: invalid %s: %v", e.Path, v.Version, v.noun(), v.Err) + } + if e.Version != "" { + return fmt.Sprintf("%s@%s: %v", e.Path, e.Version, e.Err) + } + return fmt.Sprintf("module %s: %v", e.Path, e.Err) +} + +func (e *ModuleError) Unwrap() error { return e.Err } + +// An InvalidVersionError indicates an error specific to a version, with the +// module path unknown or specified externally. +// +// A ModuleError may wrap an InvalidVersionError, but an InvalidVersionError +// must not wrap a ModuleError. +type InvalidVersionError struct { + Version string + Pseudo bool + Err error +} + +// noun returns either "version" or "pseudo-version", depending on whether +// e.Version is a pseudo-version. +func (e *InvalidVersionError) noun() string { + if e.Pseudo { + return "pseudo-version" + } + return "version" +} + +func (e *InvalidVersionError) Error() string { + return fmt.Sprintf("%s %q invalid: %s", e.noun(), e.Version, e.Err) +} + +func (e *InvalidVersionError) Unwrap() error { return e.Err } + // Check checks that a given module path, version pair is valid. // In addition to the path being a valid module path // and the version being a valid semantic version, @@ -51,17 +106,14 @@ func Check(path, version string) error { return err } if !semver.IsValid(version) { - return fmt.Errorf("malformed semantic version %v", version) + return &ModuleError{ + Path: path, + Err: &InvalidVersionError{Version: version, Err: errors.New("not a semantic version")}, + } } _, pathMajor, _ := SplitPathVersion(path) - if !MatchPathMajor(version, pathMajor) { - if pathMajor == "" { - pathMajor = "v0 or v1" - } - if pathMajor[0] == '.' { // .v1 - pathMajor = pathMajor[1:] - } - return fmt.Errorf("mismatched module path %v and version %v (want %v)", path, version, pathMajor) + if err := MatchPathMajor(version, pathMajor); err != nil { + return &ModuleError{Path: path, Err: err} } return nil } @@ -320,22 +372,56 @@ func splitGopkgIn(path string) (prefix, pathMajor string, ok bool) { return prefix, pathMajor, true } -// MatchPathMajor reports whether the semantic version v -// matches the path major version pathMajor. -func MatchPathMajor(v, pathMajor string) bool { +// MatchPathMajor returns a non-nil error if the semantic version v +// does not match the path major version pathMajor. +func MatchPathMajor(v, pathMajor string) error { if strings.HasPrefix(pathMajor, ".v") && strings.HasSuffix(pathMajor, "-unstable") { pathMajor = strings.TrimSuffix(pathMajor, "-unstable") } if strings.HasPrefix(v, "v0.0.0-") && pathMajor == ".v1" { // Allow old bug in pseudo-versions that generated v0.0.0- pseudoversion for gopkg .v1. // For example, gopkg.in/yaml.v2@v2.2.1's go.mod requires gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405. - return true + return nil } m := semver.Major(v) if pathMajor == "" { - return m == "v0" || m == "v1" || semver.Build(v) == "+incompatible" + if m == "v0" || m == "v1" || semver.Build(v) == "+incompatible" { + return nil + } + pathMajor = "v0 or v1" + } else if pathMajor[0] == '/' || pathMajor[0] == '.' { + if m == pathMajor[1:] { + return nil + } + pathMajor = pathMajor[1:] } - return (pathMajor[0] == '/' || pathMajor[0] == '.') && m == pathMajor[1:] + return &InvalidVersionError{ + Version: v, + Err: fmt.Errorf("should be %s, not %s", pathMajor, semver.Major(v)), + } +} + +// PathMajorPrefix returns the major-version tag prefix implied by pathMajor. +// An empty PathMajorPrefix allows either v0 or v1. +// +// Note that MatchPathMajor may accept some versions that do not actually begin +// with this prefix: namely, it accepts a 'v0.0.0-' prefix for a '.v1' +// pathMajor, even though that pathMajor implies 'v1' tagging. +func PathMajorPrefix(pathMajor string) string { + if pathMajor == "" { + return "" + } + if pathMajor[0] != '/' && pathMajor[0] != '.' { + panic("pathMajor suffix " + pathMajor + " passed to PathMajorPrefix lacks separator") + } + if strings.HasPrefix(pathMajor, ".v") && strings.HasSuffix(pathMajor, "-unstable") { + pathMajor = strings.TrimSuffix(pathMajor, "-unstable") + } + m := pathMajor[1:] + if m != semver.Major(m) { + panic("pathMajor suffix " + pathMajor + "passed to PathMajorPrefix is not a valid major version") + } + return m } // CanonicalVersion returns the canonical form of the version string v. @@ -450,7 +536,10 @@ func EncodePath(path string) (encoding string, err error) { // and not contain exclamation marks. func EncodeVersion(v string) (encoding string, err error) { if err := checkElem(v, true); err != nil || strings.Contains(v, "!") { - return "", fmt.Errorf("disallowed version string %q", v) + return "", &InvalidVersionError{ + Version: v, + Err: fmt.Errorf("disallowed version string"), + } } return encodeString(v) } diff --git a/src/cmd/go/internal/mvs/mvs.go b/src/cmd/go/internal/mvs/mvs.go index dca909e858..4e7a828c24 100644 --- a/src/cmd/go/internal/mvs/mvs.go +++ b/src/cmd/go/internal/mvs/mvs.go @@ -87,7 +87,6 @@ func (e *BuildListError) Module() module.Version { func (e *BuildListError) Error() string { b := &strings.Builder{} - errMsg := e.Err.Error() stack := e.stack // Don't print modules at the beginning of the chain without a @@ -97,16 +96,19 @@ func (e *BuildListError) Error() string { stack = stack[:len(stack)-1] } - // Don't print the last module if the error message already - // starts with module path and version. - errMentionsLast := len(stack) > 0 && strings.HasPrefix(errMsg, fmt.Sprintf("%s@%s: ", stack[0].m.Path, stack[0].m.Version)) for i := len(stack) - 1; i >= 1; i-- { fmt.Fprintf(b, "%s@%s %s\n\t", stack[i].m.Path, stack[i].m.Version, stack[i].nextReason) } - if errMentionsLast || len(stack) == 0 { - b.WriteString(errMsg) + if len(stack) == 0 { + b.WriteString(e.Err.Error()) } else { - fmt.Fprintf(b, "%s@%s: %s", stack[0].m.Path, stack[0].m.Version, errMsg) + // Ensure that the final module path and version are included as part of the + // error message. + if _, ok := e.Err.(*module.ModuleError); ok { + fmt.Fprintf(b, "%v", e.Err) + } else { + fmt.Fprintf(b, "%v", module.VersionError(stack[0].m, e.Err)) + } } return b.String() } @@ -214,8 +216,8 @@ func buildList(target module.Version, reqs Reqs, upgrade func(module.Version) (m } } - // Construct the list by traversing the graph again, replacing older - // modules with required minimum versions. + // The final list is the minimum version of each module found in the graph. + if v := min[target.Path]; v != target.Version { // TODO(jayconrod): there is a special case in modload.mvsReqs.Max // that prevents us from selecting a newer version of a module @@ -226,19 +228,18 @@ func buildList(target module.Version, reqs Reqs, upgrade func(module.Version) (m } list := []module.Version{target} - listed := map[string]bool{target.Path: true} - for i := 0; i < len(list); i++ { - n := modGraph[list[i]] + for path, vers := range min { + if path != target.Path { + list = append(list, module.Version{Path: path, Version: vers}) + } + + n := modGraph[module.Version{Path: path, Version: vers}] required := n.required for _, r := range required { v := min[r.Path] if r.Path != target.Path && reqs.Max(v, r.Version) != v { panic(fmt.Sprintf("mistake: version %q does not satisfy requirement %+v", v, r)) // TODO: Don't panic. } - if !listed[r.Path] { - list = append(list, module.Version{Path: r.Path, Version: v}) - listed[r.Path] = true - } } } @@ -287,12 +288,12 @@ func Req(target module.Version, list []module.Version, base []string, reqs Reqs) } // Walk modules in reverse post-order, only adding those not implied already. - have := map[string]string{} + have := map[module.Version]bool{} walk = func(m module.Version) error { - if v, ok := have[m.Path]; ok && reqs.Max(m.Version, v) == v { + if have[m] { return nil } - have[m.Path] = m.Version + have[m] = true for _, m1 := range reqCache[m] { walk(m1) } @@ -320,7 +321,7 @@ func Req(target module.Version, list []module.Version, base []string, reqs Reqs) // Older version. continue } - if have[m.Path] != m.Version { + if !have[m] { min = append(min, m) walk(m) } diff --git a/src/cmd/go/internal/mvs/mvs_test.go b/src/cmd/go/internal/mvs/mvs_test.go index cab4bb241b..72d3ea95b7 100644 --- a/src/cmd/go/internal/mvs/mvs_test.go +++ b/src/cmd/go/internal/mvs/mvs_test.go @@ -29,7 +29,7 @@ D5: E2 G1: C4 A2: B1 C4 D4 build A: A B1 C2 D4 E2 F1 -upgrade* A: A B1 C4 D5 E2 G1 +upgrade* A: A B1 C4 D5 E2 F1 G1 upgrade A C4: A B1 C4 D4 E2 F1 G1 downgrade A2 D2: A2 C4 D2 @@ -38,7 +38,7 @@ A: B1 C2 B1: D3 C2: B2 B2: -build A: A B2 C2 +build A: A B2 C2 D3 # Cross-dependency between D and E. # No matter how it arises, should get result of merging all build lists via max, @@ -157,7 +157,18 @@ D1: E2 E1: D2 build A: A B C D2 E2 -# Upgrade from B1 to B2 should drop the transitive dep on D. +# golang.org/issue/31248: +# Even though we select X2, the requirement on I1 +# via X1 should be preserved. +name: cross8 +M: A1 B1 +A1: X1 +B1: X2 +X1: I1 +X2: +build M: M A1 B1 I1 X2 + +# Upgrade from B1 to B2 should not drop the transitive dep on D. name: drop A: B1 C1 B1: D1 @@ -165,14 +176,14 @@ B2: C2: D2: build A: A B1 C1 D1 -upgrade* A: A B2 C2 +upgrade* A: A B2 C2 D2 name: simplify A: B1 C1 B1: C2 C1: D1 C2: -build A: A B1 C2 +build A: A B1 C2 D1 name: up1 A: B1 C1 @@ -254,8 +265,9 @@ build A: A B1 upgrade A B2: A B2 upgrade* A: A B3 +# golang.org/issue/29773: # Requirements of older versions of the target -# must not be carried over. +# must be carried over. name: cycle2 A: B1 A1: C1 @@ -265,8 +277,8 @@ B2: A2 C1: A2 C2: D2: -build A: A B1 -upgrade* A: A B2 +build A: A B1 C1 D1 +upgrade* A: A B2 C2 D2 # Requirement minimization. @@ -283,6 +295,14 @@ H1: G1 req A: G1 req A G: G1 req A H: H1 + +name: req3 +M: A1 B1 +A1: X1 +B1: X2 +X1: I1 +X2: +req M: A1 B1 ` func Test(t *testing.T) { diff --git a/src/cmd/go/internal/test/test.go b/src/cmd/go/internal/test/test.go index eed2d437c9..95000011d8 100644 --- a/src/cmd/go/internal/test/test.go +++ b/src/cmd/go/internal/test/test.go @@ -843,7 +843,7 @@ func builderTest(b *work.Builder, p *load.Package) (buildAction, runAction, prin if !cfg.BuildN { // writeTestmain writes _testmain.go, // using the test description gathered in t. - if err := ioutil.WriteFile(testDir+"_testmain.go", pmain.Internal.TestmainGo, 0666); err != nil { + if err := ioutil.WriteFile(testDir+"_testmain.go", *pmain.Internal.TestmainGo, 0666); err != nil { return nil, nil, nil, err } } @@ -1250,6 +1250,15 @@ func (c *runCache) tryCacheWithID(b *work.Builder, a *work.Action, id string) bo return false } + if a.Package.Root == "" { + // Caching does not apply to tests outside of any module, GOPATH, or GOROOT. + if cache.DebugTest { + fmt.Fprintf(os.Stderr, "testcache: caching disabled for package outside of module root, GOPATH, or GOROOT: %s\n", a.Package.ImportPath) + } + c.disableCache = true + return false + } + var cacheArgs []string for _, arg := range testArgs { i := strings.Index(arg, "=") @@ -1437,8 +1446,8 @@ func computeTestInputsID(a *work.Action, testlog []byte) (cache.ActionID, error) if !filepath.IsAbs(name) { name = filepath.Join(pwd, name) } - if !inDir(name, a.Package.Root) { - // Do not recheck files outside the GOPATH or GOROOT root. + if a.Package.Root == "" || !inDir(name, a.Package.Root) { + // Do not recheck files outside the module, GOPATH, or GOROOT root. break } fmt.Fprintf(h, "stat %s %x\n", name, hashStat(name)) @@ -1446,8 +1455,8 @@ func computeTestInputsID(a *work.Action, testlog []byte) (cache.ActionID, error) if !filepath.IsAbs(name) { name = filepath.Join(pwd, name) } - if !inDir(name, a.Package.Root) { - // Do not recheck files outside the GOPATH or GOROOT root. + if a.Package.Root == "" || !inDir(name, a.Package.Root) { + // Do not recheck files outside the module, GOPATH, or GOROOT root. break } fh, err := hashOpen(name) diff --git a/src/cmd/go/internal/version/exe.go b/src/cmd/go/internal/version/exe.go index 55da960c02..0e7deef149 100644 --- a/src/cmd/go/internal/version/exe.go +++ b/src/cmd/go/internal/version/exe.go @@ -103,6 +103,11 @@ func (x *elfExe) ReadData(addr, size uint64) ([]byte, error) { } func (x *elfExe) DataStart() uint64 { + for _, s := range x.f.Sections { + if s.Name == ".go.buildinfo" { + return s.Addr + } + } for _, p := range x.f.Progs { if p.Type == elf.PT_LOAD && p.Flags&(elf.PF_X|elf.PF_W) == elf.PF_W { return p.Vaddr @@ -208,7 +213,13 @@ func (x *machoExe) ReadData(addr, size uint64) ([]byte, error) { } func (x *machoExe) DataStart() uint64 { - // Assume data is first non-empty writable segment. + // Look for section named "__go_buildinfo". + for _, sec := range x.f.Sections { + if sec.Name == "__go_buildinfo" { + return sec.Addr + } + } + // Try the first non-empty writable segment. const RW = 3 for _, load := range x.f.Loads { seg, ok := load.(*macho.Segment) diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go index ed5a149da3..9305b2d859 100644 --- a/src/cmd/go/internal/work/build.go +++ b/src/cmd/go/internal/work/build.go @@ -30,6 +30,8 @@ along with their dependencies, but it does not install the results. If the arguments to build are a list of .go files from a single directory, build treats them as a list of source files specifying a single package. +When compiling packages, build ignores files that end in '_test.go'. + When compiling a single main package, build writes the resulting executable to an output file named after the first source file ('go build ed.go rx.go' writes 'ed' or 'ed.exe') @@ -40,8 +42,6 @@ When compiling multiple packages or a single non-main package, build compiles the packages but discards the resulting object, serving only as a check that the packages can be built. -When compiling packages, build ignores files that end in '_test.go'. - The -o flag forces build to write the resulting executable or object to the named output file or directory, instead of the default behavior described in the last two paragraphs. If the named output is a directory that exists, diff --git a/src/cmd/go/internal/work/buildid.go b/src/cmd/go/internal/work/buildid.go index 1f6d1e8e77..bf485d75ad 100644 --- a/src/cmd/go/internal/work/buildid.go +++ b/src/cmd/go/internal/work/buildid.go @@ -203,8 +203,9 @@ func (b *Builder) toolID(name string) string { // On the development branch, use the content ID part of the build ID. id = contentID(f[len(f)-1]) } else { - // For a release, the output is like: "compile version go1.9.1". Use the whole line. - id = f[2] + // For a release, the output is like: "compile version go1.9.1 X:framepointer". + // Use the whole line. + id = strings.TrimSpace(line) } b.id.Lock() diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go index c1bb9416cb..b68f902853 100644 --- a/src/cmd/go/internal/work/exec.go +++ b/src/cmd/go/internal/work/exec.go @@ -542,15 +542,6 @@ func (b *Builder) build(a *Action) (err error) { } } - // Write out the _testinginit.go file for any test packages that import "testing". - if a.Package.Internal.TestinginitGo != nil { - initfile := objdir + "_testinginit.go" - if err := b.writeFile(initfile, a.Package.Internal.TestinginitGo); err != nil { - return err - } - gofiles = append([]string{initfile}, gofiles...) - } - // Run cgo. if a.Package.UsesCgo() || a.Package.UsesSwig() { // In a package using cgo, cgo compiles the C, C++ and assembly files with gcc. @@ -2541,8 +2532,7 @@ func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgo } if cfg.BuildToolchainName == "gccgo" { - switch cfg.Goarch { - case "386", "amd64": + if b.gccSupportsFlag([]string{BuildToolchain.compiler()}, "-fsplit-stack") { cgoCFLAGS = append(cgoCFLAGS, "-fsplit-stack") } cgoflags = append(cgoflags, "-gccgo") diff --git a/src/cmd/go/internal/work/gccgo.go b/src/cmd/go/internal/work/gccgo.go index 67065950b2..24d856ca1e 100644 --- a/src/cmd/go/internal/work/gccgo.go +++ b/src/cmd/go/internal/work/gccgo.go @@ -67,6 +67,8 @@ func (tools gccgoToolchain) gc(b *Builder, a *Action, archive string, importcfg ofile = objdir + out gcargs := []string{"-g"} gcargs = append(gcargs, b.gccArchArgs()...) + gcargs = append(gcargs, "-fdebug-prefix-map="+b.WorkDir+"=/tmp/go-build") + gcargs = append(gcargs, "-gno-record-gcc-switches") if pkgpath := gccgoPkgpath(p); pkgpath != "" { gcargs = append(gcargs, "-fgo-pkgpath="+pkgpath) } @@ -207,9 +209,16 @@ func (tools gccgoToolchain) pack(b *Builder, a *Action, afile string, ofiles []s } absAfile := mkAbs(objdir, afile) // Try with D modifier first, then without if that fails. - if b.run(a, p.Dir, p.ImportPath, nil, tools.ar(), arArgs, "rcD", absAfile, absOfiles) != nil { + output, err := b.runOut(a, p.Dir, nil, tools.ar(), arArgs, "rcD", absAfile, absOfiles) + if err != nil { return b.run(a, p.Dir, p.ImportPath, nil, tools.ar(), arArgs, "rc", absAfile, absOfiles) } + + if len(output) > 0 { + // Show the output if there is any even without errors. + b.showOutput(a, p.Dir, p.ImportPath, b.processOutput(output)) + } + return nil } @@ -521,12 +530,18 @@ func (tools gccgoToolchain) cc(b *Builder, a *Action, ofile, cfile string) error if pkgpath := gccgoCleanPkgpath(p); pkgpath != "" { defs = append(defs, `-D`, `GOPKGPATH="`+pkgpath+`"`) } - switch cfg.Goarch { - case "386", "amd64": + compiler := envList("CC", cfg.DefaultCC(cfg.Goos, cfg.Goarch)) + if b.gccSupportsFlag(compiler, "-fsplit-stack") { defs = append(defs, "-fsplit-stack") } defs = tools.maybePIC(defs) - return b.run(a, p.Dir, p.ImportPath, nil, envList("CC", cfg.DefaultCC(cfg.Goos, cfg.Goarch)), "-Wall", "-g", + if b.gccSupportsFlag(compiler, "-fdebug-prefix-map=a=b") { + defs = append(defs, "-fdebug-prefix-map="+b.WorkDir+"=/tmp/go-build") + } + if b.gccSupportsFlag(compiler, "-gno-record-gcc-switches") { + defs = append(defs, "-gno-record-gcc-switches") + } + return b.run(a, p.Dir, p.ImportPath, nil, compiler, "-Wall", "-g", "-I", a.Objdir, "-I", inc, "-o", ofile, defs, "-c", cfile) } diff --git a/src/cmd/go/testdata/addmod.go b/src/cmd/go/testdata/addmod.go index 8bb6056a54..d9c3aab9c4 100644 --- a/src/cmd/go/testdata/addmod.go +++ b/src/cmd/go/testdata/addmod.go @@ -29,7 +29,7 @@ import ( "path/filepath" "strings" - "../internal/txtar" + "cmd/go/internal/txtar" ) func usage() { @@ -44,7 +44,7 @@ func fatalf(format string, args ...interface{}) { log.Fatalf(format, args...) } -const goCmd = "vgo" +const goCmd = "go" func main() { flag.Usage = usage diff --git a/src/cmd/go/testdata/flag_test.go b/src/cmd/go/testdata/flag_test.go index a4e5507f2c..ddf613d870 100644 --- a/src/cmd/go/testdata/flag_test.go +++ b/src/cmd/go/testdata/flag_test.go @@ -1,19 +1,16 @@ -// Copyright 2019 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 flag_test import ( "flag" + "log" "testing" ) var v = flag.Int("v", 0, "v flag") -// Run this as go test pkg -args -v=7 +// Run this as go test pkg -v=7 func TestVFlagIsSet(t *testing.T) { if *v != 7 { - t.Fatal("v flag not set") + log.Fatal("v flag not set") } } diff --git a/src/cmd/go/testdata/mod/example.com_badchain_c_v1.1.0.txt b/src/cmd/go/testdata/mod/example.com_badchain_c_v1.1.0.txt index da19ebd9ec..36bc2c6726 100644 --- a/src/cmd/go/testdata/mod/example.com_badchain_c_v1.1.0.txt +++ b/src/cmd/go/testdata/mod/example.com_badchain_c_v1.1.0.txt @@ -1,7 +1,7 @@ example.com/badchain/c v1.1.0 -- .mod -- -module example.com/badchain/wrong +module badchain.example.com/c -- .info -- {"Version":"v1.1.0"} -- c.go -- diff --git a/src/cmd/go/testdata/mod/example.com_tools_v1.0.0.txt b/src/cmd/go/testdata/mod/example.com_tools_v1.0.0.txt new file mode 100644 index 0000000000..22e36b993a --- /dev/null +++ b/src/cmd/go/testdata/mod/example.com_tools_v1.0.0.txt @@ -0,0 +1,12 @@ +-- .info -- +{"Version": "v1.0.0"} +-- .mod -- +module example.com/tools +-- cmd/hello/hello.go -- +package main + +import "fmt" + +func main() { + fmt.Println("hello") +} diff --git a/src/cmd/go/testdata/mod/github.com_dmitshur-test_modtest5_v0.0.0-20190619020302-197a620e0c9a.txt b/src/cmd/go/testdata/mod/github.com_dmitshur-test_modtest5_v0.0.0-20190619020302-197a620e0c9a.txt new file mode 100644 index 0000000000..c2709c161e --- /dev/null +++ b/src/cmd/go/testdata/mod/github.com_dmitshur-test_modtest5_v0.0.0-20190619020302-197a620e0c9a.txt @@ -0,0 +1,10 @@ +module github.com/dmitshur-test/modtest5@v0.0.0-20190619020302-197a620e0c9a + +-- .mod -- +module github.com/dmitshur-test/modtest5 +-- .info -- +{"Version":"v0.0.0-20190619020302-197a620e0c9a","Time":"2019-06-18T19:03:02-07:00"} +-- p.go -- +package p + +const v = 1 diff --git a/src/cmd/go/testdata/mod/github.com_dmitshur-test_modtest5_v0.5.0-alpha.0.20190619023908-3da23a9deb9e.txt b/src/cmd/go/testdata/mod/github.com_dmitshur-test_modtest5_v0.5.0-alpha.0.20190619023908-3da23a9deb9e.txt new file mode 100644 index 0000000000..22e47f378e --- /dev/null +++ b/src/cmd/go/testdata/mod/github.com_dmitshur-test_modtest5_v0.5.0-alpha.0.20190619023908-3da23a9deb9e.txt @@ -0,0 +1,10 @@ +module github.com/dmitshur-test/modtest5@v0.5.0-alpha.0.20190619023908-3da23a9deb9e + +-- .mod -- +module github.com/dmitshur-test/modtest5 +-- .info -- +{"Version":"v0.5.0-alpha.0.20190619023908-3da23a9deb9e","Time":"2019-06-18T19:39:08-07:00"} +-- p.go -- +package p + +const v = 3 diff --git a/src/cmd/go/testdata/mod/github.com_dmitshur-test_modtest5_v0.5.0-alpha.txt b/src/cmd/go/testdata/mod/github.com_dmitshur-test_modtest5_v0.5.0-alpha.txt new file mode 100644 index 0000000000..4f088ccd2c --- /dev/null +++ b/src/cmd/go/testdata/mod/github.com_dmitshur-test_modtest5_v0.5.0-alpha.txt @@ -0,0 +1,10 @@ +module github.com/dmitshur-test/modtest5@v0.5.0-alpha + +-- .mod -- +module github.com/dmitshur-test/modtest5 +-- .info -- +{"Version":"v0.5.0-alpha","Time":"2019-06-18T19:04:46-07:00"} +-- p.go -- +package p + +const v = 2 diff --git a/src/cmd/go/testdata/script/build_cache_output.txt b/src/cmd/go/testdata/script/build_cache_output.txt index 89e3ff0f1e..0d94bf61a9 100644 --- a/src/cmd/go/testdata/script/build_cache_output.txt +++ b/src/cmd/go/testdata/script/build_cache_output.txt @@ -1,4 +1,5 @@ env GO111MODULE=off +env GODEBUG=gocachetest=1 [!gc] skip [short] skip # clears cache, rebuilds too much @@ -32,7 +33,7 @@ stderr 'main.go:2.* can inline main' # from compiler stderr '\d+ symbols' # from linker # Running a test should run the compiler, linker, and the test the first time. -go test -v -x -gcflags=-m -ldflags=-v p_test.go +go test -v -x -gcflags=-m -ldflags=-v p stderr 'compile( |\.exe"?)' stderr 'p_test.go:.*can inline Test' # from compile of p_test stderr 'testmain\.go:.*inlin' # from compile of testmain @@ -42,7 +43,7 @@ stderr 'p\.test( |\.exe"?)' stdout 'TEST' # from test # ... but not the second, even though it still prints the compiler, linker, and test output. -go test -v -x -gcflags=-m -ldflags=-v p_test.go +go test -v -x -gcflags=-m -ldflags=-v p ! stderr 'compile( |\.exe"?)' stderr 'p_test.go:.*can inline Test' # from compile of p_test stderr 'testmain\.go:.*inlin' # from compile of testmain @@ -60,7 +61,7 @@ func f(x *int) *int { return x } package main func main() {} --- p_test.go -- +-- p/p_test.go -- package p import "testing" func Test(t *testing.T) {println("TEST")} diff --git a/src/cmd/go/testdata/script/cmd_import_error.txt b/src/cmd/go/testdata/script/cmd_import_error.txt new file mode 100644 index 0000000000..ba94f9bd3e --- /dev/null +++ b/src/cmd/go/testdata/script/cmd_import_error.txt @@ -0,0 +1,16 @@ +env GO111MODULE=on + +# Regression test for golang.org/issue/31031: +# Importing or loading a non-existent package in cmd/ should print +# a clear error in module mode. + +! go list cmd/unknown +stderr '^can''t load package: package cmd/unknown: package cmd/unknown is not in GOROOT \('$GOROOT'[/\\]src[/\\]cmd[/\\]unknown\)$' + +go list -f '{{range .DepsErrors}}{{.Err}}{{end}}' x.go +stdout '^package cmd/unknown is not in GOROOT \('$GOROOT'[/\\]src[/\\]cmd[/\\]unknown\)$' + +-- x.go -- +package x + +import _ "cmd/unknown" diff --git a/src/cmd/go/testdata/script/install_cmd_gobin.txt b/src/cmd/go/testdata/script/install_cmd_gobin.txt new file mode 100644 index 0000000000..38fd66c0e8 --- /dev/null +++ b/src/cmd/go/testdata/script/install_cmd_gobin.txt @@ -0,0 +1,10 @@ +# Check that commands in cmd are install to $GOROOT/bin, not $GOBIN. +# Verifies golang.org/issue/32674. +env GOBIN=gobin +mkdir gobin +go list -f '{{.Target}}' cmd/go +stdout $GOROOT[/\\]bin[/\\]go$GOEXE + +# Check that tools are installed to $GOTOOLDIR, not $GOBIN. +go list -f '{{.Target}}' cmd/compile +stdout $GOROOT[/\\]pkg[/\\]tool[/\\]${GOOS}_${GOARCH}[/\\]compile$GOEXE diff --git a/src/cmd/go/testdata/script/mod_doc.txt b/src/cmd/go/testdata/script/mod_doc.txt index 40acbc5ac0..d7aa553c1d 100644 --- a/src/cmd/go/testdata/script/mod_doc.txt +++ b/src/cmd/go/testdata/script/mod_doc.txt @@ -3,6 +3,7 @@ env GO111MODULE=on [short] skip +# Check when module x is inside GOPATH/src. go doc y stdout 'Package y is.*alphabet' stdout 'import "x/y"' @@ -16,13 +17,25 @@ stdout 'Hello returns a greeting' go doc quote stdout 'Package quote collects pithy sayings.' -# Double-check go doc y when y is not in GOPATH/src. -env GOPATH=$WORK/altgopath +# Double-check when module x is outside GOPATH/src. +env GOPATH=$WORK/emptygopath go doc x/y stdout 'Package y is.*alphabet' go doc y stdout 'Package y is.*alphabet' +# Triple-check when module x is outside GOPATH/src, +# but other packages with same import paths are in GOPATH/src. +# Since go doc is running in module mode here, packages in active module +# should be preferred over packages in GOPATH. See golang.org/issue/28992. +env GOPATH=$WORK/gopath2 +go doc x/y +! stdout 'Package y is.*GOPATH' +stdout 'Package y is.*alphabet' +go doc rsc.io/quote +! stdout 'Package quote is located in a GOPATH workspace.' +stdout 'Package quote collects pithy sayings.' + -- go.mod -- module x require rsc.io/quote v1.5.2 @@ -33,3 +46,13 @@ package y -- x.go -- package x + +-- $WORK/gopath2/src/x/y/y.go -- +// Package y is located in a GOPATH workspace. +package y +-- $WORK/gopath2/src/rsc.io/quote/quote.go -- +// Package quote is located in a GOPATH workspace. +package quote + +// Hello is located in a GOPATH workspace. +func Hello() string { return "" } diff --git a/src/cmd/go/testdata/script/mod_dot.txt b/src/cmd/go/testdata/script/mod_dot.txt new file mode 100644 index 0000000000..c90074d0a6 --- /dev/null +++ b/src/cmd/go/testdata/script/mod_dot.txt @@ -0,0 +1,36 @@ +env GO111MODULE=on + +# golang.org/issue/32917 and golang.org/issue/28459: 'go build' and 'go test' +# in an empty directory should refer to the path '.' and should not attempt +# to resolve an external module. +cd dir +! go get . +stderr 'go get \.: path .* is not a package in module rooted at .*[/\\]dir$' +! go list +! stderr 'cannot find module providing package' +stderr '^can.t load package: package \.: no Go files in '$WORK'[/\\]gopath[/\\]src[/\\]dir$' + +cd subdir +! go list +! stderr 'cannot find module providing package' +stderr '^can.t load package: package \.: no Go files in '$WORK'[/\\]gopath[/\\]src[/\\]dir[/\\]subdir$' +cd .. + +# golang.org/issue/30590: if a package is found in the filesystem +# but is not in the main module, the error message should not say +# "cannot find module providing package", and we shouldn't try +# to find a module providing the package. +! go list ./othermodule +! stderr 'cannot find module providing package' +stderr 'go: directory othermodule is outside main module' + +-- dir/go.mod -- +module example.com +go 1.13 +-- dir/subdir/README -- +There are no Go source files in this directory. +-- dir/othermodule/go.mod -- +module example.com/othermodule +go 1.13 +-- dir/othermodule/om.go -- +package othermodule diff --git a/src/cmd/go/testdata/script/mod_download.txt b/src/cmd/go/testdata/script/mod_download.txt index c6729c71a2..9eb3140c33 100644 --- a/src/cmd/go/testdata/script/mod_download.txt +++ b/src/cmd/go/testdata/script/mod_download.txt @@ -17,6 +17,7 @@ stderr 'this.domain.is.invalid' stdout '"Error": ".*this.domain.is.invalid.*"' # download -json with version should print JSON +# and download the .info file for the 'latest' version. go mod download -json 'rsc.io/quote@<=v1.5.0' stdout '^\t"Path": "rsc.io/quote"' stdout '^\t"Version": "v1.5.0"' @@ -27,13 +28,14 @@ stdout '^\t"Sum": "h1:6fJa6E\+wGadANKkUMlZ0DhXFpoKlslOQDCo259XtdIE="' # hash of stdout '^\t"GoModSum": "h1:LzX7hefJvL54yjefDEDHNONDjII0t9xZLPXsUe\+TKr0="' ! stdout '"Error"' +exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.2.info + # download queries above should not have added to go.mod. go list -m all ! stdout rsc.io # add to go.mod so we can test non-query downloads go mod edit -require rsc.io/quote@v1.5.2 -! exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.2.info ! exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.2.mod ! exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.2.zip @@ -83,6 +85,16 @@ exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.3-pre1.zip go mod download -json rsc.io/quote@v1.5.1 exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.1.zip +# download reports errors encountered when locating modules +! go mod download bad/path +stderr '^module bad/path: not a known dependency$' +! go mod download bad/path@latest +stderr '^bad/path@latest: malformed module path "bad/path": missing dot in first path element$' +! go mod download rsc.io/quote@v1.999.999 +stderr '^rsc.io/quote@v1.999.999: reading .*/v1.999.999.info: 404 Not Found$' +! go mod download -json bad/path +stdout '^\t"Error": "module bad/path: not a known dependency"' + # allow go mod download without go.mod env GO111MODULE=auto rm go.mod diff --git a/src/cmd/go/testdata/script/mod_download_hash.txt b/src/cmd/go/testdata/script/mod_download_hash.txt index 07ea78a4fd..5a42c4b072 100644 --- a/src/cmd/go/testdata/script/mod_download_hash.txt +++ b/src/cmd/go/testdata/script/mod_download_hash.txt @@ -7,18 +7,18 @@ env GOPROXY=direct env GOSUMDB=off go mod download rsc.io/quote@a91498bed0a73d4bb9c1fb2597925f7883bc40a7 -exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v0.0.0-20180709162918-a91498bed0a7.info -exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v0.0.0-20180709162918-a91498bed0a7.mod -exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v0.0.0-20180709162918-a91498bed0a7.zip +exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.3-0.20180709162918-a91498bed0a7.info +exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.3-0.20180709162918-a91498bed0a7.mod +exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.3-0.20180709162918-a91498bed0a7.zip go mod download rsc.io/quote@master -exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v0.0.0-20180710144737-5d9f230bcfba.info -exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v0.0.0-20180710144737-5d9f230bcfba.mod -exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v0.0.0-20180710144737-5d9f230bcfba.zip +exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.3-0.20180709162918-a91498bed0a7.info +exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.3-0.20180709162918-a91498bed0a7.mod +exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.3-0.20180709162918-a91498bed0a7.zip -- go.mod -- module m -- m.go -- -package m \ No newline at end of file +package m diff --git a/src/cmd/go/testdata/script/mod_download_latest.txt b/src/cmd/go/testdata/script/mod_download_latest.txt new file mode 100644 index 0000000000..60d860e4da --- /dev/null +++ b/src/cmd/go/testdata/script/mod_download_latest.txt @@ -0,0 +1,20 @@ +env GO111MODULE=on + +# If the module is the latest version of itself, +# the Latest field should be set. +go mod download -json rsc.io/quote@v1.5.2 +stdout '"Latest":\s*true' + +# If the module is older than latest, the field should be unset. +go mod download -json rsc.io/quote@v1.5.1 +! stdout '"Latest":' + +# If the module is newer than "latest", the field should be unset... +go mod download -json rsc.io/quote@v1.5.3-pre1 +! stdout '"Latest":' + +# ...even if that version is also what is required by the main module. +go mod init example.com +go mod edit -require rsc.io/quote@v1.5.3-pre1 +go mod download -json rsc.io/quote@v1.5.3-pre1 +! stdout '"Latest":' diff --git a/src/cmd/go/testdata/script/mod_fs_patterns.txt b/src/cmd/go/testdata/script/mod_fs_patterns.txt index 9341a1d083..fd7de13002 100644 --- a/src/cmd/go/testdata/script/mod_fs_patterns.txt +++ b/src/cmd/go/testdata/script/mod_fs_patterns.txt @@ -34,11 +34,11 @@ stderr 'import lookup disabled' ! go build -mod=readonly ./nonexist ! stderr 'import lookup disabled' -stderr 'unknown import path "m/nonexist": cannot find package' +stderr '^can.t load package: package ./nonexist: cannot find package "." in:\n\t'$WORK'[/\\]gopath[/\\]src[/\\]x[/\\]nonexist$' ! go build -mod=readonly ./go.mod ! stderr 'import lookup disabled' -stderr 'unknown import path "m/go.mod": cannot find package' +stderr 'can.t load package: package ./go.mod: cannot find package' -- x/go.mod -- module m diff --git a/src/cmd/go/testdata/script/mod_get_cmd.txt b/src/cmd/go/testdata/script/mod_get_cmd.txt new file mode 100644 index 0000000000..d31cee1444 --- /dev/null +++ b/src/cmd/go/testdata/script/mod_get_cmd.txt @@ -0,0 +1,20 @@ +env GO111MODULE=on +[short] skip + +# Test that when 'go get' is run from $GOBIN, it does not delete binaries +# after it installs them. Verifies golang.org/issue/32766. + +go get example.com/tools/cmd/hello + +# 'go get' should not delete the command when run from $GOPATH/bin +cd $GOPATH/bin +exists hello$GOEXE +go get example.com/tools/cmd/hello +exists hello$GOEXE + +# 'go get' should not delete the command when run from a different $GOBIN +mkdir $WORK/bin +cd $WORK/bin +env GOBIN=$WORK/bin +go get example.com/tools/cmd/hello +exists hello$GOEXE diff --git a/src/cmd/go/testdata/script/mod_get_fallback.txt b/src/cmd/go/testdata/script/mod_get_fallback.txt new file mode 100644 index 0000000000..a9834a324e --- /dev/null +++ b/src/cmd/go/testdata/script/mod_get_fallback.txt @@ -0,0 +1,10 @@ +env GO111MODULE=on + +[!net] skip + +env GOPROXY=https://proxy.golang.org,direct +env GOSUMDB=off + +go get -x -v -d golang.org/x/tools/cmd/goimports +stderr '# get https://proxy.golang.org/golang.org/x/tools/@latest' +! stderr '# get https://golang.org' diff --git a/src/cmd/go/testdata/script/mod_get_main.txt b/src/cmd/go/testdata/script/mod_get_main.txt index 8e06220f9e..403abcd28b 100644 --- a/src/cmd/go/testdata/script/mod_get_main.txt +++ b/src/cmd/go/testdata/script/mod_get_main.txt @@ -4,13 +4,19 @@ env GO111MODULE=on # @patch and @latest within the main module refer to the current version. # The main module won't be upgraded, but missing dependencies will be added. cp go.mod.orig go.mod -go get -d rsc.io/x@latest +go get -d rsc.io/x +grep 'rsc.io/quote v1.5.2' go.mod +go get -d rsc.io/x@upgrade grep 'rsc.io/quote v1.5.2' go.mod cp go.mod.orig go.mod go get -d rsc.io/x@patch grep 'rsc.io/quote v1.5.2' go.mod cp go.mod.orig go.mod +# The main module cannot be updated to @latest, which is a specific version. +! go get -d rsc.io/x@latest +stderr '^go get rsc.io/x@latest: can.t request explicit version of path in main module$' + # The main module cannot be updated to a specific version. ! go get rsc.io/x@v0.1.0 stderr '^go get rsc.io/x@v0.1.0: can.t request explicit version of path in main module$' diff --git a/src/cmd/go/testdata/script/mod_get_newcycle.txt b/src/cmd/go/testdata/script/mod_get_newcycle.txt index 9616863383..b1838f824a 100644 --- a/src/cmd/go/testdata/script/mod_get_newcycle.txt +++ b/src/cmd/go/testdata/script/mod_get_newcycle.txt @@ -1,6 +1,7 @@ env GO111MODULE=on # Download modules to avoid stderr chatter +go mod download example.com@v1.0.0 go mod download example.com/newcycle/a@v1.0.0 go mod download example.com/newcycle/a@v1.0.1 go mod download example.com/newcycle/b@v1.0.0 @@ -10,5 +11,6 @@ go mod init m cmp stderr stderr-expected -- stderr-expected -- +go: finding example.com/newcycle v1.0.0 go get: inconsistent versions: example.com/newcycle/a@v1.0.0 requires example.com/newcycle/a@v1.0.1 (not example.com/newcycle/a@v1.0.0) diff --git a/src/cmd/go/testdata/script/mod_get_patterns.txt b/src/cmd/go/testdata/script/mod_get_patterns.txt index b9931970e0..bfab70090c 100644 --- a/src/cmd/go/testdata/script/mod_get_patterns.txt +++ b/src/cmd/go/testdata/script/mod_get_patterns.txt @@ -10,11 +10,11 @@ grep 'require rsc.io/quote' go.mod cp go.mod.orig go.mod ! go get -d rsc.io/quote/x... -stderr 'go get rsc.io/quote/x...: module rsc.io/quote@latest \(v1.5.2\) found, but does not contain packages matching rsc.io/quote/x...' +stderr 'go get rsc.io/quote/x...: module rsc.io/quote@upgrade \(v1.5.2\) found, but does not contain packages matching rsc.io/quote/x...' ! grep 'require rsc.io/quote' go.mod ! go get -d rsc.io/quote/x/... -stderr 'go get rsc.io/quote/x/...: module rsc.io/quote@latest \(v1.5.2\) found, but does not contain packages matching rsc.io/quote/x/...' +stderr 'go get rsc.io/quote/x/...: module rsc.io/quote@upgrade \(v1.5.2\) found, but does not contain packages matching rsc.io/quote/x/...' ! grep 'require rsc.io/quote' go.mod # If a pattern matches no packages within a module, the module should not diff --git a/src/cmd/go/testdata/script/mod_get_svn.txt b/src/cmd/go/testdata/script/mod_get_svn.txt index b3436284af..cd19d99dbc 100644 --- a/src/cmd/go/testdata/script/mod_get_svn.txt +++ b/src/cmd/go/testdata/script/mod_get_svn.txt @@ -2,19 +2,26 @@ [!exec:svn] skip env GO111MODULE=on -env GOPROXY=direct # obtain llvm.org directory, not via svn. +env GOPROXY=direct +env GOSUMDB=off # Attempting to get a module zip using svn should fail with a reasonable # message instead of a panic. # TODO(golang.org/issue/26092): Really, it shouldn't fail at all. -! go get -d llvm.org/llvm/bindings/go/llvm +! go get -d vcs-test.golang.org/svn/hello.svn stderr 'ReadZip not implemented for svn' ! go install . stderr 'ReadZip not implemented for svn' +# Attempting to get a nonexistent module using svn should fail with a +# reasonable message instead of a panic. +! go get -d vcs-test.golang.org/svn/nonexistent.svn +! stderr panic +stderr 'go get vcs-test.golang.org/svn/nonexistent.svn: no matching versions for query "upgrade"' + -- go.mod -- module golang/go/issues/28943/main -- main.go -- package main -import _ "llvm.org/llvm/bindings/go/llvm" +import _ "vcs-test.golang.org/svn/hello.svn" func main() {} diff --git a/src/cmd/go/testdata/script/mod_get_upgrade_pseudo.txt b/src/cmd/go/testdata/script/mod_get_upgrade_pseudo.txt index 9184d85f7f..f5f415aa3f 100644 --- a/src/cmd/go/testdata/script/mod_get_upgrade_pseudo.txt +++ b/src/cmd/go/testdata/script/mod_get_upgrade_pseudo.txt @@ -9,18 +9,33 @@ env GO111MODULE=on # The v0.1.1 pseudo-version is semantically higher than the latest tag. # The v0.0.0 pseudo-version is chronologically newer. -# 'get -u' should not downgrade to the (lower) tagged version. +# Start at v0.1.1-0.20190429073117-b5426c86b553 go get -d example.com/pseudoupgrade@b5426c8 +go list -m -u all +stdout '^example.com/pseudoupgrade v0.1.1-0.20190429073117-b5426c86b553$' + +# 'get -u' should not downgrade to the (lower) tagged version. go get -d -u go list -m -u all stdout '^example.com/pseudoupgrade v0.1.1-0.20190429073117-b5426c86b553$' -# 'get example.com/pseudoupgrade@latest' should not downgrade to -# the (lower) tagged version. -go get -d example.com/pseudoupgrade@latest +# 'get example.com/pseudoupgrade@upgrade' should not downgrade. +go get -d example.com/pseudoupgrade@upgrade go list -m all stdout '^example.com/pseudoupgrade v0.1.1-0.20190429073117-b5426c86b553$' +# 'get example.com/pseudoupgrade' should not downgrade. +# This is equivalent to 'get example.com/pseudoupgrade@upgrade'. +go get -d example.com/pseudoupgrade +go list -m all +stdout '^example.com/pseudoupgrade v0.1.1-0.20190429073117-b5426c86b553$' + +# 'get example.com/pseudoupgrade@latest' should downgrade. +# @latest should not consider the current version. +go get -d example.com/pseudoupgrade@latest +go list -m all +stdout '^example.com/pseudoupgrade v0.1.0$' + # We should observe the same behavior with the newer pseudo-version. go get -d example.com/pseudoupgrade@v0.0.0-20190430073000-30950c05d534 @@ -29,12 +44,21 @@ go get -d -u go list -m -u all stdout '^example.com/pseudoupgrade v0.0.0-20190430073000-30950c05d534$' -# 'get example.com/pseudoupgrade@latest' should not downgrade to the -# chronologically older tagged version. -go get -d example.com/pseudoupgrade@latest +# 'get example.com/pseudoupgrade@upgrade should not downgrade. +go get -d example.com/pseudoupgrade@upgrade go list -m -u all stdout '^example.com/pseudoupgrade v0.0.0-20190430073000-30950c05d534$' +# 'get example.com/pseudoupgrade' should not downgrade. +go get -d example.com/pseudoupgrade +go list -m -u all +stdout '^example.com/pseudoupgrade v0.0.0-20190430073000-30950c05d534$' + +# 'get example.com/pseudoupgrade@latest' should downgrade. +go get -d example.com/pseudoupgrade@latest +go list -m -u all +stdout '^example.com/pseudoupgrade v0.1.0$' + -- go.mod -- module x diff --git a/src/cmd/go/testdata/script/mod_gobuild_import.txt b/src/cmd/go/testdata/script/mod_gobuild_import.txt index a4eb5d6596..ae05250c5f 100644 --- a/src/cmd/go/testdata/script/mod_gobuild_import.txt +++ b/src/cmd/go/testdata/script/mod_gobuild_import.txt @@ -62,15 +62,31 @@ import ( "go/build" "log" "os" + "path/filepath" "strings" ) func main() { - p, err := build.Import(os.Args[1], os.Args[2], 0) + // build.Import should support relative and absolute source dir paths. + path := os.Args[1] + srcDir := os.Args[2] + p1, err := build.Import(path, srcDir, 0) if err != nil { log.Fatal(err) } - fmt.Printf("%s\n%s\n", p.Dir, strings.Join(p.GoFiles, " ")) + absSrcDir, err := filepath.Abs(srcDir) + if err != nil { + log.Fatal(err) + } + p2, err := build.Import(path, absSrcDir, 0) + if err != nil { + log.Fatal(err) + } + if p1.Dir != p2.Dir { + log.Fatalf("different packages loaded with relative and absolute paths:\n\t%s\n\t%s", p1.Dir, p2.Dir) + } + + fmt.Printf("%s\n%s\n", p1.Dir, strings.Join(p1.GoFiles, " ")) } -- $GOPATH/other/go.mod -- diff --git a/src/cmd/go/testdata/script/mod_indirect.txt b/src/cmd/go/testdata/script/mod_indirect.txt new file mode 100644 index 0000000000..87a3f0b10f --- /dev/null +++ b/src/cmd/go/testdata/script/mod_indirect.txt @@ -0,0 +1,81 @@ +env GO111MODULE=on + +# golang.org/issue/31248: module requirements imposed by dependency versions +# older than the selected version must still be taken into account. + +env GOFLAGS=-mod=readonly + +# Indirect dependencies required via older-than-selected versions must exist in +# the module graph, but do not need to be listed explicitly in the go.mod file +# (since they are implied). +go mod graph +stdout i@v0.1.0 + +# The modules must also appear in the build list, not just the graph. +go list -m all +stdout '^i v0.1.0' + +# The packages provided by those dependencies must resolve. +go list all +stdout '^i$' + +-- go.mod -- +module main + +go 1.13 + +require ( + a v0.0.0 + b v0.0.0 + c v0.0.0 +) + +// Apply replacements so that the test can be self-contained. +// (It's easier to see all of the modules here than to go +// rooting around in testdata/mod.) +replace ( + a => ./a + b => ./b + c => ./c + x v0.1.0 => ./x1 + x v0.2.0 => ./x2 + i => ./i +) +-- main.go -- +package main + +import ( + _ "a" + _ "b" + _ "c" +) + +func main() {} +-- a/go.mod -- +module a +go 1.13 +require x v0.1.0 +-- a/a.go -- +package a +-- b/go.mod -- +module b +go 1.13 +require x v0.2.0 +-- b/b.go -- +package b +-- c/go.mod -- +module c +go 1.13 +-- c/c.go -- +package c +import _ "i" +-- x1/go.mod -- +module x +go1.13 +require i v0.1.0 +-- x2/go.mod -- +module x +go1.13 +-- i/go.mod -- +-- i/i.go -- +package i diff --git a/src/cmd/go/testdata/script/mod_indirect_main.txt b/src/cmd/go/testdata/script/mod_indirect_main.txt new file mode 100644 index 0000000000..eeb93f1913 --- /dev/null +++ b/src/cmd/go/testdata/script/mod_indirect_main.txt @@ -0,0 +1,65 @@ +env GO111MODULE=on + +# Regression test for golang.org/issue/29773: 'go list -m' was not following +# dependencies through older versions of the main module. + +go list -f '{{with .Module}}{{.Path}}{{with .Version}} {{.}}{{end}}{{end}}' all +cmp stdout pkgmods.txt + +go list -m all +cmp stdout mods.txt + +go mod graph +cmp stdout graph.txt + +-- go.mod -- +module golang.org/issue/root + +go 1.12 + +replace ( + golang.org/issue/mirror v0.1.0 => ./mirror-v0.1.0 + golang.org/issue/pkg v0.1.0 => ./pkg-v0.1.0 + golang.org/issue/root v0.1.0 => ./root-v0.1.0 +) + +require golang.org/issue/mirror v0.1.0 + +-- root.go -- +package root + +import _ "golang.org/issue/mirror" + +-- mirror-v0.1.0/go.mod -- +module golang.org/issue/mirror + +require golang.org/issue/root v0.1.0 + +-- mirror-v0.1.0/mirror.go -- +package mirror + +import _ "golang.org/issue/pkg" + +-- pkg-v0.1.0/go.mod -- +module golang.org/issue/pkg + +-- pkg-v0.1.0/pkg.go -- +package pkg + +-- root-v0.1.0/go.mod -- +module golang.org/issue/root + +require golang.org/issue/pkg v0.1.0 + +-- pkgmods.txt -- +golang.org/issue/mirror v0.1.0 +golang.org/issue/pkg v0.1.0 +golang.org/issue/root +-- mods.txt -- +golang.org/issue/root +golang.org/issue/mirror v0.1.0 => ./mirror-v0.1.0 +golang.org/issue/pkg v0.1.0 => ./pkg-v0.1.0 +-- graph.txt -- +golang.org/issue/root golang.org/issue/mirror@v0.1.0 +golang.org/issue/mirror@v0.1.0 golang.org/issue/root@v0.1.0 +golang.org/issue/root@v0.1.0 golang.org/issue/pkg@v0.1.0 diff --git a/src/cmd/go/testdata/script/mod_indirect_tidy.txt b/src/cmd/go/testdata/script/mod_indirect_tidy.txt new file mode 100644 index 0000000000..a12b35c72b --- /dev/null +++ b/src/cmd/go/testdata/script/mod_indirect_tidy.txt @@ -0,0 +1,60 @@ +env GO111MODULE=on + +# golang.org/issue/31248: loading the build list must not add explicit entries +# for indirect dependencies already implied by older-than-selected versions +# already in the build list. + +cp go.mod.orig go.mod +go mod tidy +cmp go.mod go.mod.orig + +cp go.mod.orig go.mod +go list -m all +cmp go.mod go.mod.orig + +-- go.mod.orig -- +module main + +go 1.13 + +require a v0.0.0 + +replace ( + a v0.0.0 => ./a + b v0.0.0 => ./b + i v0.0.0 => ./i + x v0.1.0 => ./x1 + x v0.2.0 => ./x2 +) +-- main.go -- +package main + +import _ "a" + +func main() {} +-- a/go.mod -- +module a +go 1.13 +require ( + x v0.2.0 + b v0.0.0 +) +-- a/a.go -- +package a +-- b/go.mod -- +module b +go 1.13 +require x v0.1.0 +-- x1/go.mod -- +module x +go 1.13 +require ( + b v0.0.0 + i v0.0.0 +) +-- x2/go.mod -- +module x +go 1.13 +-- i/go.mod -- +module i +go 1.13 diff --git a/src/cmd/go/testdata/script/mod_init_path.txt b/src/cmd/go/testdata/script/mod_init_path.txt new file mode 100644 index 0000000000..637c29f4bc --- /dev/null +++ b/src/cmd/go/testdata/script/mod_init_path.txt @@ -0,0 +1,20 @@ +env GO111MODULE=on + +! go mod init . +stderr 'malformed import path' + +cd x +go mod init example.com/x + +cd ../y +go mod init m + +-- x/main.go -- +package main + +func main() {} + +-- y/main.go -- +package main + +func main() {} diff --git a/src/cmd/go/testdata/script/mod_invalid_version.txt b/src/cmd/go/testdata/script/mod_invalid_version.txt new file mode 100644 index 0000000000..76e0b43a73 --- /dev/null +++ b/src/cmd/go/testdata/script/mod_invalid_version.txt @@ -0,0 +1,250 @@ +[!net] skip +[!exec:git] skip + +env GO111MODULE=on +env GOPROXY=direct +env GOSUMDB=off + +# Regression test for golang.org/issue/27173: if the user (or go.mod file) +# requests a pseudo-version that does not match both the module path and commit +# metadata, reject it with a helpful error message. +# +# TODO(bcmills): Replace the github.com/pierrec/lz4 examples with something +# equivalent on vcs-test.golang.org. + +# An incomplete commit hash is not a valid semantic version, +# but can appear in the main go.mod file anyway and should be resolved. +cp go.mod.orig go.mod +go mod edit -require golang.org/x/text@14c0d48ead0c +cd outside +! go list -m golang.org/x/text +stderr 'go: example.com@v0.0.0: parsing ../go.mod: '$WORK'/gopath/src/go.mod:5: require golang.org/x/text: version "14c0d48ead0c" invalid: must be of the form v1.2.3' +cd .. +go list -m golang.org/x/text +stdout 'golang.org/x/text v0.1.1-0.20170915032832-14c0d48ead0c' +grep 'golang.org/x/text v0.1.1-0.20170915032832-14c0d48ead0c' go.mod + +# A module path below the repo root that does not contain a go.mod file is invalid. +cp go.mod.orig go.mod +go mod edit -require golang.org/x/text/unicode@v0.0.0-20170915032832-14c0d48ead0c +cd outside +! go list -m golang.org/x/text +stderr 'go: example.com@v0.0.0 requires\n\tgolang.org/x/text/unicode@v0.0.0-20170915032832-14c0d48ead0c: invalid version: missing golang.org/x/text/unicode/go.mod at revision 14c0d48ead0c' +cd .. +! go list -m golang.org/x/text +stderr 'golang.org/x/text/unicode@v0.0.0-20170915032832-14c0d48ead0c: invalid version: missing golang.org/x/text/unicode/go.mod at revision 14c0d48ead0c' + +# However, arguments to 'go get' can name packages above the root. +cp go.mod.orig go.mod +go get -d golang.org/x/text/unicode@v0.0.0-20170915032832-14c0d48ead0c +go list -m golang.org/x/text/... +stdout 'golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c' +! stdout 'golang.org/x/text/unicode' + +# A major version that does not match the module path is invalid. +cp go.mod.orig go.mod +go mod edit -require golang.org/x/text@v2.1.1-0.20170915032832-14c0d48ead0c +cd outside +! go list -m golang.org/x/text +stderr 'go: example.com@v0.0.0: parsing ../go.mod: '$WORK'/gopath/src/go.mod:5: require golang.org/x/text: version "v2.1.1-0.20170915032832-14c0d48ead0c" invalid: should be v0 or v1, not v2' +cd .. +! go list -m golang.org/x/text +stderr $WORK'/gopath/src/go.mod:5: require golang.org/x/text: version "v2.1.1-0.20170915032832-14c0d48ead0c" invalid: should be v0 or v1, not v2' + +# A pseudo-version with fewer than 12 digits of SHA-1 prefix is invalid. +cp go.mod.orig go.mod +go mod edit -require golang.org/x/text@v0.1.1-0.20170915032832-14c0d48ead0 +cd outside +! go list -m golang.org/x/text +stderr 'go: example.com@v0.0.0 requires\n\tgolang.org/x/text@v0.1.1-0.20170915032832-14c0d48ead0: invalid pseudo-version: revision is shorter than canonical \(14c0d48ead0c\)' +cd .. +! go list -m golang.org/x/text +stderr 'golang.org/x/text@v0.1.1-0.20170915032832-14c0d48ead0: invalid pseudo-version: revision is shorter than canonical \(14c0d48ead0c\)' + +# A pseudo-version with more than 12 digits of SHA-1 prefix is invalid. +cp go.mod.orig go.mod +go mod edit -require golang.org/x/text@v0.1.1-0.20170915032832-14c0d48ead0cd47e3104ada247d91be04afc7a5a +cd outside +! go list -m golang.org/x/text +stderr 'go: example.com@v0.0.0 requires\n\tgolang.org/x/text@v0.1.1-0.20170915032832-14c0d48ead0cd47e3104ada247d91be04afc7a5a: invalid pseudo-version: revision is longer than canonical \(14c0d48ead0c\)' +cd .. +! go list -m golang.org/x/text +stderr 'golang.org/x/text@v0.1.1-0.20170915032832-14c0d48ead0cd47e3104ada247d91be04afc7a5a: invalid pseudo-version: revision is longer than canonical \(14c0d48ead0c\)' + +# A pseudo-version that does not match the commit timestamp is invalid. +cp go.mod.orig go.mod +go mod edit -require golang.org/x/text@v0.1.1-0.20190915032832-14c0d48ead0c +cd outside +! go list -m golang.org/x/text +stderr 'go: example.com@v0.0.0 requires\n\tgolang.org/x/text@v0.1.1-0.20190915032832-14c0d48ead0c: invalid pseudo-version: does not match version-control timestamp \(2017-09-15T03:28:32Z\)' +cd .. +! go list -m golang.org/x/text +stderr 'golang.org/x/text@v0.1.1-0.20190915032832-14c0d48ead0c: invalid pseudo-version: does not match version-control timestamp \(2017-09-15T03:28:32Z\)' + +# A 'replace' directive in the main module can replace an invalid timestamp +# with a valid one. +go mod edit -replace golang.org/x/text@v0.1.1-0.20190915032832-14c0d48ead0c=golang.org/x/text@14c0d48ead0c +cd outside +! go list -m golang.org/x/text +stderr 'go: example.com@v0.0.0 requires\n\tgolang.org/x/text@v0.1.1-0.20190915032832-14c0d48ead0c: invalid pseudo-version: does not match version-control timestamp \(2017-09-15T03:28:32Z\)' +cd .. +go list -m golang.org/x/text +stdout 'golang.org/x/text v0.1.1-0.20190915032832-14c0d48ead0c => golang.org/x/text v0.1.1-0.20170915032832-14c0d48ead0c' + +# A pseudo-version that is not derived from a tag is invalid. +cp go.mod.orig go.mod +go mod edit -require golang.org/x/text@v1.999.999-0.20170915032832-14c0d48ead0c +cd outside +! go list -m golang.org/x/text +stderr 'go: example.com@v0.0.0 requires\n\tgolang.org/x/text@v1.999.999-0.20170915032832-14c0d48ead0c: invalid pseudo-version: preceding tag \(v1.999.998\) not found' +cd .. +! go list -m golang.org/x/text +stderr 'golang.org/x/text@v1.999.999-0.20170915032832-14c0d48ead0c: invalid pseudo-version: preceding tag \(v1.999.998\) not found' + +# A v1.0.0- pseudo-version that is not derived from a tag is invalid: +# v1.0.0- implies no tag, but the correct no-tag prefix for a module path +# without a major-version suffix is v0.0.0-. +cp go.mod.orig go.mod +go mod edit -require golang.org/x/text@v1.0.0-20170915032832-14c0d48ead0c +cd outside +! go list -m golang.org/x/text +stderr 'go: example.com@v0.0.0 requires\n\tgolang.org/x/text@v1.0.0-20170915032832-14c0d48ead0c: invalid pseudo-version: major version without preceding tag must be v0, not v1' +cd .. +! go list -m golang.org/x/text +stderr 'golang.org/x/text@v1.0.0-20170915032832-14c0d48ead0c: invalid pseudo-version: major version without preceding tag must be v0, not v1' + +# A pseudo-version vX.Y.Z+1 cannot have Z+1 == 0, since that would +# imply a base tag with a negative patch field. +cp go.mod.orig go.mod +go mod edit -require golang.org/x/text@v0.0.0-0.20170915032832-14c0d48ead0c +cd outside +! go list -m golang.org/x/text +stderr 'go: example.com@v0.0.0 requires\n\tgolang.org/x/text@v0.0.0-0.20170915032832-14c0d48ead0c: invalid pseudo-version: version before v0.0.0 would have negative patch number' +cd .. +! go list -m golang.org/x/text +stderr 'golang.org/x/text@v0.0.0-0.20170915032832-14c0d48ead0c: invalid pseudo-version: version before v0.0.0 would have negative patch number' + +# A 'replace' directive in the main module can replace an +# invalid pseudo-version base with a valid one. +go mod edit -replace golang.org/x/text@v0.0.0-0.20170915032832-14c0d48ead0c=golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c +cd outside +! go list -m golang.org/x/text +stderr 'go: example.com@v0.0.0 requires\n\tgolang.org/x/text@v0.0.0-0.20170915032832-14c0d48ead0c: invalid pseudo-version: version before v0.0.0 would have negative patch number' +cd .. +go list -m golang.org/x/text +stdout 'golang.org/x/text v0.0.0-0.20170915032832-14c0d48ead0c => golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c' + +# A 'replace' directive can replace an invalid 'latest' version, and +# should suppress errors for that version in 'go get -u' +cp go.mod.orig go.mod +go mod edit -require golang.org/x/text@v1.999999.0 +go mod edit -replace golang.org/x/text@v1.999999.0=golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c +cd outside +! go get -d golang.org/x/text@upgrade +stderr 'go: example.com@v0.0.0 requires\n\tgolang.org/x/text@v1.999999.0: reading golang.org/x/text/go.mod at revision v1.999999.0: unknown revision v1.999999.0' +cd .. +go get -d golang.org/x/text@upgrade +go list -m golang.org/x/text +stdout 'golang.org/x/text v1.999999.0 => golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c' + +# A pseudo-version derived from a non-ancestor tag is invalid. +cp go.mod.orig go.mod +go mod edit -require golang.org/x/text@v0.2.1-0.20170915032832-14c0d48ead0c +cd outside +! go list -m golang.org/x/text +stderr 'go: example.com@v0.0.0 requires\n\tgolang.org/x/text@v0.2.1-0.20170915032832-14c0d48ead0c: invalid pseudo-version: revision 14c0d48ead0c is not a descendent of preceding tag \(v0.2.0\)' +cd .. +! go list -m golang.org/x/text +stderr 'golang.org/x/text@v0.2.1-0.20170915032832-14c0d48ead0c: invalid pseudo-version: revision 14c0d48ead0c is not a descendent of preceding tag \(v0.2.0\)' + +# A pseudo-version derived from a canonical tag on the same revision is invalid. +cp go.mod.orig go.mod +go mod edit -require golang.org/x/text@v0.2.1-0.20171213102548-c4d099d611ac +cd outside +! go list -m golang.org/x/text +stderr 'go: example.com@v0.0.0 requires\n\tgolang.org/x/text@v0.2.1-0.20171213102548-c4d099d611ac: invalid pseudo-version: tag \(v0.2.0\) found on revision c4d099d611ac is already canonical, so should not be replaced with a pseudo-version derived from that tag' +cd .. +! go list -m golang.org/x/text +stderr 'golang.org/x/text@v0.2.1-0.20171213102548-c4d099d611ac: invalid pseudo-version: tag \(v0.2.0\) found on revision c4d099d611ac is already canonical, so should not be replaced with a pseudo-version derived from that tag' + +# A +incompatible suffix is not allowed on a version that is actually compatible. +cp go.mod.orig go.mod +go mod edit -require golang.org/x/text@v0.1.1-0.20170915032832-14c0d48ead0c+incompatible +cd outside +! go list -m golang.org/x/text +stderr 'go: example.com@v0.0.0 requires\n\tgolang.org/x/text@v0.1.1-0.20170915032832-14c0d48ead0c\+incompatible: invalid version: \+incompatible suffix not allowed: major version v0 is compatible' +cd .. +! go list -m golang.org/x/text +stderr 'golang.org/x/text@v0.1.1-0.20170915032832-14c0d48ead0c\+incompatible: invalid version: \+incompatible suffix not allowed: major version v0 is compatible' + +# The pseudo-version for a commit after a tag with a non-matching major version +# should instead be based on the last matching tag. +cp go.mod.orig go.mod +go mod edit -require github.com/pierrec/lz4@473cd7ce01a1 +go list -m github.com/pierrec/lz4 +stdout 'github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1' +cd outside +go list -m github.com/pierrec/lz4 +stdout 'github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1' +cd .. + +# A +incompatible pseudo-version for a module that has an explicit go.mod file is invalid. +cp go.mod.orig go.mod +go mod edit -require github.com/pierrec/lz4@v2.0.9-0.20190209155647-9a39efadad3d+incompatible +cd outside +! go list -m github.com/pierrec/lz4 +stderr 'go: example.com@v0.0.0 requires\n\tgithub.com/pierrec/lz4@v2.0.9-0.20190209155647-9a39efadad3d\+incompatible: invalid version: \+incompatible suffix not allowed: module contains a go.mod file, so semantic import versioning is required' +cd .. +! go list -m github.com/pierrec/lz4 +stderr 'github.com/pierrec/lz4@v2.0.9-0.20190209155647-9a39efadad3d\+incompatible: invalid version: \+incompatible suffix not allowed: module contains a go.mod file, so semantic import versioning is required' + +# A +incompatible pseudo-version is valid for a revision of the module +# that lacks a go.mod file. +cp go.mod.orig go.mod +go mod edit -require github.com/pierrec/lz4@v2.0.4-0.20180826165652-dbe9298ce099+incompatible +cd outside +go list -m github.com/pierrec/lz4 +stdout 'github.com/pierrec/lz4 v2.0.4-0.20180826165652-dbe9298ce099\+incompatible' +cd .. +go list -m github.com/pierrec/lz4 +stdout 'github.com/pierrec/lz4 v2.0.4-0.20180826165652-dbe9298ce099\+incompatible' + +# 'go get' for a mismatched major version without a go.mod file should resolve +# to the equivalent +incompatible version, not a pseudo-version with a different +# major version. +cp go.mod.orig go.mod +go get -d github.com/pierrec/lz4@v2.0.5 +go list -m github.com/pierrec/lz4 +stdout 'github.com/pierrec/lz4 v2.0.5\+incompatible' + +# 'go get' for a mismatched major version with a go.mod file should error out, +# not resolve to a pseudo-version with a different major version. +cp go.mod.orig go.mod +! go get -d github.com/pierrec/lz4@v2.0.8 +stderr 'go get github.com/pierrec/lz4@v2.0.8: github.com/pierrec/lz4@v2.0.8: invalid version: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v2' + +# An invalid +incompatible suffix for a canonical version should error out, +# not resolve to a pseudo-version. +# +# TODO(bcmills): The "outside" view for this failure mode is missing its import stack. +# Figure out why and fix it. +cp go.mod.orig go.mod +go mod edit -require github.com/pierrec/lz4@v2.0.8+incompatible +cd outside +! go list -m github.com/pierrec/lz4 +stderr 'github.com/pierrec/lz4@v2.0.8\+incompatible: invalid version: \+incompatible suffix not allowed: module contains a go.mod file, so semantic import versioning is required' +cd .. +! go list -m github.com/pierrec/lz4 +stderr 'github.com/pierrec/lz4@v2.0.8\+incompatible: invalid version: \+incompatible suffix not allowed: module contains a go.mod file, so semantic import versioning is required' + +-- go.mod.orig -- +module example.com + +go 1.13 +-- outside/go.mod -- +module example.com/outside + +go 1.13 + +require example.com v0.0.0 +replace example.com v0.0.0 => ./.. diff --git a/src/cmd/go/testdata/script/mod_list.txt b/src/cmd/go/testdata/script/mod_list.txt index a15f5bca63..17b33fcc7b 100644 --- a/src/cmd/go/testdata/script/mod_list.txt +++ b/src/cmd/go/testdata/script/mod_list.txt @@ -34,12 +34,12 @@ go list rsc.io/quote/buggy # rsc.io/quote/buggy should not be listable as a module go list -m -e -f '{{.Error.Err}}' nonexist rsc.io/quote/buggy -stdout '^module "nonexist" is not a known dependency' -stdout '^module "rsc.io/quote/buggy" is not a known dependency' +stdout '^module nonexist: not a known dependency$' +stdout '^module rsc.io/quote/buggy: not a known dependency$' ! go list -m nonexist rsc.io/quote/buggy -stderr '^go list -m nonexist: module "nonexist" is not a known dependency' -stderr '^go list -m rsc.io/quote/buggy: module "rsc.io/quote/buggy" is not a known dependency' +stderr '^go list -m: module nonexist: not a known dependency' +stderr '^go list -m: module rsc.io/quote/buggy: not a known dependency' # Module loader does not interfere with list -e (golang.org/issue/24149). go list -e -f '{{.Error.Err}}' database diff --git a/src/cmd/go/testdata/script/mod_list_compiled_concurrent.txt b/src/cmd/go/testdata/script/mod_list_compiled_concurrent.txt new file mode 100644 index 0000000000..b08713dcfd --- /dev/null +++ b/src/cmd/go/testdata/script/mod_list_compiled_concurrent.txt @@ -0,0 +1,41 @@ +env GO111MODULE=on + +[short] skip + +# Regression test for golang.org/issue/29667: +# spurious 'failed to cache compiled Go files' errors. +# This test failed reliably when run with -count=10 +# on a Linux workstation. + +env GOCACHE=$WORK/gocache +mkdir $GOCACHE + +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & +go list -json -compiled -test=false -export=false -deps=true -- . & + +wait + +-- go.mod -- +module sandbox/bar +-- bar.go -- +package bar + +import "C" diff --git a/src/cmd/go/testdata/script/mod_list_dir.txt b/src/cmd/go/testdata/script/mod_list_dir.txt index c4db045631..a8023cce9c 100644 --- a/src/cmd/go/testdata/script/mod_list_dir.txt +++ b/src/cmd/go/testdata/script/mod_list_dir.txt @@ -12,9 +12,10 @@ stdout ^math$ go list -f '{{.ImportPath}}' . stdout ^x$ ! go list -f '{{.ImportPath}}' $GOPATH/pkg/mod/rsc.io/quote@v1.5.2 -stderr 'unknown import path "rsc.io/quote": cannot find package' +stderr '^can.t load package: package '$WORK'[/\\]gopath/pkg/mod/rsc.io/quote@v1.5.2: can only use path@version syntax with .go get.' + go list -e -f '{{with .Error}}{{.}}{{end}}' $GOPATH/pkg/mod/rsc.io/quote@v1.5.2 -stdout 'unknown import path "rsc.io/quote": cannot find package' +stdout '^package '$WORK'[/\\]gopath/pkg/mod/rsc.io/quote@v1.5.2: can only use path@version syntax with .go get.' go mod download rsc.io/quote@v1.5.2 go list -f '{{.ImportPath}}' $GOPATH/pkg/mod/rsc.io/quote@v1.5.2 stdout '^rsc.io/quote$' diff --git a/src/cmd/go/testdata/script/mod_list_direct.txt b/src/cmd/go/testdata/script/mod_list_direct.txt new file mode 100644 index 0000000000..8f85871189 --- /dev/null +++ b/src/cmd/go/testdata/script/mod_list_direct.txt @@ -0,0 +1,24 @@ +env GO111MODULE=on +env GOPROXY=direct +env GOSUMDB=off + +[!net] skip +[!exec:git] skip + +# golang.org/issue/33099: if an import path ends in a major-version suffix, +# ensure that 'direct' mode can resolve the package to the module. +# For a while, (*modfetch.codeRepo).Stat was not checking for a go.mod file, +# which would produce a hard error at the subsequent call to GoMod. + +go list all + +-- go.mod -- +module example.com +go 1.13 + +-- main.go -- +package main + +import _ "vcs-test.golang.org/git/v3pkg.git/v3" + +func main() {} diff --git a/src/cmd/go/testdata/script/mod_list_pseudo.txt b/src/cmd/go/testdata/script/mod_list_pseudo.txt new file mode 100644 index 0000000000..3a10b3a040 --- /dev/null +++ b/src/cmd/go/testdata/script/mod_list_pseudo.txt @@ -0,0 +1,50 @@ +env GO111MODULE=on + +# Regression test for golang.org/issue/32715. + +# When using $GOPATH/pkg/mod/cache/download as a proxy, +# 'latest' queries should prefer tagged versions over pseudo-versions. + +go mod download github.com/dmitshur-test/modtest5@v0.0.0-20190619020302-197a620e0c9a +go mod download github.com/dmitshur-test/modtest5@v0.5.0-alpha +go mod download github.com/dmitshur-test/modtest5@v0.5.0-alpha.0.20190619023908-3da23a9deb9e +cmp $GOPATH/pkg/mod/cache/download/github.com/dmitshur-test/modtest5/@v/list $WORK/modtest5.list + +env GOPROXY=file:///$GOPATH/pkg/mod/cache/download +env GOPATH=$WORK/gopath2 +mkdir $GOPATH + +go list -m -json github.com/dmitshur-test/modtest5@latest +cmp stdout $WORK/modtest5.json + +# If the module proxy contains only pseudo-versions, 'latest' should stat +# the version with the most recent timestamp — not the highest semantic +# version — and return its metadata. +env GOPROXY=file:///$WORK/tinyproxy +go list -m -json dmitri.shuralyov.com/test/modtest3@latest +cmp stdout $WORK/modtest3.json + +-- $WORK/modtest5.list -- +v0.0.0-20190619020302-197a620e0c9a +v0.5.0-alpha +v0.5.0-alpha.0.20190619023908-3da23a9deb9e +-- $WORK/modtest5.json -- +{ + "Path": "github.com/dmitshur-test/modtest5", + "Version": "v0.5.0-alpha", + "Time": "2019-06-18T19:04:46-07:00" +} +-- $WORK/tinyproxy/dmitri.shuralyov.com/test/modtest3/@v/list -- +v0.1.0-0.20161023043300-000000000000 +v0.0.0-20181023043359-a85b471d5412 +-- $WORK/tinyproxy/dmitri.shuralyov.com/test/modtest3/@v/v0.0.0-20181023043359-a85b471d5412.info -- +{ + "Version": "v0.0.0-20181023043359-a85b471d5412", + "Time": "2018-10-22T21:33:59-07:00" +} +-- $WORK/modtest3.json -- +{ + "Path": "dmitri.shuralyov.com/test/modtest3", + "Version": "v0.0.0-20181023043359-a85b471d5412", + "Time": "2018-10-22T21:33:59-07:00" +} diff --git a/src/cmd/go/testdata/script/mod_list_replace_dir.txt b/src/cmd/go/testdata/script/mod_list_replace_dir.txt index 37de8825e0..d43bbe7f2b 100644 --- a/src/cmd/go/testdata/script/mod_list_replace_dir.txt +++ b/src/cmd/go/testdata/script/mod_list_replace_dir.txt @@ -6,7 +6,7 @@ env GO111MODULE=on go mod download ! go list $GOPATH/pkg/mod/rsc.io/quote@v1.5.2 -stderr 'outside available modules' +stderr 'can only use path@version syntax with .go get.' go list $GOPATH/pkg/mod/rsc.io/quote@v1.5.1 stdout 'rsc.io/quote' diff --git a/src/cmd/go/testdata/script/mod_list_upgrade.txt b/src/cmd/go/testdata/script/mod_list_upgrade.txt index 474df0dc26..f2d0649092 100644 --- a/src/cmd/go/testdata/script/mod_list_upgrade.txt +++ b/src/cmd/go/testdata/script/mod_list_upgrade.txt @@ -1,8 +1,28 @@ env GO111MODULE=on +# If the current version is not latest, 'go list -u' should include its upgrade. go list -m -u all stdout 'rsc.io/quote v1.2.0 \[v1\.5\.2\]' +# If the current version is latest, 'go list -u' should omit the upgrade. +go get -d rsc.io/quote@v1.5.2 +go list -m -u all +stdout 'rsc.io/quote v1.5.2$' + +# If the current version is newer than latest, 'go list -u' should +# omit the upgrade. +go get -d rsc.io/quote@v1.5.3-pre1 +go list -m -u all +stdout 'rsc.io/quote v1.5.3-pre1$' + +# If the current build list has a higher version and the user asks about +# a lower one, -u should report the upgrade for the lower one +# but leave the build list unchanged. +go list -m -u rsc.io/quote@v1.5.1 +stdout 'rsc.io/quote v1.5.1 \[v1.5.2\]$' +go list -m -u rsc.io/quote +stdout 'rsc.io/quote v1.5.3-pre1$' + -- go.mod -- module x require rsc.io/quote v1.2.0 diff --git a/src/cmd/go/testdata/script/mod_load_badchain.txt b/src/cmd/go/testdata/script/mod_load_badchain.txt index 6fdf2c7b6b..b97a2e6eab 100644 --- a/src/cmd/go/testdata/script/mod_load_badchain.txt +++ b/src/cmd/go/testdata/script/mod_load_badchain.txt @@ -57,19 +57,29 @@ import ( func Test(t *testing.T) {} -- update-main-expected -- go get: example.com/badchain/c@v1.0.0 updating to - example.com/badchain/c@v1.1.0: parsing go.mod: unexpected module path "example.com/badchain/wrong" + example.com/badchain/c@v1.1.0: parsing go.mod: + module declares its path as: badchain.example.com/c + but was required as: example.com/badchain/c -- update-a-expected -- go get: example.com/badchain/a@v1.1.0 requires example.com/badchain/b@v1.1.0 requires - example.com/badchain/c@v1.1.0: parsing go.mod: unexpected module path "example.com/badchain/wrong" + example.com/badchain/c@v1.1.0: parsing go.mod: + module declares its path as: badchain.example.com/c + but was required as: example.com/badchain/c -- list-expected -- go: example.com/badchain/a@v1.1.0 requires example.com/badchain/b@v1.1.0 requires - example.com/badchain/c@v1.1.0: parsing go.mod: unexpected module path "example.com/badchain/wrong" + example.com/badchain/c@v1.1.0: parsing go.mod: + module declares its path as: badchain.example.com/c + but was required as: example.com/badchain/c -- list-missing-expected -- go: m/use imports - example.com/badchain/c: example.com/badchain/c@v1.1.0: parsing go.mod: unexpected module path "example.com/badchain/wrong" + example.com/badchain/c: example.com/badchain/c@v1.1.0: parsing go.mod: + module declares its path as: badchain.example.com/c + but was required as: example.com/badchain/c -- list-missing-test-expected -- go: m/testuse tested by m/testuse.test imports - example.com/badchain/c: example.com/badchain/c@v1.1.0: parsing go.mod: unexpected module path "example.com/badchain/wrong" + example.com/badchain/c: example.com/badchain/c@v1.1.0: parsing go.mod: + module declares its path as: badchain.example.com/c + but was required as: example.com/badchain/c diff --git a/src/cmd/go/testdata/script/mod_query.txt b/src/cmd/go/testdata/script/mod_query.txt index c41f83d264..e87ca302f0 100644 --- a/src/cmd/go/testdata/script/mod_query.txt +++ b/src/cmd/go/testdata/script/mod_query.txt @@ -22,7 +22,7 @@ go list -m rsc.io/quote@v1.5.3 -stderr 'go list -m rsc.io/quote: no matching versions for query ">v1.5.3"' +stderr 'go list -m: module rsc.io/quote: no matching versions for query ">v1.5.3"' go list -m -e -f '{{.Error.Err}}' rsc.io/quote@>v1.5.3 stdout 'no matching versions for query ">v1.5.3"' diff --git a/src/cmd/go/testdata/script/mod_query_empty.txt b/src/cmd/go/testdata/script/mod_query_empty.txt new file mode 100644 index 0000000000..4d8259b40f --- /dev/null +++ b/src/cmd/go/testdata/script/mod_query_empty.txt @@ -0,0 +1,73 @@ +env GO111MODULE=on +env GOSUMDB=off + +go mod download example.com/join@v1.1.0 + +# If the proxy serves a bogus result for the @latest version, +# reading that version should cause 'go get' to fail. +env GOPROXY=file:///$WORK/badproxy +cp go.mod.orig go.mod +! go get -d example.com/join/subpkg +stderr 'go get example.com/join/subpkg: example.com/join/subpkg@v0.0.0-20190624000000-123456abcdef: .*' + +# If @v/list is empty, the 'go' command should still try to resolve +# other module paths. +env GOPROXY=file:///$WORK/emptysub +cp go.mod.orig go.mod +go get -d example.com/join/subpkg +go list -m example.com/join/... +! stdout 'example.com/join/subpkg' +stdout 'example.com/join v1.1.0' + +# If @v/list includes a version that the proxy does not actually serve, +# that version is treated as nonexistent. +env GOPROXY=file:///$WORK/notfound +cp go.mod.orig go.mod +go get -d example.com/join/subpkg +go list -m example.com/join/... +! stdout 'example.com/join/subpkg' +stdout 'example.com/join v1.1.0' + +# If the proxy provides an empty @v/list but rejects @latest with +# some other explicit error (for example, a "permission denied" error), +# that error should be reported to the user (and override a successful +# result for other possible module paths). +# +# Depending on how the specific platform enforces permissions, the 'go get' may +# fail either due to the intended permission error or due to a parse error. +# We accept either failure message. +env GOPROXY=file:///$WORK/gatekeeper +chmod 0000 $WORK/gatekeeper/example.com/join/subpkg/@latest +cp go.mod.orig go.mod +! go get -d example.com/join/subpkg +stderr 'go get example.com/join/subpkg: module example.com/join/subpkg: (invalid character .+|reading file://.*/gatekeeper/example.com/join/subpkg/@latest: .+)' + +-- go.mod.orig -- +module example.com/othermodule +go 1.13 +-- $WORK/badproxy/example.com/join/subpkg/@v/list -- +v0.0.0-20190624000000-123456abcdef +-- $WORK/badproxy/example.com/join/subpkg/@v/v0.0.0-20190624000000-123456abcdef.info -- +This file is not valid JSON. +-- $WORK/badproxy/example.com/join/@v/list -- +v1.1.0 +-- $WORK/badproxy/example.com/join/@v/v1.1.0.info -- +{"Version": "v1.1.0"} +-- $WORK/emptysub/example.com/join/subpkg/@v/list -- +-- $WORK/emptysub/example.com/join/@v/list -- +v1.1.0 +-- $WORK/emptysub/example.com/join/@v/v1.1.0.info -- +{"Version": "v1.1.0"} +-- $WORK/notfound/example.com/join/subpkg/@v/list -- +v1.0.0-does-not-exist +-- $WORK/notfound/example.com/join/@v/list -- +v1.1.0 +-- $WORK/notfound/example.com/join/@v/v1.1.0.info -- +{"Version": "v1.1.0"} +-- $WORK/gatekeeper/example.com/join/subpkg/@v/list -- +-- $WORK/gatekeeper/example.com/join/subpkg/@latest -- +ERROR: Latest version is forbidden. +-- $WORK/gatekeeper/example.com/join/@v/list -- +v1.1.0 +-- $WORK/gatekeeper/example.com/join/@v/v1.1.0.info -- +{"Version": "v1.1.0"} diff --git a/src/cmd/go/testdata/script/mod_sumdb.txt b/src/cmd/go/testdata/script/mod_sumdb.txt index 8e1f3d7a7b..641b9e73bc 100644 --- a/src/cmd/go/testdata/script/mod_sumdb.txt +++ b/src/cmd/go/testdata/script/mod_sumdb.txt @@ -9,8 +9,8 @@ env dbname=localhost.localdev/sumdb cp go.mod.orig go.mod env GOSUMDB=$sumdb' '$proxy/sumdb-wrong ! go get -d rsc.io/quote -stderr 'verifying rsc.io/quote@v1.5.2/go.mod: checksum mismatch' -stderr 'downloaded: h1:LzX7' +stderr 'verifying rsc.io/quote@v1.5.2: checksum mismatch' +stderr 'downloaded: h1:3fEy' stderr 'localhost.localdev/sumdb: h1:wrong' stderr 'SECURITY ERROR\nThis download does NOT match the one reported by the checksum server.' ! go get -d rsc.io/sampler diff --git a/src/cmd/go/testdata/script/mod_sumdb_cache.txt b/src/cmd/go/testdata/script/mod_sumdb_cache.txt index a44a87499a..486bdf5ecf 100644 --- a/src/cmd/go/testdata/script/mod_sumdb_cache.txt +++ b/src/cmd/go/testdata/script/mod_sumdb_cache.txt @@ -28,7 +28,7 @@ cp go.mod.orig go.mod rm go.sum env GOPROXY=off go get -d rsc.io/quote@v1.5.2 # using cache -rm $GOPATH/pkg/mod/download/cache/sumdb/localhost.localdev/sumdb/lookup/rsc.io/quote@v1.5.2 +rm $GOPATH/pkg/mod/cache/download/sumdb/localhost.localdev/sumdb/lookup/rsc.io/quote@v1.5.2 go get -d rsc.io/quote@v1.5.2 # using go.sum # fetch fails once we lose access to both cache and go.sum diff --git a/src/cmd/go/testdata/script/mod_sumdb_file_path.txt b/src/cmd/go/testdata/script/mod_sumdb_file_path.txt index 744632ec90..47c8a3a0f3 100644 --- a/src/cmd/go/testdata/script/mod_sumdb_file_path.txt +++ b/src/cmd/go/testdata/script/mod_sumdb_file_path.txt @@ -2,6 +2,7 @@ env GO111MODULE=on env GOSUMDB= +env GOPATH=$WORK/gopath1 # With a file-based proxy with an empty checksum directory, # downloading a new module should fail, even if a subsequent @@ -18,11 +19,20 @@ stderr '^verifying golang.org/x/text.*: Not Found' [!windows] env GOPROXY=file://$WORK/emptyproxy,https://proxy.golang.org go get -d golang.org/x/text@v0.3.2 +# After a successful sumdb lookup, the lookup can be repeated +# using the download cache as a proxy. +cp supported $GOPATH/pkg/mod/cache/download/sumdb/sum.golang.org/supported +[windows] env GOPROXY=file:///$WORK/gopath1/pkg/mod/cache/download,file:///$WORK/sumproxy +[!windows] env GOPROXY=file://$WORK/gopath1/pkg/mod/cache/download,file://$WORK/sumproxy +env GOPATH=$WORK/gopath2 +rm go.sum +go get -d -x -v golang.org/x/text@v0.3.2 + # Once the checksum is present in the go.sum file, # an empty file-based sumdb can be used in conjunction with # a fallback module mirror. grep golang.org/x/text go.sum -go clean -modcache +env GOPATH=$WORK/gopath3 [windows] env GOPROXY=file:///$WORK/sumproxy [!windows] env GOPROXY=file://$WORK/sumproxy ! go get -d golang.org/x/text@v0.3.2 @@ -30,6 +40,8 @@ go clean -modcache [!windows] env GOPROXY=file://$WORK/sumproxy,https://proxy.golang.org go get -d golang.org/x/text@v0.3.2 +-- supported -- + -- go.mod -- module example.com go 1.13 diff --git a/src/cmd/go/testdata/script/mod_sumdb_golang.txt b/src/cmd/go/testdata/script/mod_sumdb_golang.txt index 964501f2ee..40a07fc7e9 100644 --- a/src/cmd/go/testdata/script/mod_sumdb_golang.txt +++ b/src/cmd/go/testdata/script/mod_sumdb_golang.txt @@ -14,31 +14,39 @@ stdout '^sum.golang.org$' [!exec:git] skip env GOSUMDB=sum.golang.org env GOPROXY=direct -go get -d rsc.io/quote +go get -d rsc.io/quote@v1.5.2 +cp go.sum saved.sum # download from proxy.golang.org with go.sum entry already go clean -modcache env GOSUMDB= env GOPROXY= -go get -x -d rsc.io/quote +go get -x -d rsc.io/quote@v1.5.2 ! stderr github stderr proxy.golang.org/rsc.io/quote ! stderr sum.golang.org/tile ! stderr sum.golang.org/lookup/rsc.io/quote +cmp go.sum saved.sum -# download again, using checksum database to validate new go.sum lines +# Download again. +# Should use the checksum database to validate new go.sum lines, +# but not need to fetch any new data from the proxy. rm go.sum -go get -x -d rsc.io/quote +go get -x -d rsc.io/quote@v1.5.2 ! stderr github -stderr proxy.golang.org/rsc.io/quote +! stderr proxy.golang.org/rsc.io/quote stderr sum.golang.org/tile stderr sum.golang.org/lookup/rsc.io/quote +cmp go.sum saved.sum # test fallback to direct env TESTGOPROXY404=1 -go get -x -d rsc.io/quote +go clean -modcache +rm go.sum +go get -x -d rsc.io/quote@v1.5.2 stderr 'proxy.golang.org.*404 testing' stderr github.com/rsc +cmp go.sum saved.sum -- go.mod -- module m diff --git a/src/cmd/go/testdata/script/mod_sumdb_proxy.txt b/src/cmd/go/testdata/script/mod_sumdb_proxy.txt index 6fbf7aeb8a..28166913fd 100644 --- a/src/cmd/go/testdata/script/mod_sumdb_proxy.txt +++ b/src/cmd/go/testdata/script/mod_sumdb_proxy.txt @@ -6,14 +6,14 @@ env GOPROXY GONOPROXY GOSUMDB GONOSUMDB # basic fetch (through proxy) works cp go.mod.orig go.mod go get -d rsc.io/fortune@v1.0.0 # note: must use test proxy, does not exist in real world -rm $GOPATH/pkg/mod/download/cache/sumdb # rm sumdb cache but NOT package download cache +rm $GOPATH/pkg/mod/cache/download/sumdb # rm sumdb cache but NOT package download cache rm go.sum # can fetch by explicit URL cp go.mod.orig go.mod env GOSUMDB=$sumdb' '$proxy/sumdb-direct go get -d rsc.io/fortune@v1.0.0 -rm $GOPATH/pkg/mod/download/cache/sumdb +rm $GOPATH/pkg/mod/cache/download/sumdb rm go.sum # direct access fails (because localhost.localdev does not exist) @@ -25,7 +25,7 @@ env GOSUMDB=$sumdb env GOPROXY=direct ! go get -d rsc.io/fortune@v1.0.0 stderr 'verifying.*localhost.localdev' -rm $GOPATH/pkg/mod/download/cache/sumdb +rm $GOPATH/pkg/mod/cache/download/sumdb rm go.sum # proxy 404 falls back to direct access (which fails) @@ -34,7 +34,7 @@ env GOSUMDB=$sumdb env GOPROXY=$proxy/sumdb-404 ! go get -d rsc.io/fortune@v1.0.0 stderr 'verifying.*localhost.localdev' -rm $GOPATH/pkg/mod/download/cache/sumdb +rm $GOPATH/pkg/mod/cache/download/sumdb rm go.sum # proxy non-200/404/410 stops direct access @@ -43,7 +43,7 @@ env GOSUMDB=$sumdb env GOPROXY=$proxy/sumdb-503 ! go get -d rsc.io/fortune@v1.0.0 stderr '503 Service Unavailable' -rm $GOPATH/pkg/mod/download/cache/sumdb +rm $GOPATH/pkg/mod/cache/download/sumdb rm go.sum -- go.mod.orig -- diff --git a/src/cmd/go/testdata/script/mod_test_cached.txt b/src/cmd/go/testdata/script/mod_test_cached.txt new file mode 100644 index 0000000000..ffd573c02a --- /dev/null +++ b/src/cmd/go/testdata/script/mod_test_cached.txt @@ -0,0 +1,77 @@ +[short] skip + +env GO111MODULE=on +env GOCACHE=$WORK/gocache +env GODEBUG=gocachetest=1 + +# The first run of a test should not be cached. +# The second run should be. +go test -run=WriteTmp . +! stdout '(cached)' +go test -run=WriteTmp . +stdout '(cached)' + +# 'go test' without arguments should never be cached. +go test -run=WriteTmp +! stdout '(cached)' +go test -run=WriteTmp +! stdout '(cached)' + +# We should never cache a test run from command-line files. +go test -run=WriteTmp ./foo_test.go +! stdout '(cached)' +go test -run=WriteTmp ./foo_test.go +! stdout '(cached)' + +[!exec:sleep] stop +# The go command refuses to cache access to files younger than 2s, so sleep that long. +exec sleep 2 + +# Touching a file that the test reads from within its testdata should invalidate the cache. +go test -run=ReadTestdata . +! stdout '(cached)' +go test -run=ReadTestdata . +stdout '(cached)' +cp testdata/bar.txt testdata/foo.txt +go test -run=ReadTestdata . +! stdout '(cached)' + +-- go.mod -- +module golang.org/issue/29111/foo + +-- foo.go -- +package foo + +-- testdata/foo.txt -- +foo +-- testdata/bar.txt -- +bar + +-- foo_test.go -- +package foo_test + +import ( + "io/ioutil" + "os" + "path/filepath" + "testing" +) + +func TestWriteTmp(t *testing.T) { + dir, err := ioutil.TempDir("", "") + if err != nil { + t.Fatal(err) + } + defer os.RemoveAll(dir) + err = ioutil.WriteFile(filepath.Join(dir, "x"), nil, 0666) + if err != nil { + t.Fatal(err) + } +} + +func TestReadTestdata(t *testing.T) { + _, err := ioutil.ReadFile("testdata/foo.txt") + if err != nil { + t.Fatal(err) + } +} diff --git a/src/cmd/go/testdata/script/mod_tidy_error.txt b/src/cmd/go/testdata/script/mod_tidy_error.txt new file mode 100644 index 0000000000..9bb8528cb0 --- /dev/null +++ b/src/cmd/go/testdata/script/mod_tidy_error.txt @@ -0,0 +1,39 @@ +env GO111MODULE=on + +# Regression test for golang.org/issue/27063: +# 'go mod tidy' and 'go mod vendor' should not hide loading errors. + +! go mod tidy +stderr '^issue27063 imports\n\tnonexist: malformed module path "nonexist": missing dot in first path element' +stderr '^issue27063 imports\n\tnonexist.example.com: cannot find module providing package nonexist.example.com' +stderr '^issue27063 imports\n\tissue27063/other imports\n\tother.example.com/nonexist: cannot find module providing package other.example.com/nonexist' + +! go mod vendor +stderr '^issue27063 imports\n\tnonexist: malformed module path "nonexist": missing dot in first path element' +stderr '^issue27063 imports\n\tnonexist.example.com: cannot find module providing package nonexist.example.com' +stderr '^issue27063 imports\n\tissue27063/other imports\n\tother.example.com/nonexist: cannot find module providing package other.example.com/nonexist' + +-- go.mod -- +module issue27063 + +go 1.13 + +require issue27063/other v0.0.0 +replace issue27063/other => ./other +-- x.go -- +package main + +import ( + "nonexist" + + "nonexist.example.com" + "issue27063/other" +) + +func main() {} +-- other/go.mod -- +module issue27063/other +-- other/other.go -- +package other + +import "other.example.com/nonexist" diff --git a/src/cmd/go/testdata/script/mod_vendor.txt b/src/cmd/go/testdata/script/mod_vendor.txt index eae4f2946c..5d872c3c80 100644 --- a/src/cmd/go/testdata/script/mod_vendor.txt +++ b/src/cmd/go/testdata/script/mod_vendor.txt @@ -171,12 +171,6 @@ package m import _ "appengine" import _ "appengine/datastore" --- nonexistent.go -- -// +build alternatereality - -package m - -import _ "nonexistent.rsc.io" -- mypkg/go.mod -- module me -- mypkg/mydir/d.go -- diff --git a/src/cmd/go/testdata/script/test_go111module_cache.txt b/src/cmd/go/testdata/script/test_go111module_cache.txt new file mode 100644 index 0000000000..ca1de43a2b --- /dev/null +++ b/src/cmd/go/testdata/script/test_go111module_cache.txt @@ -0,0 +1,15 @@ +env GO111MODULE=on +go mod init foo +go test +stdout ^ok\s+foo +env GO111MODULE=off +go test +stdout ^ok\s+ +! stdout ^ok\s+(cache)$ + +-- main_test.go -- +package main + +import "testing" + +func TestF(t *testing.T) {} diff --git a/src/cmd/go/testdata/script/test_init.txt b/src/cmd/go/testdata/script/test_init.txt deleted file mode 100644 index 73b4f3c768..0000000000 --- a/src/cmd/go/testdata/script/test_init.txt +++ /dev/null @@ -1,86 +0,0 @@ -# Tests for automatic testing.Init calls when using 'go test'. - -env GO111MODULE=on - -# A TestMain should be able to access testing flags if it calls flag.Parse -# without needing to use testing.Init. -# Test code can use the name 'testing' without colliding with generated -# testinginit code. -# Tests running under 'go test' should observe that testing.Init is called -# before any user package initialization code runs. -go test -stdout TestMain -stdout TestInit -stdout TestExt - --- go.mod -- -module m - --- init_test.go -- -package testinitflag - -import ( - "flag" - "fmt" - "os" - Testing "testing" -) - -func testFlagsInitialized() bool { - found := false - flag.VisitAll(func(f *flag.Flag) { - if f.Name == "test.count" { - found = true - } - }) - return found -} - -var testing int -var testingInitAtInitialization = testFlagsInitialized() - -func TestInit(t *Testing.T) { - if !testingInitAtInitialization { - t.Fatal("testing.Init not called before package initialization") - } - fmt.Printf("TestInit\n") -} - -func TestMain(m *Testing.M) { - fmt.Printf("TestMain\n") - flag.Parse() - if !testFlagsInitialized() { - fmt.Println("testing flags not registered") - os.Exit(1) - } - os.Exit(m.Run()) -} - --- external_test.go -- -package testinitflag_test - -import ( - "flag" - "fmt" - Testing "testing" -) - -func testFlagsInitialized() bool { - found := false - flag.VisitAll(func(f *flag.Flag) { - if f.Name == "test.count" { - found = true - } - }) - return found -} - -var testing int -var testingInitAtInitialization = testFlagsInitialized() - -func TestExt(t *Testing.T) { - fmt.Printf("TestExt\n") - if !testingInitAtInitialization { - t.Fatal("testing.Init not called before package initialization") - } -} diff --git a/src/cmd/go/testdata/script/version.txt b/src/cmd/go/testdata/script/version.txt index cb4881f7a7..9086f047e4 100644 --- a/src/cmd/go/testdata/script/version.txt +++ b/src/cmd/go/testdata/script/version.txt @@ -8,5 +8,12 @@ go version -m fortune.exe stdout '^\tpath\trsc.io/fortune' stdout '^\tmod\trsc.io/fortune\tv1.0.0' +go build -buildmode=pie -o external.exe rsc.io/fortune +go version external.exe +stdout '^external.exe: .+' +go version -m external.exe +stdout '^\tpath\trsc.io/fortune' +stdout '^\tmod\trsc.io/fortune\tv1.0.0' + -- go.mod -- module m diff --git a/src/cmd/go/testdata/standalone_testmain_flag_test.go b/src/cmd/go/testdata/standalone_testmain_flag_test.go new file mode 100644 index 0000000000..a59555bb61 --- /dev/null +++ b/src/cmd/go/testdata/standalone_testmain_flag_test.go @@ -0,0 +1,29 @@ +// Copyright 2019 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 standalone_testmain_flag_test + +import ( + "flag" + "fmt" + "os" + "testing" +) + +func TestMain(m *testing.M) { + // A TestMain should be able to access testing flags if it calls + // flag.Parse without needing to use testing.Init. + flag.Parse() + found := false + flag.VisitAll(func(f *flag.Flag) { + if f.Name == "test.count" { + found = true + } + }) + if !found { + fmt.Println("testing flags not registered") + os.Exit(1) + } + os.Exit(m.Run()) +} diff --git a/src/cmd/gofmt/gofmt.go b/src/cmd/gofmt/gofmt.go index 4bba44489d..d7a77a9682 100644 --- a/src/cmd/gofmt/gofmt.go +++ b/src/cmd/gofmt/gofmt.go @@ -335,66 +335,49 @@ func backupFile(filename string, data []byte, perm os.FileMode) (string, error) // alone. func normalizeNumbers(n ast.Node) bool { lit, _ := n.(*ast.BasicLit) - if lit == nil { + if lit == nil || (lit.Kind != token.INT && lit.Kind != token.FLOAT && lit.Kind != token.IMAG) { return true } if len(lit.Value) < 2 { - return false // only one digit - nothing to do + return false // only one digit (common case) - nothing to do } // len(lit.Value) >= 2 + // We ignore lit.Kind because for lit.Kind == token.IMAG the literal may be an integer + // or floating-point value, decimal or not. Instead, just consider the literal pattern. x := lit.Value - switch lit.Kind { - case token.INT: - switch x[:2] { - case "0X": - lit.Value = "0x" + x[2:] - case "0O": - lit.Value = "0o" + x[2:] - case "0B": - lit.Value = "0b" + x[2:] + switch x[:2] { + default: + // 0-prefix octal, decimal int, or float (possibly with 'i' suffix) + if i := strings.LastIndexByte(x, 'E'); i >= 0 { + x = x[:i] + "e" + x[i+1:] + break } - - case token.FLOAT: - switch lit.Value[:2] { - default: - if i := strings.LastIndexByte(x, 'E'); i >= 0 { - lit.Value = x[:i] + "e" + x[i+1:] - } - case "0x": - if i := strings.LastIndexByte(x, 'P'); i >= 0 { - lit.Value = x[:i] + "p" + x[i+1:] - } - case "0X": - if i := strings.LastIndexByte(x, 'P'); i >= 0 { - lit.Value = "0x" + x[2:i] + "p" + x[i+1:] - } else { - lit.Value = "0x" + x[2:] - } - } - - case token.IMAG: - // Note that integer imaginary literals may contain - // any decimal digit even if they start with zero. - // Imaginary literals should always end in 'i' but be - // conservative and check anyway before proceeding. - if x[0] == '0' && x[len(x)-1] == 'i' && isDecimals(x[1:len(x)-1]) { + // remove leading 0's from integer (but not floating-point) imaginary literals + if x[len(x)-1] == 'i' && strings.IndexByte(x, '.') < 0 && strings.IndexByte(x, 'e') < 0 { x = strings.TrimLeft(x, "0_") if x == "i" { x = "0i" } - lit.Value = x } + case "0X": + x = "0x" + x[2:] + fallthrough + case "0x": + // possibly a hexadecimal float + if i := strings.LastIndexByte(x, 'P'); i >= 0 { + x = x[:i] + "p" + x[i+1:] + } + case "0O": + x = "0o" + x[2:] + case "0o": + // nothing to do + case "0B": + x = "0b" + x[2:] + case "0b": + // nothing to do } + lit.Value = x return false } - -// isDecimals reports whether x consists entirely of decimal digits and underscores. -func isDecimals(x string) bool { - i := 0 - for i < len(x) && ('0' <= x[i] && x[i] <= '9' || x[i] == '_') { - i++ - } - return i == len(x) -} diff --git a/src/cmd/gofmt/testdata/go2numbers.golden b/src/cmd/gofmt/testdata/go2numbers.golden index abefcb6c58..0184aaa6ce 100644 --- a/src/cmd/gofmt/testdata/go2numbers.golden +++ b/src/cmd/gofmt/testdata/go2numbers.golden @@ -163,8 +163,24 @@ const ( _ = 0.i _ = 123.i _ = 0123.i + _ = 000123.i + + _ = 0e0i + _ = 123e0i + _ = 0123e0i + _ = 000123e0i _ = 0.e+1i - _ = 123.E-1_0i + _ = 123.e-1_0i _ = 01_23.e123i + _ = 00_01_23.e123i + + _ = 0b1010i + _ = 0b1010i + _ = 0o660i + _ = 0o660i + _ = 0xabcDEFi + _ = 0xabcDEFi + _ = 0xabcDEFp0i + _ = 0xabcDEFp0i ) diff --git a/src/cmd/gofmt/testdata/go2numbers.input b/src/cmd/gofmt/testdata/go2numbers.input index 51a9f8eaf6..f3e7828d94 100644 --- a/src/cmd/gofmt/testdata/go2numbers.input +++ b/src/cmd/gofmt/testdata/go2numbers.input @@ -163,8 +163,24 @@ const ( _ = 0.i _ = 123.i _ = 0123.i + _ = 000123.i + + _ = 0e0i + _ = 123e0i + _ = 0123E0i + _ = 000123E0i _ = 0.e+1i _ = 123.E-1_0i _ = 01_23.e123i + _ = 00_01_23.e123i + + _ = 0b1010i + _ = 0B1010i + _ = 0o660i + _ = 0O660i + _ = 0xabcDEFi + _ = 0XabcDEFi + _ = 0xabcDEFP0i + _ = 0XabcDEFp0i ) diff --git a/src/cmd/gofmt/testdata/import.golden b/src/cmd/gofmt/testdata/import.golden index f7d742e3e8..29bdc9baf4 100644 --- a/src/cmd/gofmt/testdata/import.golden +++ b/src/cmd/gofmt/testdata/import.golden @@ -1,4 +1,3 @@ -// package comment package main import ( @@ -9,6 +8,11 @@ import ( "math" ) +import ( + "fmt" + "math" +) + import ( "fmt" @@ -21,10 +25,6 @@ import ( "io" ) -// We reset the line numbering to test that -// the formatting works independent of line directives -//line :19 - import ( "errors" "fmt" @@ -129,58 +129,3 @@ import ( "dedup_by_group" ) - -import ( - "fmt" // for Printf - /* comment */ io1 "io" - /* comment */ io2 "io" - /* comment */ "log" -) - -import ( - "fmt" - /* comment */ io1 "io" - /* comment */ io2 "io" // hello - "math" /* right side */ - // end -) - -import ( - "errors" // for New - "fmt" - /* comment */ io1 "io" /* before */ // after - io2 "io" // another - // end -) - -import ( - "errors" // for New - /* left */ "fmt" /* right */ - "log" // for Fatal - /* left */ "math" /* right */ -) - -import /* why */ /* comment here? */ ( - /* comment */ "fmt" - "math" -) - -// Reset it again -//line :100 - -// Dedup with different import styles -import ( - "path" - . "path" - _ "path" - pathpkg "path" -) - -/* comment */ -import ( - "fmt" - "math" // for Abs - // This is a new run - "errors" - "fmt" -) diff --git a/src/cmd/gofmt/testdata/import.input b/src/cmd/gofmt/testdata/import.input index 6e3a3a3bed..78ab4f6544 100644 --- a/src/cmd/gofmt/testdata/import.input +++ b/src/cmd/gofmt/testdata/import.input @@ -1,4 +1,3 @@ -// package comment package main import ( @@ -9,6 +8,9 @@ import ( "io" ) +import("fmt" +"math") + import ( "fmt" @@ -21,10 +23,6 @@ import ( "io" ) -// We reset the line numbering to test that -// the formatting works independent of line directives -//line :19 - import ( "fmt" "math" @@ -134,60 +132,3 @@ import ( "dedup_by_group" ) - -import ( - /* comment */ io1 "io" - "fmt" // for Printf - /* comment */ "log" - /* comment */ io2 "io" -) - -import ( - /* comment */ io2 "io" // hello - /* comment */ io1 "io" - "math" /* right side */ - "fmt" - // end -) - -import ( - /* comment */ io1 "io" /* before */ // after - "fmt" - "errors" // for New - io2 "io" // another - // end -) - -import ( - /* left */ "fmt" /* right */ - "errors" // for New - /* left */ "math" /* right */ - "log" // for Fatal -) - -import /* why */ /* comment here? */ ( - /* comment */ "fmt" - "math" -) - -// Reset it again -//line :100 - -// Dedup with different import styles -import ( - "path" - . "path" - _ "path" - "path" - pathpkg "path" -) - -/* comment */ -import ( - "math" // for Abs - "fmt" - // This is a new run - "errors" - "fmt" - "errors" -) diff --git a/src/cmd/internal/obj/arm64/a.out.go b/src/cmd/internal/obj/arm64/a.out.go index 944eab1955..4379f010ff 100644 --- a/src/cmd/internal/obj/arm64/a.out.go +++ b/src/cmd/internal/obj/arm64/a.out.go @@ -241,8 +241,8 @@ const ( // compiler allocates external registers F26 down const ( REGMIN = REG_R7 // register variables allocated from here to REGMAX - REGRT1 = REG_R16 // ARM64 IP0, for external linker, runtime, duffzero and duffcopy - REGRT2 = REG_R17 // ARM64 IP1, for external linker, runtime, duffcopy + REGRT1 = REG_R16 // ARM64 IP0, external linker may use as a scrach register in trampoline + REGRT2 = REG_R17 // ARM64 IP1, external linker may use as a scrach register in trampoline REGPR = REG_R18 // ARM64 platform register, unused in the Go toolchain REGMAX = REG_R25 diff --git a/src/cmd/internal/obj/ppc64/doc.go b/src/cmd/internal/obj/ppc64/doc.go new file mode 100644 index 0000000000..2b6ef81b5b --- /dev/null +++ b/src/cmd/internal/obj/ppc64/doc.go @@ -0,0 +1,204 @@ +// Copyright 2019 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 ppc64 implements a PPC64 assembler that assembles Go asm into +the corresponding PPC64 binary instructions as defined by the Power +ISA. Since POWER8 is the minimum instruction set used by GOARCHes ppc64le +and ppc64, refer to ISA 2.07B or later for details. + +This document provides information on how to write code in Go assembler +for PPC64, focusing on the differences between Go and PPC64 assembly language. +It assumes some knowledge of PPC64 assembler. The original implementation of +PPC64 in Go defined many opcodes that are different from PPC64 opcodes, but +updates to the Go assembly language used mnemonics that are mostly similar if not +identical to the PPC64 mneumonics, such as VMX and VSX instructions. Not all detail +is included here; refer to the Power ISA document if interested in more detail. + +In the examples below, the Go assembly is on the left, PPC64 assembly on the right. + +1. Operand ordering + + In Go asm, the last operand (right) is the target operand, but with PPC64 asm, + the first operand (left) is the target. In general, the remaining operands are + in the same order except in a few special cases, especially those with 4 operands. + + Example: + ADD R3, R4, R5 <=> add r5, r3, r4 + +2. Constant operands + + In Go asm, an operand that starts with '$' indicates a constant value. If the + instruction using the constant has an immediate version of the opcode, then an + immediate value is used with the opcode if possible. + + Example: + ADD $1, R3, R4 <=> addi r4, r3, 1 + +3. Opcodes setting condition codes + + In PPC64 asm, some instructions other than compares have variations that can set + the condition code where meaningful. This is indicated by adding '.' to the end + of the PPC64 instruction. In Go asm, these instructions have 'CC' at the end of + the opcode. The possible settings of the condition code depend on the instruction. + CR0 is the default for fixed-point instructions; CR1 for floating point; CR6 for + vector instructions. + + Example: + ANDCC R3, R4, R5 <=> and. r5, r3, r4 (set CR0) + +4. Loads and stores from memory + + In Go asm, opcodes starting with 'MOV' indicate a load or store. When the target + is a memory reference, then it is a store; when the target is a register and the + source is a memory reference, then it is a load. + + MOV{B,H,W,D} variations identify the size as byte, halfword, word, doubleword. + + Adding 'Z' to the opcode for a load indicates zero extend; if omitted it is sign extend. + Adding 'U' to a load or store indicates an update of the base register with the offset. + Adding 'BR' to an opcode indicates byte-reversed load or store, or the order opposite + of the expected endian order. If 'BR' is used then zero extend is assumed. + + Memory references n(Ra) indicate the address in Ra + n. When used with an update form + of an opcode, the value in Ra is incremented by n. + + Memory references (Ra+Rb) or (Ra)(Rb) indicate the address Ra + Rb, used by indexed + loads or stores. Both forms are accepted. When used with an update then the base register + is updated by the value in the index register. + + Examples: + MOVD (R3), R4 <=> ld r4,0(r3) + MOVW (R3), R4 <=> lwa r4,0(r3) + MOVWZU 4(R3), R4 <=> lwzu r4,4(r3) + MOVWZ (R3+R5), R4 <=> lwzx r4,r3,r5 + MOVHZ (R3), R4 <=> lhz r4,0(r3) + MOVHU 2(R3), R4 <=> lhau r4,2(r3) + MOVBZ (R3), R4 <=> lbz r4,0(r3) + + MOVD R4,(R3) <=> std r4,0(r3) + MOVW R4,(R3) <=> stw r4,0(r3) + MOVW R4,(R3+R5) <=> stwx r4,r3,r5 + MOVWU R4,4(R3) <=> stwu r4,4(r3) + MOVH R4,2(R3) <=> sth r4,2(r3) + MOVBU R4,(R3)(R5) <=> stbux r4,r3,r5 + +4. Compares + + When an instruction does a compare or other operation that might + result in a condition code, then the resulting condition is set + in a field of the condition register. The condition register consists + of 8 4-bit fields named CR0 - CR7. When a compare instruction + identifies a CR then the resulting condition is set in that field + to be read by a later branch or isel instruction. Within these fields, + bits are set to indicate less than, greater than, or equal conditions. + + Once an instruction sets a condition, then a subsequent branch, isel or + other instruction can read the condition field and operate based on the + bit settings. + + Examples: + CMP R3, R4 <=> cmp r3, r4 (CR0 assumed) + CMP R3, R4, CR1 <=> cmp cr1, r3, r4 + + Note that the condition register is the target operand of compare opcodes, so + the remaining operands are in the same order for Go asm and PPC64 asm. + When CR0 is used then it is implicit and does not need to be specified. + +5. Branches + + Many branches are represented as a form of the BC instruction. There are + other extended opcodes to make it easier to see what type of branch is being + used. + + The following is a brief description of the BC instruction and its commonly + used operands. + + BC op1, op2, op3 + + op1: type of branch + 16 -> bctr (branch on ctr) + 12 -> bcr (branch if cr bit is set) + 8 -> bcr+bctr (branch on ctr and cr values) + 4 -> bcr != 0 (branch if specified cr bit is not set) + + There are more combinations but these are the most common. + + op2: condition register field and condition bit + + This contains an immediate value indicating which condition field + to read and what bits to test. Each field is 4 bits long with CR0 + at bit 0, CR1 at bit 4, etc. The value is computed as 4*CR+condition + with these condition values: + + 0 -> LT + 1 -> GT + 2 -> EQ + 3 -> OVG + + Thus 0 means test CR0 for LT, 5 means CR1 for GT, 30 means CR7 for EQ. + + op3: branch target + + Examples: + + BC 12, 0, target <=> blt cr0, target + BC 12, 2, target <=> beq cr0, target + BC 12, 5, target <=> bgt cr1, target + BC 12, 30, target <=> beq cr7, target + BC 4, 6, target <=> bne cr1, target + BC 4, 1, target <=> ble cr1, target + + The following extended opcodes are available for ease of use and readability: + + BNE CR2, target <=> bne cr2, target + BEQ CR4, target <=> beq cr4, target + BLT target <=> blt target (cr0 default) + BGE CR7, target <=> bge cr7, target + + Refer to the ISA for more information on additional values for the BC instruction, + how to handle OVG information, and much more. + +5. Align directive + + Starting with Go 1.12, Go asm supports the PCALIGN directive, which indicates + that the next instruction should be aligned to the specified value. Currently + 8 and 16 are the only supported values, and a maximum of 2 NOPs will be added + to align the code. That means in the case where the code is aligned to 4 but + PCALIGN $16 is at that location, the code will only be aligned to 8 to avoid + adding 3 NOPs. + + The purpose of this directive is to improve performance for cases like loops + where better alignment (8 or 16 instead of 4) might be helpful. This directive + exists in PPC64 assembler and is frequently used by PPC64 assembler writers. + + PCALIGN $16 + PCALIGN $8 + + Functions in Go are aligned to 16 bytes, as is the case in all other compilers + for PPC64. + +Register naming + +1. Special register usage in Go asm + + The following registers should not be modified by user Go assembler code. + + R0: Go code expects this register to contain the value 0. + R1: Stack pointer + R2: TOC pointer when compiled with -shared or -dynlink (a.k.a position independent code) + R13: TLS pointer + R30: g (goroutine) + + Register names: + + Rn is used for general purpose registers. (0-31) + Fn is used for floating point registers. (0-31) + Vn is used for vector registers. Slot 0 of Vn overlaps with Fn. (0-31) + VSn is used for vector-scalar registers. V0-V31 overlap with VS32-VS63. (0-63) + CTR represents the count register. + LR represents the link register. + +*/ +package ppc64 diff --git a/src/cmd/internal/objabi/flag.go b/src/cmd/internal/objabi/flag.go index 90e944656b..79ad2ccf74 100644 --- a/src/cmd/internal/objabi/flag.go +++ b/src/cmd/internal/objabi/flag.go @@ -86,6 +86,10 @@ func (versionFlag) Set(s string) error { name = name[strings.LastIndex(name, `/`)+1:] name = name[strings.LastIndex(name, `\`)+1:] name = strings.TrimSuffix(name, ".exe") + + // If there's an active experiment, include that, + // to distinguish go1.10.2 with an experiment + // from go1.10.2 without an experiment. p := Expstring() if p == DefaultExpstring() { p = "" @@ -101,12 +105,6 @@ func (versionFlag) Set(s string) error { // build ID of the binary, so that if the compiler is changed and // rebuilt, we notice and rebuild all packages. if s == "full" { - // If there's an active experiment, include that, - // to distinguish go1.10.2 with an experiment - // from go1.10.2 without an experiment. - if x := Expstring(); x != "" { - p += " " + x - } if strings.HasPrefix(Version, "devel") { p += " buildID=" + buildID } diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go index 831e3de829..9cbd77011f 100644 --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go @@ -1903,7 +1903,15 @@ func ldshlibsyms(ctxt *Link, shlib string) { if elf.ST_TYPE(elfsym.Info) == elf.STT_NOTYPE || elf.ST_TYPE(elfsym.Info) == elf.STT_SECTION { continue } - lsym := ctxt.Syms.Lookup(elfsym.Name, 0) + + // Symbols whose names start with "type." are compiler + // generated, so make functions with that prefix internal. + ver := 0 + if elf.ST_TYPE(elfsym.Info) == elf.STT_FUNC && strings.HasPrefix(elfsym.Name, "type.") { + ver = sym.SymVerABIInternal + } + + lsym := ctxt.Syms.Lookup(elfsym.Name, ver) // Because loadlib above loads all .a files before loading any shared // libraries, any non-dynimport symbols we find that duplicate symbols // already loaded should be ignored (the symbols from the .a files @@ -1931,7 +1939,7 @@ func ldshlibsyms(ctxt *Link, shlib string) { // the ABIs are actually different. We might have to // mangle Go function names in the .so to include the // ABI. - if elf.ST_TYPE(elfsym.Info) == elf.STT_FUNC { + if elf.ST_TYPE(elfsym.Info) == elf.STT_FUNC && ver == 0 { alias := ctxt.Syms.Lookup(elfsym.Name, sym.SymVerABIInternal) if alias.Type != 0 { continue @@ -2059,7 +2067,7 @@ func stkcheck(ctxt *Link, up *chain, depth int) int { s.Attr |= sym.AttrStackCheck } - if depth > 100 { + if depth > 500 { Errorf(s, "nosplit stack check too deep") stkbroke(ctxt, up, 0) return -1 diff --git a/src/cmd/link/internal/ld/macho_combine_dwarf.go b/src/cmd/link/internal/ld/macho_combine_dwarf.go index 3c123a092f..72ee8affab 100644 --- a/src/cmd/link/internal/ld/macho_combine_dwarf.go +++ b/src/cmd/link/internal/ld/macho_combine_dwarf.go @@ -245,7 +245,7 @@ func machoCombineDwarf(ctxt *Link, exef *os.File, exem *macho.File, dsym, outexe } } // Do the final update of the DWARF segment's load command. - return machoUpdateDwarfHeader(&reader, ctxt.BuildMode, compressedSects) + return machoUpdateDwarfHeader(&reader, compressedSects, dwarfsize) } // machoCompressSections tries to compress the DWARF segments in dwarfm, @@ -390,7 +390,7 @@ func machoUpdateSections(r loadCmdReader, seg, sect reflect.Value, deltaOffset, } // machoUpdateDwarfHeader updates the DWARF segment load command. -func machoUpdateDwarfHeader(r *loadCmdReader, buildmode BuildMode, compressedSects []*macho.Section) error { +func machoUpdateDwarfHeader(r *loadCmdReader, compressedSects []*macho.Section, dwarfsize uint64) error { var seg, sect interface{} cmd, err := r.Next() if err != nil { @@ -408,8 +408,6 @@ func machoUpdateDwarfHeader(r *loadCmdReader, buildmode BuildMode, compressedSec } segv := reflect.ValueOf(seg).Elem() segv.FieldByName("Offset").SetUint(uint64(dwarfstart)) - segv.FieldByName("Addr").SetUint(uint64(dwarfaddr)) - segv.FieldByName("Prot").SetUint(0) if compressedSects != nil { var segSize uint64 @@ -417,23 +415,27 @@ func machoUpdateDwarfHeader(r *loadCmdReader, buildmode BuildMode, compressedSec segSize += newSect.Size } segv.FieldByName("Filesz").SetUint(segSize) - segv.FieldByName("Memsz").SetUint(uint64(Rnd(int64(segSize), 1< fipsMaxVersion(c)) { continue } + // TLS 1.0 is the default minimum version. + if (c == nil || c.MinVersion == 0) && v < VersionTLS10 { + continue + } if c != nil && c.MinVersion != 0 && v < c.MinVersion { continue } diff --git a/src/crypto/tls/handshake_client_test.go b/src/crypto/tls/handshake_client_test.go index da17fdfa4f..1b6b9a1074 100644 --- a/src/crypto/tls/handshake_client_test.go +++ b/src/crypto/tls/handshake_client_test.go @@ -25,18 +25,6 @@ import ( "time" ) -func init() { - // TLS 1.3 cipher suites preferences are not configurable and change based - // on the architecture. Force them to the version with AES acceleration for - // test consistency. - once.Do(initDefaultCipherSuites) - varDefaultCipherSuitesTLS13 = []uint16{ - TLS_AES_128_GCM_SHA256, - TLS_CHACHA20_POLY1305_SHA256, - TLS_AES_256_GCM_SHA384, - } -} - // Note: see comment in handshake_test.go for details of how the reference // tests work. @@ -287,8 +275,6 @@ func (test *clientTest) loadData() (flows [][]byte, err error) { } func (test *clientTest) run(t *testing.T, write bool) { - checkOpenSSLVersion(t) - var clientConn, serverConn net.Conn var recordingConn *recordingConn var childProcess *exec.Cmd diff --git a/src/crypto/tls/handshake_server_test.go b/src/crypto/tls/handshake_server_test.go index 6884dff154..a9c1c08cbc 100644 --- a/src/crypto/tls/handshake_server_test.go +++ b/src/crypto/tls/handshake_server_test.go @@ -7,18 +7,11 @@ package tls import ( "bytes" "crypto" - "crypto/ecdsa" - "crypto/ed25519" "crypto/elliptic" - "crypto/rsa" - "crypto/x509" - "encoding/hex" "encoding/pem" "errors" "fmt" "io" - "io/ioutil" - "math/big" "net" "os" "os/exec" @@ -28,52 +21,6 @@ import ( "time" ) -// zeroSource is an io.Reader that returns an unlimited number of zero bytes. -type zeroSource struct{} - -func (zeroSource) Read(b []byte) (n int, err error) { - for i := range b { - b[i] = 0 - } - - return len(b), nil -} - -var testConfig *Config - -func allCipherSuites() []uint16 { - ids := make([]uint16, len(cipherSuites)) - for i, suite := range cipherSuites { - ids[i] = suite.id - } - - return ids -} - -func init() { - testConfig = &Config{ - Time: func() time.Time { return time.Unix(0, 0) }, - Rand: zeroSource{}, - Certificates: make([]Certificate, 2), - InsecureSkipVerify: true, - MinVersion: VersionSSL30, - MaxVersion: VersionTLS13, - CipherSuites: allCipherSuites(), - } - testConfig.Certificates[0].Certificate = [][]byte{testRSACertificate} - testConfig.Certificates[0].PrivateKey = testRSAPrivateKey - testConfig.Certificates[1].Certificate = [][]byte{testSNICertificate} - testConfig.Certificates[1].PrivateKey = testRSAPrivateKey - testConfig.BuildNameToCertificate() - if keyFile := os.Getenv("SSLKEYLOGFILE"); keyFile != "" { - f, err := os.OpenFile(keyFile, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) - if err != nil { - panic("failed to open SSLKEYLOGFILE: " + err.Error()) - } - testConfig.KeyLogWriter = f - } -} - func testClientHello(t *testing.T, serverConfig *Config, m handshakeMessage) { testClientHelloFailure(t, serverConfig, m, "") } @@ -130,6 +77,20 @@ func TestRejectBadProtocolVersion(t *testing.T) { }, "unsupported versions") } +func TestSSLv3OptIn(t *testing.T) { + config := testConfig.Clone() + config.MinVersion = 0 + testClientHelloFailure(t, config, &clientHelloMsg{ + vers: VersionSSL30, + random: make([]byte, 32), + }, "unsupported versions") + testClientHelloFailure(t, config, &clientHelloMsg{ + vers: VersionTLS12, + supportedVersions: []uint16{VersionSSL30}, + random: make([]byte, 32), + }, "unsupported versions") +} + func TestNoSuiteOverlap(t *testing.T) { clientHello := &clientHelloMsg{ vers: VersionTLS10, @@ -348,46 +309,6 @@ func TestClose(t *testing.T) { } } -func testHandshake(t *testing.T, clientConfig, serverConfig *Config) (serverState, clientState ConnectionState, err error) { - c, s := localPipe(t) - errChan := make(chan error) - go func() { - cli := Client(c, clientConfig) - err := cli.Handshake() - if err != nil { - errChan <- fmt.Errorf("client: %v", err) - c.Close() - return - } - defer cli.Close() - clientState = cli.ConnectionState() - buf, err := ioutil.ReadAll(cli) - if err != nil { - t.Errorf("failed to call cli.Read: %v", err) - } - if got := string(buf); got != opensslSentinel { - t.Errorf("read %q from TLS connection, but expected %q", got, opensslSentinel) - } - errChan <- nil - }() - server := Server(s, serverConfig) - err = server.Handshake() - if err == nil { - serverState = server.ConnectionState() - if _, err := io.WriteString(server, opensslSentinel); err != nil { - t.Errorf("failed to call server.Write: %v", err) - } - if err := server.Close(); err != nil { - t.Errorf("failed to call server.Close: %v", err) - } - err = <-errChan - } else { - s.Close() - <-errChan - } - return -} - func TestVersion(t *testing.T) { serverConfig := &Config{ Certificates: testConfig.Certificates, @@ -633,8 +554,6 @@ func (test *serverTest) loadData() (flows [][]byte, err error) { } func (test *serverTest) run(t *testing.T, write bool) { - checkOpenSSLVersion(t) - var clientConn, serverConn net.Conn var recordingConn *recordingConn var childProcess *exec.Cmd @@ -1350,81 +1269,6 @@ func BenchmarkHandshakeServer(b *testing.B) { }) } -const clientCertificatePEM = ` ------BEGIN CERTIFICATE----- -MIIB7zCCAVigAwIBAgIQXBnBiWWDVW/cC8m5k5/pvDANBgkqhkiG9w0BAQsFADAS -MRAwDgYDVQQKEwdBY21lIENvMB4XDTE2MDgxNzIxNTIzMVoXDTE3MDgxNzIxNTIz -MVowEjEQMA4GA1UEChMHQWNtZSBDbzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC -gYEAum+qhr3Pv5/y71yUYHhv6BPy0ZZvzdkybiI3zkH5yl0prOEn2mGi7oHLEMff -NFiVhuk9GeZcJ3NgyI14AvQdpJgJoxlwaTwlYmYqqyIjxXuFOE8uCXMyp70+m63K -hAfmDzr/d8WdQYUAirab7rCkPy1MTOZCPrtRyN1IVPQMjkcCAwEAAaNGMEQwDgYD -VR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAw -DwYDVR0RBAgwBocEfwAAATANBgkqhkiG9w0BAQsFAAOBgQBGq0Si+yhU+Fpn+GKU -8ZqyGJ7ysd4dfm92lam6512oFmyc9wnTN+RLKzZ8Aa1B0jLYw9KT+RBrjpW5LBeK -o0RIvFkTgxYEiKSBXCUNmAysEbEoVr4dzWFihAm/1oDGRY2CLLTYg5vbySK3KhIR -e/oCO8HJ/+rJnahJ05XX1Q7lNQ== ------END CERTIFICATE-----` - -var clientKeyPEM = testingKey(` ------BEGIN RSA TESTING KEY----- -MIICXQIBAAKBgQC6b6qGvc+/n/LvXJRgeG/oE/LRlm/N2TJuIjfOQfnKXSms4Sfa -YaLugcsQx980WJWG6T0Z5lwnc2DIjXgC9B2kmAmjGXBpPCViZiqrIiPFe4U4Ty4J -czKnvT6brcqEB+YPOv93xZ1BhQCKtpvusKQ/LUxM5kI+u1HI3UhU9AyORwIDAQAB -AoGAEJZ03q4uuMb7b26WSQsOMeDsftdatT747LGgs3pNRkMJvTb/O7/qJjxoG+Mc -qeSj0TAZXp+PXXc3ikCECAc+R8rVMfWdmp903XgO/qYtmZGCorxAHEmR80SrfMXv -PJnznLQWc8U9nphQErR+tTESg7xWEzmFcPKwnZd1xg8ERYkCQQDTGtrFczlB2b/Z -9TjNMqUlMnTLIk/a/rPE2fLLmAYhK5sHnJdvDURaH2mF4nso0EGtENnTsh6LATnY -dkrxXGm9AkEA4hXHG2q3MnhgK1Z5hjv+Fnqd+8bcbII9WW4flFs15EKoMgS1w/PJ -zbsySaSy5IVS8XeShmT9+3lrleed4sy+UwJBAJOOAbxhfXP5r4+5R6ql66jES75w -jUCVJzJA5ORJrn8g64u2eGK28z/LFQbv9wXgCwfc72R468BdawFSLa/m2EECQGbZ -rWiFla26IVXV0xcD98VWJsTBZMlgPnSOqoMdM1kSEd4fUmlAYI/dFzV1XYSkOmVr -FhdZnklmpVDeu27P4c0CQQCuCOup0FlJSBpWY1TTfun/KMBkBatMz0VMA3d7FKIU -csPezl677Yjo8u1r/KzeI6zLg87Z8E6r6ZWNc9wBSZK6 ------END RSA TESTING KEY-----`) - -const clientECDSACertificatePEM = ` ------BEGIN CERTIFICATE----- -MIIB/DCCAV4CCQCaMIRsJjXZFzAJBgcqhkjOPQQBMEUxCzAJBgNVBAYTAkFVMRMw -EQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0 -eSBMdGQwHhcNMTIxMTE0MTMyNTUzWhcNMjIxMTEyMTMyNTUzWjBBMQswCQYDVQQG -EwJBVTEMMAoGA1UECBMDTlNXMRAwDgYDVQQHEwdQeXJtb250MRIwEAYDVQQDEwlK -b2VsIFNpbmcwgZswEAYHKoZIzj0CAQYFK4EEACMDgYYABACVjJF1FMBexFe01MNv -ja5oHt1vzobhfm6ySD6B5U7ixohLZNz1MLvT/2XMW/TdtWo+PtAd3kfDdq0Z9kUs -jLzYHQFMH3CQRnZIi4+DzEpcj0B22uCJ7B0rxE4wdihBsmKo+1vx+U56jb0JuK7q -ixgnTy5w/hOWusPTQBbNZU6sER7m8TAJBgcqhkjOPQQBA4GMADCBiAJCAOAUxGBg -C3JosDJdYUoCdFzCgbkWqD8pyDbHgf9stlvZcPE4O1BIKJTLCRpS8V3ujfK58PDa -2RU6+b0DeoeiIzXsAkIBo9SKeDUcSpoj0gq+KxAxnZxfvuiRs9oa9V2jI/Umi0Vw -jWVim34BmT0Y9hCaOGGbLlfk+syxis7iI6CH8OFnUes= ------END CERTIFICATE-----` - -var clientECDSAKeyPEM = testingKey(` ------BEGIN EC PARAMETERS----- -BgUrgQQAIw== ------END EC PARAMETERS----- ------BEGIN EC TESTING KEY----- -MIHcAgEBBEIBkJN9X4IqZIguiEVKMqeBUP5xtRsEv4HJEtOpOGLELwO53SD78Ew8 -k+wLWoqizS3NpQyMtrU8JFdWfj+C57UNkOugBwYFK4EEACOhgYkDgYYABACVjJF1 -FMBexFe01MNvja5oHt1vzobhfm6ySD6B5U7ixohLZNz1MLvT/2XMW/TdtWo+PtAd -3kfDdq0Z9kUsjLzYHQFMH3CQRnZIi4+DzEpcj0B22uCJ7B0rxE4wdihBsmKo+1vx -+U56jb0JuK7qixgnTy5w/hOWusPTQBbNZU6sER7m8Q== ------END EC TESTING KEY-----`) - -const clientEd25519CertificatePEM = ` ------BEGIN CERTIFICATE----- -MIIBLjCB4aADAgECAhAX0YGTviqMISAQJRXoNCNPMAUGAytlcDASMRAwDgYDVQQK -EwdBY21lIENvMB4XDTE5MDUxNjIxNTQyNloXDTIwMDUxNTIxNTQyNlowEjEQMA4G -A1UEChMHQWNtZSBDbzAqMAUGAytlcAMhAAvgtWC14nkwPb7jHuBQsQTIbcd4bGkv -xRStmmNveRKRo00wSzAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUH -AwIwDAYDVR0TAQH/BAIwADAWBgNVHREEDzANggtleGFtcGxlLmNvbTAFBgMrZXAD -QQD8GRcqlKUx+inILn9boF2KTjRAOdazENwZ/qAicbP1j6FYDc308YUkv+Y9FN/f -7Q7hF9gRomDQijcjKsJGqjoI ------END CERTIFICATE-----` - -var clientEd25519KeyPEM = testingKey(` ------BEGIN TESTING KEY----- -MC4CAQAwBQYDK2VwBCIEINifzf07d9qx3d44e0FSbV4mC/xQxT644RRbpgNpin7I ------END TESTING KEY-----`) - func TestClientAuth(t *testing.T) { var certPath, keyPath, ecdsaCertPath, ecdsaKeyPath, ed25519CertPath, ed25519KeyPath string @@ -1688,59 +1532,6 @@ func TestGetConfigForClient(t *testing.T) { } } -func bigFromString(s string) *big.Int { - ret := new(big.Int) - ret.SetString(s, 10) - return ret -} - -func fromHex(s string) []byte { - b, _ := hex.DecodeString(s) - return b -} - -var testRSACertificate = fromHex("3082024b308201b4a003020102020900e8f09d3fe25beaa6300d06092a864886f70d01010b0500301f310b3009060355040a1302476f3110300e06035504031307476f20526f6f74301e170d3136303130313030303030305a170d3235303130313030303030305a301a310b3009060355040a1302476f310b300906035504031302476f30819f300d06092a864886f70d010101050003818d0030818902818100db467d932e12270648bc062821ab7ec4b6a25dfe1e5245887a3647a5080d92425bc281c0be97799840fb4f6d14fd2b138bc2a52e67d8d4099ed62238b74a0b74732bc234f1d193e596d9747bf3589f6c613cc0b041d4d92b2b2423775b1c3bbd755dce2054cfa163871d1e24c4f31d1a508baab61443ed97a77562f414c852d70203010001a38193308190300e0603551d0f0101ff0404030205a0301d0603551d250416301406082b0601050507030106082b06010505070302300c0603551d130101ff0402300030190603551d0e041204109f91161f43433e49a6de6db680d79f60301b0603551d230414301280104813494d137e1631bba301d5acab6e7b30190603551d1104123010820e6578616d706c652e676f6c616e67300d06092a864886f70d01010b0500038181009d30cc402b5b50a061cbbae55358e1ed8328a9581aa938a495a1ac315a1a84663d43d32dd90bf297dfd320643892243a00bccf9c7db74020015faad3166109a276fd13c3cce10c5ceeb18782f16c04ed73bbb343778d0c1cf10fa1d8408361c94c722b9daedb4606064df4c1b33ec0d1bd42d4dbfe3d1360845c21d33be9fae7") - -var testRSACertificateIssuer = fromHex("3082021930820182a003020102020900ca5e4e811a965964300d06092a864886f70d01010b0500301f310b3009060355040a1302476f3110300e06035504031307476f20526f6f74301e170d3136303130313030303030305a170d3235303130313030303030305a301f310b3009060355040a1302476f3110300e06035504031307476f20526f6f7430819f300d06092a864886f70d010101050003818d0030818902818100d667b378bb22f34143b6cd2008236abefaf2852adf3ab05e01329e2c14834f5105df3f3073f99dab5442d45ee5f8f57b0111c8cb682fbb719a86944eebfffef3406206d898b8c1b1887797c9c5006547bb8f00e694b7a063f10839f269f2c34fff7a1f4b21fbcd6bfdfb13ac792d1d11f277b5c5b48600992203059f2a8f8cc50203010001a35d305b300e0603551d0f0101ff040403020204301d0603551d250416301406082b0601050507030106082b06010505070302300f0603551d130101ff040530030101ff30190603551d0e041204104813494d137e1631bba301d5acab6e7b300d06092a864886f70d01010b050003818100c1154b4bab5266221f293766ae4138899bd4c5e36b13cee670ceeaa4cbdf4f6679017e2fe649765af545749fe4249418a56bd38a04b81e261f5ce86b8d5c65413156a50d12449554748c59a30c515bc36a59d38bddf51173e899820b282e40aa78c806526fd184fb6b4cf186ec728edffa585440d2b3225325f7ab580e87dd76") - -// testRSAPSSCertificate has signatureAlgorithm rsassaPss, but subjectPublicKeyInfo -// algorithm rsaEncryption, for use with the rsa_pss_rsae_* SignatureSchemes. -// See also TestRSAPSSKeyError. testRSAPSSCertificate is self-signed. -var testRSAPSSCertificate = fromHex("308202583082018da003020102021100f29926eb87ea8a0db9fcc247347c11b0304106092a864886f70d01010a3034a00f300d06096086480165030402010500a11c301a06092a864886f70d010108300d06096086480165030402010500a20302012030123110300e060355040a130741636d6520436f301e170d3137313132333136313631305a170d3138313132333136313631305a30123110300e060355040a130741636d6520436f30819f300d06092a864886f70d010101050003818d0030818902818100db467d932e12270648bc062821ab7ec4b6a25dfe1e5245887a3647a5080d92425bc281c0be97799840fb4f6d14fd2b138bc2a52e67d8d4099ed62238b74a0b74732bc234f1d193e596d9747bf3589f6c613cc0b041d4d92b2b2423775b1c3bbd755dce2054cfa163871d1e24c4f31d1a508baab61443ed97a77562f414c852d70203010001a3463044300e0603551d0f0101ff0404030205a030130603551d25040c300a06082b06010505070301300c0603551d130101ff04023000300f0603551d110408300687047f000001304106092a864886f70d01010a3034a00f300d06096086480165030402010500a11c301a06092a864886f70d010108300d06096086480165030402010500a20302012003818100cdac4ef2ce5f8d79881042707f7cbf1b5a8a00ef19154b40151771006cd41626e5496d56da0c1a139fd84695593cb67f87765e18aa03ea067522dd78d2a589b8c92364e12838ce346c6e067b51f1a7e6f4b37ffab13f1411896679d18e880e0ba09e302ac067efca460288e9538122692297ad8093d4f7dd701424d7700a46a1") - -var testECDSACertificate = fromHex("3082020030820162020900b8bf2d47a0d2ebf4300906072a8648ce3d04013045310b3009060355040613024155311330110603550408130a536f6d652d53746174653121301f060355040a1318496e7465726e6574205769646769747320507479204c7464301e170d3132313132323135303633325a170d3232313132303135303633325a3045310b3009060355040613024155311330110603550408130a536f6d652d53746174653121301f060355040a1318496e7465726e6574205769646769747320507479204c746430819b301006072a8648ce3d020106052b81040023038186000400c4a1edbe98f90b4873367ec316561122f23d53c33b4d213dcd6b75e6f6b0dc9adf26c1bcb287f072327cb3642f1c90bcea6823107efee325c0483a69e0286dd33700ef0462dd0da09c706283d881d36431aa9e9731bd96b068c09b23de76643f1a5c7fe9120e5858b65f70dd9bd8ead5d7f5d5ccb9b69f30665b669a20e227e5bffe3b300906072a8648ce3d040103818c0030818802420188a24febe245c5487d1bacf5ed989dae4770c05e1bb62fbdf1b64db76140d311a2ceee0b7e927eff769dc33b7ea53fcefa10e259ec472d7cacda4e970e15a06fd00242014dfcbe67139c2d050ebd3fa38c25c13313830d9406bbd4377af6ec7ac9862eddd711697f857c56defb31782be4c7780daecbbe9e4e3624317b6a0f399512078f2a") - -var testEd25519Certificate = fromHex("3082012e3081e1a00302010202100f431c425793941de987e4f1ad15005d300506032b657030123110300e060355040a130741636d6520436f301e170d3139303531363231333830315a170d3230303531353231333830315a30123110300e060355040a130741636d6520436f302a300506032b65700321003fe2152ee6e3ef3f4e854a7577a3649eede0bf842ccc92268ffa6f3483aaec8fa34d304b300e0603551d0f0101ff0404030205a030130603551d25040c300a06082b06010505070301300c0603551d130101ff0402300030160603551d11040f300d820b6578616d706c652e636f6d300506032b65700341006344ed9cc4be5324539fd2108d9fe82108909539e50dc155ff2c16b71dfcab7d4dd4e09313d0a942e0b66bfe5d6748d79f50bc6ccd4b03837cf20858cdaccf0c") - -var testSNICertificate = fromHex("0441883421114c81480804c430820237308201a0a003020102020900e8f09d3fe25beaa6300d06092a864886f70d01010b0500301f310b3009060355040a1302476f3110300e06035504031307476f20526f6f74301e170d3136303130313030303030305a170d3235303130313030303030305a3023310b3009060355040a1302476f311430120603550403130b736e69746573742e636f6d30819f300d06092a864886f70d010101050003818d0030818902818100db467d932e12270648bc062821ab7ec4b6a25dfe1e5245887a3647a5080d92425bc281c0be97799840fb4f6d14fd2b138bc2a52e67d8d4099ed62238b74a0b74732bc234f1d193e596d9747bf3589f6c613cc0b041d4d92b2b2423775b1c3bbd755dce2054cfa163871d1e24c4f31d1a508baab61443ed97a77562f414c852d70203010001a3773075300e0603551d0f0101ff0404030205a0301d0603551d250416301406082b0601050507030106082b06010505070302300c0603551d130101ff0402300030190603551d0e041204109f91161f43433e49a6de6db680d79f60301b0603551d230414301280104813494d137e1631bba301d5acab6e7b300d06092a864886f70d01010b0500038181007beeecff0230dbb2e7a334af65430b7116e09f327c3bbf918107fc9c66cb497493207ae9b4dbb045cb63d605ec1b5dd485bb69124d68fa298dc776699b47632fd6d73cab57042acb26f083c4087459bc5a3bb3ca4d878d7fe31016b7bc9a627438666566e3389bfaeebe6becc9a0093ceed18d0f9ac79d56f3a73f18188988ed") - -var testP256Certificate = fromHex("308201693082010ea00302010202105012dc24e1124ade4f3e153326ff27bf300a06082a8648ce3d04030230123110300e060355040a130741636d6520436f301e170d3137303533313232343934375a170d3138303533313232343934375a30123110300e060355040a130741636d6520436f3059301306072a8648ce3d020106082a8648ce3d03010703420004c02c61c9b16283bbcc14956d886d79b358aa614596975f78cece787146abf74c2d5dc578c0992b4f3c631373479ebf3892efe53d21c4f4f1cc9a11c3536b7f75a3463044300e0603551d0f0101ff0404030205a030130603551d25040c300a06082b06010505070301300c0603551d130101ff04023000300f0603551d1104083006820474657374300a06082a8648ce3d0403020349003046022100963712d6226c7b2bef41512d47e1434131aaca3ba585d666c924df71ac0448b3022100f4d05c725064741aef125f243cdbccaa2a5d485927831f221c43023bd5ae471a") - -var testRSAPrivateKey = &rsa.PrivateKey{ - PublicKey: rsa.PublicKey{ - N: bigFromString("153980389784927331788354528594524332344709972855165340650588877572729725338415474372475094155672066328274535240275856844648695200875763869073572078279316458648124537905600131008790701752441155668003033945258023841165089852359980273279085783159654751552359397986180318708491098942831252291841441726305535546071"), - E: 65537, - }, - D: bigFromString("7746362285745539358014631136245887418412633787074173796862711588221766398229333338511838891484974940633857861775630560092874987828057333663969469797013996401149696897591265769095952887917296740109742927689053276850469671231961384712725169432413343763989564437170644270643461665184965150423819594083121075825"), - Primes: []*big.Int{ - bigFromString("13299275414352936908236095374926261633419699590839189494995965049151460173257838079863316944311313904000258169883815802963543635820059341150014695560313417"), - bigFromString("11578103692682951732111718237224894755352163854919244905974423810539077224889290605729035287537520656160688625383765857517518932447378594964220731750802463"), - }, -} - -var testECDSAPrivateKey = &ecdsa.PrivateKey{ - PublicKey: ecdsa.PublicKey{ - Curve: elliptic.P521(), - X: bigFromString("2636411247892461147287360222306590634450676461695221912739908880441342231985950069527906976759812296359387337367668045707086543273113073382714101597903639351"), - Y: bigFromString("3204695818431246682253994090650952614555094516658732116404513121125038617915183037601737180082382202488628239201196033284060130040574800684774115478859677243"), - }, - D: bigFromString("5477294338614160138026852784385529180817726002953041720191098180813046231640184669647735805135001309477695746518160084669446643325196003346204701381388769751"), -} - -var testP256PrivateKey, _ = x509.ParseECPrivateKey(fromHex("30770201010420012f3b52bc54c36ba3577ad45034e2e8efe1e6999851284cb848725cfe029991a00a06082a8648ce3d030107a14403420004c02c61c9b16283bbcc14956d886d79b358aa614596975f78cece787146abf74c2d5dc578c0992b4f3c631373479ebf3892efe53d21c4f4f1cc9a11c3536b7f75")) - -var testEd25519PrivateKey = ed25519.PrivateKey(fromHex("3a884965e76b3f55e5faf9615458a92354894234de3ec9f684d46d55cebf3dc63fe2152ee6e3ef3f4e854a7577a3649eede0bf842ccc92268ffa6f3483aaec8f")) - func TestCloseServerConnectionOnIdleClient(t *testing.T) { clientConn, serverConn := localPipe(t) server := Server(serverConn, testConfig.Clone()) diff --git a/src/crypto/tls/handshake_test.go b/src/crypto/tls/handshake_test.go index 718e30a5d8..cfd92908a9 100644 --- a/src/crypto/tls/handshake_test.go +++ b/src/crypto/tls/handshake_test.go @@ -6,6 +6,8 @@ package tls import ( "bufio" + "crypto/ed25519" + "crypto/x509" "encoding/hex" "errors" "flag" @@ -19,6 +21,7 @@ import ( "strings" "sync" "testing" + "time" ) // TLS reference tests run a connection against a reference implementation @@ -39,38 +42,27 @@ import ( // the reference connection will always change. var ( - update = flag.Bool("update", false, "update golden files on disk") - fast = flag.Bool("fast", false, "impose a quick, possibly flaky timeout on recorded tests") - - opensslVersionTestOnce sync.Once - opensslVersionTestErr error + update = flag.Bool("update", false, "update golden files on disk") + fast = flag.Bool("fast", false, "impose a quick, possibly flaky timeout on recorded tests") + keyFile = flag.String("keylog", "", "destination file for KeyLogWriter") ) -func checkOpenSSLVersion(t *testing.T) { - opensslVersionTestOnce.Do(testOpenSSLVersion) - if opensslVersionTestErr != nil { - t.Fatal(opensslVersionTestErr) - } -} - -func testOpenSSLVersion() { - // This test ensures that the version of OpenSSL looks reasonable - // before updating the test data. - +// checkOpenSSLVersion ensures that the version of OpenSSL looks reasonable +// before updating the test data. +func checkOpenSSLVersion() error { if !*update { - return + return nil } openssl := exec.Command("openssl", "version") output, err := openssl.CombinedOutput() if err != nil { - opensslVersionTestErr = err - return + return err } version := string(output) if strings.HasPrefix(version, "OpenSSL 1.1.1") { - return + return nil } println("***********************************************") @@ -83,7 +75,7 @@ func testOpenSSLVersion() { println("and then add the apps/ directory at the front of your PATH.") println("***********************************************") - opensslVersionTestErr = errors.New("version of OpenSSL does not appear to be suitable for updating test data") + return errors.New("version of OpenSSL does not appear to be suitable for updating test data") } // recordingConn is a net.Conn that records the traffic that passes through it. @@ -230,31 +222,106 @@ func tempFile(contents string) string { // localListener is set up by TestMain and used by localPipe to create Conn // pairs like net.Pipe, but connected by an actual buffered TCP connection. var localListener struct { - sync.Mutex - net.Listener + mu sync.Mutex + addr net.Addr + ch chan net.Conn +} + +const localFlakes = 0 // change to 1 or 2 to exercise localServer/localPipe handling of mismatches + +func localServer(l net.Listener) { + for n := 0; ; n++ { + c, err := l.Accept() + if err != nil { + return + } + if localFlakes == 1 && n%2 == 0 { + c.Close() + continue + } + localListener.ch <- c + } } func localPipe(t testing.TB) (net.Conn, net.Conn) { - localListener.Lock() - defer localListener.Unlock() - c := make(chan net.Conn) - go func() { - conn, err := localListener.Accept() + localListener.mu.Lock() + defer localListener.mu.Unlock() + + addr := localListener.addr + +Dialing: + // We expect a rare mismatch, but probably not 5 in a row. + for i := 0; i < 5; i++ { + tooSlow := time.NewTimer(1 * time.Second) + defer tooSlow.Stop() + c1, err := net.Dial(addr.Network(), addr.String()) if err != nil { - t.Errorf("Failed to accept local connection: %v", err) + t.Fatalf("localPipe: %v", err) + } + if localFlakes == 2 && i == 0 { + c1.Close() + continue + } + for { + select { + case <-tooSlow.C: + t.Logf("localPipe: timeout waiting for %v", c1.LocalAddr()) + c1.Close() + continue Dialing + + case c2 := <-localListener.ch: + if c2.RemoteAddr().String() == c1.LocalAddr().String() { + return c1, c2 + } + t.Logf("localPipe: unexpected connection: %v != %v", c2.RemoteAddr(), c1.LocalAddr()) + c2.Close() + } } - c <- conn - }() - addr := localListener.Addr() - c1, err := net.Dial(addr.Network(), addr.String()) - if err != nil { - t.Fatalf("Failed to dial local connection: %v", err) } - c2 := <-c - return c1, c2 + + t.Fatalf("localPipe: failed to connect") + panic("unreachable") } +// zeroSource is an io.Reader that returns an unlimited number of zero bytes. +type zeroSource struct{} + +func (zeroSource) Read(b []byte) (n int, err error) { + for i := range b { + b[i] = 0 + } + + return len(b), nil +} + +func allCipherSuites() []uint16 { + ids := make([]uint16, len(cipherSuites)) + for i, suite := range cipherSuites { + ids[i] = suite.id + } + + return ids +} + +var testConfig *Config + func TestMain(m *testing.M) { + flag.Parse() + os.Exit(runMain(m)) +} + +func runMain(m *testing.M) int { + // TLS 1.3 cipher suites preferences are not configurable and change based + // on the architecture. Force them to the version with AES acceleration for + // test consistency. + once.Do(initDefaultCipherSuites) + varDefaultCipherSuitesTLS13 = []uint16{ + TLS_AES_128_GCM_SHA256, + TLS_CHACHA20_POLY1305_SHA256, + TLS_AES_256_GCM_SHA384, + } + + // Set up localPipe. l, err := net.Listen("tcp", "127.0.0.1:0") if err != nil { l, err = net.Listen("tcp6", "[::1]:0") @@ -263,8 +330,184 @@ func TestMain(m *testing.M) { fmt.Fprintf(os.Stderr, "Failed to open local listener: %v", err) os.Exit(1) } - localListener.Listener = l - exitCode := m.Run() - localListener.Close() - os.Exit(exitCode) + localListener.ch = make(chan net.Conn) + localListener.addr = l.Addr() + defer l.Close() + go localServer(l) + + if err := checkOpenSSLVersion(); err != nil { + fmt.Fprintf(os.Stderr, "Error: %v", err) + os.Exit(1) + } + + testConfig = &Config{ + Time: func() time.Time { return time.Unix(0, 0) }, + Rand: zeroSource{}, + Certificates: make([]Certificate, 2), + InsecureSkipVerify: true, + MinVersion: VersionSSL30, + MaxVersion: VersionTLS13, + CipherSuites: allCipherSuites(), + } + testConfig.Certificates[0].Certificate = [][]byte{testRSACertificate} + testConfig.Certificates[0].PrivateKey = testRSAPrivateKey + testConfig.Certificates[1].Certificate = [][]byte{testSNICertificate} + testConfig.Certificates[1].PrivateKey = testRSAPrivateKey + testConfig.BuildNameToCertificate() + if *keyFile != "" { + f, err := os.OpenFile(*keyFile, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) + if err != nil { + panic("failed to open -keylog file: " + err.Error()) + } + testConfig.KeyLogWriter = f + defer f.Close() + } + + return m.Run() } + +func testHandshake(t *testing.T, clientConfig, serverConfig *Config) (serverState, clientState ConnectionState, err error) { + const sentinel = "SENTINEL\n" + c, s := localPipe(t) + errChan := make(chan error) + go func() { + cli := Client(c, clientConfig) + err := cli.Handshake() + if err != nil { + errChan <- fmt.Errorf("client: %v", err) + c.Close() + return + } + defer cli.Close() + clientState = cli.ConnectionState() + buf, err := ioutil.ReadAll(cli) + if err != nil { + t.Errorf("failed to call cli.Read: %v", err) + } + if got := string(buf); got != sentinel { + t.Errorf("read %q from TLS connection, but expected %q", got, sentinel) + } + errChan <- nil + }() + server := Server(s, serverConfig) + err = server.Handshake() + if err == nil { + serverState = server.ConnectionState() + if _, err := io.WriteString(server, sentinel); err != nil { + t.Errorf("failed to call server.Write: %v", err) + } + if err := server.Close(); err != nil { + t.Errorf("failed to call server.Close: %v", err) + } + err = <-errChan + } else { + s.Close() + <-errChan + } + return +} + +func fromHex(s string) []byte { + b, _ := hex.DecodeString(s) + return b +} + +var testRSACertificate = fromHex("3082024b308201b4a003020102020900e8f09d3fe25beaa6300d06092a864886f70d01010b0500301f310b3009060355040a1302476f3110300e06035504031307476f20526f6f74301e170d3136303130313030303030305a170d3235303130313030303030305a301a310b3009060355040a1302476f310b300906035504031302476f30819f300d06092a864886f70d010101050003818d0030818902818100db467d932e12270648bc062821ab7ec4b6a25dfe1e5245887a3647a5080d92425bc281c0be97799840fb4f6d14fd2b138bc2a52e67d8d4099ed62238b74a0b74732bc234f1d193e596d9747bf3589f6c613cc0b041d4d92b2b2423775b1c3bbd755dce2054cfa163871d1e24c4f31d1a508baab61443ed97a77562f414c852d70203010001a38193308190300e0603551d0f0101ff0404030205a0301d0603551d250416301406082b0601050507030106082b06010505070302300c0603551d130101ff0402300030190603551d0e041204109f91161f43433e49a6de6db680d79f60301b0603551d230414301280104813494d137e1631bba301d5acab6e7b30190603551d1104123010820e6578616d706c652e676f6c616e67300d06092a864886f70d01010b0500038181009d30cc402b5b50a061cbbae55358e1ed8328a9581aa938a495a1ac315a1a84663d43d32dd90bf297dfd320643892243a00bccf9c7db74020015faad3166109a276fd13c3cce10c5ceeb18782f16c04ed73bbb343778d0c1cf10fa1d8408361c94c722b9daedb4606064df4c1b33ec0d1bd42d4dbfe3d1360845c21d33be9fae7") + +var testRSACertificateIssuer = fromHex("3082021930820182a003020102020900ca5e4e811a965964300d06092a864886f70d01010b0500301f310b3009060355040a1302476f3110300e06035504031307476f20526f6f74301e170d3136303130313030303030305a170d3235303130313030303030305a301f310b3009060355040a1302476f3110300e06035504031307476f20526f6f7430819f300d06092a864886f70d010101050003818d0030818902818100d667b378bb22f34143b6cd2008236abefaf2852adf3ab05e01329e2c14834f5105df3f3073f99dab5442d45ee5f8f57b0111c8cb682fbb719a86944eebfffef3406206d898b8c1b1887797c9c5006547bb8f00e694b7a063f10839f269f2c34fff7a1f4b21fbcd6bfdfb13ac792d1d11f277b5c5b48600992203059f2a8f8cc50203010001a35d305b300e0603551d0f0101ff040403020204301d0603551d250416301406082b0601050507030106082b06010505070302300f0603551d130101ff040530030101ff30190603551d0e041204104813494d137e1631bba301d5acab6e7b300d06092a864886f70d01010b050003818100c1154b4bab5266221f293766ae4138899bd4c5e36b13cee670ceeaa4cbdf4f6679017e2fe649765af545749fe4249418a56bd38a04b81e261f5ce86b8d5c65413156a50d12449554748c59a30c515bc36a59d38bddf51173e899820b282e40aa78c806526fd184fb6b4cf186ec728edffa585440d2b3225325f7ab580e87dd76") + +// testRSAPSSCertificate has signatureAlgorithm rsassaPss, but subjectPublicKeyInfo +// algorithm rsaEncryption, for use with the rsa_pss_rsae_* SignatureSchemes. +// See also TestRSAPSSKeyError. testRSAPSSCertificate is self-signed. +var testRSAPSSCertificate = fromHex("308202583082018da003020102021100f29926eb87ea8a0db9fcc247347c11b0304106092a864886f70d01010a3034a00f300d06096086480165030402010500a11c301a06092a864886f70d010108300d06096086480165030402010500a20302012030123110300e060355040a130741636d6520436f301e170d3137313132333136313631305a170d3138313132333136313631305a30123110300e060355040a130741636d6520436f30819f300d06092a864886f70d010101050003818d0030818902818100db467d932e12270648bc062821ab7ec4b6a25dfe1e5245887a3647a5080d92425bc281c0be97799840fb4f6d14fd2b138bc2a52e67d8d4099ed62238b74a0b74732bc234f1d193e596d9747bf3589f6c613cc0b041d4d92b2b2423775b1c3bbd755dce2054cfa163871d1e24c4f31d1a508baab61443ed97a77562f414c852d70203010001a3463044300e0603551d0f0101ff0404030205a030130603551d25040c300a06082b06010505070301300c0603551d130101ff04023000300f0603551d110408300687047f000001304106092a864886f70d01010a3034a00f300d06096086480165030402010500a11c301a06092a864886f70d010108300d06096086480165030402010500a20302012003818100cdac4ef2ce5f8d79881042707f7cbf1b5a8a00ef19154b40151771006cd41626e5496d56da0c1a139fd84695593cb67f87765e18aa03ea067522dd78d2a589b8c92364e12838ce346c6e067b51f1a7e6f4b37ffab13f1411896679d18e880e0ba09e302ac067efca460288e9538122692297ad8093d4f7dd701424d7700a46a1") + +var testECDSACertificate = fromHex("3082020030820162020900b8bf2d47a0d2ebf4300906072a8648ce3d04013045310b3009060355040613024155311330110603550408130a536f6d652d53746174653121301f060355040a1318496e7465726e6574205769646769747320507479204c7464301e170d3132313132323135303633325a170d3232313132303135303633325a3045310b3009060355040613024155311330110603550408130a536f6d652d53746174653121301f060355040a1318496e7465726e6574205769646769747320507479204c746430819b301006072a8648ce3d020106052b81040023038186000400c4a1edbe98f90b4873367ec316561122f23d53c33b4d213dcd6b75e6f6b0dc9adf26c1bcb287f072327cb3642f1c90bcea6823107efee325c0483a69e0286dd33700ef0462dd0da09c706283d881d36431aa9e9731bd96b068c09b23de76643f1a5c7fe9120e5858b65f70dd9bd8ead5d7f5d5ccb9b69f30665b669a20e227e5bffe3b300906072a8648ce3d040103818c0030818802420188a24febe245c5487d1bacf5ed989dae4770c05e1bb62fbdf1b64db76140d311a2ceee0b7e927eff769dc33b7ea53fcefa10e259ec472d7cacda4e970e15a06fd00242014dfcbe67139c2d050ebd3fa38c25c13313830d9406bbd4377af6ec7ac9862eddd711697f857c56defb31782be4c7780daecbbe9e4e3624317b6a0f399512078f2a") + +var testEd25519Certificate = fromHex("3082012e3081e1a00302010202100f431c425793941de987e4f1ad15005d300506032b657030123110300e060355040a130741636d6520436f301e170d3139303531363231333830315a170d3230303531353231333830315a30123110300e060355040a130741636d6520436f302a300506032b65700321003fe2152ee6e3ef3f4e854a7577a3649eede0bf842ccc92268ffa6f3483aaec8fa34d304b300e0603551d0f0101ff0404030205a030130603551d25040c300a06082b06010505070301300c0603551d130101ff0402300030160603551d11040f300d820b6578616d706c652e636f6d300506032b65700341006344ed9cc4be5324539fd2108d9fe82108909539e50dc155ff2c16b71dfcab7d4dd4e09313d0a942e0b66bfe5d6748d79f50bc6ccd4b03837cf20858cdaccf0c") + +var testSNICertificate = fromHex("0441883421114c81480804c430820237308201a0a003020102020900e8f09d3fe25beaa6300d06092a864886f70d01010b0500301f310b3009060355040a1302476f3110300e06035504031307476f20526f6f74301e170d3136303130313030303030305a170d3235303130313030303030305a3023310b3009060355040a1302476f311430120603550403130b736e69746573742e636f6d30819f300d06092a864886f70d010101050003818d0030818902818100db467d932e12270648bc062821ab7ec4b6a25dfe1e5245887a3647a5080d92425bc281c0be97799840fb4f6d14fd2b138bc2a52e67d8d4099ed62238b74a0b74732bc234f1d193e596d9747bf3589f6c613cc0b041d4d92b2b2423775b1c3bbd755dce2054cfa163871d1e24c4f31d1a508baab61443ed97a77562f414c852d70203010001a3773075300e0603551d0f0101ff0404030205a0301d0603551d250416301406082b0601050507030106082b06010505070302300c0603551d130101ff0402300030190603551d0e041204109f91161f43433e49a6de6db680d79f60301b0603551d230414301280104813494d137e1631bba301d5acab6e7b300d06092a864886f70d01010b0500038181007beeecff0230dbb2e7a334af65430b7116e09f327c3bbf918107fc9c66cb497493207ae9b4dbb045cb63d605ec1b5dd485bb69124d68fa298dc776699b47632fd6d73cab57042acb26f083c4087459bc5a3bb3ca4d878d7fe31016b7bc9a627438666566e3389bfaeebe6becc9a0093ceed18d0f9ac79d56f3a73f18188988ed") + +var testP256Certificate = fromHex("308201693082010ea00302010202105012dc24e1124ade4f3e153326ff27bf300a06082a8648ce3d04030230123110300e060355040a130741636d6520436f301e170d3137303533313232343934375a170d3138303533313232343934375a30123110300e060355040a130741636d6520436f3059301306072a8648ce3d020106082a8648ce3d03010703420004c02c61c9b16283bbcc14956d886d79b358aa614596975f78cece787146abf74c2d5dc578c0992b4f3c631373479ebf3892efe53d21c4f4f1cc9a11c3536b7f75a3463044300e0603551d0f0101ff0404030205a030130603551d25040c300a06082b06010505070301300c0603551d130101ff04023000300f0603551d1104083006820474657374300a06082a8648ce3d0403020349003046022100963712d6226c7b2bef41512d47e1434131aaca3ba585d666c924df71ac0448b3022100f4d05c725064741aef125f243cdbccaa2a5d485927831f221c43023bd5ae471a") + +var testRSAPrivateKey, _ = x509.ParsePKCS1PrivateKey(fromHex("3082025b02010002818100db467d932e12270648bc062821ab7ec4b6a25dfe1e5245887a3647a5080d92425bc281c0be97799840fb4f6d14fd2b138bc2a52e67d8d4099ed62238b74a0b74732bc234f1d193e596d9747bf3589f6c613cc0b041d4d92b2b2423775b1c3bbd755dce2054cfa163871d1e24c4f31d1a508baab61443ed97a77562f414c852d702030100010281800b07fbcf48b50f1388db34b016298b8217f2092a7c9a04f77db6775a3d1279b62ee9951f7e371e9de33f015aea80660760b3951dc589a9f925ed7de13e8f520e1ccbc7498ce78e7fab6d59582c2386cc07ed688212a576ff37833bd5943483b5554d15a0b9b4010ed9bf09f207e7e9805f649240ed6c1256ed75ab7cd56d9671024100fded810da442775f5923debae4ac758390a032a16598d62f059bb2e781a9c2f41bfa015c209f966513fe3bf5a58717cbdb385100de914f88d649b7d15309fa49024100dd10978c623463a1802c52f012cfa72ff5d901f25a2292446552c2568b1840e49a312e127217c2186615aae4fb6602a4f6ebf3f3d160f3b3ad04c592f65ae41f02400c69062ca781841a09de41ed7a6d9f54adc5d693a2c6847949d9e1358555c9ac6a8d9e71653ac77beb2d3abaf7bb1183aa14278956575dbebf525d0482fd72d90240560fe1900ba36dae3022115fd952f2399fb28e2975a1c3e3d0b679660bdcb356cc189d611cfdd6d87cd5aea45aa30a2082e8b51e94c2f3dd5d5c6036a8a615ed0240143993d80ece56f877cb80048335701eb0e608cc0c1ca8c2227b52edf8f1ac99c562f2541b5ce81f0515af1c5b4770dba53383964b4b725ff46fdec3d08907df")) + +var testECDSAPrivateKey, _ = x509.ParseECPrivateKey(fromHex("3081dc0201010442019883e909ad0ac9ea3d33f9eae661f1785206970f8ca9a91672f1eedca7a8ef12bd6561bb246dda5df4b4d5e7e3a92649bc5d83a0bf92972e00e62067d0c7bd99d7a00706052b81040023a18189038186000400c4a1edbe98f90b4873367ec316561122f23d53c33b4d213dcd6b75e6f6b0dc9adf26c1bcb287f072327cb3642f1c90bcea6823107efee325c0483a69e0286dd33700ef0462dd0da09c706283d881d36431aa9e9731bd96b068c09b23de76643f1a5c7fe9120e5858b65f70dd9bd8ead5d7f5d5ccb9b69f30665b669a20e227e5bffe3b")) + +var testP256PrivateKey, _ = x509.ParseECPrivateKey(fromHex("30770201010420012f3b52bc54c36ba3577ad45034e2e8efe1e6999851284cb848725cfe029991a00a06082a8648ce3d030107a14403420004c02c61c9b16283bbcc14956d886d79b358aa614596975f78cece787146abf74c2d5dc578c0992b4f3c631373479ebf3892efe53d21c4f4f1cc9a11c3536b7f75")) + +var testEd25519PrivateKey = ed25519.PrivateKey(fromHex("3a884965e76b3f55e5faf9615458a92354894234de3ec9f684d46d55cebf3dc63fe2152ee6e3ef3f4e854a7577a3649eede0bf842ccc92268ffa6f3483aaec8f")) + +const clientCertificatePEM = ` +-----BEGIN CERTIFICATE----- +MIIB7zCCAVigAwIBAgIQXBnBiWWDVW/cC8m5k5/pvDANBgkqhkiG9w0BAQsFADAS +MRAwDgYDVQQKEwdBY21lIENvMB4XDTE2MDgxNzIxNTIzMVoXDTE3MDgxNzIxNTIz +MVowEjEQMA4GA1UEChMHQWNtZSBDbzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC +gYEAum+qhr3Pv5/y71yUYHhv6BPy0ZZvzdkybiI3zkH5yl0prOEn2mGi7oHLEMff +NFiVhuk9GeZcJ3NgyI14AvQdpJgJoxlwaTwlYmYqqyIjxXuFOE8uCXMyp70+m63K +hAfmDzr/d8WdQYUAirab7rCkPy1MTOZCPrtRyN1IVPQMjkcCAwEAAaNGMEQwDgYD +VR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAw +DwYDVR0RBAgwBocEfwAAATANBgkqhkiG9w0BAQsFAAOBgQBGq0Si+yhU+Fpn+GKU +8ZqyGJ7ysd4dfm92lam6512oFmyc9wnTN+RLKzZ8Aa1B0jLYw9KT+RBrjpW5LBeK +o0RIvFkTgxYEiKSBXCUNmAysEbEoVr4dzWFihAm/1oDGRY2CLLTYg5vbySK3KhIR +e/oCO8HJ/+rJnahJ05XX1Q7lNQ== +-----END CERTIFICATE-----` + +var clientKeyPEM = testingKey(` +-----BEGIN RSA TESTING KEY----- +MIICXQIBAAKBgQC6b6qGvc+/n/LvXJRgeG/oE/LRlm/N2TJuIjfOQfnKXSms4Sfa +YaLugcsQx980WJWG6T0Z5lwnc2DIjXgC9B2kmAmjGXBpPCViZiqrIiPFe4U4Ty4J +czKnvT6brcqEB+YPOv93xZ1BhQCKtpvusKQ/LUxM5kI+u1HI3UhU9AyORwIDAQAB +AoGAEJZ03q4uuMb7b26WSQsOMeDsftdatT747LGgs3pNRkMJvTb/O7/qJjxoG+Mc +qeSj0TAZXp+PXXc3ikCECAc+R8rVMfWdmp903XgO/qYtmZGCorxAHEmR80SrfMXv +PJnznLQWc8U9nphQErR+tTESg7xWEzmFcPKwnZd1xg8ERYkCQQDTGtrFczlB2b/Z +9TjNMqUlMnTLIk/a/rPE2fLLmAYhK5sHnJdvDURaH2mF4nso0EGtENnTsh6LATnY +dkrxXGm9AkEA4hXHG2q3MnhgK1Z5hjv+Fnqd+8bcbII9WW4flFs15EKoMgS1w/PJ +zbsySaSy5IVS8XeShmT9+3lrleed4sy+UwJBAJOOAbxhfXP5r4+5R6ql66jES75w +jUCVJzJA5ORJrn8g64u2eGK28z/LFQbv9wXgCwfc72R468BdawFSLa/m2EECQGbZ +rWiFla26IVXV0xcD98VWJsTBZMlgPnSOqoMdM1kSEd4fUmlAYI/dFzV1XYSkOmVr +FhdZnklmpVDeu27P4c0CQQCuCOup0FlJSBpWY1TTfun/KMBkBatMz0VMA3d7FKIU +csPezl677Yjo8u1r/KzeI6zLg87Z8E6r6ZWNc9wBSZK6 +-----END RSA TESTING KEY-----`) + +const clientECDSACertificatePEM = ` +-----BEGIN CERTIFICATE----- +MIIB/DCCAV4CCQCaMIRsJjXZFzAJBgcqhkjOPQQBMEUxCzAJBgNVBAYTAkFVMRMw +EQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0 +eSBMdGQwHhcNMTIxMTE0MTMyNTUzWhcNMjIxMTEyMTMyNTUzWjBBMQswCQYDVQQG +EwJBVTEMMAoGA1UECBMDTlNXMRAwDgYDVQQHEwdQeXJtb250MRIwEAYDVQQDEwlK +b2VsIFNpbmcwgZswEAYHKoZIzj0CAQYFK4EEACMDgYYABACVjJF1FMBexFe01MNv +ja5oHt1vzobhfm6ySD6B5U7ixohLZNz1MLvT/2XMW/TdtWo+PtAd3kfDdq0Z9kUs +jLzYHQFMH3CQRnZIi4+DzEpcj0B22uCJ7B0rxE4wdihBsmKo+1vx+U56jb0JuK7q +ixgnTy5w/hOWusPTQBbNZU6sER7m8TAJBgcqhkjOPQQBA4GMADCBiAJCAOAUxGBg +C3JosDJdYUoCdFzCgbkWqD8pyDbHgf9stlvZcPE4O1BIKJTLCRpS8V3ujfK58PDa +2RU6+b0DeoeiIzXsAkIBo9SKeDUcSpoj0gq+KxAxnZxfvuiRs9oa9V2jI/Umi0Vw +jWVim34BmT0Y9hCaOGGbLlfk+syxis7iI6CH8OFnUes= +-----END CERTIFICATE-----` + +var clientECDSAKeyPEM = testingKey(` +-----BEGIN EC PARAMETERS----- +BgUrgQQAIw== +-----END EC PARAMETERS----- +-----BEGIN EC TESTING KEY----- +MIHcAgEBBEIBkJN9X4IqZIguiEVKMqeBUP5xtRsEv4HJEtOpOGLELwO53SD78Ew8 +k+wLWoqizS3NpQyMtrU8JFdWfj+C57UNkOugBwYFK4EEACOhgYkDgYYABACVjJF1 +FMBexFe01MNvja5oHt1vzobhfm6ySD6B5U7ixohLZNz1MLvT/2XMW/TdtWo+PtAd +3kfDdq0Z9kUsjLzYHQFMH3CQRnZIi4+DzEpcj0B22uCJ7B0rxE4wdihBsmKo+1vx ++U56jb0JuK7qixgnTy5w/hOWusPTQBbNZU6sER7m8Q== +-----END EC TESTING KEY-----`) + +const clientEd25519CertificatePEM = ` +-----BEGIN CERTIFICATE----- +MIIBLjCB4aADAgECAhAX0YGTviqMISAQJRXoNCNPMAUGAytlcDASMRAwDgYDVQQK +EwdBY21lIENvMB4XDTE5MDUxNjIxNTQyNloXDTIwMDUxNTIxNTQyNlowEjEQMA4G +A1UEChMHQWNtZSBDbzAqMAUGAytlcAMhAAvgtWC14nkwPb7jHuBQsQTIbcd4bGkv +xRStmmNveRKRo00wSzAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUH +AwIwDAYDVR0TAQH/BAIwADAWBgNVHREEDzANggtleGFtcGxlLmNvbTAFBgMrZXAD +QQD8GRcqlKUx+inILn9boF2KTjRAOdazENwZ/qAicbP1j6FYDc308YUkv+Y9FN/f +7Q7hF9gRomDQijcjKsJGqjoI +-----END CERTIFICATE-----` + +var clientEd25519KeyPEM = testingKey(` +-----BEGIN TESTING KEY----- +MC4CAQAwBQYDK2VwBCIEINifzf07d9qx3d44e0FSbV4mC/xQxT644RRbpgNpin7I +-----END TESTING KEY-----`) diff --git a/src/crypto/tls/key_schedule.go b/src/crypto/tls/key_schedule.go index 3cd6e8297a..83e5480fc5 100644 --- a/src/crypto/tls/key_schedule.go +++ b/src/crypto/tls/key_schedule.go @@ -7,6 +7,7 @@ package tls import ( "crypto/elliptic" "crypto/hmac" + "crypto/subtle" "errors" "golang.org/x/crypto/cryptobyte" "golang.org/x/crypto/curve25519" @@ -193,8 +194,16 @@ func (p *x25519Parameters) SharedKey(peerPublicKey []byte) []byte { if len(peerPublicKey) != 32 { return nil } + var theirPublicKey, sharedKey [32]byte copy(theirPublicKey[:], peerPublicKey) curve25519.ScalarMult(&sharedKey, &p.privateKey, &theirPublicKey) + + // Check for low-order inputs. See RFC 8422, Section 5.11. + var allZeroes [32]byte + if subtle.ConstantTimeCompare(allZeroes[:], sharedKey[:]) == 1 { + return nil + } + return sharedKey[:] } diff --git a/src/crypto/tls/tls_test.go b/src/crypto/tls/tls_test.go index a07727c92b..b68c074855 100644 --- a/src/crypto/tls/tls_test.go +++ b/src/crypto/tls/tls_test.go @@ -359,50 +359,6 @@ func TestVerifyHostname(t *testing.T) { } } -func TestVerifyHostnameResumed(t *testing.T) { - t.Run("TLSv12", func(t *testing.T) { testVerifyHostnameResumed(t, VersionTLS12) }) - t.Run("TLSv13", func(t *testing.T) { testVerifyHostnameResumed(t, VersionTLS13) }) -} - -func testVerifyHostnameResumed(t *testing.T, version uint16) { - testenv.MustHaveExternalNetwork(t) - - config := &Config{ - MaxVersion: version, - ClientSessionCache: NewLRUClientSessionCache(32), - } - for i := 0; i < 2; i++ { - c, err := DialWithDialer(&net.Dialer{ - Timeout: 10 * time.Second, - }, "tcp", "mail.google.com:https", config) - if err != nil { - t.Fatalf("Dial #%d: %v", i, err) - } - cs := c.ConnectionState() - if i > 0 && !cs.DidResume { - t.Fatalf("Subsequent connection unexpectedly didn't resume") - } - if cs.Version != version { - t.Fatalf("Unexpectedly negotiated version %x", cs.Version) - } - if cs.VerifiedChains == nil { - t.Fatalf("Dial #%d: cs.VerifiedChains == nil", i) - } - if err := c.VerifyHostname("mail.google.com"); err != nil { - t.Fatalf("verify mail.google.com #%d: %v", i, err) - } - // Have the server send some data so session tickets are delivered. - c.SetDeadline(time.Now().Add(5 * time.Second)) - if _, err := io.WriteString(c, "HEAD / HTTP/1.0\n\n"); err != nil { - t.Fatal(err) - } - if _, err := c.Read(make([]byte, 1)); err != nil { - t.Fatal(err) - } - c.Close() - } -} - func TestConnCloseBreakingWrite(t *testing.T) { ln := newLocalListener(t) defer ln.Close() diff --git a/src/crypto/x509/example_test.go b/src/crypto/x509/example_test.go index 97c2ea2442..19d249af7a 100644 --- a/src/crypto/x509/example_test.go +++ b/src/crypto/x509/example_test.go @@ -7,6 +7,7 @@ package x509_test import ( "crypto/dsa" "crypto/ecdsa" + "crypto/ed25519" "crypto/rsa" "crypto/x509" "encoding/pem" @@ -128,6 +129,8 @@ AIU+2GKjyT3iMuzZxxFxPFMCAwEAAQ== fmt.Println("pub is of type DSA:", pub) case *ecdsa.PublicKey: fmt.Println("pub is of type ECDSA:", pub) + case ed25519.PublicKey: + fmt.Println("pub is of type Ed25519:", pub) default: panic("unknown type of public key") } diff --git a/src/crypto/x509/pkcs1.go b/src/crypto/x509/pkcs1.go index 5857c17a45..a48c6f9d64 100644 --- a/src/crypto/x509/pkcs1.go +++ b/src/crypto/x509/pkcs1.go @@ -41,7 +41,9 @@ type pkcs1PublicKey struct { E int } -// ParsePKCS1PrivateKey returns an RSA private key from its ASN.1 PKCS#1 DER encoded form. +// ParsePKCS1PrivateKey parses an RSA private key in PKCS#1, ASN.1 DER form. +// +// This kind of key is commonly encoded in PEM blocks of type "RSA PRIVATE KEY". func ParsePKCS1PrivateKey(der []byte) (*rsa.PrivateKey, error) { var priv pkcs1PrivateKey rest, err := asn1.Unmarshal(der, &priv) @@ -94,7 +96,11 @@ func ParsePKCS1PrivateKey(der []byte) (*rsa.PrivateKey, error) { return key, nil } -// MarshalPKCS1PrivateKey converts a private key to ASN.1 DER encoded form. +// MarshalPKCS1PrivateKey converts an RSA private key to PKCS#1, ASN.1 DER form. +// +// This kind of key is commonly encoded in PEM blocks of type "RSA PRIVATE KEY". +// For a more flexible key format which is not RSA specific, use +// MarshalPKCS8PrivateKey. func MarshalPKCS1PrivateKey(key *rsa.PrivateKey) []byte { key.Precompute() @@ -126,7 +132,9 @@ func MarshalPKCS1PrivateKey(key *rsa.PrivateKey) []byte { return b } -// ParsePKCS1PublicKey parses a PKCS#1 public key in ASN.1 DER form. +// ParsePKCS1PublicKey parses an RSA public key in PKCS#1, ASN.1 DER form. +// +// This kind of key is commonly encoded in PEM blocks of type "RSA PUBLIC KEY". func ParsePKCS1PublicKey(der []byte) (*rsa.PublicKey, error) { var pub pkcs1PublicKey rest, err := asn1.Unmarshal(der, &pub) @@ -154,6 +162,8 @@ func ParsePKCS1PublicKey(der []byte) (*rsa.PublicKey, error) { } // MarshalPKCS1PublicKey converts an RSA public key to PKCS#1, ASN.1 DER form. +// +// This kind of key is commonly encoded in PEM blocks of type "RSA PUBLIC KEY". func MarshalPKCS1PublicKey(key *rsa.PublicKey) []byte { derBytes, _ := asn1.Marshal(pkcs1PublicKey{ N: key.N, diff --git a/src/crypto/x509/pkcs8.go b/src/crypto/x509/pkcs8.go index fa1847e5e7..d37fc9e1b3 100644 --- a/src/crypto/x509/pkcs8.go +++ b/src/crypto/x509/pkcs8.go @@ -24,9 +24,12 @@ type pkcs8 struct { // optional attributes omitted. } -// ParsePKCS8PrivateKey parses an unencrypted, PKCS#8 private key. It returns a -// *rsa.PrivateKey, a *ecdsa.PrivateKey, or a ed25519.PrivateKey. More types -// might be supported in future versions. See RFC 5208 and RFC 8410. +// ParsePKCS8PrivateKey parses an unencrypted private key in PKCS#8, ASN.1 DER form. +// +// It returns a *rsa.PrivateKey, a *ecdsa.PrivateKey, or a ed25519.PrivateKey. +// More types might be supported in the future. +// +// This kind of key is commonly encoded in PEM blocks of type "PRIVATE KEY". func ParsePKCS8PrivateKey(der []byte) (key interface{}, err error) { var privKey pkcs8 if _, err := asn1.Unmarshal(der, &privKey); err != nil { @@ -76,10 +79,12 @@ func ParsePKCS8PrivateKey(der []byte) (key interface{}, err error) { } } -// MarshalPKCS8PrivateKey converts a private key to PKCS#8 encoded form. -// The following key types are currently supported: *rsa.PrivateKey, -// *ecdsa.PrivateKey and ed25519.PrivateKey. Unsupported key types result in an -// error. See RFC 5208 and RFC 8410. +// MarshalPKCS8PrivateKey converts an RSA private key to PKCS#8, ASN.1 DER form. +// +// The following key types are currently supported: *rsa.PrivateKey, *ecdsa.PrivateKey +// and ed25519.PrivateKey. Unsupported key types result in an error. +// +// This kind of key is commonly encoded in PEM blocks of type "PRIVATE KEY". func MarshalPKCS8PrivateKey(key interface{}) ([]byte, error) { var privKey pkcs8 diff --git a/src/crypto/x509/sec1.go b/src/crypto/x509/sec1.go index faba9dbe5d..6cffa59d0e 100644 --- a/src/crypto/x509/sec1.go +++ b/src/crypto/x509/sec1.go @@ -28,12 +28,18 @@ type ecPrivateKey struct { PublicKey asn1.BitString `asn1:"optional,explicit,tag:1"` } -// ParseECPrivateKey parses an ASN.1 Elliptic Curve Private Key Structure. +// ParseECPrivateKey parses an EC public key in SEC 1, ASN.1 DER form. +// +// This kind of key is commonly encoded in PEM blocks of type "EC PUBLIC KEY". func ParseECPrivateKey(der []byte) (*ecdsa.PrivateKey, error) { return parseECPrivateKey(nil, der) } -// MarshalECPrivateKey marshals an EC private key into ASN.1, DER format. +// MarshalECPrivateKey converts an EC private key to SEC 1, ASN.1 DER form. +// +// This kind of key is commonly encoded in PEM blocks of type "EC PRIVATE KEY". +// For a more flexible key format which is not EC specific, use +// MarshalPKCS8PrivateKey. func MarshalECPrivateKey(key *ecdsa.PrivateKey) ([]byte, error) { oid, ok := oidFromNamedCurve(key.Curve) if !ok { diff --git a/src/crypto/x509/x509.go b/src/crypto/x509/x509.go index 16c0526196..1cd8fdeb33 100644 --- a/src/crypto/x509/x509.go +++ b/src/crypto/x509/x509.go @@ -44,14 +44,12 @@ type pkixPublicKey struct { BitString asn1.BitString } -// ParsePKIXPublicKey parses a DER encoded public key. These values are -// typically found in PEM blocks with "BEGIN PUBLIC KEY". +// ParsePKIXPublicKey parses a public key in PKIX, ASN.1 DER form. // -// Supported key types include RSA, DSA, and ECDSA. Unknown key -// types result in an error. +// It returns a *rsa.PublicKey, *dsa.PublicKey, *ecdsa.PublicKey, or +// ed25519.PublicKey. More types might be supported in the future. // -// On success, pub will be of type *rsa.PublicKey, *dsa.PublicKey, -// *ecdsa.PublicKey, or ed25519.PublicKey. +// This kind of key is commonly encoded in PEM blocks of type "PUBLIC KEY". func ParsePKIXPublicKey(derBytes []byte) (pub interface{}, err error) { var pki publicKeyInfo if rest, err := asn1.Unmarshal(derBytes, &pki); err != nil { @@ -106,7 +104,12 @@ func marshalPublicKey(pub interface{}) (publicKeyBytes []byte, publicKeyAlgorith return publicKeyBytes, publicKeyAlgorithm, nil } -// MarshalPKIXPublicKey serialises a public key to DER-encoded PKIX format. +// MarshalPKIXPublicKey converts a public key to PKIX, ASN.1 DER form. +// +// The following key types are currently supported: *rsa.PublicKey, *ecdsa.PublicKey +// and ed25519.PublicKey. Unsupported key types result in an error. +// +// This kind of key is commonly encoded in PEM blocks of type "PUBLIC KEY". func MarshalPKIXPublicKey(pub interface{}) ([]byte, error) { var publicKeyBytes []byte var publicKeyAlgorithm pkix.AlgorithmIdentifier diff --git a/src/debug/elf/file.go b/src/debug/elf/file.go index f92a2b0052..79ef467145 100644 --- a/src/debug/elf/file.go +++ b/src/debug/elf/file.go @@ -171,6 +171,11 @@ type Symbol struct { Info, Other byte Section SectionIndex Value, Size uint64 + + // Version and Library are present only for the dynamic symbol + // table. + Version string + Library string } /* @@ -1228,12 +1233,23 @@ func (f *File) Symbols() ([]Symbol, error) { // DynamicSymbols returns the dynamic symbol table for f. The symbols // will be listed in the order they appear in f. // +// If f has a symbol version table, the returned Symbols will have +// initialized Version and Library fields. +// // For compatibility with Symbols, DynamicSymbols omits the null symbol at index 0. // After retrieving the symbols as symtab, an externally supplied index x // corresponds to symtab[x-1], not symtab[x]. func (f *File) DynamicSymbols() ([]Symbol, error) { - sym, _, err := f.getSymbols(SHT_DYNSYM) - return sym, err + sym, str, err := f.getSymbols(SHT_DYNSYM) + if err != nil { + return nil, err + } + if f.gnuVersionInit(str) { + for i := range sym { + sym[i].Library, sym[i].Version = f.gnuVersion(i) + } + } + return sym, nil } type ImportedSymbol struct { @@ -1256,7 +1272,8 @@ func (f *File) ImportedSymbols() ([]ImportedSymbol, error) { for i, s := range sym { if ST_BIND(s.Info) == STB_GLOBAL && s.Section == SHN_UNDEF { all = append(all, ImportedSymbol{Name: s.Name}) - f.gnuVersion(i, &all[len(all)-1]) + sym := &all[len(all)-1] + sym.Library, sym.Version = f.gnuVersion(i) } } return all, nil @@ -1269,11 +1286,16 @@ type verneed struct { // gnuVersionInit parses the GNU version tables // for use by calls to gnuVersion. -func (f *File) gnuVersionInit(str []byte) { +func (f *File) gnuVersionInit(str []byte) bool { + if f.gnuNeed != nil { + // Already initialized + return true + } + // Accumulate verneed information. vn := f.SectionByType(SHT_GNU_VERNEED) if vn == nil { - return + return false } d, _ := vn.Data() @@ -1328,17 +1350,18 @@ func (f *File) gnuVersionInit(str []byte) { // Versym parallels symbol table, indexing into verneed. vs := f.SectionByType(SHT_GNU_VERSYM) if vs == nil { - return + return false } d, _ = vs.Data() f.gnuNeed = need f.gnuVersym = d + return true } // gnuVersion adds Library and Version information to sym, // which came from offset i of the symbol table. -func (f *File) gnuVersion(i int, sym *ImportedSymbol) { +func (f *File) gnuVersion(i int) (library string, version string) { // Each entry is two bytes. i = (i + 1) * 2 if i >= len(f.gnuVersym) { @@ -1349,8 +1372,7 @@ func (f *File) gnuVersion(i int, sym *ImportedSymbol) { return } n := &f.gnuNeed[j] - sym.Library = n.File - sym.Version = n.Name + return n.File, n.Name } // ImportedLibraries returns the names of all libraries diff --git a/src/debug/elf/symbols_test.go b/src/debug/elf/symbols_test.go index 1b79520e3c..42f02312e8 100644 --- a/src/debug/elf/symbols_test.go +++ b/src/debug/elf/symbols_test.go @@ -819,6 +819,8 @@ var dynamicSymbolsGolden = map[string][]Symbol{ Section: 0x0, Value: 0x0, Size: 0x18C, + Version: "GLIBC_2.2.5", + Library: "libc.so.6", }, Symbol{ Name: "__libc_start_main", @@ -827,6 +829,8 @@ var dynamicSymbolsGolden = map[string][]Symbol{ Section: 0x0, Value: 0x0, Size: 0x1C2, + Version: "GLIBC_2.2.5", + Library: "libc.so.6", }, }, "testdata/go-relocation-test-clang-x86.obj": {}, diff --git a/src/encoding/csv/writer.go b/src/encoding/csv/writer.go index b18996a930..3f34bc51db 100644 --- a/src/encoding/csv/writer.go +++ b/src/encoding/csv/writer.go @@ -41,7 +41,7 @@ func NewWriter(w io.Writer) *Writer { } } -// Writer writes a single CSV record to w along with any necessary quoting. +// Write writes a single CSV record to w along with any necessary quoting. // A record is a slice of strings with each string being one field. // Writes are buffered, so Flush must eventually be called to ensure // that the record is written to the underlying io.Writer. diff --git a/src/encoding/json/decode.go b/src/encoding/json/decode.go index bdd94e34ce..df1c085917 100644 --- a/src/encoding/json/decode.go +++ b/src/encoding/json/decode.go @@ -199,66 +199,6 @@ func (n Number) Int64() (int64, error) { return strconv.ParseInt(string(n), 10, 64) } -// isValidNumber reports whether s is a valid JSON number literal. -func isValidNumber(s string) bool { - // This function implements the JSON numbers grammar. - // See https://tools.ietf.org/html/rfc7159#section-6 - // and https://json.org/number.gif - - if s == "" { - return false - } - - // Optional - - if s[0] == '-' { - s = s[1:] - if s == "" { - return false - } - } - - // Digits - switch { - default: - return false - - case s[0] == '0': - s = s[1:] - - case '1' <= s[0] && s[0] <= '9': - s = s[1:] - for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { - s = s[1:] - } - } - - // . followed by 1 or more digits. - if len(s) >= 2 && s[0] == '.' && '0' <= s[1] && s[1] <= '9' { - s = s[2:] - for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { - s = s[1:] - } - } - - // e or E followed by an optional - or + and - // 1 or more digits. - if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') { - s = s[1:] - if s[0] == '+' || s[0] == '-' { - s = s[1:] - if s == "" { - return false - } - } - for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { - s = s[1:] - } - } - - // Make sure we are at the end. - return s == "" -} - // decodeState represents the state while decoding a JSON value. type decodeState struct { data []byte @@ -272,9 +212,6 @@ type decodeState struct { savedError error useNumber bool disallowUnknownFields bool - // safeUnquote is the number of current string literal bytes that don't - // need to be unquoted. When negative, no bytes need unquoting. - safeUnquote int } // readIndex returns the position of the last byte read. @@ -376,27 +313,13 @@ func (d *decodeState) rescanLiteral() { Switch: switch data[i-1] { case '"': // string - // safeUnquote is initialized at -1, which means that all bytes - // checked so far can be unquoted at a later time with no work - // at all. When reaching the closing '"', if safeUnquote is - // still -1, all bytes can be unquoted with no work. Otherwise, - // only those bytes up until the first '\\' or non-ascii rune - // can be safely unquoted. - safeUnquote := -1 for ; i < len(data); i++ { - if c := data[i]; c == '\\' { - if safeUnquote < 0 { // first unsafe byte - safeUnquote = int(i - d.off) - } + switch data[i] { + case '\\': i++ // escaped char - } else if c == '"' { - d.safeUnquote = safeUnquote + case '"': i++ // tokenize the closing quote too break Switch - } else if c >= utf8.RuneSelf { - if safeUnquote < 0 { // first unsafe byte - safeUnquote = int(i - d.off) - } } } case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-': // number @@ -749,7 +672,7 @@ func (d *decodeState) object(v reflect.Value) error { start := d.readIndex() d.rescanLiteral() item := d.data[start:d.readIndex()] - key, ok := d.unquoteBytes(item) + key, ok := unquoteBytes(item) if !ok { panic(phasePanicMsg) } @@ -950,7 +873,7 @@ func (d *decodeState) literalStore(item []byte, v reflect.Value, fromQuoted bool d.saveError(&UnmarshalTypeError{Value: val, Type: v.Type(), Offset: int64(d.readIndex())}) return nil } - s, ok := d.unquoteBytes(item) + s, ok := unquoteBytes(item) if !ok { if fromQuoted { return fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type()) @@ -1001,7 +924,7 @@ func (d *decodeState) literalStore(item []byte, v reflect.Value, fromQuoted bool } case '"': // string - s, ok := d.unquoteBytes(item) + s, ok := unquoteBytes(item) if !ok { if fromQuoted { return fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type()) @@ -1044,10 +967,9 @@ func (d *decodeState) literalStore(item []byte, v reflect.Value, fromQuoted bool switch v.Kind() { default: if v.Kind() == reflect.String && v.Type() == numberType { + // s must be a valid number, because it's + // already been tokenized. v.SetString(s) - if !isValidNumber(s) { - return fmt.Errorf("json: invalid number literal, trying to unmarshal %q into Number", item) - } break } if fromQuoted { @@ -1159,7 +1081,7 @@ func (d *decodeState) objectInterface() map[string]interface{} { start := d.readIndex() d.rescanLiteral() item := d.data[start:d.readIndex()] - key, ok := d.unquote(item) + key, ok := unquote(item) if !ok { panic(phasePanicMsg) } @@ -1208,7 +1130,7 @@ func (d *decodeState) literalInterface() interface{} { return c == 't' case '"': // string - s, ok := d.unquote(item) + s, ok := unquote(item) if !ok { panic(phasePanicMsg) } @@ -1251,21 +1173,38 @@ func getu4(s []byte) rune { // unquote converts a quoted JSON string literal s into an actual string t. // The rules are different than for Go, so cannot use strconv.Unquote. -func (d *decodeState) unquote(s []byte) (t string, ok bool) { - s, ok = d.unquoteBytes(s) +func unquote(s []byte) (t string, ok bool) { + s, ok = unquoteBytes(s) t = string(s) return } -func (d *decodeState) unquoteBytes(s []byte) (t []byte, ok bool) { - r := d.safeUnquote - // The bytes have been scanned, so we know that the first and last bytes - // are double quotes. +func unquoteBytes(s []byte) (t []byte, ok bool) { + if len(s) < 2 || s[0] != '"' || s[len(s)-1] != '"' { + return + } s = s[1 : len(s)-1] - // If there are no unusual characters, no unquoting is needed, so return - // a slice of the original bytes. - if r == -1 { + // Check for unusual characters. If there are none, + // then no unquoting is needed, so return a slice of the + // original bytes. + r := 0 + for r < len(s) { + c := s[r] + if c == '\\' || c == '"' || c < ' ' { + break + } + if c < utf8.RuneSelf { + r++ + continue + } + rr, size := utf8.DecodeRune(s[r:]) + if rr == utf8.RuneError && size == 1 { + break + } + r += size + } + if r == len(s) { return s, true } diff --git a/src/encoding/json/decode_test.go b/src/encoding/json/decode_test.go index 719a9fa290..8dcb08cbd2 100644 --- a/src/encoding/json/decode_test.go +++ b/src/encoding/json/decode_test.go @@ -145,23 +145,15 @@ func (u8 *u8marshal) UnmarshalText(b []byte) error { var _ encoding.TextUnmarshaler = (*u8marshal)(nil) var ( - um0, um1 unmarshaler // target2 of unmarshaling - ump = &um1 umtrue = unmarshaler{true} umslice = []unmarshaler{{true}} - umslicep = new([]unmarshaler) umstruct = ustruct{unmarshaler{true}} - um0T, um1T unmarshalerText // target2 of unmarshaling - umpType = &um1T - umtrueXY = unmarshalerText{"x", "y"} - umsliceXY = []unmarshalerText{{"x", "y"}} - umslicepType = new([]unmarshalerText) - umstructType = new(ustructText) - umstructXY = ustructText{unmarshalerText{"x", "y"}} + umtrueXY = unmarshalerText{"x", "y"} + umsliceXY = []unmarshalerText{{"x", "y"}} + umstructXY = ustructText{unmarshalerText{"x", "y"}} - ummapType = map[unmarshalerText]bool{} - ummapXY = map[unmarshalerText]bool{{"x", "y"}: true} + ummapXY = map[unmarshalerText]bool{{"x", "y"}: true} ) // Test data structures for anonymous fields. @@ -279,9 +271,6 @@ type unexportedWithMethods struct{} func (unexportedWithMethods) F() {} -func sliceAddr(x []int) *[]int { return &x } -func mapAddr(x map[string]int) *map[string]int { return &x } - type byteWithMarshalJSON byte func (b byteWithMarshalJSON) MarshalJSON() ([]byte, error) { @@ -400,7 +389,7 @@ type mapStringToStringData struct { type unmarshalTest struct { in string - ptr interface{} + ptr interface{} // new(type) out interface{} err error useNumber bool @@ -459,6 +448,7 @@ var unmarshalTests = []unmarshalTest{ {in: `[1, 2, 3+]`, err: &SyntaxError{"invalid character '+' after array element", 9}}, {in: `{"X":12x}`, err: &SyntaxError{"invalid character 'x' after object key:value pair", 8}, useNumber: true}, {in: `[2, 3`, err: &SyntaxError{msg: "unexpected end of JSON input", Offset: 5}}, + {in: `{"F3": -}`, ptr: new(V), out: V{F3: Number("-")}, err: &SyntaxError{msg: "invalid character '}' in numeric literal", Offset: 9}}, // raw value errors {in: "\x01 42", err: &SyntaxError{"invalid character '\\x01' looking for beginning of value", 1}}, @@ -493,18 +483,18 @@ var unmarshalTests = []unmarshalTest{ {in: pallValueCompact, ptr: new(*All), out: &pallValue}, // unmarshal interface test - {in: `{"T":false}`, ptr: &um0, out: umtrue}, // use "false" so test will fail if custom unmarshaler is not called - {in: `{"T":false}`, ptr: &ump, out: &umtrue}, - {in: `[{"T":false}]`, ptr: &umslice, out: umslice}, - {in: `[{"T":false}]`, ptr: &umslicep, out: &umslice}, - {in: `{"M":{"T":"x:y"}}`, ptr: &umstruct, out: umstruct}, + {in: `{"T":false}`, ptr: new(unmarshaler), out: umtrue}, // use "false" so test will fail if custom unmarshaler is not called + {in: `{"T":false}`, ptr: new(*unmarshaler), out: &umtrue}, + {in: `[{"T":false}]`, ptr: new([]unmarshaler), out: umslice}, + {in: `[{"T":false}]`, ptr: new(*[]unmarshaler), out: &umslice}, + {in: `{"M":{"T":"x:y"}}`, ptr: new(ustruct), out: umstruct}, // UnmarshalText interface test - {in: `"x:y"`, ptr: &um0T, out: umtrueXY}, - {in: `"x:y"`, ptr: &umpType, out: &umtrueXY}, - {in: `["x:y"]`, ptr: &umsliceXY, out: umsliceXY}, - {in: `["x:y"]`, ptr: &umslicepType, out: &umsliceXY}, - {in: `{"M":"x:y"}`, ptr: umstructType, out: umstructXY}, + {in: `"x:y"`, ptr: new(unmarshalerText), out: umtrueXY}, + {in: `"x:y"`, ptr: new(*unmarshalerText), out: &umtrueXY}, + {in: `["x:y"]`, ptr: new([]unmarshalerText), out: umsliceXY}, + {in: `["x:y"]`, ptr: new(*[]unmarshalerText), out: &umsliceXY}, + {in: `{"M":"x:y"}`, ptr: new(ustructText), out: umstructXY}, // integer-keyed map test { @@ -579,15 +569,9 @@ var unmarshalTests = []unmarshalTest{ }, // Map keys can be encoding.TextUnmarshalers. - {in: `{"x:y":true}`, ptr: &ummapType, out: ummapXY}, + {in: `{"x:y":true}`, ptr: new(map[unmarshalerText]bool), out: ummapXY}, // If multiple values for the same key exists, only the most recent value is used. - {in: `{"x:y":false,"x:y":true}`, ptr: &ummapType, out: ummapXY}, - - // Overwriting of data. - // This is different from package xml, but it's what we've always done. - // Now documented and tested. - {in: `[2]`, ptr: sliceAddr([]int{1}), out: []int{2}}, - {in: `{"key": 2}`, ptr: mapAddr(map[string]int{"old": 0, "key": 1}), out: map[string]int{"key": 2}}, + {in: `{"x:y":false,"x:y":true}`, ptr: new(map[unmarshalerText]bool), out: ummapXY}, { in: `{ @@ -713,19 +697,19 @@ var unmarshalTests = []unmarshalTest{ // Used to be issue 8305, but time.Time implements encoding.TextUnmarshaler so this works now. { in: `{"2009-11-10T23:00:00Z": "hello world"}`, - ptr: &map[time.Time]string{}, + ptr: new(map[time.Time]string), out: map[time.Time]string{time.Date(2009, 11, 10, 23, 0, 0, 0, time.UTC): "hello world"}, }, // issue 8305 { in: `{"2009-11-10T23:00:00Z": "hello world"}`, - ptr: &map[Point]string{}, + ptr: new(map[Point]string), err: &UnmarshalTypeError{Value: "object", Type: reflect.TypeOf(map[Point]string{}), Offset: 1}, }, { in: `{"asdf": "hello world"}`, - ptr: &map[unmarshaler]string{}, + ptr: new(map[unmarshaler]string), err: &UnmarshalTypeError{Value: "object", Type: reflect.TypeOf(map[unmarshaler]string{}), Offset: 1}, }, @@ -1077,8 +1061,27 @@ func TestUnmarshal(t *testing.T) { continue } + typ := reflect.TypeOf(tt.ptr) + if typ.Kind() != reflect.Ptr { + t.Errorf("#%d: unmarshalTest.ptr %T is not a pointer type", i, tt.ptr) + continue + } + typ = typ.Elem() + // v = new(right-type) - v := reflect.New(reflect.TypeOf(tt.ptr).Elem()) + v := reflect.New(typ) + + if !reflect.DeepEqual(tt.ptr, v.Interface()) { + // There's no reason for ptr to point to non-zero data, + // as we decode into new(right-type), so the data is + // discarded. + // This can easily mean tests that silently don't test + // what they should. To test decoding into existing + // data, see TestPrefilled. + t.Errorf("#%d: unmarshalTest.ptr %#v is not a pointer to a zero value", i, tt.ptr) + continue + } + dec := NewDecoder(bytes.NewReader(in)) if tt.useNumber { dec.UseNumber() @@ -1250,6 +1253,8 @@ var wrongStringTests = []wrongStringTest{ {`{"result":"foo"}`, `json: invalid use of ,string struct tag, trying to unmarshal "foo" into string`}, {`{"result":"123"}`, `json: invalid use of ,string struct tag, trying to unmarshal "123" into string`}, {`{"result":123}`, `json: invalid use of ,string struct tag, trying to unmarshal unquoted value into string`}, + {`{"result":"\""}`, `json: invalid use of ,string struct tag, trying to unmarshal "\"" into string`}, + {`{"result":"\"foo"}`, `json: invalid use of ,string struct tag, trying to unmarshal "\"foo" into string`}, } // If people misuse the ,string modifier, the error message should be @@ -2084,11 +2089,10 @@ func TestSkipArrayObjects(t *testing.T) { } } -// Test semantics of pre-filled struct fields and pre-filled map fields. -// Issue 4900. +// Test semantics of pre-filled data, such as struct fields, map elements, +// slices, and arrays. +// Issues 4900 and 8837, among others. func TestPrefilled(t *testing.T) { - ptrToMap := func(m map[string]interface{}) *map[string]interface{} { return &m } - // Values here change, cannot reuse table across runs. var prefillTests = []struct { in string @@ -2102,8 +2106,28 @@ func TestPrefilled(t *testing.T) { }, { in: `{"X": 1, "Y": 2}`, - ptr: ptrToMap(map[string]interface{}{"X": float32(3), "Y": int16(4), "Z": 1.5}), - out: ptrToMap(map[string]interface{}{"X": float64(1), "Y": float64(2), "Z": 1.5}), + ptr: &map[string]interface{}{"X": float32(3), "Y": int16(4), "Z": 1.5}, + out: &map[string]interface{}{"X": float64(1), "Y": float64(2), "Z": 1.5}, + }, + { + in: `[2]`, + ptr: &[]int{1}, + out: &[]int{2}, + }, + { + in: `[2, 3]`, + ptr: &[]int{1}, + out: &[]int{2, 3}, + }, + { + in: `[2, 3]`, + ptr: &[...]int{1}, + out: &[...]int{2}, + }, + { + in: `[3]`, + ptr: &[...]int{1, 2}, + out: &[...]int{3, 0}, }, } diff --git a/src/encoding/json/encode.go b/src/encoding/json/encode.go index 464ee3ece4..07d3098f1c 100644 --- a/src/encoding/json/encode.go +++ b/src/encoding/json/encode.go @@ -137,7 +137,7 @@ import ( // string, an integer type, or implement encoding.TextMarshaler. The map keys // are sorted and used as JSON object keys by applying the following rules, // subject to the UTF-8 coercion described for string values above: -// - string keys are used directly +// - keys of any string type are used directly // - encoding.TextMarshalers are marshaled // - integer keys are converted to strings // @@ -460,7 +460,7 @@ func marshalerEncoder(e *encodeState, v reflect.Value, opts encOpts) { } } -func addrMarshalerEncoder(e *encodeState, v reflect.Value, _ encOpts) { +func addrMarshalerEncoder(e *encodeState, v reflect.Value, opts encOpts) { va := v.Addr() if va.IsNil() { e.WriteString("null") @@ -470,7 +470,7 @@ func addrMarshalerEncoder(e *encodeState, v reflect.Value, _ encOpts) { b, err := m.MarshalJSON() if err == nil { // copy JSON into buffer, checking validity. - err = compact(&e.Buffer, b, true) + err = compact(&e.Buffer, b, opts.escapeHTML) } if err != nil { e.error(&MarshalerError{v.Type(), err}) @@ -611,6 +611,66 @@ func stringEncoder(e *encodeState, v reflect.Value, opts encOpts) { } } +// isValidNumber reports whether s is a valid JSON number literal. +func isValidNumber(s string) bool { + // This function implements the JSON numbers grammar. + // See https://tools.ietf.org/html/rfc7159#section-6 + // and https://json.org/number.gif + + if s == "" { + return false + } + + // Optional - + if s[0] == '-' { + s = s[1:] + if s == "" { + return false + } + } + + // Digits + switch { + default: + return false + + case s[0] == '0': + s = s[1:] + + case '1' <= s[0] && s[0] <= '9': + s = s[1:] + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + } + } + + // . followed by 1 or more digits. + if len(s) >= 2 && s[0] == '.' && '0' <= s[1] && s[1] <= '9' { + s = s[2:] + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + } + } + + // e or E followed by an optional - or + and + // 1 or more digits. + if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') { + s = s[1:] + if s[0] == '+' || s[0] == '-' { + s = s[1:] + if s == "" { + return false + } + } + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + } + } + + // Make sure we are at the end. + return s == "" +} + func interfaceEncoder(e *encodeState, v reflect.Value, opts encOpts) { if v.IsNil() { e.WriteString("null") diff --git a/src/encoding/json/fuzz.go b/src/encoding/json/fuzz.go index 4872b6f7ee..be03f0d7ff 100644 --- a/src/encoding/json/fuzz.go +++ b/src/encoding/json/fuzz.go @@ -33,7 +33,7 @@ func Fuzz(data []byte) (score int) { err = Unmarshal(m, u) if err != nil { fmt.Printf("v=%#v\n", v) - fmt.Println("m=%s\n", string(m)) + fmt.Printf("m=%s\n", m) panic(err) } } diff --git a/src/encoding/json/stream_test.go b/src/encoding/json/stream_test.go index 1d1999da25..e3317ddeb0 100644 --- a/src/encoding/json/stream_test.go +++ b/src/encoding/json/stream_test.go @@ -90,6 +90,18 @@ func TestEncoderIndent(t *testing.T) { } } +type strMarshaler string + +func (s strMarshaler) MarshalJSON() ([]byte, error) { + return []byte(s), nil +} + +type strPtrMarshaler string + +func (s *strPtrMarshaler) MarshalJSON() ([]byte, error) { + return []byte(*s), nil +} + func TestEncoderSetEscapeHTML(t *testing.T) { var c C var ct CText @@ -97,6 +109,15 @@ func TestEncoderSetEscapeHTML(t *testing.T) { Valid int `json:"<>&#! "` Invalid int `json:"\\"` } + + // This case is particularly interesting, as we force the encoder to + // take the address of the Ptr field to use its MarshalJSON method. This + // is why the '&' is important. + marshalerStruct := &struct { + NonPtr strMarshaler + Ptr strPtrMarshaler + }{`""`, `""`} + for _, tt := range []struct { name string v interface{} @@ -111,6 +132,11 @@ func TestEncoderSetEscapeHTML(t *testing.T) { `{"\u003c\u003e\u0026#! ":0,"Invalid":0}`, `{"<>&#! ":0,"Invalid":0}`, }, + { + `""`, marshalerStruct, + `{"NonPtr":"\u003cstr\u003e","Ptr":"\u003cstr\u003e"}`, + `{"NonPtr":"","Ptr":""}`, + }, } { var buf bytes.Buffer enc := NewEncoder(&buf) diff --git a/src/errors/errors.go b/src/errors/errors.go index b8a46921be..85d4260762 100644 --- a/src/errors/errors.go +++ b/src/errors/errors.go @@ -3,9 +3,58 @@ // license that can be found in the LICENSE file. // Package errors implements functions to manipulate errors. +// +// The New function creates errors whose only content is a text message. +// +// The Unwrap, Is and As functions work on errors that may wrap other errors. +// An error wraps another error if its type has the method +// +// Unwrap() error +// +// If e.Unwrap() returns a non-nil error w, then we say that e wraps w. +// +// A simple way to create wrapped errors is to call fmt.Errorf and apply the %w verb +// to the error argument: +// +// fmt.Errorf("... %w ...", ..., err, ...).Unwrap() +// +// returns err. +// +// Unwrap unpacks wrapped errors. If its argument's type has an +// Unwrap method, it calls the method once. Otherwise, it returns nil. +// +// Is unwraps its first argument sequentially looking for an error that matches the +// second. It reports whether it finds a match. It should be used in preference to +// simple equality checks: +// +// if errors.Is(err, os.ErrExist) +// +// is preferable to +// +// if err == os.ErrExist +// +// because the former will succeed if err wraps os.ErrExist. +// +// As unwraps its first argument sequentially looking for an error that can be +// assigned to its second argument, which must be a pointer. If it succeeds, it +// performs the assignment and returns true. Otherwise, it returns false. The form +// +// var perr *os.PathError +// if errors.As(err, &perr) { +// fmt.Println(perr.Path) +// } +// +// is preferable to +// +// if perr, ok := err.(*os.PathError); ok { +// fmt.Println(perr.Path) +// } +// +// because the former will succeed if err wraps an *os.PathError. package errors // New returns an error that formats as the given text. +// Each call to New returns a distinct error value even if the text is identical. func New(text string) error { return &errorString{text} } diff --git a/src/errors/wrap.go b/src/errors/wrap.go index 666d1ff207..65e6c44853 100644 --- a/src/errors/wrap.go +++ b/src/errors/wrap.go @@ -23,8 +23,19 @@ func Unwrap(err error) error { // Is reports whether any error in err's chain matches target. // +// The chain consists of err itself followed by the sequence of errors obtained by +// repeatedly calling Unwrap. +// // An error is considered to match a target if it is equal to that target or if // it implements a method Is(error) bool such that Is(target) returns true. +// +// An error type might provide an Is method so it can be treated as equivalent +// to an existing error. For example, if MyError defines +// +// func (m MyError) Is(target error) bool { return target == os.ErrExist } +// +// then Is(MyError{}, os.ErrExist) returns true. See syscall.Errno.Is for +// an example in the standard library. func Is(err, target error) bool { if target == nil { return err == target @@ -50,12 +61,18 @@ func Is(err, target error) bool { // As finds the first error in err's chain that matches target, and if so, sets // target to that error value and returns true. // +// The chain consists of err itself followed by the sequence of errors obtained by +// repeatedly calling Unwrap. +// // An error matches target if the error's concrete value is assignable to the value // pointed to by target, or if the error has a method As(interface{}) bool such that // As(target) returns true. In the latter case, the As method is responsible for // setting target. // -// As will panic if target is not a non-nil pointer to either a type that implements +// An error type might provide an As method so it can be treated as if it were a +// a different error type. +// +// As panics if target is not a non-nil pointer to either a type that implements // error, or to any interface type. As returns false if err is nil. func As(err error, target interface{}) bool { if target == nil { diff --git a/src/expvar/expvar.go b/src/expvar/expvar.go index c0dc0532b1..13b5c99b6e 100644 --- a/src/expvar/expvar.go +++ b/src/expvar/expvar.go @@ -205,7 +205,7 @@ func (v *Map) AddFloat(key string, delta float64) { } } -// Deletes the given key from the map. +// Delete deletes the given key from the map. func (v *Map) Delete(key string) { v.keysMu.Lock() defer v.keysMu.Unlock() diff --git a/src/fmt/errors.go b/src/fmt/errors.go index 6ae6c47fd9..466a620353 100644 --- a/src/fmt/errors.go +++ b/src/fmt/errors.go @@ -12,7 +12,7 @@ import "errors" // If the format specifier includes a %w verb with an error operand, // the returned error will implement an Unwrap method returning the operand. It is // invalid to include more than one %w verb or to supply it with an operand -// that does not implement the error innterface. The %w verb is otherwise +// that does not implement the error interface. The %w verb is otherwise // a synonym for %v. func Errorf(format string, a ...interface{}) error { p := newPrinter() diff --git a/src/fmt/scan.go b/src/fmt/scan.go index 74ada20de7..0dab2c98f7 100644 --- a/src/fmt/scan.go +++ b/src/fmt/scan.go @@ -609,7 +609,7 @@ func (s *ss) scanRune(bitSize int) int64 { return r } -// scanBasePrefix reports whether the integer begins with a bas prefix +// scanBasePrefix reports whether the integer begins with a base prefix // and returns the base, digit string, and whether a zero was found. // It is called only if the verb is %v. func (s *ss) scanBasePrefix() (base int, digits string, zeroFound bool) { diff --git a/src/go.mod b/src/go.mod index 2e0fec4b15..90af2a7ea0 100644 --- a/src/go.mod +++ b/src/go.mod @@ -4,7 +4,7 @@ go 1.12 require ( golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 - golang.org/x/net v0.0.0-20190607172144-d5cec3884524 + golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7 golang.org/x/sys v0.0.0-20190529130038-5219a1e1c5f8 // indirect golang.org/x/text v0.3.2 // indirect ) diff --git a/src/go.sum b/src/go.sum index f6e979df2b..e358118e4c 100644 --- a/src/go.sum +++ b/src/go.sum @@ -2,8 +2,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 h1:1wopBVtVdWnn03fZelqdXTqk7U7zPQCb+T4rbU9ZEoU= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190607172144-d5cec3884524 h1:A4fHjHFi2zGH4/ziDBluIhhGzT/kAuTD1lKHLAztlG8= -golang.org/x/net v0.0.0-20190607172144-d5cec3884524/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7 h1:fHDIZ2oxGnUZRN6WgWFCbYBjH9uqVPRCUVUDhs0wnbA= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190529130038-5219a1e1c5f8 h1:2WjIC11WRITGlVWmyLXKjzIVj1ZwoWZ//tadeUUV6/o= diff --git a/src/go/ast/import.go b/src/go/ast/import.go index 7102884c85..be23c7fc43 100644 --- a/src/go/ast/import.go +++ b/src/go/ast/import.go @@ -30,7 +30,7 @@ func SortImports(fset *token.FileSet, f *File) { i := 0 specs := d.Specs[:0] for j, s := range d.Specs { - if j > i && lineAt(fset, s.Pos()) > 1+lineAt(fset, d.Specs[j-1].End()) { + if j > i && fset.Position(s.Pos()).Line > 1+fset.Position(d.Specs[j-1].End()).Line { // j begins a new run. End this one. specs = append(specs, sortSpecs(fset, f, d.Specs[i:j])...) i = j @@ -42,8 +42,8 @@ func SortImports(fset *token.FileSet, f *File) { // Deduping can leave a blank line before the rparen; clean that up. if len(d.Specs) > 0 { lastSpec := d.Specs[len(d.Specs)-1] - lastLine := lineAt(fset, lastSpec.Pos()) - rParenLine := lineAt(fset, d.Rparen) + lastLine := fset.Position(lastSpec.Pos()).Line + rParenLine := fset.Position(d.Rparen).Line for rParenLine > lastLine+1 { rParenLine-- fset.File(d.Rparen).MergeLine(rParenLine) @@ -52,10 +52,6 @@ func SortImports(fset *token.FileSet, f *File) { } } -func lineAt(fset *token.FileSet, pos token.Pos) int { - return fset.PositionFor(pos, false).Line -} - func importPath(s Spec) string { t, err := strconv.Unquote(s.(*ImportSpec).Path.Value) if err == nil { @@ -93,11 +89,6 @@ type posSpan struct { End token.Pos } -type cgPos struct { - left bool // true if comment is to the left of the spec, false otherwise. - cg *CommentGroup -} - func sortSpecs(fset *token.FileSet, f *File, specs []Spec) []Spec { // Can't short-circuit here even if specs are already sorted, // since they might yet need deduplication. @@ -113,57 +104,39 @@ func sortSpecs(fset *token.FileSet, f *File, specs []Spec) []Spec { } // Identify comments in this range. - begSpecs := pos[0].Start - endSpecs := pos[len(pos)-1].End - beg := fset.File(begSpecs).LineStart(lineAt(fset, begSpecs)) - end := fset.File(endSpecs).LineStart(lineAt(fset, endSpecs) + 1) // beginning of next line - first := len(f.Comments) - last := -1 + // Any comment from pos[0].Start to the final line counts. + lastLine := fset.Position(pos[len(pos)-1].End).Line + cstart := len(f.Comments) + cend := len(f.Comments) for i, g := range f.Comments { - if g.End() >= end { + if g.Pos() < pos[0].Start { + continue + } + if i < cstart { + cstart = i + } + if fset.Position(g.End()).Line > lastLine { + cend = i break } - // g.End() < end - if beg <= g.Pos() { - // comment is within the range [beg, end[ of import declarations - if i < first { - first = i - } - if i > last { - last = i - } - } } + comments := f.Comments[cstart:cend] - var comments []*CommentGroup - if last >= 0 { - comments = f.Comments[first : last+1] - } - - // Assign each comment to the import spec on the same line. - importComments := map[*ImportSpec][]cgPos{} + // Assign each comment to the import spec preceding it. + importComments := map[*ImportSpec][]*CommentGroup{} specIndex := 0 for _, g := range comments { for specIndex+1 < len(specs) && pos[specIndex+1].Start <= g.Pos() { specIndex++ } - var left bool - // A block comment can appear before the first import spec. - if specIndex == 0 && pos[specIndex].Start > g.Pos() { - left = true - } else if specIndex+1 < len(specs) && // Or it can appear on the left of an import spec. - lineAt(fset, pos[specIndex].Start)+1 == lineAt(fset, g.Pos()) { - specIndex++ - left = true - } s := specs[specIndex].(*ImportSpec) - importComments[s] = append(importComments[s], cgPos{left: left, cg: g}) + importComments[s] = append(importComments[s], g) } // Sort the import specs by import path. // Remove duplicates, when possible without data loss. // Reassign the import paths to have the same position sequence. - // Reassign each comment to the spec on the same line. + // Reassign each comment to abut the end of its spec. // Sort the comments by new position. sort.Slice(specs, func(i, j int) bool { ipath := importPath(specs[i]) @@ -187,7 +160,7 @@ func sortSpecs(fset *token.FileSet, f *File, specs []Spec) []Spec { deduped = append(deduped, s) } else { p := s.Pos() - fset.File(p).MergeLine(lineAt(fset, p)) + fset.File(p).MergeLine(fset.Position(p).Line) } } specs = deduped @@ -201,16 +174,8 @@ func sortSpecs(fset *token.FileSet, f *File, specs []Spec) []Spec { s.Path.ValuePos = pos[i].Start s.EndPos = pos[i].End for _, g := range importComments[s] { - for _, c := range g.cg.List { - if g.left { - c.Slash = pos[i].Start - 1 - } else { - // An import spec can have both block comment and a line comment - // to its right. In that case, both of them will have the same pos. - // But while formatting the AST, the line comment gets moved to - // after the block comment. - c.Slash = pos[i].End - } + for _, c := range g.List { + c.Slash = pos[i].End } } } diff --git a/src/go/build/build.go b/src/go/build/build.go index a91551bc22..f8547606aa 100644 --- a/src/go/build/build.go +++ b/src/go/build/build.go @@ -1001,27 +1001,25 @@ func (ctxt *Context) importGo(p *Package, path, srcDir string, mode ImportMode, return errNoModules } + // Find the absolute source directory. hasSubdir does not handle + // relative paths (and can't because the callbacks don't support this). + absSrcDir, err := filepath.Abs(srcDir) + if err != nil { + return errNoModules + } + // If modules are not enabled, then the in-process code works fine and we should keep using it. - // TODO(bcmills): This assumes that the default is "auto" instead of "on". switch os.Getenv("GO111MODULE") { case "off": return errNoModules - case "on": - // ok - default: // "", "auto", anything else - // Automatic mode: no module use in $GOPATH/src. - for _, root := range gopath { - sub, ok := ctxt.hasSubdir(root, srcDir) - if ok && strings.HasPrefix(sub, "src/") { - return errNoModules - } - } + default: // "", "on", "auto", anything else + // Maybe use modules. } // If the source directory is in GOROOT, then the in-process code works fine // and we should keep using it. Moreover, the 'go list' approach below doesn't // take standard-library vendoring into account and will fail. - if _, ok := ctxt.hasSubdir(filepath.Join(ctxt.GOROOT, "src"), srcDir); ok { + if _, ok := ctxt.hasSubdir(filepath.Join(ctxt.GOROOT, "src"), absSrcDir); ok { return errNoModules } @@ -1034,20 +1032,18 @@ func (ctxt *Context) importGo(p *Package, path, srcDir string, mode ImportMode, } // Look to see if there is a go.mod. - abs, err := filepath.Abs(srcDir) - if err != nil { - return errNoModules - } + // Since go1.13, it doesn't matter if we're inside GOPATH. + parent := absSrcDir for { - info, err := os.Stat(filepath.Join(abs, "go.mod")) + info, err := os.Stat(filepath.Join(parent, "go.mod")) if err == nil && !info.IsDir() { break } - d := filepath.Dir(abs) - if len(d) >= len(abs) { + d := filepath.Dir(parent) + if len(d) >= len(parent) { return errNoModules // reached top of file system, no go.mod } - abs = d + parent = d } cmd := exec.Command("go", "list", "-compiler="+ctxt.Compiler, "-tags="+strings.Join(ctxt.BuildTags, ","), "-installsuffix="+ctxt.InstallSuffix, "-f={{.Dir}}\n{{.ImportPath}}\n{{.Root}}\n{{.Goroot}}\n", path) diff --git a/src/go/build/deps_test.go b/src/go/build/deps_test.go index 83010bcaa3..670fa6b6d0 100644 --- a/src/go/build/deps_test.go +++ b/src/go/build/deps_test.go @@ -173,6 +173,7 @@ var pkgDeps = map[string][]string{ "syscall/js", }, + "internal/cfg": {"L0"}, "internal/poll": {"L0", "internal/oserror", "internal/race", "syscall", "time", "unicode/utf16", "unicode/utf8", "internal/syscall/windows"}, "internal/testlog": {"L0"}, "os": {"L1", "os", "syscall", "time", "internal/oserror", "internal/poll", "internal/syscall/windows", "internal/syscall/unix", "internal/testlog"}, @@ -206,7 +207,7 @@ var pkgDeps = map[string][]string{ "testing": {"L2", "flag", "fmt", "internal/race", "os", "runtime/debug", "runtime/pprof", "runtime/trace", "time"}, "testing/iotest": {"L2", "log"}, "testing/quick": {"L2", "flag", "fmt", "reflect", "time"}, - "internal/testenv": {"L2", "OS", "flag", "testing", "syscall"}, + "internal/testenv": {"L2", "OS", "flag", "testing", "syscall", "internal/cfg"}, "internal/lazyregexp": {"L2", "OS", "regexp"}, "internal/lazytemplate": {"L2", "OS", "text/template"}, @@ -256,7 +257,7 @@ var pkgDeps = map[string][]string{ "compress/gzip": {"L4", "compress/flate"}, "compress/lzw": {"L4"}, "compress/zlib": {"L4", "compress/flate"}, - "context": {"errors", "internal/oserror", "internal/reflectlite", "sync", "time"}, + "context": {"errors", "internal/reflectlite", "sync", "time"}, "database/sql": {"L4", "container/list", "context", "database/sql/driver", "database/sql/internal"}, "database/sql/driver": {"L4", "context", "time", "database/sql/internal"}, "debug/dwarf": {"L4"}, diff --git a/src/go/build/doc.go b/src/go/build/doc.go index 703825a45d..de793efa87 100644 --- a/src/go/build/doc.go +++ b/src/go/build/doc.go @@ -70,10 +70,11 @@ // To distinguish build constraints from package documentation, a series of // build constraints must be followed by a blank line. // -// A build constraint is evaluated as the OR of space-separated options; -// each option evaluates as the AND of its comma-separated terms; -// and each term is an alphanumeric word or, preceded by !, its negation. -// That is, the build constraint: +// A build constraint is evaluated as the OR of space-separated options. +// Each option evaluates as the AND of its comma-separated terms. +// Each term consists of letters, digits, underscores, and dots. +// A term may be negated with a preceding !. +// For example, the build constraint: // // // +build linux,386 darwin,!cgo // diff --git a/src/go/doc/testdata/issue10858.0.golden b/src/go/doc/testdata/issue10858.0.golden deleted file mode 100644 index 51f8f1e0d3..0000000000 --- a/src/go/doc/testdata/issue10858.0.golden +++ /dev/null @@ -1,79 +0,0 @@ -// -PACKAGE issue10858 - -IMPORTPATH - testdata/issue10858 - -IMPORTS - unsafe - -FILENAMES - testdata/issue10858.go - -CONSTANTS - // First line Second line - const ( - - // C1 comment - C1 int = 1 << 0 - - C2 int = 1 << 1 - - // C3 comment - // - // with a line gap - C3 int = 1 << 2 - ) - - -TYPES - // StructTag is a comment with 2 connecting lines - type StructTag string // adjacent comment - - // Get returns the value associated with key in the tag string. - func (tag StructTag) Get(key string) string - - // First line Second line - type Type interface { - // Should be present - - // Align returns the alignment in bytes of a value of - // this type when allocated in memory. - Align() int - - // FieldAlign returns the alignment in bytes of a value of - // this type when used as a field in a struct. - FieldAlign() int // adjacent comment - - // Ptr: Elem - // Slice: Elem - - // Bits returns the size of the type in bits. - - // - // It panics if the type's Kind is not one of the - // sized or unsized Int, Uint, Float, or Complex kinds. - Bits() int - } - - // NewType is a comment ending with this line. - func NewType() Type - - // TypeAlg is a copy of runtime.typeAlg - type TypeAlg struct { - // function for hashing objects of this type - // - // - // (ptr to object, seed) -> hash - Hash func(unsafe.Pointer, uintptr) uintptr - - // include - // include - - // include - - // function for comparing objects of this type - // (ptr to object A, ptr to object B) -> ==? - Equal func(unsafe.Pointer, unsafe.Pointer) bool - } - diff --git a/src/go/doc/testdata/issue10858.1.golden b/src/go/doc/testdata/issue10858.1.golden deleted file mode 100644 index 51f8f1e0d3..0000000000 --- a/src/go/doc/testdata/issue10858.1.golden +++ /dev/null @@ -1,79 +0,0 @@ -// -PACKAGE issue10858 - -IMPORTPATH - testdata/issue10858 - -IMPORTS - unsafe - -FILENAMES - testdata/issue10858.go - -CONSTANTS - // First line Second line - const ( - - // C1 comment - C1 int = 1 << 0 - - C2 int = 1 << 1 - - // C3 comment - // - // with a line gap - C3 int = 1 << 2 - ) - - -TYPES - // StructTag is a comment with 2 connecting lines - type StructTag string // adjacent comment - - // Get returns the value associated with key in the tag string. - func (tag StructTag) Get(key string) string - - // First line Second line - type Type interface { - // Should be present - - // Align returns the alignment in bytes of a value of - // this type when allocated in memory. - Align() int - - // FieldAlign returns the alignment in bytes of a value of - // this type when used as a field in a struct. - FieldAlign() int // adjacent comment - - // Ptr: Elem - // Slice: Elem - - // Bits returns the size of the type in bits. - - // - // It panics if the type's Kind is not one of the - // sized or unsized Int, Uint, Float, or Complex kinds. - Bits() int - } - - // NewType is a comment ending with this line. - func NewType() Type - - // TypeAlg is a copy of runtime.typeAlg - type TypeAlg struct { - // function for hashing objects of this type - // - // - // (ptr to object, seed) -> hash - Hash func(unsafe.Pointer, uintptr) uintptr - - // include - // include - - // include - - // function for comparing objects of this type - // (ptr to object A, ptr to object B) -> ==? - Equal func(unsafe.Pointer, unsafe.Pointer) bool - } - diff --git a/src/go/doc/testdata/issue10858.2.golden b/src/go/doc/testdata/issue10858.2.golden deleted file mode 100644 index 51f8f1e0d3..0000000000 --- a/src/go/doc/testdata/issue10858.2.golden +++ /dev/null @@ -1,79 +0,0 @@ -// -PACKAGE issue10858 - -IMPORTPATH - testdata/issue10858 - -IMPORTS - unsafe - -FILENAMES - testdata/issue10858.go - -CONSTANTS - // First line Second line - const ( - - // C1 comment - C1 int = 1 << 0 - - C2 int = 1 << 1 - - // C3 comment - // - // with a line gap - C3 int = 1 << 2 - ) - - -TYPES - // StructTag is a comment with 2 connecting lines - type StructTag string // adjacent comment - - // Get returns the value associated with key in the tag string. - func (tag StructTag) Get(key string) string - - // First line Second line - type Type interface { - // Should be present - - // Align returns the alignment in bytes of a value of - // this type when allocated in memory. - Align() int - - // FieldAlign returns the alignment in bytes of a value of - // this type when used as a field in a struct. - FieldAlign() int // adjacent comment - - // Ptr: Elem - // Slice: Elem - - // Bits returns the size of the type in bits. - - // - // It panics if the type's Kind is not one of the - // sized or unsized Int, Uint, Float, or Complex kinds. - Bits() int - } - - // NewType is a comment ending with this line. - func NewType() Type - - // TypeAlg is a copy of runtime.typeAlg - type TypeAlg struct { - // function for hashing objects of this type - // - // - // (ptr to object, seed) -> hash - Hash func(unsafe.Pointer, uintptr) uintptr - - // include - // include - - // include - - // function for comparing objects of this type - // (ptr to object A, ptr to object B) -> ==? - Equal func(unsafe.Pointer, unsafe.Pointer) bool - } - diff --git a/src/go/doc/testdata/issue10858.go b/src/go/doc/testdata/issue10858.go deleted file mode 100644 index aebea50651..0000000000 --- a/src/go/doc/testdata/issue10858.go +++ /dev/null @@ -1,102 +0,0 @@ -package issue10858 - -import "unsafe" - -// Should be ignored - -// First line -// -// Second line -type Type interface { - // Should be present - - // Align returns the alignment in bytes of a value of - // this type when allocated in memory. - Align() int - - // FieldAlign returns the alignment in bytes of a value of - // this type when used as a field in a struct. - FieldAlign() int // adjacent comment - - // Ptr: Elem - // Slice: Elem - - // Bits returns the size of the type in bits. - - // - // It panics if the type's Kind is not one of the - // sized or unsized Int, Uint, Float, or Complex kinds. - Bits() int - - // Should be ignored -} - -// Should be ignored - -// NewType is a comment -// -// ending with this line. -func NewType() Type {} - -// Ignore - -// First line -// -// Second line -const ( - // Should be ignored - - // C1 comment - C1 int = 1 << 0 - - // Should - // - // be ignored - - C2 int = 1 << 1 - - // C3 comment - // - // with a line gap - C3 int = 1 << 2 - - // Should be ignored -) - -// Should be ignored - -// Should be ignored - -// TypeAlg is a -// copy of runtime.typeAlg -type TypeAlg struct { - // function for hashing objects of this type - // - // - // (ptr to object, seed) -> hash - Hash func(unsafe.Pointer, uintptr) uintptr - - // include - // include - - // include - - // function for comparing objects of this type - // (ptr to object A, ptr to object B) -> ==? - Equal func(unsafe.Pointer, unsafe.Pointer) bool - // Should be ignored -} - -// Should be ignored - -// StructTag is a comment -// -// -// with 2 connecting lines -type StructTag string // adjacent comment - -// Should be ignored - -// Get returns the value associated with key in the tag string. -func (tag StructTag) Get(key string) string { -} diff --git a/src/go/importer/importer.go b/src/go/importer/importer.go index fbbc3c9017..23118d366e 100644 --- a/src/go/importer/importer.go +++ b/src/go/importer/importer.go @@ -28,17 +28,15 @@ type Lookup func(path string) (io.ReadCloser, error) // (if the package API depends on cgo-defined entities, the type // checker won't have access to those). // -// If lookup is nil, the default package lookup mechanism for the -// given compiler is used, and the resulting importer attempts -// to resolve relative and absolute import paths to canonical -// import path IDs before finding the imported file. +// The lookup function is called each time the resulting importer needs +// to resolve an import path. In this mode the importer can only be +// invoked with canonical import paths (not relative or absolute ones); +// it is assumed that the translation to canonical import paths is being +// done by the client of the importer. // -// If lookup is non-nil, then the returned importer calls lookup -// each time it needs to resolve an import path. In this mode -// the importer can only be invoked with canonical import paths -// (not relative or absolute ones); it is assumed that the translation -// to canonical import paths is being done by the client of the -// importer. +// A lookup function must be provided for correct module-aware operation. +// Deprecated: If lookup is nil, for backwards-compatibility, the importer +// will attempt to resolve imports in the $GOPATH workspace. func ForCompiler(fset *token.FileSet, compiler string, lookup Lookup) types.Importer { switch compiler { case "gc": diff --git a/src/go/parser/parser.go b/src/go/parser/parser.go index 9294bb6b3e..ba16b65224 100644 --- a/src/go/parser/parser.go +++ b/src/go/parser/parser.go @@ -63,7 +63,6 @@ type parser struct { topScope *ast.Scope // top-most scope; may be pkgScope unresolved []*ast.Ident // unresolved identifiers imports []*ast.ImportSpec // list of imports - inStruct bool // if set, parser is parsing a struct or interface (for comment collection) // Label scopes // (maintained by open/close LabelScope) @@ -338,15 +337,7 @@ func (p *parser) next() { // consume successor comments, if any endline = -1 for p.tok == token.COMMENT { - n := 1 - // When inside a struct (or interface), we don't want to lose comments - // separated from individual field (or method) documentation by empty - // lines. Allow for some white space in this case and collect those - // comments as a group. See issue #10858 for details. - if p.inStruct { - n = 2 - } - comment, endline = p.consumeCommentGroup(n) + comment, endline = p.consumeCommentGroup(1) } if endline+1 == p.file.Line(p.pos) { @@ -757,7 +748,6 @@ func (p *parser) parseStructType() *ast.StructType { } pos := p.expect(token.STRUCT) - p.inStruct = true lbrace := p.expect(token.LBRACE) scope := ast.NewScope(nil) // struct scope var list []*ast.Field @@ -768,7 +758,6 @@ func (p *parser) parseStructType() *ast.StructType { list = append(list, p.parseFieldDecl(scope)) } rbrace := p.expect(token.RBRACE) - p.inStruct = false return &ast.StructType{ Struct: pos, @@ -970,7 +959,6 @@ func (p *parser) parseInterfaceType() *ast.InterfaceType { } pos := p.expect(token.INTERFACE) - p.inStruct = true lbrace := p.expect(token.LBRACE) scope := ast.NewScope(nil) // interface scope var list []*ast.Field @@ -978,7 +966,6 @@ func (p *parser) parseInterfaceType() *ast.InterfaceType { list = append(list, p.parseMethodSpec(scope)) } rbrace := p.expect(token.RBRACE) - p.inStruct = false return &ast.InterfaceType{ Interface: pos, diff --git a/src/go/types/builtins.go b/src/go/types/builtins.go index ece6d4f530..0a62f4beaf 100644 --- a/src/go/types/builtins.go +++ b/src/go/types/builtins.go @@ -559,7 +559,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b base := derefStructPtr(x.typ) sel := selx.Sel.Name - obj, index, indirect := LookupFieldOrMethod(base, false, check.pkg, sel) + obj, index, indirect := check.LookupFieldOrMethod(base, false, check.pkg, sel) switch obj.(type) { case nil: check.invalidArg(x.pos(), "%s has no single field %s", base, sel) diff --git a/src/go/types/call.go b/src/go/types/call.go index 88e3336136..6220794718 100644 --- a/src/go/types/call.go +++ b/src/go/types/call.go @@ -370,7 +370,7 @@ func (check *Checker) selector(x *operand, e *ast.SelectorExpr) { goto Error } - obj, index, indirect = LookupFieldOrMethod(x.typ, x.mode == variable, check.pkg, sel) + obj, index, indirect = check.LookupFieldOrMethod(x.typ, x.mode == variable, check.pkg, sel) if obj == nil { switch { case index != nil: @@ -437,6 +437,10 @@ func (check *Checker) selector(x *operand, e *ast.SelectorExpr) { if debug { // Verify that LookupFieldOrMethod and MethodSet.Lookup agree. + // TODO(gri) This only works because we call LookupFieldOrMethod + // _before_ calling NewMethodSet: LookupFieldOrMethod completes + // any incomplete interfaces so they are avaible to NewMethodSet + // (which assumes that interfaces have been completed already). typ := x.typ if x.mode == variable { // If typ is not an (unnamed) pointer or an interface, diff --git a/src/go/types/check.go b/src/go/types/check.go index b48d09de22..eec33057de 100644 --- a/src/go/types/check.go +++ b/src/go/types/check.go @@ -76,8 +76,9 @@ type Checker struct { fset *token.FileSet pkg *Package *Info - objMap map[Object]*declInfo // maps package-level objects and (non-interface) methods to declaration info - impMap map[importKey]*Package // maps (import path, source directory) to (complete or fake) package + objMap map[Object]*declInfo // maps package-level objects and (non-interface) methods to declaration info + impMap map[importKey]*Package // maps (import path, source directory) to (complete or fake) package + posMap map[*Interface][]token.Pos // maps interface types to lists of embedded interface positions // information collected during type-checking of a set of package files // (initialized by Files, valid only for the duration of check.Files; @@ -86,12 +87,11 @@ type Checker struct { unusedDotImports map[*Scope]map[*Package]token.Pos // positions of unused dot-imported packages for each file scope firstErr error // first error encountered - methods map[*TypeName][]*Func // maps package scope type names to associated non-blank, non-interface methods - // TODO(gri) move interfaces up to the group of fields persistent across check.Files invocations (see also comment in Checker.initFiles) - interfaces map[*TypeName]*ifaceInfo // maps interface type names to corresponding interface infos - untyped map[ast.Expr]exprInfo // map of expressions without final type - delayed []func() // stack of delayed actions - objPath []Object // path of object dependencies during type inference (for cycle reporting) + methods map[*TypeName][]*Func // maps package scope type names to associated non-blank (non-interface) methods + untyped map[ast.Expr]exprInfo // map of expressions without final type + delayed []func() // stack of delayed action segments; segments are processed in FIFO order + finals []func() // list of final actions; processed at the end of type-checking the current set of files + objPath []Object // path of object dependencies during type inference (for cycle reporting) // context within which the current object is type-checked // (valid only for the duration of type-checking a specific object) @@ -146,6 +146,14 @@ func (check *Checker) later(f func()) { check.delayed = append(check.delayed, f) } +// atEnd adds f to the list of actions processed at the end +// of type-checking, before initialization order computation. +// Actions added by atEnd are processed after any actions +// added by later. +func (check *Checker) atEnd(f func()) { + check.finals = append(check.finals, f) +} + // push pushes obj onto the object path and returns its index in the path. func (check *Checker) push(obj Object) int { check.objPath = append(check.objPath, obj) @@ -181,6 +189,7 @@ func NewChecker(conf *Config, fset *token.FileSet, pkg *Package, info *Info) *Ch Info: info, objMap: make(map[Object]*declInfo), impMap: make(map[importKey]*Package), + posMap: make(map[*Interface][]token.Pos), } } @@ -193,17 +202,9 @@ func (check *Checker) initFiles(files []*ast.File) { check.firstErr = nil check.methods = nil - // Don't clear the interfaces cache! It's important that we don't recompute - // ifaceInfos repeatedly (due to multiple check.Files calls) because when - // they are recomputed, they are not used in the context of their original - // declaration (because those types are already type-checked, typically) and - // then they will get the wrong receiver types, which matters for go/types - // clients. It is also safe to not reset the interfaces cache because files - // added to a package cannot change (add methods to) existing interface types; - // they can only add new interfaces. See also the respective comment in - // checker.infoFromTypeName (interfaces.go). Was bug - see issue #29029. check.untyped = nil check.delayed = nil + check.finals = nil // determine package name and collect valid files pkg := check.pkg @@ -254,6 +255,7 @@ func (check *Checker) checkFiles(files []*ast.File) (err error) { check.packageObjects() check.processDelayed(0) // incl. all functions + check.processFinals() check.initOrder() @@ -267,6 +269,31 @@ func (check *Checker) checkFiles(files []*ast.File) (err error) { return } +// processDelayed processes all delayed actions pushed after top. +func (check *Checker) processDelayed(top int) { + // If each delayed action pushes a new action, the + // stack will continue to grow during this loop. + // However, it is only processing functions (which + // are processed in a delayed fashion) that may + // add more actions (such as nested functions), so + // this is a sufficiently bounded process. + for i := top; i < len(check.delayed); i++ { + check.delayed[i]() // may append to check.delayed + } + assert(top <= len(check.delayed)) // stack must not have shrunk + check.delayed = check.delayed[:top] +} + +func (check *Checker) processFinals() { + n := len(check.finals) + for _, f := range check.finals { + f() // must not append to check.finals + } + if len(check.finals) != n { + panic("internal error: final action list grew") + } +} + func (check *Checker) recordUntyped() { if !debug && check.Types == nil { return // nothing to do diff --git a/src/go/types/check_test.go b/src/go/types/check_test.go index 358e7c5cc8..89122d75ff 100644 --- a/src/go/types/check_test.go +++ b/src/go/types/check_test.go @@ -42,8 +42,9 @@ import ( ) var ( - listErrors = flag.Bool("errlist", false, "list errors") - testFiles = flag.String("files", "", "space-separated list of test files") + haltOnError = flag.Bool("halt", false, "halt on error") + listErrors = flag.Bool("errlist", false, "list errors") + testFiles = flag.String("files", "", "space-separated list of test files") ) // The test filenames do not end in .go so that they are invisible @@ -96,6 +97,7 @@ var tests = [][]string{ {"testdata/issue23203a.src"}, {"testdata/issue23203b.src"}, {"testdata/issue28251.src"}, + {"testdata/issue6977.src"}, } var fset = token.NewFileSet() @@ -262,6 +264,9 @@ func checkFiles(t *testing.T, testfiles []string) { } conf.Importer = importer.Default() conf.Error = func(err error) { + if *haltOnError { + defer panic(err) + } if *listErrors { t.Error(err) return diff --git a/src/go/types/errors.go b/src/go/types/errors.go index 68c96c037e..23f2611b48 100644 --- a/src/go/types/errors.go +++ b/src/go/types/errors.go @@ -82,6 +82,10 @@ func (check *Checker) err(pos token.Pos, msg string, soft bool) { check.firstErr = err } + if trace { + check.trace(pos, "ERROR: %s", msg) + } + f := check.conf.Error if f == nil { panic(bailout{}) // report only first error diff --git a/src/go/types/interfaces.go b/src/go/types/interfaces.go deleted file mode 100644 index e0ef83adcc..0000000000 --- a/src/go/types/interfaces.go +++ /dev/null @@ -1,451 +0,0 @@ -// Copyright 2017 The Go Authors. All rights reserved. -// Use of this src code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package types - -import ( - "bytes" - "fmt" - "go/ast" - "go/token" -) - -// This file implements the collection of an interface's methods -// without relying on partially computed types of methods or interfaces -// for interface types declared at the package level. -// -// Because interfaces must not embed themselves, directly or indirectly, -// the method set of a valid interface can always be computed independent -// of any cycles that might exist via method signatures (see also issue #18395). -// -// Except for blank method name and interface cycle errors, no errors -// are reported. Affected methods or embedded interfaces are silently -// dropped. Subsequent type-checking of the interface will check -// signatures and embedded interfaces and report errors at that time. -// -// Only infoFromTypeLit should be called directly from code outside this file -// to compute an ifaceInfo. - -// ifaceInfo describes the method set for an interface. -// The zero value for an ifaceInfo is a ready-to-use ifaceInfo representing -// the empty interface. -type ifaceInfo struct { - explicits int // number of explicitly declared methods - methods []*methodInfo // all methods, starting with explicitly declared ones in source order -} - -// emptyIfaceInfo represents the ifaceInfo for the empty interface. -var emptyIfaceInfo ifaceInfo - -func (info *ifaceInfo) String() string { - var buf bytes.Buffer - fmt.Fprintf(&buf, "interface{") - for i, m := range info.methods { - if i > 0 { - fmt.Fprint(&buf, " ") - } - fmt.Fprint(&buf, m) - } - fmt.Fprintf(&buf, "}") - return buf.String() -} - -// methodInfo represents an interface method. -// At least one of src or fun must be non-nil. -// (Methods declared in the current package have a non-nil scope -// and src, and eventually a non-nil fun field; imported and pre- -// declared methods have a nil scope and src, and only a non-nil -// fun field.) -type methodInfo struct { - scope *Scope // scope of interface method; or nil - src *ast.Field // syntax tree representation of interface method; or nil - fun *Func // corresponding fully type-checked method type; or nil -} - -func (info *methodInfo) String() string { - if info.fun != nil { - return info.fun.name - } - return info.src.Names[0].Name -} - -func (info *methodInfo) Pos() token.Pos { - if info.fun != nil { - return info.fun.Pos() - } - return info.src.Pos() -} - -func (info *methodInfo) id(pkg *Package) string { - if info.fun != nil { - return info.fun.Id() - } - return Id(pkg, info.src.Names[0].Name) -} - -// A methodInfoSet maps method ids to methodInfos. -// It is used to determine duplicate declarations. -// (A methodInfo set is the equivalent of an objset -// but for methodInfos rather than Objects.) -type methodInfoSet map[string]*methodInfo - -// insert attempts to insert an method m into the method set s. -// If s already contains an alternative method alt with -// the same name, insert leaves s unchanged and returns alt. -// Otherwise it inserts m and returns nil. -func (s *methodInfoSet) insert(pkg *Package, m *methodInfo) *methodInfo { - id := m.id(pkg) - if alt := (*s)[id]; alt != nil { - return alt - } - if *s == nil { - *s = make(methodInfoSet) - } - (*s)[id] = m - return nil -} - -// like Checker.declareInSet but for method infos. -func (check *Checker) declareInMethodSet(mset *methodInfoSet, pos token.Pos, m *methodInfo) bool { - if alt := mset.insert(check.pkg, m); alt != nil { - check.errorf(pos, "%s redeclared", m) - check.reportAltMethod(alt) - return false - } - return true -} - -// like Checker.reportAltDecl but for method infos. -func (check *Checker) reportAltMethod(m *methodInfo) { - if pos := m.Pos(); pos.IsValid() { - // We use "other" rather than "previous" here because - // the first declaration seen may not be textually - // earlier in the source. - check.errorf(pos, "\tother declaration of %s", m) // secondary error, \t indented - } -} - -// infoFromTypeLit computes the method set for the given interface iface -// declared in scope. -// If a corresponding type name exists (tname != nil), it is used for -// cycle detection and to cache the method set. -// The result is the method set, or nil if there is a cycle via embedded -// interfaces. A non-nil result doesn't mean that there were no errors, -// but they were either reported (e.g., blank methods), or will be found -// (again) when computing the interface's type. -// If tname is not nil it must be the last element in path. -func (check *Checker) infoFromTypeLit(scope *Scope, iface *ast.InterfaceType, tname *TypeName, path []*TypeName) (info *ifaceInfo) { - assert(iface != nil) - - // lazy-allocate interfaces map - if check.interfaces == nil { - check.interfaces = make(map[*TypeName]*ifaceInfo) - } - - if trace { - check.trace(iface.Pos(), "-- collect methods for %v (path = %s, objPath = %s)", iface, pathString(path), objPathString(check.objPath)) - check.indent++ - defer func() { - check.indent-- - check.trace(iface.Pos(), "=> %s", info) - }() - } - - // If the interface is named, check if we computed info already. - // - // This is not simply an optimization; we may run into stack - // overflow with recursive interface declarations. Example: - // - // type T interface { - // m() interface { T } - // } - // - // (Since recursive definitions can only be expressed via names, - // it is sufficient to track named interfaces here.) - // - // While at it, use the same mechanism to detect cycles. (We still - // have the path-based cycle check because we want to report the - // entire cycle if present.) - if tname != nil { - assert(path[len(path)-1] == tname) // tname must be last path element - var found bool - if info, found = check.interfaces[tname]; found { - if info == nil { - // We have a cycle and use check.cycle to report it. - // We are guaranteed that check.cycle also finds the - // cycle because when infoFromTypeLit is called, any - // tname that's already in check.interfaces was also - // added to the path. (But the converse is not true: - // A non-nil tname is always the last element in path.) - ok := check.cycle(tname, path, true) - assert(ok) - } - return - } - check.interfaces[tname] = nil // computation started but not complete - } - - if iface.Methods.List == nil { - // fast track for empty interface - info = &emptyIfaceInfo - } else { - // (syntactically) non-empty interface - info = new(ifaceInfo) - - // collect explicitly declared methods and embedded interfaces - var mset methodInfoSet - var embeddeds []*ifaceInfo - var positions []token.Pos // entries correspond to positions of embeddeds; used for error reporting - for _, f := range iface.Methods.List { - if len(f.Names) > 0 { - // We have a method with name f.Names[0]. - // (The parser ensures that there's only one method - // and we don't care if a constructed AST has more.) - - // spec: "As with all method sets, in an interface type, - // each method must have a unique non-blank name." - if name := f.Names[0]; name.Name == "_" { - check.errorf(name.Pos(), "invalid method name _") - continue // ignore - } - - m := &methodInfo{scope: scope, src: f} - if check.declareInMethodSet(&mset, f.Pos(), m) { - info.methods = append(info.methods, m) - } - } else { - // We have an embedded interface and f.Type is its - // (possibly qualified) embedded type name. Collect - // it if it's a valid interface. - var e *ifaceInfo - switch ename := f.Type.(type) { - case *ast.Ident: - e = check.infoFromTypeName(scope, ename, path) - case *ast.SelectorExpr: - e = check.infoFromQualifiedTypeName(scope, ename) - default: - // The parser makes sure we only see one of the above. - // Constructed ASTs may contain other (invalid) nodes; - // we simply ignore them. The full type-checking pass - // will report those as errors later. - } - if e != nil { - embeddeds = append(embeddeds, e) - positions = append(positions, f.Type.Pos()) - } - } - } - info.explicits = len(info.methods) - - // collect methods of embedded interfaces - for i, e := range embeddeds { - pos := positions[i] // position of type name of embedded interface - for _, m := range e.methods { - if check.declareInMethodSet(&mset, pos, m) { - info.methods = append(info.methods, m) - } - } - } - } - - // mark check.interfaces as complete - assert(info != nil) - if tname != nil { - check.interfaces[tname] = info - } - - return -} - -// infoFromTypeName computes the method set for the given type name -// which must denote a type whose underlying type is an interface. -// The same result qualifications apply as for infoFromTypeLit. -// infoFromTypeName should only be called from infoFromTypeLit. -func (check *Checker) infoFromTypeName(scope *Scope, name *ast.Ident, path []*TypeName) *ifaceInfo { - // A single call of infoFromTypeName handles a sequence of (possibly - // recursive) type declarations connected via unqualified type names. - // Each type declaration leading to another typename causes a "tail call" - // (goto) of this function. The general scenario looks like this: - // - // ... - // type Pn T // previous declarations leading to T, path = [..., Pn] - // type T interface { T0; ... } // T0 leads to call of infoFromTypeName - // - // // infoFromTypeName(name = T0, path = [..., Pn, T]) - // type T0 T1 // path = [..., Pn, T, T0] - // type T1 T2 <-+ // path = [..., Pn, T, T0, T1] - // type T2 ... | // path = [..., Pn, T, T0, T1, T2] - // type Tn T1 --+ // path = [..., Pn, T, T0, T1, T2, Tn] and T1 is in path => cycle - // - // infoFromTypeName returns nil when such a cycle is detected. But in - // contrast to cycles involving interfaces, we must not report the - // error for "type name only" cycles because they will be found again - // during type-checking of embedded interfaces. Reporting those cycles - // here would lead to double reporting. Cycles involving embedding are - // not reported again later because type-checking of interfaces relies - // on the ifaceInfos computed here which are cycle-free by design. - // - // Remember the path length to detect "type name only" cycles. - start := len(path) - -typenameLoop: - // name must be a type name denoting a type whose underlying type is an interface - _, obj := scope.LookupParent(name.Name, check.pos) - if obj == nil { - return nil - } - tname, _ := obj.(*TypeName) - if tname == nil { - return nil - } - - // We have a type name. It may be predeclared (error type), - // imported (dot import), or declared by a type declaration. - // It may not be an interface (e.g., predeclared type int). - // Resolve it by analyzing each possible case. - - // Abort but don't report an error if we have a "type name only" - // cycle (see big function comment). - if check.cycle(tname, path[start:], false) { - return nil - } - - // Abort and report an error if we have a general cycle. - if check.cycle(tname, path, true) { - return nil - } - - path = append(path, tname) - - // If tname is a package-level type declaration, it must be - // in the objMap. Follow the RHS of that declaration if so. - // The RHS may be a literal type (likely case), or another - // (possibly parenthesized and/or qualified) type name. - // (The declaration may be an alias declaration, but it - // doesn't matter for the purpose of determining the under- - // lying interface.) - if decl := check.objMap[tname]; decl != nil { - switch typ := unparen(decl.typ).(type) { - case *ast.Ident: - // type tname T - name = typ - goto typenameLoop - case *ast.SelectorExpr: - // type tname p.T - return check.infoFromQualifiedTypeName(decl.file, typ) - case *ast.InterfaceType: - // type tname interface{...} - // If tname is fully type-checked at this point (tname.color() == black) - // we could use infoFromType here. But in this case, the interface must - // be in the check.interfaces cache as well, which will be hit when we - // call infoFromTypeLit below, and which will be faster. It is important - // that we use that previously computed interface because its methods - // have the correct receiver type (for go/types clients). Thus, the - // check.interfaces cache must be up-to-date across even across multiple - // check.Files calls (was bug - see issue #29029). - return check.infoFromTypeLit(decl.file, typ, tname, path) - } - // type tname X // and X is not an interface type - return nil - } - - // If tname is not a package-level declaration, in a well-typed - // program it should be a predeclared (error type), imported (dot - // import), or function local declaration. Either way, it should - // have been fully declared before use, except if there is a direct - // cycle, and direct cycles will be caught above. Also, the denoted - // type should be an interface (e.g., int is not an interface). - if typ := tname.typ; typ != nil { - // typ should be an interface - if ityp, _ := typ.Underlying().(*Interface); ityp != nil { - return infoFromType(ityp) - } - } - - // In all other cases we have some error. - return nil -} - -// infoFromQualifiedTypeName computes the method set for the given qualified type name, or nil. -func (check *Checker) infoFromQualifiedTypeName(scope *Scope, qname *ast.SelectorExpr) *ifaceInfo { - // see also Checker.selector - name, _ := qname.X.(*ast.Ident) - if name == nil { - return nil - } - _, obj1 := scope.LookupParent(name.Name, check.pos) - if obj1 == nil { - return nil - } - pname, _ := obj1.(*PkgName) - if pname == nil { - return nil - } - assert(pname.pkg == check.pkg) - obj2 := pname.imported.scope.Lookup(qname.Sel.Name) - if obj2 == nil || !obj2.Exported() { - return nil - } - tname, _ := obj2.(*TypeName) - if tname == nil { - return nil - } - ityp, _ := tname.typ.Underlying().(*Interface) - if ityp == nil { - return nil - } - return infoFromType(ityp) -} - -// infoFromType computes the method set for the given interface type. -// The result is never nil. -func infoFromType(typ *Interface) *ifaceInfo { - assert(typ.allMethods != nil) // typ must be completely set up - - // fast track for empty interface - n := len(typ.allMethods) - if n == 0 { - return &emptyIfaceInfo - } - - info := new(ifaceInfo) - info.explicits = len(typ.methods) - info.methods = make([]*methodInfo, n) - - // If there are no embedded interfaces, simply collect the - // explicitly declared methods (optimization of common case). - if len(typ.methods) == n { - for i, m := range typ.methods { - info.methods[i] = &methodInfo{fun: m} - } - return info - } - - // Interface types have a separate list for explicitly declared methods - // which shares its methods with the list of all (explicitly declared or - // embedded) methods. Collect all methods in a set so we can separate - // the embedded methods from the explicitly declared ones. - all := make(map[*Func]bool, n) - for _, m := range typ.allMethods { - all[m] = true - } - assert(len(all) == n) // methods must be unique - - // collect explicitly declared methods - info.methods = make([]*methodInfo, n) - for i, m := range typ.methods { - info.methods[i] = &methodInfo{fun: m} - delete(all, m) - } - - // collect remaining (embedded) methods - i := len(typ.methods) - for m := range all { - info.methods[i] = &methodInfo{fun: m} - i++ - } - assert(i == n) - - return info -} diff --git a/src/go/types/lookup.go b/src/go/types/lookup.go index e6764f45a0..265e30971d 100644 --- a/src/go/types/lookup.go +++ b/src/go/types/lookup.go @@ -6,11 +6,6 @@ package types -// Internal use of LookupFieldOrMethod: If the obj result is a method -// associated with a concrete (non-interface) type, the method's signature -// may not be fully set up. Call Checker.objDecl(obj, nil) before accessing -// the method's type. - // LookupFieldOrMethod looks up a field or method with given package and name // in T and returns the corresponding *Var or *Func, an index sequence, and a // bool indicating if there were any pointer indirections on the path to the @@ -38,6 +33,19 @@ package types // the method's formal receiver base type, nor was the receiver addressable. // func LookupFieldOrMethod(T Type, addressable bool, pkg *Package, name string) (obj Object, index []int, indirect bool) { + return (*Checker)(nil).LookupFieldOrMethod(T, addressable, pkg, name) +} + +// Internal use of Checker.LookupFieldOrMethod: If the obj result is a method +// associated with a concrete (non-interface) type, the method's signature +// may not be fully set up. Call Checker.objDecl(obj, nil) before accessing +// the method's type. +// TODO(gri) Now that we provide the *Checker, we can probably remove this +// caveat by calling Checker.objDecl from LookupFieldOrMethod. Investigate. + +// LookupFieldOrMethod is like the external version but completes interfaces +// as necessary. +func (check *Checker) LookupFieldOrMethod(T Type, addressable bool, pkg *Package, name string) (obj Object, index []int, indirect bool) { // Methods cannot be associated to a named pointer type // (spec: "The type denoted by T is called the receiver base type; // it must not be a pointer or interface type and it must be declared @@ -47,7 +55,7 @@ func LookupFieldOrMethod(T Type, addressable bool, pkg *Package, name string) (o // not have found it for T (see also issue 8590). if t, _ := T.(*Named); t != nil { if p, _ := t.underlying.(*Pointer); p != nil { - obj, index, indirect = lookupFieldOrMethod(p, false, pkg, name) + obj, index, indirect = check.lookupFieldOrMethod(p, false, pkg, name) if _, ok := obj.(*Func); ok { return nil, nil, false } @@ -55,7 +63,7 @@ func LookupFieldOrMethod(T Type, addressable bool, pkg *Package, name string) (o } } - return lookupFieldOrMethod(T, addressable, pkg, name) + return check.lookupFieldOrMethod(T, addressable, pkg, name) } // TODO(gri) The named type consolidation and seen maps below must be @@ -63,7 +71,8 @@ func LookupFieldOrMethod(T Type, addressable bool, pkg *Package, name string) (o // types always have only one representation (even when imported // indirectly via different packages.) -func lookupFieldOrMethod(T Type, addressable bool, pkg *Package, name string) (obj Object, index []int, indirect bool) { +// lookupFieldOrMethod should only be called by LookupFieldOrMethod and missingMethod. +func (check *Checker) lookupFieldOrMethod(T Type, addressable bool, pkg *Package, name string) (obj Object, index []int, indirect bool) { // WARNING: The code in this function is extremely subtle - do not modify casually! // This function and NewMethodSet should be kept in sync. @@ -166,6 +175,7 @@ func lookupFieldOrMethod(T Type, addressable bool, pkg *Package, name string) (o case *Interface: // look for a matching method // TODO(gri) t.allMethods is sorted - use binary search + check.completeInterface(t) if i, m := lookupMethod(t.allMethods, pkg, name); m != nil { assert(m.typ != nil) index = concat(e.index, i) @@ -261,6 +271,8 @@ func MissingMethod(V Type, T *Interface, static bool) (method *Func, wrongType b // an exported API call (such as MissingMethod), i.e., when all // methods have been type-checked. func (check *Checker) missingMethod(V Type, T *Interface, static bool) (method *Func, wrongType bool) { + check.completeInterface(T) + // fast path for common case if T.Empty() { return @@ -269,6 +281,7 @@ func (check *Checker) missingMethod(V Type, T *Interface, static bool) (method * // TODO(gri) Consider using method sets here. Might be more efficient. if ityp, _ := V.Underlying().(*Interface); ityp != nil { + check.completeInterface(ityp) // TODO(gri) allMethods is sorted - can do this more efficiently for _, m := range T.allMethods { _, obj := lookupMethod(ityp.allMethods, m.pkg, m.name) @@ -286,7 +299,7 @@ func (check *Checker) missingMethod(V Type, T *Interface, static bool) (method * // A concrete type implements T if it implements all methods of T. for _, m := range T.allMethods { - obj, _, _ := lookupFieldOrMethod(V, false, m.pkg, m.name) + obj, _, _ := check.lookupFieldOrMethod(V, false, m.pkg, m.name) // we must have a method (not a field of matching function type) f, _ := obj.(*Func) diff --git a/src/go/types/methodset.go b/src/go/types/methodset.go index 619c448492..1c2208002e 100644 --- a/src/go/types/methodset.go +++ b/src/go/types/methodset.go @@ -62,6 +62,11 @@ func (s *MethodSet) Lookup(pkg *Package, name string) *Selection { // Shared empty method set. var emptyMethodSet MethodSet +// Note: NewMethodSet is intended for external use only as it +// requires interfaces to be complete. If may be used +// internally if LookupFieldOrMethod completed the same +// interfaces beforehand. + // NewMethodSet returns the method set for the given type T. // It always returns a non-nil method set, even if it is empty. func NewMethodSet(T Type) *MethodSet { diff --git a/src/go/types/resolver.go b/src/go/types/resolver.go index 41741e5882..93de63b059 100644 --- a/src/go/types/resolver.go +++ b/src/go/types/resolver.go @@ -301,15 +301,15 @@ func (check *Checker) collectObjects() { // A package scope may contain non-exported objects, // do not import them! if obj.Exported() { - // TODO(gri) When we import a package, we create - // a new local package object. We should do the - // same for each dot-imported object. That way - // they can have correct position information. - // (We must not modify their existing position - // information because the same package - found - // via Config.Packages - may be dot-imported in - // another package!) - check.declare(fileScope, nil, obj, token.NoPos) + // declare dot-imported object + // (Do not use check.declare because it modifies the object + // via Object.setScopePos, which leads to a race condition; + // the object may be imported into more than one file scope + // concurrently. See issue #32154.) + if alt := fileScope.Insert(obj); alt != nil { + check.errorf(s.Name.Pos(), "%s redeclared in this block", obj.Name()) + check.reportAltDecl(alt) + } } } // add position to set of dot-import positions for this file @@ -317,6 +317,7 @@ func (check *Checker) collectObjects() { check.addUnusedDotImport(fileScope, imp, s.Pos()) } else { // declare imported package object in file scope + // (no need to provide s.Name since we called check.recordDef earlier) check.declare(fileScope, nil, obj, token.NoPos) } @@ -606,16 +607,6 @@ func (a inSourceOrder) Len() int { return len(a) } func (a inSourceOrder) Less(i, j int) bool { return a[i].order() < a[j].order() } func (a inSourceOrder) Swap(i, j int) { a[i], a[j] = a[j], a[i] } -// processDelayed processes all delayed actions pushed after top. -func (check *Checker) processDelayed(top int) { - for len(check.delayed) > top { - i := len(check.delayed) - 1 - f := check.delayed[i] - check.delayed = check.delayed[:i] - f() // may append to check.delayed - } -} - // unusedImports checks for unused imports. func (check *Checker) unusedImports() { // if function bodies are not checked, packages' uses are likely missing - don't check diff --git a/src/go/types/scope.go b/src/go/types/scope.go index b50ee2fd5f..409b468f20 100644 --- a/src/go/types/scope.go +++ b/src/go/types/scope.go @@ -42,7 +42,7 @@ func NewScope(parent *Scope, pos, end token.Pos, comment string) *Scope { // Parent returns the scope's containing (parent) scope. func (s *Scope) Parent() *Scope { return s.parent } -// Len() returns the number of scope elements. +// Len returns the number of scope elements. func (s *Scope) Len() int { return len(s.elems) } // Names returns the scope's element names in sorted order. @@ -57,7 +57,7 @@ func (s *Scope) Names() []string { return names } -// NumChildren() returns the number of scopes nested in s. +// NumChildren returns the number of scopes nested in s. func (s *Scope) NumChildren() int { return len(s.children) } // Child returns the i'th child scope for 0 <= i < NumChildren(). diff --git a/src/go/types/testdata/cycles2.src b/src/go/types/testdata/cycles2.src index fd0df4bf27..98ca6f4e44 100644 --- a/src/go/types/testdata/cycles2.src +++ b/src/go/types/testdata/cycles2.src @@ -22,13 +22,13 @@ func _() { t.f(t) t.f(u) - + u.f(t) u.f(u) } -// Test case for issue 6589. +// Test case for issues #6589, #33656. type A interface { a() interface { @@ -45,26 +45,26 @@ type B interface { type AB interface { a() interface { A - B /* ERROR a redeclared */ + B } b() interface { A - B /* ERROR a redeclared */ + B } } var x AB var y interface { A - B /* ERROR a redeclared */ + B } -var _ = x /* ERROR cannot compare */ == y +var _ = x == y // Test case for issue 6638. type T interface { - m() [T /* ERROR no value */ (nil).m()[0]]int + m() [T(nil).m /* ERROR undefined */ ()[0]]int } // Variations of this test case. diff --git a/src/go/types/testdata/decls0.src b/src/go/types/testdata/decls0.src index 56adbbfaae..5b84722cc9 100644 --- a/src/go/types/testdata/decls0.src +++ b/src/go/types/testdata/decls0.src @@ -139,7 +139,7 @@ type ( } I3 interface { m1() - m1 /* ERROR "redeclared" */ () + m1 /* ERROR "duplicate method" */ () } I4 interface { m1(x, y, x /* ERROR "redeclared" */ float32) diff --git a/src/go/types/testdata/issue6977.src b/src/go/types/testdata/issue6977.src new file mode 100644 index 0000000000..8f4e9ba2b2 --- /dev/null +++ b/src/go/types/testdata/issue6977.src @@ -0,0 +1,82 @@ +// Copyright 2019 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 "io" + +// Alan's initial report. + +type I interface { f(); String() string } +type J interface { g(); String() string } + +type IJ1 = interface { I; J } +type IJ2 = interface { f(); g(); String() string } + +var _ = (*IJ1)(nil) == (*IJ2)(nil) // static assert that IJ1 and IJ2 are identical types + +// The canonical example. + +type ReadWriteCloser interface { io.ReadCloser; io.WriteCloser } + +// Some more cases. + +type M interface { m() } +type M32 interface { m() int32 } +type M64 interface { m() int64 } + +type U1 interface { m() } +type U2 interface { m(); M } +type U3 interface { M; m() } +type U4 interface { M; M; M } +type U5 interface { U1; U2; U3; U4 } + +type U6 interface { m(); m /* ERROR duplicate method */ () } +type U7 interface { M32 /* ERROR duplicate method */ ; m() } +type U8 interface { m(); M32 /* ERROR duplicate method */ } +type U9 interface { M32; M64 /* ERROR duplicate method */ } + +// Verify that repeated embedding of the same interface(s) +// eliminates duplicate methods early (rather than at the +// end) to prevent exponential memory and time use. +// Without early elimination, computing T29 may take dozens +// of minutes. +type ( + T0 interface { m() } + T1 interface { T0; T0 } + T2 interface { T1; T1 } + T3 interface { T2; T2 } + T4 interface { T3; T3 } + T5 interface { T4; T4 } + T6 interface { T5; T5 } + T7 interface { T6; T6 } + T8 interface { T7; T7 } + T9 interface { T8; T8 } + + T10 interface { T9; T9 } + T11 interface { T10; T10 } + T12 interface { T11; T11 } + T13 interface { T12; T12 } + T14 interface { T13; T13 } + T15 interface { T14; T14 } + T16 interface { T15; T15 } + T17 interface { T16; T16 } + T18 interface { T17; T17 } + T19 interface { T18; T18 } + + T20 interface { T19; T19 } + T21 interface { T20; T20 } + T22 interface { T21; T21 } + T23 interface { T22; T22 } + T24 interface { T23; T23 } + T25 interface { T24; T24 } + T26 interface { T25; T25 } + T27 interface { T26; T26 } + T28 interface { T27; T27 } + T29 interface { T28; T28 } +) + +// Verify that m is present. +var x T29 +var _ = x.m diff --git a/src/go/types/testdata/issues.src b/src/go/types/testdata/issues.src index d020301109..5ddf6e0e71 100644 --- a/src/go/types/testdata/issues.src +++ b/src/go/types/testdata/issues.src @@ -91,7 +91,7 @@ func issue10979() { nosuchpkg /* ERROR undeclared name: nosuchpkg */ .Nosuchtype } type I interface { - I /* ERROR I\.m \(value of type func\(I\)\) is not a type */ .m + I.m /* ERROR no field or method m */ m() } } @@ -259,10 +259,9 @@ type E = interface { m() } -// Test case from issue. Eventually we may disallow this due -// to the cycle via the alias type name. But for now we make -// sure this is accepted. -type issue25301b = interface { +// Test case from issue. +// cmd/compile reports a cycle as well. +type issue25301b /* ERROR cycle */ = interface { m() interface{ issue25301b } } diff --git a/src/go/types/type.go b/src/go/types/type.go index 3dd9eb97f5..5c28a2e7ba 100644 --- a/src/go/types/type.go +++ b/src/go/types/type.go @@ -278,37 +278,32 @@ func NewInterface(methods []*Func, embeddeds []*Named) *Interface { // NewInterfaceType takes ownership of the provided methods and may modify their types by setting // missing receivers. To compute the method set of the interface, Complete must be called. func NewInterfaceType(methods []*Func, embeddeds []Type) *Interface { - typ := new(Interface) - if len(methods) == 0 && len(embeddeds) == 0 { - return typ + return &emptyInterface } - var mset objset + // set method receivers if necessary + typ := new(Interface) for _, m := range methods { - if mset.insert(m) != nil { - panic("multiple methods with the same name") - } - // set receiver if we don't have one if sig := m.typ.(*Signature); sig.recv == nil { sig.recv = NewVar(m.pos, m.pkg, "", typ) } } - sort.Sort(byUniqueMethodName(methods)) - if len(embeddeds) > 0 { - // All embedded types should be interfaces; however, defined types - // may not yet be fully resolved. Only verify that non-defined types - // are interfaces. This matches the behavior of the code before the - // fix for #25301 (issue #25596). - for _, t := range embeddeds { - if _, ok := t.(*Named); !ok && !IsInterface(t) { - panic("embedded type is not an interface") - } + // All embedded types should be interfaces; however, defined types + // may not yet be fully resolved. Only verify that non-defined types + // are interfaces. This matches the behavior of the code before the + // fix for #25301 (issue #25596). + for _, t := range embeddeds { + if _, ok := t.(*Named); !ok && !IsInterface(t) { + panic("embedded type is not an interface") } - sort.Stable(byUniqueTypeName(embeddeds)) } + // sort for API stability + sort.Sort(byUniqueMethodName(methods)) + sort.Stable(byUniqueTypeName(embeddeds)) + typ.methods = methods typ.embeddeds = embeddeds return typ @@ -346,28 +341,55 @@ func (t *Interface) Empty() bool { return len(t.allMethods) == 0 } // Complete computes the interface's method set. It must be called by users of // NewInterfaceType and NewInterface after the interface's embedded types are // fully defined and before using the interface type in any way other than to -// form other types. Complete returns the receiver. +// form other types. The interface must not contain duplicate methods or a +// panic occurs. Complete returns the receiver. func (t *Interface) Complete() *Interface { + // TODO(gri) consolidate this method with Checker.completeInterface if t.allMethods != nil { return t } - // collect all methods - var allMethods []*Func - allMethods = append(allMethods, t.methods...) - for _, et := range t.embeddeds { - it := et.Underlying().(*Interface) - it.Complete() - // copy embedded methods unchanged (see issue #28282) - allMethods = append(allMethods, it.allMethods...) - } - sort.Sort(byUniqueMethodName(allMethods)) + t.allMethods = markComplete // avoid infinite recursion - // t.methods and/or t.embeddeds may have been empty - if allMethods == nil { - allMethods = markComplete + var todo []*Func + var methods []*Func + var seen objset + addMethod := func(m *Func, explicit bool) { + switch other := seen.insert(m); { + case other == nil: + methods = append(methods, m) + case explicit: + panic("duplicate method " + m.name) + default: + // check method signatures after all locally embedded interfaces are computed + todo = append(todo, m, other.(*Func)) + } + } + + for _, m := range t.methods { + addMethod(m, true) + } + + for _, typ := range t.embeddeds { + typ := typ.Underlying().(*Interface) + typ.Complete() + for _, m := range typ.allMethods { + addMethod(m, false) + } + } + + for i := 0; i < len(todo); i += 2 { + m := todo[i] + other := todo[i+1] + if !Identical(m.typ, other.typ) { + panic("duplicate method " + m.name) + } + } + + if methods != nil { + sort.Sort(byUniqueMethodName(methods)) + t.allMethods = methods } - t.allMethods = allMethods return t } diff --git a/src/go/types/typestring.go b/src/go/types/typestring.go index 0c007f6cd0..31c572f83b 100644 --- a/src/go/types/typestring.go +++ b/src/go/types/typestring.go @@ -24,7 +24,7 @@ import ( // type Qualifier func(*Package) string -// RelativeTo(pkg) returns a Qualifier that fully qualifies members of +// RelativeTo returns a Qualifier that fully qualifies members of // all packages other than pkg. func RelativeTo(pkg *Package) Qualifier { if pkg == nil { diff --git a/src/go/types/typestring_test.go b/src/go/types/typestring_test.go index 3cae4f134a..5d9db39bfc 100644 --- a/src/go/types/typestring_test.go +++ b/src/go/types/typestring_test.go @@ -148,11 +148,11 @@ func TestIncompleteInterfaces(t *testing.T) { {new(Interface), "interface{/* incomplete */}"}, {new(Interface).Complete(), "interface{}"}, - {NewInterface(nil, nil), "interface{/* incomplete */}"}, + {NewInterface(nil, nil), "interface{}"}, {NewInterface(nil, nil).Complete(), "interface{}"}, - {NewInterface([]*Func{}, nil), "interface{/* incomplete */}"}, + {NewInterface([]*Func{}, nil), "interface{}"}, {NewInterface([]*Func{}, nil).Complete(), "interface{}"}, - {NewInterface(nil, []*Named{}), "interface{/* incomplete */}"}, + {NewInterface(nil, []*Named{}), "interface{}"}, {NewInterface(nil, []*Named{}).Complete(), "interface{}"}, {NewInterface([]*Func{m}, nil), "interface{m() /* incomplete */}"}, {NewInterface([]*Func{m}, nil).Complete(), "interface{m()}"}, @@ -162,11 +162,11 @@ func TestIncompleteInterfaces(t *testing.T) { {NewInterface(nil, []*Named{newDefined(NewInterface([]*Func{m}, nil).Complete())}), "interface{T /* incomplete */}"}, {NewInterface(nil, []*Named{newDefined(NewInterface([]*Func{m}, nil).Complete())}).Complete(), "interface{T}"}, - {NewInterfaceType(nil, nil), "interface{/* incomplete */}"}, + {NewInterfaceType(nil, nil), "interface{}"}, {NewInterfaceType(nil, nil).Complete(), "interface{}"}, - {NewInterfaceType([]*Func{}, nil), "interface{/* incomplete */}"}, + {NewInterfaceType([]*Func{}, nil), "interface{}"}, {NewInterfaceType([]*Func{}, nil).Complete(), "interface{}"}, - {NewInterfaceType(nil, []Type{}), "interface{/* incomplete */}"}, + {NewInterfaceType(nil, []Type{}), "interface{}"}, {NewInterfaceType(nil, []Type{}).Complete(), "interface{}"}, {NewInterfaceType([]*Func{m}, nil), "interface{m() /* incomplete */}"}, {NewInterfaceType([]*Func{m}, nil).Complete(), "interface{m()}"}, diff --git a/src/go/types/typexpr.go b/src/go/types/typexpr.go index b16bf962cd..19bedae590 100644 --- a/src/go/types/typexpr.go +++ b/src/go/types/typexpr.go @@ -314,7 +314,7 @@ func (check *Checker) typInternal(e ast.Expr, def *Named) Type { // // Delay this check because it requires fully setup types; // it is safe to continue in any case (was issue 6667). - check.later(func() { + check.atEnd(func() { if !Comparable(typ.key) { check.errorf(e.Key.Pos(), "invalid map key type %s", typ.key) } @@ -472,171 +472,130 @@ func (check *Checker) declareInSet(oset *objset, pos token.Pos, obj Object) bool } func (check *Checker) interfaceType(ityp *Interface, iface *ast.InterfaceType, def *Named) { - // fast-track empty interface - if iface.Methods.List == nil { - ityp.allMethods = markComplete - return - } + for _, f := range iface.Methods.List { + if len(f.Names) > 0 { + // We have a method with name f.Names[0]. + // (The parser ensures that there's only one method + // and we don't care if a constructed AST has more.) + name := f.Names[0] + if name.Name == "_" { + check.errorf(name.Pos(), "invalid method name _") + continue // ignore + } - // collect embedded interfaces - // Only needed for printing and API. Delay collection - // to end of type-checking (for package-global interfaces) - // when all types are complete. Local interfaces are handled - // after each statement (as each statement processes delayed - // functions). - interfaceContext := check.context // capture for use in closure below - check.later(func() { - if trace { - check.trace(iface.Pos(), "-- delayed checking embedded interfaces of %v", iface) - check.indent++ - defer func() { - check.indent-- - }() - } - - // The context must be restored since for local interfaces - // delayed functions are processed after each statement - // (was issue #24140). - defer func(ctxt context) { - check.context = ctxt - }(check.context) - check.context = interfaceContext - - for _, f := range iface.Methods.List { - if len(f.Names) == 0 { - typ := check.indirectType(f.Type) - // typ should be a named type denoting an interface - // (the parser will make sure it's a named type but - // constructed ASTs may be wrong). - if typ == Typ[Invalid] { - continue // error reported before + typ := check.indirectType(f.Type) + sig, _ := typ.(*Signature) + if sig == nil { + if typ != Typ[Invalid] { + check.invalidAST(f.Type.Pos(), "%s is not a method signature", typ) } - embed, _ := typ.Underlying().(*Interface) - if embed == nil { + continue // ignore + } + + // use named receiver type if available (for better error messages) + var recvTyp Type = ityp + if def != nil { + recvTyp = def + } + sig.recv = NewVar(name.Pos(), check.pkg, "", recvTyp) + + m := NewFunc(name.Pos(), check.pkg, name.Name, sig) + check.recordDef(name, m) + ityp.methods = append(ityp.methods, m) + } else { + // We have an embedded interface and f.Type is its + // (possibly qualified) embedded type name. Collect + // it if it's a valid interface. + typ := check.typ(f.Type) + + if _, ok := underlying(typ).(*Interface); !ok { + if typ != Typ[Invalid] { check.errorf(f.Type.Pos(), "%s is not an interface", typ) - continue } - // Correct embedded interfaces must be complete - - // don't just assert, but report error since this - // used to be the underlying cause for issue #18395. - if embed.allMethods == nil { - check.dump("%v: incomplete embedded interface %s", f.Type.Pos(), typ) - unreachable() - } - // collect interface - ityp.embeddeds = append(ityp.embeddeds, typ) + continue } - } - // sort to match NewInterface/NewInterface2 - // TODO(gri) we may be able to switch to source order - sort.Stable(byUniqueTypeName(ityp.embeddeds)) - }) - // compute method set - var tname *TypeName - var path []*TypeName - if def != nil { - tname = def.obj - path = []*TypeName{tname} + ityp.embeddeds = append(ityp.embeddeds, typ) + check.posMap[ityp] = append(check.posMap[ityp], f.Type.Pos()) + } } - info := check.infoFromTypeLit(check.scope, iface, tname, path) - if info == nil || info == &emptyIfaceInfo { - // we got an error or the empty interface - exit early + + if len(ityp.methods) == 0 && len(ityp.embeddeds) == 0 { + // empty interface ityp.allMethods = markComplete return } - // use named receiver type if available (for better error messages) - var recvTyp Type = ityp - if def != nil { - recvTyp = def - } - - // Correct receiver type for all methods explicitly declared - // by this interface after we're done with type-checking at - // this level. See comment below for details. - check.later(func() { - for _, m := range ityp.methods { - m.typ.(*Signature).recv.typ = recvTyp - } - }) - - // collect methods - var sigfix []*methodInfo - for i, minfo := range info.methods { - fun := minfo.fun - if fun == nil { - name := minfo.src.Names[0] - pos := name.Pos() - // Don't type-check signature yet - use an - // empty signature now and update it later. - // But set up receiver since we know it and - // its position, and because interface method - // signatures don't get a receiver via regular - // type-checking (there isn't a receiver in the - // method's AST). Setting the receiver type is - // also important for ptrRecv() (see methodset.go). - // - // Note: For embedded methods, the receiver type - // should be the type of the interface that declared - // the methods in the first place. Since we get the - // methods here via methodInfo, which may be computed - // before we have all relevant interface types, we use - // the current interface's type (recvType). This may be - // the type of the interface embedding the interface that - // declared the methods. This doesn't matter for type- - // checking (we only care about the receiver type for - // the ptrRecv predicate, and it's never a pointer recv - // for interfaces), but it matters for go/types clients - // and for printing. We correct the receiver after type- - // checking. - // - // TODO(gri) Consider marking methods signatures - // as incomplete, for better error messages. See - // also the T4 and T5 tests in testdata/cycles2.src. - sig := new(Signature) - sig.recv = NewVar(pos, check.pkg, "", recvTyp) - fun = NewFunc(pos, check.pkg, name.Name, sig) - minfo.fun = fun - check.recordDef(name, fun) - sigfix = append(sigfix, minfo) - } - // fun != nil - if i < info.explicits { - ityp.methods = append(ityp.methods, fun) - } - ityp.allMethods = append(ityp.allMethods, fun) - } - - // fix signatures now that we have collected all methods - savedContext := check.context - for _, minfo := range sigfix { - // (possibly embedded) methods must be type-checked within their scope and - // type-checking them must not affect the current context (was issue #23914) - check.context = context{scope: minfo.scope} - typ := check.indirectType(minfo.src.Type) - sig, _ := typ.(*Signature) - if sig == nil { - if typ != Typ[Invalid] { - check.invalidAST(minfo.src.Type.Pos(), "%s is not a method signature", typ) - } - continue // keep method with empty method signature - } - // update signature, but keep recv that was set up before - old := minfo.fun.typ.(*Signature) - sig.recv = old.recv - *old = *sig // update signature (don't replace pointer!) - } - check.context = savedContext - - // sort to match NewInterface/NewInterface2 - // TODO(gri) we may be able to switch to source order + // sort for API stability sort.Sort(byUniqueMethodName(ityp.methods)) + sort.Stable(byUniqueTypeName(ityp.embeddeds)) - if ityp.allMethods == nil { - ityp.allMethods = markComplete - } else { - sort.Sort(byUniqueMethodName(ityp.allMethods)) + check.later(func() { check.completeInterface(ityp) }) +} + +func (check *Checker) completeInterface(ityp *Interface) { + if ityp.allMethods != nil { + return + } + + // completeInterface may be called via the LookupFieldOrMethod or + // MissingMethod external API in which case check will be nil. In + // this case, type-checking must be finished and all interfaces + // should have been completed. + if check == nil { + panic("internal error: incomplete interface") + } + + if trace { + check.trace(token.NoPos, "complete %s", ityp) + check.indent++ + defer func() { + check.indent-- + check.trace(token.NoPos, "=> %s", ityp) + }() + } + + ityp.allMethods = markComplete // avoid infinite recursion + + var methods []*Func + var seen objset + addMethod := func(m *Func, explicit bool) { + switch other := seen.insert(m); { + case other == nil: + methods = append(methods, m) + case explicit: + check.errorf(m.pos, "duplicate method %s", m.name) + check.reportAltDecl(other) + default: + // check method signatures after all types are computed (issue #33656) + check.atEnd(func() { + if !Identical(m.typ, other.Type()) { + check.errorf(m.pos, "duplicate method %s", m.name) + check.reportAltDecl(other) + } + }) + } + } + + for _, m := range ityp.methods { + addMethod(m, true) + } + + posList := check.posMap[ityp] + for i, typ := range ityp.embeddeds { + pos := posList[i] // embedding position + typ := underlying(typ).(*Interface) + check.completeInterface(typ) + for _, m := range typ.allMethods { + copy := *m + copy.pos = pos // preserve embedding position + addMethod(©, false) + } + } + + if methods != nil { + sort.Sort(byUniqueMethodName(methods)) + ityp.allMethods = methods } } diff --git a/src/html/template/js.go b/src/html/template/js.go index 7025c1cfaa..0e91458d19 100644 --- a/src/html/template/js.go +++ b/src/html/template/js.go @@ -383,11 +383,11 @@ func isJSType(mimeType string) bool { // https://tools.ietf.org/html/rfc7231#section-3.1.1 // https://tools.ietf.org/html/rfc4329#section-3 // https://www.ietf.org/rfc/rfc4627.txt - mimeType = strings.ToLower(mimeType) // discard parameters if i := strings.Index(mimeType, ";"); i >= 0 { mimeType = mimeType[:i] } + mimeType = strings.ToLower(mimeType) mimeType = strings.TrimSpace(mimeType) switch mimeType { case diff --git a/src/internal/cfg/cfg.go b/src/internal/cfg/cfg.go new file mode 100644 index 0000000000..4c2cf8ee8b --- /dev/null +++ b/src/internal/cfg/cfg.go @@ -0,0 +1,62 @@ +// Copyright 2019 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 cfg holds configuration shared by the Go command and internal/testenv. +// Definitions that don't need to be exposed outside of cmd/go should be in +// cmd/go/internal/cfg instead of this package. +package cfg + +// KnownEnv is a list of environment variables that affect the operation +// of the Go command. +const KnownEnv = ` + AR + CC + CGO_CFLAGS + CGO_CFLAGS_ALLOW + CGO_CFLAGS_DISALLOW + CGO_CPPFLAGS + CGO_CPPFLAGS_ALLOW + CGO_CPPFLAGS_DISALLOW + CGO_CXXFLAGS + CGO_CXXFLAGS_ALLOW + CGO_CXXFLAGS_DISALLOW + CGO_ENABLED + CGO_FFLAGS + CGO_FFLAGS_ALLOW + CGO_FFLAGS_DISALLOW + CGO_LDFLAGS + CGO_LDFLAGS_ALLOW + CGO_LDFLAGS_DISALLOW + CXX + FC + GCCGO + GO111MODULE + GO386 + GOARCH + GOARM + GOBIN + GOCACHE + GOENV + GOEXE + GOFLAGS + GOGCCFLAGS + GOHOSTARCH + GOHOSTOS + GOMIPS + GOMIPS64 + GONOPROXY + GONOSUMDB + GOOS + GOPATH + GOPPC64 + GOPRIVATE + GOPROXY + GOROOT + GOSUMDB + GOTMPDIR + GOTOOLDIR + GOWASM + GO_EXTLINK_ENABLED + PKG_CONFIG +` diff --git a/src/internal/oserror/errors.go b/src/internal/oserror/errors.go index 8bd17c8b56..28a1ab32d3 100644 --- a/src/internal/oserror/errors.go +++ b/src/internal/oserror/errors.go @@ -15,50 +15,4 @@ var ( ErrExist = errors.New("file already exists") ErrNotExist = errors.New("file does not exist") ErrClosed = errors.New("file already closed") - ErrTemporary = temporaryError{} - ErrTimeout = timeoutError{} ) - -type timeoutError struct{} - -func (timeoutError) Error() string { return "deadline exceeded" } -func (timeoutError) Timeout() bool { return true } - -type temporaryError struct{} - -func (temporaryError) Error() string { return "temporary error" } -func (temporaryError) Temporary() bool { return true } - -// IsTimeout reports whether err indicates a timeout. -func IsTimeout(err error) bool { - for err != nil { - if err == ErrTimeout { - return true - } - if x, ok := err.(interface{ Timeout() bool }); ok { - return x.Timeout() - } - if x, ok := err.(interface{ Is(error) bool }); ok && x.Is(ErrTimeout) { - return true - } - err = errors.Unwrap(err) - } - return false -} - -// IsTemporary reports whether err indicates a temporary condition. -func IsTemporary(err error) bool { - for err != nil { - if err == ErrTemporary { - return true - } - if x, ok := err.(interface{ Temporary() bool }); ok { - return x.Temporary() - } - if x, ok := err.(interface{ Is(error) bool }); ok && x.Is(ErrTemporary) { - return true - } - err = errors.Unwrap(err) - } - return false -} diff --git a/src/internal/oserror/errors_test.go b/src/internal/oserror/errors_test.go deleted file mode 100644 index 6d6a56a0c7..0000000000 --- a/src/internal/oserror/errors_test.go +++ /dev/null @@ -1,63 +0,0 @@ -package oserror_test - -import ( - "errors" - "fmt" - "internal/oserror" - "os" - "testing" -) - -type ttError struct { - timeout bool - temporary bool -} - -func (e ttError) Error() string { - return fmt.Sprintf("ttError{timeout:%v temporary:%v}", e.timeout, e.temporary) -} -func (e ttError) Timeout() bool { return e.timeout } -func (e ttError) Temporary() bool { return e.temporary } - -type isError struct { - err error -} - -func (e isError) Error() string { return fmt.Sprintf("isError(%v)", e.err) } -func (e isError) Is(target error) bool { return e.err == target } - -func TestIsTimeout(t *testing.T) { - for _, test := range []struct { - want bool - err error - }{ - {true, ttError{timeout: true}}, - {true, isError{os.ErrTimeout}}, - {true, os.ErrTimeout}, - {true, fmt.Errorf("wrap: %w", os.ErrTimeout)}, - {false, ttError{timeout: false}}, - {false, errors.New("error")}, - } { - if got, want := oserror.IsTimeout(test.err), test.want; got != want { - t.Errorf("IsTimeout(err) = %v, want %v\n%+v", got, want, test.err) - } - } -} - -func TestIsTemporary(t *testing.T) { - for _, test := range []struct { - want bool - err error - }{ - {true, ttError{temporary: true}}, - {true, isError{os.ErrTemporary}}, - {true, os.ErrTemporary}, - {true, fmt.Errorf("wrap: %w", os.ErrTemporary)}, - {false, ttError{temporary: false}}, - {false, errors.New("error")}, - } { - if got, want := oserror.IsTemporary(test.err), test.want; got != want { - t.Errorf("IsTemporary(err) = %v, want %v\n%+v", got, want, test.err) - } - } -} diff --git a/src/internal/poll/fd.go b/src/internal/poll/fd.go index 784bea4b5a..c0de50c1b4 100644 --- a/src/internal/poll/fd.go +++ b/src/internal/poll/fd.go @@ -11,7 +11,6 @@ package poll import ( "errors" - "internal/oserror" ) // ErrNetClosing is returned when a network descriptor is used after @@ -47,10 +46,6 @@ func (e *TimeoutError) Error() string { return "i/o timeout" } func (e *TimeoutError) Timeout() bool { return true } func (e *TimeoutError) Temporary() bool { return true } -func (e *TimeoutError) Is(target error) bool { - return target == oserror.ErrTimeout || target == oserror.ErrTemporary -} - // ErrNotPollable is returned when the file or socket is not suitable // for event notification. var ErrNotPollable = errors.New("not pollable") diff --git a/src/internal/reflectlite/type.go b/src/internal/reflectlite/type.go index 03274bcd4c..c706319a8e 100644 --- a/src/internal/reflectlite/type.go +++ b/src/internal/reflectlite/type.go @@ -521,8 +521,12 @@ func (t *rtype) PkgPath() string { return t.nameOff(ut.pkgPath).name() } +func (t *rtype) hasName() bool { + return t.tflag&tflagNamed != 0 +} + func (t *rtype) Name() string { - if t.tflag&tflagNamed == 0 { + if !t.hasName() { return "" } s := t.String() @@ -782,7 +786,7 @@ func directlyAssignable(T, V *rtype) bool { // Otherwise at least one of T and V must not be defined // and they must have the same kind. - if T.Name() != "" && V.Name() != "" || T.Kind() != V.Kind() { + if T.hasName() && V.hasName() || T.Kind() != V.Kind() { return false } diff --git a/src/internal/testenv/testenv.go b/src/internal/testenv/testenv.go index c27fcfa208..f7a9730ca6 100644 --- a/src/internal/testenv/testenv.go +++ b/src/internal/testenv/testenv.go @@ -13,6 +13,7 @@ package testenv import ( "errors" "flag" + "internal/cfg" "os" "os/exec" "path/filepath" @@ -88,6 +89,12 @@ func GoToolPath(t testing.TB) string { if err != nil { t.Fatal(err) } + // Add all environment variables that affect the Go command to test metadata. + // Cached test results will be invalidate when these variables change. + // See golang.org/issue/32285. + for _, envVar := range strings.Fields(cfg.KnownEnv) { + os.Getenv(envVar) + } return path } diff --git a/src/math/cmplx/cmath_test.go b/src/math/cmplx/cmath_test.go index fbb49fdd5b..57ba76a767 100644 --- a/src/math/cmplx/cmath_test.go +++ b/src/math/cmplx/cmath_test.go @@ -222,7 +222,7 @@ var pow = []complex128{ (-2.499956739197529585028819e+00 + 1.759751724335650228957144e+00i), (7.357094338218116311191939e+04 - 5.089973412479151648145882e+04i), (1.320777296067768517259592e+01 - 3.165621914333901498921986e+01i), - (-3.123287828297300934072149e-07 - 1.9849567521490553032502223E-7i), + (-3.123287828297300934072149e-07 - 1.9849567521490553032502223e-7i), (8.0622651468477229614813e+04 - 7.80028727944573092944363e+04i), (-1.0268824572103165858577141e+00 - 4.716844738244989776610672e-01i), (-4.35953819012244175753187e+01 + 2.2036445974645306917648585e+02i), diff --git a/src/net/cgo_unix.go b/src/net/cgo_unix.go index b9a6ffaa60..69c99fe7db 100644 --- a/src/net/cgo_unix.go +++ b/src/net/cgo_unix.go @@ -24,7 +24,6 @@ import "C" import ( "context" - "os" "syscall" "unsafe" ) @@ -38,16 +37,6 @@ func (eai addrinfoErrno) Error() string { return C.GoString(C.gai_strerror(C.i func (eai addrinfoErrno) Temporary() bool { return eai == C.EAI_AGAIN } func (eai addrinfoErrno) Timeout() bool { return false } -func (eai addrinfoErrno) Is(target error) bool { - switch target { - case os.ErrTemporary: - return eai.Temporary() - case os.ErrTimeout: - return eai.Timeout() - } - return false -} - type portLookupResult struct { port int err error diff --git a/src/net/http/example_test.go b/src/net/http/example_test.go index 2a09f5f6c6..a783b46618 100644 --- a/src/net/http/example_test.go +++ b/src/net/http/example_test.go @@ -132,7 +132,7 @@ func ExampleServer_Shutdown() { if err := srv.ListenAndServe(); err != http.ErrServerClosed { // Error starting or closing listener: - log.Printf("HTTP server ListenAndServe: %v", err) + log.Fatalf("HTTP server ListenAndServe: %v", err) } <-idleConnsClosed diff --git a/src/net/http/export_test.go b/src/net/http/export_test.go index f0dfa8cd33..d265cd3f72 100644 --- a/src/net/http/export_test.go +++ b/src/net/http/export_test.go @@ -166,30 +166,40 @@ func (t *Transport) IdleConnCountForTesting(scheme, addr string) int { return 0 } -func (t *Transport) IdleConnChMapSizeForTesting() int { +func (t *Transport) IdleConnWaitMapSizeForTesting() int { t.idleMu.Lock() defer t.idleMu.Unlock() - return len(t.idleConnCh) + return len(t.idleConnWait) } func (t *Transport) IsIdleForTesting() bool { t.idleMu.Lock() defer t.idleMu.Unlock() - return t.wantIdle + return t.closeIdle } -func (t *Transport) RequestIdleConnChForTesting() { - t.getIdleConnCh(connectMethod{nil, "http", "example.com", false}) +func (t *Transport) QueueForIdleConnForTesting() { + t.queueForIdleConn(nil) } +// PutIdleTestConn reports whether it was able to insert a fresh +// persistConn for scheme, addr into the idle connection pool. func (t *Transport) PutIdleTestConn(scheme, addr string) bool { c, _ := net.Pipe() key := connectMethodKey{"", scheme, addr, false} - select { - case <-t.incHostConnCount(key): - default: - return false + + if t.MaxConnsPerHost > 0 { + // Transport is tracking conns-per-host. + // Increment connection count to account + // for new persistConn created below. + t.connsPerHostMu.Lock() + if t.connsPerHost == nil { + t.connsPerHost = make(map[connectMethodKey]int) + } + t.connsPerHost[key]++ + t.connsPerHostMu.Unlock() } + return t.tryPutIdleConn(&persistConn{ t: t, conn: c, // dummy diff --git a/src/net/http/h2_bundle.go b/src/net/http/h2_bundle.go index 173622fc8b..53cc5bd1b8 100644 --- a/src/net/http/h2_bundle.go +++ b/src/net/http/h2_bundle.go @@ -3611,10 +3611,11 @@ func (p *http2pipe) Done() <-chan struct{} { } const ( - http2prefaceTimeout = 10 * time.Second - http2firstSettingsTimeout = 2 * time.Second // should be in-flight with preface anyway - http2handlerChunkWriteSize = 4 << 10 - http2defaultMaxStreams = 250 // TODO: make this 100 as the GFE seems to? + http2prefaceTimeout = 10 * time.Second + http2firstSettingsTimeout = 2 * time.Second // should be in-flight with preface anyway + http2handlerChunkWriteSize = 4 << 10 + http2defaultMaxStreams = 250 // TODO: make this 100 as the GFE seems to? + http2maxQueuedControlFrames = 10000 ) var ( @@ -3722,6 +3723,15 @@ func (s *http2Server) maxConcurrentStreams() uint32 { return http2defaultMaxStreams } +// maxQueuedControlFrames is the maximum number of control frames like +// SETTINGS, PING and RST_STREAM that will be queued for writing before +// the connection is closed to prevent memory exhaustion attacks. +func (s *http2Server) maxQueuedControlFrames() int { + // TODO: if anybody asks, add a Server field, and remember to define the + // behavior of negative values. + return http2maxQueuedControlFrames +} + type http2serverInternalState struct { mu sync.Mutex activeConns map[*http2serverConn]struct{} @@ -4065,6 +4075,7 @@ type http2serverConn struct { sawFirstSettings bool // got the initial SETTINGS frame after the preface needToSendSettingsAck bool unackedSettings int // how many SETTINGS have we sent without ACKs? + queuedControlFrames int // control frames in the writeSched queue clientMaxStreams uint32 // SETTINGS_MAX_CONCURRENT_STREAMS from client (our PUSH_PROMISE limit) advMaxStreams uint32 // our SETTINGS_MAX_CONCURRENT_STREAMS advertised the client curClientStreams uint32 // number of open streams initiated by the client @@ -4456,6 +4467,14 @@ func (sc *http2serverConn) serve() { } } + // If the peer is causing us to generate a lot of control frames, + // but not reading them from us, assume they are trying to make us + // run out of memory. + if sc.queuedControlFrames > sc.srv.maxQueuedControlFrames() { + sc.vlogf("http2: too many control frames in send queue, closing connection") + return + } + // Start the shutdown timer after sending a GOAWAY. When sending GOAWAY // with no error code (graceful shutdown), don't start the timer until // all open streams have been completed. @@ -4657,6 +4676,14 @@ func (sc *http2serverConn) writeFrame(wr http2FrameWriteRequest) { } if !ignoreWrite { + if wr.isControl() { + sc.queuedControlFrames++ + // For extra safety, detect wraparounds, which should not happen, + // and pull the plug. + if sc.queuedControlFrames < 0 { + sc.conn.Close() + } + } sc.writeSched.Push(wr) } sc.scheduleFrameWrite() @@ -4774,10 +4801,8 @@ func (sc *http2serverConn) wroteFrame(res http2frameWriteResult) { // If a frame is already being written, nothing happens. This will be called again // when the frame is done being written. // -// If a frame isn't being written we need to send one, the best frame -// to send is selected, preferring first things that aren't -// stream-specific (e.g. ACKing settings), and then finding the -// highest priority stream. +// If a frame isn't being written and we need to send one, the best frame +// to send is selected by writeSched. // // If a frame isn't being written and there's nothing else to send, we // flush the write buffer. @@ -4805,6 +4830,9 @@ func (sc *http2serverConn) scheduleFrameWrite() { } if !sc.inGoAway || sc.goAwayCode == http2ErrCodeNo { if wr, ok := sc.writeSched.Pop(); ok { + if wr.isControl() { + sc.queuedControlFrames-- + } sc.startFrameWrite(wr) continue } @@ -5097,6 +5125,8 @@ func (sc *http2serverConn) processSettings(f *http2SettingsFrame) error { if err := f.ForeachSetting(sc.processSetting); err != nil { return err } + // TODO: judging by RFC 7540, Section 6.5.3 each SETTINGS frame should be + // acknowledged individually, even if multiple are received before the ACK. sc.needToSendSettingsAck = true sc.scheduleFrameWrite() return nil @@ -7451,7 +7481,7 @@ func (cc *http2ClientConn) roundTrip(req *Request) (res *Response, gotErrAfterRe req.Method != "HEAD" { // Request gzip only, not deflate. Deflate is ambiguous and // not as universally supported anyway. - // See: http://www.gzip.org/zlib/zlib_faq.html#faq38 + // See: https://zlib.net/zlib_faq.html#faq39 // // Note that we don't request this for HEAD requests, // due to a bug in nginx: @@ -9445,7 +9475,7 @@ type http2WriteScheduler interface { // Pop dequeues the next frame to write. Returns false if no frames can // be written. Frames with a given wr.StreamID() are Pop'd in the same - // order they are Push'd. + // order they are Push'd. No frames should be discarded except by CloseStream. Pop() (wr http2FrameWriteRequest, ok bool) } @@ -9489,6 +9519,12 @@ func (wr http2FrameWriteRequest) StreamID() uint32 { return wr.stream.id } +// isControl reports whether wr is a control frame for MaxQueuedControlFrames +// purposes. That includes non-stream frames and RST_STREAM frames. +func (wr http2FrameWriteRequest) isControl() bool { + return wr.stream == nil +} + // DataSize returns the number of flow control bytes that must be consumed // to write this entire frame. This is 0 for non-DATA frames. func (wr http2FrameWriteRequest) DataSize() int { diff --git a/src/net/http/header.go b/src/net/http/header.go index 1e1ed981ec..230ca03d4f 100644 --- a/src/net/http/header.go +++ b/src/net/http/header.go @@ -78,8 +78,12 @@ func (h Header) write(w io.Writer, trace *httptrace.ClientTrace) error { return h.writeSubset(w, nil, trace) } -// Clone returns a copy of h. +// Clone returns a copy of h or nil if h is nil. func (h Header) Clone() Header { + if h == nil { + return nil + } + // Find total number of values. nv := 0 for _, vv := range h { diff --git a/src/net/http/header_test.go b/src/net/http/header_test.go index 48158d313a..51fcab103b 100644 --- a/src/net/http/header_test.go +++ b/src/net/http/header_test.go @@ -176,6 +176,14 @@ func TestHasToken(t *testing.T) { } } +func TestNilHeaderClone(t *testing.T) { + t1 := Header(nil) + t2 := t1.Clone() + if t2 != nil { + t.Errorf("cloned header does not match original: got: %+v; want: %+v", t2, nil) + } +} + var testHeader = Header{ "Content-Length": {"123"}, "Content-Type": {"text/plain"}, diff --git a/src/net/http/httptrace/trace.go b/src/net/http/httptrace/trace.go index 8b377edee5..6a5cbac9d8 100644 --- a/src/net/http/httptrace/trace.go +++ b/src/net/http/httptrace/trace.go @@ -133,8 +133,8 @@ type ClientTrace struct { ConnectDone func(network, addr string, err error) // TLSHandshakeStart is called when the TLS handshake is started. When - // connecting to a HTTPS site via a HTTP proxy, the handshake happens after - // the CONNECT request is processed by the proxy. + // connecting to an HTTPS site via an HTTP proxy, the handshake happens + // after the CONNECT request is processed by the proxy. TLSHandshakeStart func() // TLSHandshakeDone is called after the TLS handshake with either the diff --git a/src/net/http/httputil/reverseproxy.go b/src/net/http/httputil/reverseproxy.go index 1d7b0efa11..e8f7df29a1 100644 --- a/src/net/http/httputil/reverseproxy.go +++ b/src/net/http/httputil/reverseproxy.go @@ -199,6 +199,9 @@ func (p *ReverseProxy) ServeHTTP(rw http.ResponseWriter, req *http.Request) { if req.ContentLength == 0 { outreq.Body = nil // Issue 16036: nil Body for http.Transport retries } + if outreq.Header == nil { + outreq.Header = make(http.Header) // Issue 33142: historical behavior was to always allocate + } p.Director(outreq) outreq.Close = false diff --git a/src/net/http/httputil/reverseproxy_test.go b/src/net/http/httputil/reverseproxy_test.go index e8cb814938..7f9dc0800f 100644 --- a/src/net/http/httputil/reverseproxy_test.go +++ b/src/net/http/httputil/reverseproxy_test.go @@ -659,6 +659,26 @@ func TestReverseProxy_NilBody(t *testing.T) { } } +// Issue 33142: always allocate the request headers +func TestReverseProxy_AllocatedHeader(t *testing.T) { + proxyHandler := new(ReverseProxy) + proxyHandler.ErrorLog = log.New(ioutil.Discard, "", 0) // quiet for tests + proxyHandler.Director = func(*http.Request) {} // noop + proxyHandler.Transport = RoundTripperFunc(func(req *http.Request) (*http.Response, error) { + if req.Header == nil { + t.Error("Header == nil; want a non-nil Header") + } + return nil, errors.New("done testing the interesting part; so force a 502 Gateway error") + }) + + proxyHandler.ServeHTTP(httptest.NewRecorder(), &http.Request{ + Method: "GET", + URL: &url.URL{Scheme: "http", Host: "fake.tld", Path: "/"}, + Proto: "HTTP/1.0", + ProtoMajor: 1, + }) +} + // Issue 14237. Test ModifyResponse and that an error from it // causes the proxy to return StatusBadGateway, or StatusOK otherwise. func TestReverseProxyModifyResponse(t *testing.T) { diff --git a/src/net/http/request.go b/src/net/http/request.go index fa63175c20..6e113f1607 100644 --- a/src/net/http/request.go +++ b/src/net/http/request.go @@ -237,12 +237,12 @@ type Request struct { Host string // Form contains the parsed form data, including both the URL - // field's query parameters and the POST or PUT form data. + // field's query parameters and the PATCH, POST, or PUT form data. // This field is only available after ParseForm is called. // The HTTP client ignores Form and uses Body instead. Form url.Values - // PostForm contains the parsed form data from POST, PATCH, + // PostForm contains the parsed form data from PATCH, POST // or PUT body parameters. // // This field is only available after ParseForm is called. @@ -450,7 +450,7 @@ func (r *Request) Referer() string { // multipartByReader is a sentinel value. // Its presence in Request.MultipartForm indicates that parsing of the request -// body has been handed off to a MultipartReader instead of ParseMultipartFrom. +// body has been handed off to a MultipartReader instead of ParseMultipartForm. var multipartByReader = &multipart.Form{ Value: make(map[string][]string), File: make(map[string][]*multipart.FileHeader), @@ -763,7 +763,7 @@ func removeZone(host string) string { return host[:j] + host[i:] } -// ParseHTTPVersion parses a HTTP version string. +// ParseHTTPVersion parses an HTTP version string. // "HTTP/1.0" returns (1, 0, true). func ParseHTTPVersion(vers string) (major, minor int, ok bool) { const Big = 1000000 // arbitrary upper bound diff --git a/src/net/http/response.go b/src/net/http/response.go index 2065a25015..cd9d796c26 100644 --- a/src/net/http/response.go +++ b/src/net/http/response.go @@ -66,7 +66,7 @@ type Response struct { // The Body is automatically dechunked if the server replied // with a "chunked" Transfer-Encoding. // - // As of Go 1.12, the Body will be also implement io.Writer + // As of Go 1.12, the Body will also implement io.Writer // on a successful "101 Switching Protocols" response, // as used by WebSockets and HTTP/2's "h2c" mode. Body io.ReadCloser diff --git a/src/net/http/serve_test.go b/src/net/http/serve_test.go index e7ed15c3aa..61adda2604 100644 --- a/src/net/http/serve_test.go +++ b/src/net/http/serve_test.go @@ -2407,6 +2407,7 @@ func TestTimeoutHandlerRace(t *testing.T) { } // See issues 8209 and 8414. +// Both issues involved panics in the implementation of TimeoutHandler. func TestTimeoutHandlerRaceHeader(t *testing.T) { setParallel(t) defer afterTest(t) @@ -2434,7 +2435,9 @@ func TestTimeoutHandlerRaceHeader(t *testing.T) { defer func() { <-gate }() res, err := c.Get(ts.URL) if err != nil { - t.Error(err) + // We see ECONNRESET from the connection occasionally, + // and that's OK: this test is checking that the server does not panic. + t.Log(err) return } defer res.Body.Close() @@ -5507,19 +5510,23 @@ func TestServerSetKeepAlivesEnabledClosesConns(t *testing.T) { if a1 != a2 { t.Fatal("expected first two requests on same connection") } - var idle0 int - if !waitCondition(2*time.Second, 10*time.Millisecond, func() bool { - idle0 = tr.IdleConnKeyCountForTesting() - return idle0 == 1 - }) { - t.Fatalf("idle count before SetKeepAlivesEnabled called = %v; want 1", idle0) + addr := strings.TrimPrefix(ts.URL, "http://") + + // The two requests should have used the same connection, + // and there should not have been a second connection that + // was created by racing dial against reuse. + // (The first get was completed when the second get started.) + n := tr.IdleConnCountForTesting("http", addr) + if n != 1 { + t.Fatalf("idle count for %q after 2 gets = %d, want 1", addr, n) } + // SetKeepAlivesEnabled should discard idle conns. ts.Config.SetKeepAlivesEnabled(false) var idle1 int if !waitCondition(2*time.Second, 10*time.Millisecond, func() bool { - idle1 = tr.IdleConnKeyCountForTesting() + idle1 = tr.IdleConnCountForTesting("http", addr) return idle1 == 0 }) { t.Fatalf("idle count after SetKeepAlivesEnabled called = %v; want 0", idle1) diff --git a/src/net/http/server.go b/src/net/http/server.go index bcc283b66c..f554c81300 100644 --- a/src/net/http/server.go +++ b/src/net/http/server.go @@ -231,13 +231,13 @@ type CloseNotifier interface { var ( // ServerContextKey is a context key. It can be used in HTTP - // handlers with context.WithValue to access the server that + // handlers with Context.Value to access the server that // started the handler. The associated value will be of // type *Server. ServerContextKey = &contextKey{"http-server"} // LocalAddrContextKey is a context key. It can be used in - // HTTP handlers with context.WithValue to access the local + // HTTP handlers with Context.Value to access the local // address the connection arrived on. // The associated value will be of type net.Addr. LocalAddrContextKey = &contextKey{"local-addr"} @@ -3177,8 +3177,8 @@ func (srv *Server) onceSetNextProtoDefaults() { // After such a timeout, writes by h to its ResponseWriter will return // ErrHandlerTimeout. // -// TimeoutHandler buffers all Handler writes to memory and does not -// support the Hijacker or Flusher interfaces. +// TimeoutHandler supports the Flusher and Pusher interfaces but does not +// support the Hijacker interface. func TimeoutHandler(h Handler, dt time.Duration, msg string) Handler { return &timeoutHandler{ handler: h, diff --git a/src/net/http/socks_bundle.go b/src/net/http/socks_bundle.go index e6640dd404..d22d636381 100644 --- a/src/net/http/socks_bundle.go +++ b/src/net/http/socks_bundle.go @@ -1,5 +1,5 @@ // Code generated by golang.org/x/tools/cmd/bundle. DO NOT EDIT. -//go:generate bundle -o socks_bundle.go -dst net/http -prefix socks -underscore golang.org/x/net/internal/socks +//go:generate bundle -o socks_bundle.go -prefix socks golang.org/x/net/internal/socks // Package socks provides a SOCKS version 5 client implementation. // diff --git a/src/net/http/transport.go b/src/net/http/transport.go index 26f642aa7a..ee279877e0 100644 --- a/src/net/http/transport.go +++ b/src/net/http/transport.go @@ -57,15 +57,6 @@ var DefaultTransport RoundTripper = &Transport{ // MaxIdleConnsPerHost. const DefaultMaxIdleConnsPerHost = 2 -// connsPerHostClosedCh is a closed channel used by MaxConnsPerHost -// for the property that receives from a closed channel return the -// zero value. -var connsPerHostClosedCh = make(chan struct{}) - -func init() { - close(connsPerHostClosedCh) -} - // Transport is an implementation of RoundTripper that supports HTTP, // HTTPS, and HTTP proxies (for either HTTP or HTTPS with CONNECT). // @@ -102,11 +93,11 @@ func init() { // request is treated as idempotent but the header is not sent on the // wire. type Transport struct { - idleMu sync.Mutex - wantIdle bool // user has requested to close all idle conns - idleConn map[connectMethodKey][]*persistConn // most recently used at end - idleConnCh map[connectMethodKey]chan *persistConn - idleLRU connLRU + idleMu sync.Mutex + closeIdle bool // user has requested to close all idle conns + idleConn map[connectMethodKey][]*persistConn // most recently used at end + idleConnWait map[connectMethodKey]wantConnQueue // waiting getConns + idleLRU connLRU reqMu sync.Mutex reqCanceler map[*Request]func(error) @@ -114,9 +105,9 @@ type Transport struct { altMu sync.Mutex // guards changing altProto only altProto atomic.Value // of nil or map[string]RoundTripper, key is URI scheme - connCountMu sync.Mutex - connPerHostCount map[connectMethodKey]int - connPerHostAvailable map[connectMethodKey]chan struct{} + connsPerHostMu sync.Mutex + connsPerHost map[connectMethodKey]int + connsPerHostWait map[connectMethodKey]wantConnQueue // waiting getConns // Proxy specifies a function to return a proxy for a given // Request. If the function returns a non-nil error, the @@ -203,11 +194,6 @@ type Transport struct { // active, and idle states. On limit violation, dials will block. // // Zero means no limit. - // - // For HTTP/2, this currently only controls the number of new - // connections being created at a time, instead of the total - // number. In practice, hosts using HTTP/2 only have about one - // idle connection, though. MaxConnsPerHost int // IdleConnTimeout is the maximum amount of time an idle @@ -543,7 +529,6 @@ func (t *Transport) roundTrip(req *Request) (*Response, error) { var resp *Response if pconn.alt != nil { // HTTP/2 path. - t.putOrCloseIdleConn(pconn) t.setReqCanceler(req, nil) // not cancelable with CancelRequest resp, err = pconn.alt.RoundTrip(req) } else { @@ -554,7 +539,6 @@ func (t *Transport) roundTrip(req *Request) (*Response, error) { } if http2isNoCachedConnError(err) { t.removeIdleConn(pconn) - t.decHostConnCount(cm.key()) // clean up the persistent connection } else if !pconn.shouldRetryRequest(req, err) { // Issue 16465: return underlying net.Conn.Read error from peek, // as we've historically done. @@ -665,8 +649,7 @@ func (t *Transport) CloseIdleConnections() { t.idleMu.Lock() m := t.idleConn t.idleConn = nil - t.idleConnCh = nil - t.wantIdle = true + t.closeIdle = true // close newly idle connections t.idleLRU = connLRU{} t.idleMu.Unlock() for _, conns := range m { @@ -727,6 +710,8 @@ func resetProxyConfig() { } func (t *Transport) connectMethodForRequest(treq *transportRequest) (cm connectMethod, err error) { + // TODO: the validPort check is redundant after CL 189258, as url.URL.Port + // only returns valid ports now. golang.org/issue/33600 if port := treq.URL.Port(); !validPort(port) { return cm, fmt.Errorf("invalid URL port %q", port) } @@ -762,7 +747,7 @@ func (cm *connectMethod) proxyAuth() string { var ( errKeepAlivesDisabled = errors.New("http: putIdleConn: keep alives disabled") errConnBroken = errors.New("http: putIdleConn: connection is in bad state") - errWantIdle = errors.New("http: putIdleConn: CloseIdleConnections was called") + errCloseIdle = errors.New("http: putIdleConn: CloseIdleConnections was called") errTooManyIdle = errors.New("http: putIdleConn: too many idle connections") errTooManyIdleHost = errors.New("http: putIdleConn: too many idle connections for host") errCloseIdleConns = errors.New("http: CloseIdleConnections called") @@ -821,29 +806,56 @@ func (t *Transport) tryPutIdleConn(pconn *persistConn) error { return errConnBroken } pconn.markReused() - key := pconn.cacheKey t.idleMu.Lock() defer t.idleMu.Unlock() - waitingDialer := t.idleConnCh[key] - select { - case waitingDialer <- pconn: - // We're done with this pconn and somebody else is - // currently waiting for a conn of this type (they're - // actively dialing, but this conn is ready - // first). Chrome calls this socket late binding. See - // https://insouciant.org/tech/connection-management-in-chromium/ + // HTTP/2 (pconn.alt != nil) connections do not come out of the idle list, + // because multiple goroutines can use them simultaneously. + // If this is an HTTP/2 connection being “returned,” we're done. + if pconn.alt != nil && t.idleLRU.m[pconn] != nil { return nil - default: - if waitingDialer != nil { - // They had populated this, but their dial won - // first, so we can clean up this map entry. - delete(t.idleConnCh, key) + } + + // Deliver pconn to goroutine waiting for idle connection, if any. + // (They may be actively dialing, but this conn is ready first. + // Chrome calls this socket late binding. + // See https://insouciant.org/tech/connection-management-in-chromium/.) + key := pconn.cacheKey + if q, ok := t.idleConnWait[key]; ok { + done := false + if pconn.alt == nil { + // HTTP/1. + // Loop over the waiting list until we find a w that isn't done already, and hand it pconn. + for q.len() > 0 { + w := q.popFront() + if w.tryDeliver(pconn, nil) { + done = true + break + } + } + } else { + // HTTP/2. + // Can hand the same pconn to everyone in the waiting list, + // and we still won't be done: we want to put it in the idle + // list unconditionally, for any future clients too. + for q.len() > 0 { + w := q.popFront() + w.tryDeliver(pconn, nil) + } + } + if q.len() == 0 { + delete(t.idleConnWait, key) + } else { + t.idleConnWait[key] = q + } + if done { + return nil } } - if t.wantIdle { - return errWantIdle + + if t.closeIdle { + return errCloseIdle } if t.idleConn == nil { t.idleConn = make(map[connectMethodKey][]*persistConn) @@ -864,71 +876,87 @@ func (t *Transport) tryPutIdleConn(pconn *persistConn) error { oldest.close(errTooManyIdle) t.removeIdleConnLocked(oldest) } - if t.IdleConnTimeout > 0 { + + // Set idle timer, but only for HTTP/1 (pconn.alt == nil). + // The HTTP/2 implementation manages the idle timer itself + // (see idleConnTimeout in h2_bundle.go). + if t.IdleConnTimeout > 0 && pconn.alt == nil { if pconn.idleTimer != nil { pconn.idleTimer.Reset(t.IdleConnTimeout) } else { - // idleTimer does not apply to HTTP/2 - if pconn.alt == nil { - pconn.idleTimer = time.AfterFunc(t.IdleConnTimeout, pconn.closeConnIfStillIdle) - } + pconn.idleTimer = time.AfterFunc(t.IdleConnTimeout, pconn.closeConnIfStillIdle) } } pconn.idleAt = time.Now() return nil } -// getIdleConnCh returns a channel to receive and return idle -// persistent connection for the given connectMethod. -// It may return nil, if persistent connections are not being used. -func (t *Transport) getIdleConnCh(cm connectMethod) chan *persistConn { +// queueForIdleConn queues w to receive the next idle connection for w.cm. +// As an optimization hint to the caller, queueForIdleConn reports whether +// it successfully delivered an already-idle connection. +func (t *Transport) queueForIdleConn(w *wantConn) (delivered bool) { if t.DisableKeepAlives { - return nil + return false } - key := cm.key() - t.idleMu.Lock() - defer t.idleMu.Unlock() - t.wantIdle = false - if t.idleConnCh == nil { - t.idleConnCh = make(map[connectMethodKey]chan *persistConn) - } - ch, ok := t.idleConnCh[key] - if !ok { - ch = make(chan *persistConn) - t.idleConnCh[key] = ch - } - return ch -} -func (t *Transport) getIdleConn(cm connectMethod) (pconn *persistConn, idleSince time.Time) { - key := cm.key() t.idleMu.Lock() defer t.idleMu.Unlock() - for { - pconns, ok := t.idleConn[key] - if !ok { - return nil, time.Time{} - } - if len(pconns) == 1 { - pconn = pconns[0] - delete(t.idleConn, key) - } else { - // 2 or more cached connections; use the most - // recently used one at the end. - pconn = pconns[len(pconns)-1] - t.idleConn[key] = pconns[:len(pconns)-1] - } - t.idleLRU.remove(pconn) - if pconn.isBroken() { - // There is a tiny window where this is - // possible, between the connecting dying and - // the persistConn readLoop calling - // Transport.removeIdleConn. Just skip it and - // carry on. - continue - } - return pconn, pconn.idleAt + + // Stop closing connections that become idle - we might want one. + // (That is, undo the effect of t.CloseIdleConnections.) + t.closeIdle = false + + if w == nil { + // Happens in test hook. + return false } + + // Look for most recently-used idle connection. + if list, ok := t.idleConn[w.key]; ok { + stop := false + delivered := false + for len(list) > 0 && !stop { + pconn := list[len(list)-1] + if pconn.isBroken() { + // persistConn.readLoop has marked the connection broken, + // but Transport.removeIdleConn has not yet removed it from the idle list. + // Drop on floor on behalf of Transport.removeIdleConn. + list = list[:len(list)-1] + continue + } + delivered = w.tryDeliver(pconn, nil) + if delivered { + if pconn.alt != nil { + // HTTP/2: multiple clients can share pconn. + // Leave it in the list. + } else { + // HTTP/1: only one client can use pconn. + // Remove it from the list. + t.idleLRU.remove(pconn) + list = list[:len(list)-1] + } + } + stop = true + } + if len(list) > 0 { + t.idleConn[w.key] = list + } else { + delete(t.idleConn, w.key) + } + if stop { + return delivered + } + } + + // Register to receive next connection that becomes idle. + if t.idleConnWait == nil { + t.idleConnWait = make(map[connectMethodKey]wantConnQueue) + } + q := t.idleConnWait[w.key] + q.cleanFront() + q.pushBack(w) + t.idleConnWait[w.key] = q + return false } // removeIdleConn marks pconn as dead. @@ -1015,20 +1043,171 @@ func (t *Transport) dial(ctx context.Context, network, addr string) (net.Conn, e return zeroDialer.DialContext(ctx, network, addr) } +// A wantConn records state about a wanted connection +// (that is, an active call to getConn). +// The conn may be gotten by dialing or by finding an idle connection, +// or a cancellation may make the conn no longer wanted. +// These three options are racing against each other and use +// wantConn to coordinate and agree about the winning outcome. +type wantConn struct { + cm connectMethod + key connectMethodKey // cm.key() + ctx context.Context // context for dial + ready chan struct{} // closed when pc, err pair is delivered + + // hooks for testing to know when dials are done + // beforeDial is called in the getConn goroutine when the dial is queued. + // afterDial is called when the dial is completed or cancelled. + beforeDial func() + afterDial func() + + mu sync.Mutex // protects pc, err, close(ready) + pc *persistConn + err error +} + +// waiting reports whether w is still waiting for an answer (connection or error). +func (w *wantConn) waiting() bool { + select { + case <-w.ready: + return false + default: + return true + } +} + +// tryDeliver attempts to deliver pc, err to w and reports whether it succeeded. +func (w *wantConn) tryDeliver(pc *persistConn, err error) bool { + w.mu.Lock() + defer w.mu.Unlock() + + if w.pc != nil || w.err != nil { + return false + } + + w.pc = pc + w.err = err + if w.pc == nil && w.err == nil { + panic("net/http: internal error: misuse of tryDeliver") + } + close(w.ready) + return true +} + +// cancel marks w as no longer wanting a result (for example, due to cancellation). +// If a connection has been delivered already, cancel returns it with t.putOrCloseIdleConn. +func (w *wantConn) cancel(t *Transport, err error) { + w.mu.Lock() + if w.pc == nil && w.err == nil { + close(w.ready) // catch misbehavior in future delivery + } + pc := w.pc + w.pc = nil + w.err = err + w.mu.Unlock() + + if pc != nil { + t.putOrCloseIdleConn(pc) + } +} + +// A wantConnQueue is a queue of wantConns. +type wantConnQueue struct { + // This is a queue, not a deque. + // It is split into two stages - head[headPos:] and tail. + // popFront is trivial (headPos++) on the first stage, and + // pushBack is trivial (append) on the second stage. + // If the first stage is empty, popFront can swap the + // first and second stages to remedy the situation. + // + // This two-stage split is analogous to the use of two lists + // in Okasaki's purely functional queue but without the + // overhead of reversing the list when swapping stages. + head []*wantConn + headPos int + tail []*wantConn +} + +// len returns the number of items in the queue. +func (q *wantConnQueue) len() int { + return len(q.head) - q.headPos + len(q.tail) +} + +// pushBack adds w to the back of the queue. +func (q *wantConnQueue) pushBack(w *wantConn) { + q.tail = append(q.tail, w) +} + +// popFront removes and returns the wantConn at the front of the queue. +func (q *wantConnQueue) popFront() *wantConn { + if q.headPos >= len(q.head) { + if len(q.tail) == 0 { + return nil + } + // Pick up tail as new head, clear tail. + q.head, q.headPos, q.tail = q.tail, 0, q.head[:0] + } + w := q.head[q.headPos] + q.head[q.headPos] = nil + q.headPos++ + return w +} + +// peekFront returns the wantConn at the front of the queue without removing it. +func (q *wantConnQueue) peekFront() *wantConn { + if q.headPos < len(q.head) { + return q.head[q.headPos] + } + if len(q.tail) > 0 { + return q.tail[0] + } + return nil +} + +// cleanFront pops any wantConns that are no longer waiting from the head of the +// queue, reporting whether any were popped. +func (q *wantConnQueue) cleanFront() (cleaned bool) { + for { + w := q.peekFront() + if w == nil || w.waiting() { + return cleaned + } + q.popFront() + cleaned = true + } +} + // getConn dials and creates a new persistConn to the target as // specified in the connectMethod. This includes doing a proxy CONNECT // and/or setting up TLS. If this doesn't return an error, the persistConn // is ready to write requests to. -func (t *Transport) getConn(treq *transportRequest, cm connectMethod) (*persistConn, error) { +func (t *Transport) getConn(treq *transportRequest, cm connectMethod) (pc *persistConn, err error) { req := treq.Request trace := treq.trace ctx := req.Context() if trace != nil && trace.GetConn != nil { trace.GetConn(cm.addr()) } - if pc, idleSince := t.getIdleConn(cm); pc != nil { + + w := &wantConn{ + cm: cm, + key: cm.key(), + ctx: ctx, + ready: make(chan struct{}, 1), + beforeDial: testHookPrePendingDial, + afterDial: testHookPostPendingDial, + } + defer func() { + if err != nil { + w.cancel(t, err) + } + }() + + // Queue for idle connection. + if delivered := t.queueForIdleConn(w); delivered { + pc := w.pc if trace != nil && trace.GotConn != nil { - trace.GotConn(pc.gotIdleConnTrace(idleSince)) + trace.GotConn(pc.gotIdleConnTrace(pc.idleAt)) } // set request canceler to some non-nil function so we // can detect whether it was cleared between now and when @@ -1037,108 +1216,44 @@ func (t *Transport) getConn(treq *transportRequest, cm connectMethod) (*persistC return pc, nil } - type dialRes struct { - pc *persistConn - err error - } - dialc := make(chan dialRes) - cmKey := cm.key() - - // Copy these hooks so we don't race on the postPendingDial in - // the goroutine we launch. Issue 11136. - testHookPrePendingDial := testHookPrePendingDial - testHookPostPendingDial := testHookPostPendingDial - - handlePendingDial := func() { - testHookPrePendingDial() - go func() { - if v := <-dialc; v.err == nil { - t.putOrCloseIdleConn(v.pc) - } else { - t.decHostConnCount(cmKey) - } - testHookPostPendingDial() - }() - } - cancelc := make(chan error, 1) t.setReqCanceler(req, func(err error) { cancelc <- err }) - if t.MaxConnsPerHost > 0 { - select { - case <-t.incHostConnCount(cmKey): - // count below conn per host limit; proceed - case pc := <-t.getIdleConnCh(cm): - if trace != nil && trace.GotConn != nil { - trace.GotConn(httptrace.GotConnInfo{Conn: pc.conn, Reused: pc.isReused()}) - } - return pc, nil - case <-req.Cancel: - return nil, errRequestCanceledConn - case <-req.Context().Done(): - return nil, req.Context().Err() - case err := <-cancelc: - if err == errRequestCanceled { - err = errRequestCanceledConn - } - return nil, err - } - } + // Queue for permission to dial. + t.queueForDial(w) - go func() { - pc, err := t.dialConn(ctx, cm) - dialc <- dialRes{pc, err} - }() - - idleConnCh := t.getIdleConnCh(cm) + // Wait for completion or cancellation. select { - case v := <-dialc: - // Our dial finished. - if v.pc != nil { - if trace != nil && trace.GotConn != nil && v.pc.alt == nil { - trace.GotConn(httptrace.GotConnInfo{Conn: v.pc.conn}) + case <-w.ready: + // Trace success but only for HTTP/1. + // HTTP/2 calls trace.GotConn itself. + if w.pc != nil && w.pc.alt == nil && trace != nil && trace.GotConn != nil { + trace.GotConn(httptrace.GotConnInfo{Conn: w.pc.conn, Reused: w.pc.isReused()}) + } + if w.err != nil { + // If the request has been cancelled, that's probably + // what caused w.err; if so, prefer to return the + // cancellation error (see golang.org/issue/16049). + select { + case <-req.Cancel: + return nil, errRequestCanceledConn + case <-req.Context().Done(): + return nil, req.Context().Err() + case err := <-cancelc: + if err == errRequestCanceled { + err = errRequestCanceledConn + } + return nil, err + default: + // return below } - return v.pc, nil } - // Our dial failed. See why to return a nicer error - // value. - t.decHostConnCount(cmKey) - select { - case <-req.Cancel: - // It was an error due to cancellation, so prioritize that - // error value. (Issue 16049) - return nil, errRequestCanceledConn - case <-req.Context().Done(): - return nil, req.Context().Err() - case err := <-cancelc: - if err == errRequestCanceled { - err = errRequestCanceledConn - } - return nil, err - default: - // It wasn't an error due to cancellation, so - // return the original error message: - return nil, v.err - } - case pc := <-idleConnCh: - // Another request finished first and its net.Conn - // became available before our dial. Or somebody - // else's dial that they didn't use. - // But our dial is still going, so give it away - // when it finishes: - handlePendingDial() - if trace != nil && trace.GotConn != nil { - trace.GotConn(httptrace.GotConnInfo{Conn: pc.conn, Reused: pc.isReused()}) - } - return pc, nil + return w.pc, w.err case <-req.Cancel: - handlePendingDial() return nil, errRequestCanceledConn case <-req.Context().Done(): - handlePendingDial() return nil, req.Context().Err() case err := <-cancelc: - handlePendingDial() if err == errRequestCanceled { err = errRequestCanceledConn } @@ -1146,81 +1261,103 @@ func (t *Transport) getConn(treq *transportRequest, cm connectMethod) (*persistC } } -// incHostConnCount increments the count of connections for a -// given host. It returns an already-closed channel if the count -// is not at its limit; otherwise it returns a channel which is -// notified when the count is below the limit. -func (t *Transport) incHostConnCount(cmKey connectMethodKey) <-chan struct{} { +// queueForDial queues w to wait for permission to begin dialing. +// Once w receives permission to dial, it will do so in a separate goroutine. +func (t *Transport) queueForDial(w *wantConn) { + w.beforeDial() if t.MaxConnsPerHost <= 0 { - return connsPerHostClosedCh + go t.dialConnFor(w) + return } - t.connCountMu.Lock() - defer t.connCountMu.Unlock() - if t.connPerHostCount[cmKey] == t.MaxConnsPerHost { - if t.connPerHostAvailable == nil { - t.connPerHostAvailable = make(map[connectMethodKey]chan struct{}) + + t.connsPerHostMu.Lock() + defer t.connsPerHostMu.Unlock() + + if n := t.connsPerHost[w.key]; n < t.MaxConnsPerHost { + if t.connsPerHost == nil { + t.connsPerHost = make(map[connectMethodKey]int) } - ch, ok := t.connPerHostAvailable[cmKey] - if !ok { - ch = make(chan struct{}) - t.connPerHostAvailable[cmKey] = ch - } - return ch + t.connsPerHost[w.key] = n + 1 + go t.dialConnFor(w) + return } - if t.connPerHostCount == nil { - t.connPerHostCount = make(map[connectMethodKey]int) + + if t.connsPerHostWait == nil { + t.connsPerHostWait = make(map[connectMethodKey]wantConnQueue) } - t.connPerHostCount[cmKey]++ - // return a closed channel to avoid race: if decHostConnCount is called - // after incHostConnCount and during the nil check, decHostConnCount - // will delete the channel since it's not being listened on yet. - return connsPerHostClosedCh + q := t.connsPerHostWait[w.key] + q.cleanFront() + q.pushBack(w) + t.connsPerHostWait[w.key] = q } -// decHostConnCount decrements the count of connections -// for a given host. -// See Transport.MaxConnsPerHost. -func (t *Transport) decHostConnCount(cmKey connectMethodKey) { +// dialConnFor dials on behalf of w and delivers the result to w. +// dialConnFor has received permission to dial w.cm and is counted in t.connCount[w.cm.key()]. +// If the dial is cancelled or unsuccessful, dialConnFor decrements t.connCount[w.cm.key()]. +func (t *Transport) dialConnFor(w *wantConn) { + defer w.afterDial() + + pc, err := t.dialConn(w.ctx, w.cm) + delivered := w.tryDeliver(pc, err) + if err == nil && (!delivered || pc.alt != nil) { + // pconn was not passed to w, + // or it is HTTP/2 and can be shared. + // Add to the idle connection pool. + t.putOrCloseIdleConn(pc) + } + if err != nil { + t.decConnsPerHost(w.key) + } +} + +// decConnsPerHost decrements the per-host connection count for key, +// which may in turn give a different waiting goroutine permission to dial. +func (t *Transport) decConnsPerHost(key connectMethodKey) { if t.MaxConnsPerHost <= 0 { return } - t.connCountMu.Lock() - defer t.connCountMu.Unlock() - t.connPerHostCount[cmKey]-- - select { - case t.connPerHostAvailable[cmKey] <- struct{}{}: - default: - // close channel before deleting avoids getConn waiting forever in - // case getConn has reference to channel but hasn't started waiting. - // This could lead to more than MaxConnsPerHost in the unlikely case - // that > 1 go routine has fetched the channel but none started waiting. - if t.connPerHostAvailable[cmKey] != nil { - close(t.connPerHostAvailable[cmKey]) + + t.connsPerHostMu.Lock() + defer t.connsPerHostMu.Unlock() + n := t.connsPerHost[key] + if n == 0 { + // Shouldn't happen, but if it does, the counting is buggy and could + // easily lead to a silent deadlock, so report the problem loudly. + panic("net/http: internal error: connCount underflow") + } + + // Can we hand this count to a goroutine still waiting to dial? + // (Some goroutines on the wait list may have timed out or + // gotten a connection another way. If they're all gone, + // we don't want to kick off any spurious dial operations.) + if q := t.connsPerHostWait[key]; q.len() > 0 { + done := false + for q.len() > 0 { + w := q.popFront() + if w.waiting() { + go t.dialConnFor(w) + done = true + break + } + } + if q.len() == 0 { + delete(t.connsPerHostWait, key) + } else { + // q is a value (like a slice), so we have to store + // the updated q back into the map. + t.connsPerHostWait[key] = q + } + if done { + return } - delete(t.connPerHostAvailable, cmKey) } - if t.connPerHostCount[cmKey] == 0 { - delete(t.connPerHostCount, cmKey) - } -} -// connCloseListener wraps a connection, the transport that dialed it -// and the connected-to host key so the host connection count can be -// transparently decremented by whatever closes the embedded connection. -type connCloseListener struct { - net.Conn - t *Transport - cmKey connectMethodKey - didClose int32 -} - -func (c *connCloseListener) Close() error { - if atomic.AddInt32(&c.didClose, 1) != 1 { - return nil + // Otherwise, decrement the recorded count. + if n--; n == 0 { + delete(t.connsPerHost, key) + } else { + t.connsPerHost[key] = n } - err := c.Conn.Close() - c.t.decHostConnCount(c.cmKey) - return err } // The connect method and the transport can both specify a TLS @@ -1283,8 +1420,8 @@ func (pconn *persistConn) addTLS(name string, trace *httptrace.ClientTrace) erro return nil } -func (t *Transport) dialConn(ctx context.Context, cm connectMethod) (*persistConn, error) { - pconn := &persistConn{ +func (t *Transport) dialConn(ctx context.Context, cm connectMethod) (pconn *persistConn, err error) { + pconn = &persistConn{ t: t, cacheKey: cm.key(), reqch: make(chan requestAndChan, 1), @@ -1423,9 +1560,6 @@ func (t *Transport) dialConn(ctx context.Context, cm connectMethod) (*persistCon } } - if t.MaxConnsPerHost > 0 { - pconn.conn = &connCloseListener{Conn: pconn.conn, t: t, cmKey: pconn.cacheKey} - } pconn.br = bufio.NewReaderSize(pconn, t.readBufferSize()) pconn.bw = bufio.NewWriterSize(persistConnWriter{pconn}, t.writeBufferSize()) @@ -1631,7 +1765,7 @@ func (pc *persistConn) canceled() error { return pc.canceledErr } -// isReused reports whether this connection is in a known broken state. +// isReused reports whether this connection has been used before. func (pc *persistConn) isReused() bool { pc.mu.Lock() r := pc.reused @@ -2119,10 +2253,12 @@ func (pc *persistConn) wroteRequest() bool { // but the server has already replied. In this case, we don't // want to wait too long, and we want to return false so this // connection isn't re-used. + t := time.NewTimer(maxWriteWaitBeforeConnReuse) + defer t.Stop() select { case err := <-pc.writeErrCh: return err == nil - case <-time.After(maxWriteWaitBeforeConnReuse): + case <-t.C: return false } } @@ -2176,16 +2312,6 @@ func (e *httpError) Error() string { return e.err } func (e *httpError) Timeout() bool { return e.timeout } func (e *httpError) Temporary() bool { return true } -func (e *httpError) Is(target error) bool { - switch target { - case os.ErrTimeout: - return e.timeout - case os.ErrTemporary: - return true - } - return false -} - var errTimeout error = &httpError{err: "net/http: timeout awaiting response headers", timeout: true} // errRequestCanceled is set to be identical to the one from h2 to facilitate @@ -2374,10 +2500,10 @@ func (pc *persistConn) closeLocked(err error) { pc.broken = true if pc.closed == nil { pc.closed = err - if pc.alt != nil { - // Clean up any host connection counting. - pc.t.decHostConnCount(pc.cacheKey) - } else { + pc.t.decConnsPerHost(pc.cacheKey) + // Close HTTP/1 (pc.alt == nil) connection. + // HTTP/2 closes its connection itself. + if pc.alt == nil { if err != errCallerOwnsConn { pc.conn.Close() } @@ -2520,10 +2646,6 @@ func (tlsHandshakeTimeoutError) Timeout() bool { return true } func (tlsHandshakeTimeoutError) Temporary() bool { return true } func (tlsHandshakeTimeoutError) Error() string { return "net/http: TLS handshake timeout" } -func (tlsHandshakeTimeoutError) Is(target error) bool { - return target == os.ErrTimeout || target == os.ErrTemporary -} - // fakeLocker is a sync.Locker which does nothing. It's used to guard // test-only fields when not under test, to avoid runtime atomic // overhead. diff --git a/src/net/http/transport_test.go b/src/net/http/transport_test.go index 2b58e1daec..23afff5d84 100644 --- a/src/net/http/transport_test.go +++ b/src/net/http/transport_test.go @@ -655,13 +655,17 @@ func TestTransportMaxConnsPerHost(t *testing.T) { expected := int32(tr.MaxConnsPerHost) if dialCnt != expected { - t.Errorf("Too many dials (%s): %d", scheme, dialCnt) + t.Errorf("round 1: too many dials (%s): %d != %d", scheme, dialCnt, expected) } if gotConnCnt != expected { - t.Errorf("Too many get connections (%s): %d", scheme, gotConnCnt) + t.Errorf("round 1: too many get connections (%s): %d != %d", scheme, gotConnCnt, expected) } if ts.TLS != nil && tlsHandshakeCnt != expected { - t.Errorf("Too many tls handshakes (%s): %d", scheme, tlsHandshakeCnt) + t.Errorf("round 1: too many tls handshakes (%s): %d != %d", scheme, tlsHandshakeCnt, expected) + } + + if t.Failed() { + t.FailNow() } (<-connCh).Close() @@ -670,13 +674,13 @@ func TestTransportMaxConnsPerHost(t *testing.T) { doReq() expected++ if dialCnt != expected { - t.Errorf("Too many dials (%s): %d", scheme, dialCnt) + t.Errorf("round 2: too many dials (%s): %d", scheme, dialCnt) } if gotConnCnt != expected { - t.Errorf("Too many get connections (%s): %d", scheme, gotConnCnt) + t.Errorf("round 2: too many get connections (%s): %d != %d", scheme, gotConnCnt, expected) } if ts.TLS != nil && tlsHandshakeCnt != expected { - t.Errorf("Too many tls handshakes (%s): %d", scheme, tlsHandshakeCnt) + t.Errorf("round 2: too many tls handshakes (%s): %d != %d", scheme, tlsHandshakeCnt, expected) } } @@ -1654,6 +1658,176 @@ func TestTransportPersistConnLeakShortBody(t *testing.T) { } } +// A countedConn is a net.Conn that decrements an atomic counter when finalized. +type countedConn struct { + net.Conn +} + +// A countingDialer dials connections and counts the number that remain reachable. +type countingDialer struct { + dialer net.Dialer + mu sync.Mutex + total, live int64 +} + +func (d *countingDialer) DialContext(ctx context.Context, network, address string) (net.Conn, error) { + conn, err := d.dialer.DialContext(ctx, network, address) + if err != nil { + return nil, err + } + + counted := new(countedConn) + counted.Conn = conn + + d.mu.Lock() + defer d.mu.Unlock() + d.total++ + d.live++ + + runtime.SetFinalizer(counted, d.decrement) + return counted, nil +} + +func (d *countingDialer) decrement(*countedConn) { + d.mu.Lock() + defer d.mu.Unlock() + d.live-- +} + +func (d *countingDialer) Read() (total, live int64) { + d.mu.Lock() + defer d.mu.Unlock() + return d.total, d.live +} + +func TestTransportPersistConnLeakNeverIdle(t *testing.T) { + defer afterTest(t) + + ts := httptest.NewServer(HandlerFunc(func(w ResponseWriter, r *Request) { + // Close every connection so that it cannot be kept alive. + conn, _, err := w.(Hijacker).Hijack() + if err != nil { + t.Errorf("Hijack failed unexpectedly: %v", err) + return + } + conn.Close() + })) + defer ts.Close() + + var d countingDialer + c := ts.Client() + c.Transport.(*Transport).DialContext = d.DialContext + + body := []byte("Hello") + for i := 0; ; i++ { + total, live := d.Read() + if live < total { + break + } + if i >= 1<<12 { + t.Fatalf("Count of live client net.Conns (%d) not lower than total (%d) after %d Do / GC iterations.", live, total, i) + } + + req, err := NewRequest("POST", ts.URL, bytes.NewReader(body)) + if err != nil { + t.Fatal(err) + } + _, err = c.Do(req) + if err == nil { + t.Fatal("expected broken connection") + } + + runtime.GC() + } +} + +type countedContext struct { + context.Context +} + +type contextCounter struct { + mu sync.Mutex + live int64 +} + +func (cc *contextCounter) Track(ctx context.Context) context.Context { + counted := new(countedContext) + counted.Context = ctx + cc.mu.Lock() + defer cc.mu.Unlock() + cc.live++ + runtime.SetFinalizer(counted, cc.decrement) + return counted +} + +func (cc *contextCounter) decrement(*countedContext) { + cc.mu.Lock() + defer cc.mu.Unlock() + cc.live-- +} + +func (cc *contextCounter) Read() (live int64) { + cc.mu.Lock() + defer cc.mu.Unlock() + return cc.live +} + +func TestTransportPersistConnContextLeakMaxConnsPerHost(t *testing.T) { + defer afterTest(t) + + ts := httptest.NewServer(HandlerFunc(func(w ResponseWriter, r *Request) { + runtime.Gosched() + w.WriteHeader(StatusOK) + })) + defer ts.Close() + + c := ts.Client() + c.Transport.(*Transport).MaxConnsPerHost = 1 + + ctx := context.Background() + body := []byte("Hello") + doPosts := func(cc *contextCounter) { + var wg sync.WaitGroup + for n := 64; n > 0; n-- { + wg.Add(1) + go func() { + defer wg.Done() + + ctx := cc.Track(ctx) + req, err := NewRequest("POST", ts.URL, bytes.NewReader(body)) + if err != nil { + t.Error(err) + } + + _, err = c.Do(req.WithContext(ctx)) + if err != nil { + t.Errorf("Do failed with error: %v", err) + } + }() + } + wg.Wait() + } + + var initialCC contextCounter + doPosts(&initialCC) + + // flushCC exists only to put pressure on the GC to finalize the initialCC + // contexts: the flushCC allocations should eventually displace the initialCC + // allocations. + var flushCC contextCounter + for i := 0; ; i++ { + live := initialCC.Read() + if live == 0 { + break + } + if i >= 100 { + t.Fatalf("%d Contexts still not finalized after %d GC cycles.", live, i) + } + doPosts(&flushCC) + runtime.GC() + } +} + // This used to crash; https://golang.org/issue/3266 func TestTransportIdleConnCrash(t *testing.T) { defer afterTest(t) @@ -2795,8 +2969,8 @@ func TestIdleConnChannelLeak(t *testing.T) { <-didRead } - if got := tr.IdleConnChMapSizeForTesting(); got != 0 { - t.Fatalf("ForDisableKeepAlives = %v, map size = %d; want 0", disableKeep, got) + if got := tr.IdleConnWaitMapSizeForTesting(); got != 0 { + t.Fatalf("for DisableKeepAlives = %v, map size = %d; want 0", disableKeep, got) } } } @@ -3378,9 +3552,9 @@ func TestTransportCloseIdleConnsThenReturn(t *testing.T) { } wantIdle("after second put", 0) - tr.RequestIdleConnChForTesting() // should toggle the transport out of idle mode + tr.QueueForIdleConnForTesting() // should toggle the transport out of idle mode if tr.IsIdleForTesting() { - t.Error("shouldn't be idle after RequestIdleConnChForTesting") + t.Error("shouldn't be idle after QueueForIdleConnForTesting") } if !tr.PutIdleTestConn("http", "example.com") { t.Fatal("after re-activation") @@ -3802,8 +3976,8 @@ func TestNoCrashReturningTransportAltConn(t *testing.T) { ln := newLocalListener(t) defer ln.Close() - handledPendingDial := make(chan bool, 1) - SetPendingDialHooks(nil, func() { handledPendingDial <- true }) + var wg sync.WaitGroup + SetPendingDialHooks(func() { wg.Add(1) }, wg.Done) defer SetPendingDialHooks(nil, nil) testDone := make(chan struct{}) @@ -3873,7 +4047,7 @@ func TestNoCrashReturningTransportAltConn(t *testing.T) { doReturned <- true <-madeRoundTripper - <-handledPendingDial + wg.Wait() } func TestTransportReuseConnection_Gzip_Chunked(t *testing.T) { @@ -4285,7 +4459,7 @@ func TestTransportRejectsAlphaPort(t *testing.T) { t.Fatalf("got %#v; want *url.Error", err) } got := ue.Err.Error() - want := `invalid URL port "123foo"` + want := `invalid port ":123foo" after host` if got != want { t.Errorf("got error %q; want %q", got, want) } diff --git a/src/net/ip.go b/src/net/ip.go index cf90c0cd54..1a1d0e7dba 100644 --- a/src/net/ip.go +++ b/src/net/ip.go @@ -513,12 +513,12 @@ func (n *IPNet) Contains(ip IP) bool { // Network returns the address's network name, "ip+net". func (n *IPNet) Network() string { return "ip+net" } -// String returns the CIDR notation of n like "192.0.2.1/24" +// String returns the CIDR notation of n like "192.0.2.0/24" // or "2001:db8::/48" as defined in RFC 4632 and RFC 4291. // If the mask is not in the canonical form, it returns the // string which consists of an IP address, followed by a slash // character and a mask expressed as hexadecimal form with no -// punctuation like "198.51.100.1/c000ff00". +// punctuation like "198.51.100.0/c000ff00". func (n *IPNet) String() string { nn, m := networkNumberAndMask(n) if nn == nil || m == nil { diff --git a/src/net/mail/message.go b/src/net/mail/message.go index e0907806ca..75207db434 100644 --- a/src/net/mail/message.go +++ b/src/net/mail/message.go @@ -148,7 +148,7 @@ type Address struct { Address string // user@domain } -// Parses a single RFC 5322 address, e.g. "Barry Gibbs " +// ParseAddress parses a single RFC 5322 address, e.g. "Barry Gibbs " func ParseAddress(address string) (*Address, error) { return (&addrParser{s: address}).parseSingleAddress() } diff --git a/src/net/net.go b/src/net/net.go index b3f9b8ba07..38c6b99637 100644 --- a/src/net/net.go +++ b/src/net/net.go @@ -146,6 +146,13 @@ type Conn interface { // the deadline after successful Read or Write calls. // // A zero value for t means I/O operations will not time out. + // + // Note that if a TCP connection has keep-alive turned on, + // which is the default unless overridden by Dialer.KeepAlive + // or ListenConfig.KeepAlive, then a keep-alive failure may + // also return a timeout error. On Unix systems a keep-alive + // failure on I/O can be detected using + // errors.Is(err, syscall.ETIMEDOUT). SetDeadline(t time.Time) error // SetReadDeadline sets the deadline for future Read calls @@ -516,16 +523,6 @@ func (e *OpError) Temporary() bool { return ok && t.Temporary() } -func (e *OpError) Is(target error) bool { - switch target { - case os.ErrTemporary: - return e.Temporary() - case os.ErrTimeout: - return e.Timeout() - } - return false -} - // A ParseError is the error type of literal network address parsers. type ParseError struct { // Type is the type of string that was expected, such as @@ -617,16 +614,6 @@ func (e *DNSError) Timeout() bool { return e.IsTimeout } // error and return a DNSError for which Temporary returns false. func (e *DNSError) Temporary() bool { return e.IsTimeout || e.IsTemporary } -func (e *DNSError) Is(target error) bool { - switch target { - case os.ErrTemporary: - return e.Temporary() - case os.ErrTimeout: - return e.Timeout() - } - return false -} - type writerOnly struct { io.Writer } diff --git a/src/net/net_test.go b/src/net/net_test.go index 2b5845bb15..463ae8856d 100644 --- a/src/net/net_test.go +++ b/src/net/net_test.go @@ -525,6 +525,9 @@ func TestNotTemporaryRead(t *testing.T) { if runtime.GOOS == "freebsd" { testenv.SkipFlaky(t, 25289) } + if runtime.GOOS == "aix" { + testenv.SkipFlaky(t, 29685) + } t.Parallel() server := func(cs *TCPConn) error { cs.SetLinger(0) diff --git a/src/net/pipe.go b/src/net/pipe.go index 8cc127464b..9177fc4036 100644 --- a/src/net/pipe.go +++ b/src/net/pipe.go @@ -6,7 +6,6 @@ package net import ( "io" - "os" "sync" "time" ) @@ -85,10 +84,6 @@ func (timeoutError) Error() string { return "deadline exceeded" } func (timeoutError) Timeout() bool { return true } func (timeoutError) Temporary() bool { return true } -func (timeoutError) Is(target error) bool { - return target == os.ErrTemporary || target == os.ErrTimeout -} - type pipeAddr struct{} func (pipeAddr) Network() string { return "pipe" } diff --git a/src/net/sendfile_windows.go b/src/net/sendfile_windows.go index bccd8b149f..a223e2562e 100644 --- a/src/net/sendfile_windows.go +++ b/src/net/sendfile_windows.go @@ -29,6 +29,13 @@ func sendFile(fd *netFD, r io.Reader) (written int64, err error, handled bool) { if n <= 0 { return 0, nil, true } + // TransmitFile can be invoked in one call with at most + // 2,147,483,646 bytes: the maximum value for a 32-bit integer minus 1. + // See https://docs.microsoft.com/en-us/windows/win32/api/mswsock/nf-mswsock-transmitfile + const maxSendBytes = 0x7fffffff - 1 + if n > maxSendBytes { + return 0, nil, false + } } f, ok := r.(*os.File) if !ok { diff --git a/src/net/timeout_test.go b/src/net/timeout_test.go index 4b9fe7eba9..b4fc2c0198 100644 --- a/src/net/timeout_test.go +++ b/src/net/timeout_test.go @@ -7,9 +7,7 @@ package net import ( - "errors" "fmt" - "internal/oserror" "internal/poll" "internal/testenv" "io" @@ -90,9 +88,6 @@ func TestDialTimeout(t *testing.T) { if nerr, ok := err.(Error); !ok || !nerr.Timeout() { t.Fatalf("#%d: %v", i, err) } - if !errors.Is(err, oserror.ErrTimeout) { - t.Fatalf("#%d: Dial error is not os.ErrTimeout: %v", i, err) - } } } } @@ -826,24 +821,14 @@ func testVariousDeadlines(t *testing.T) { d time.Duration } - ch := make(chan error, 1) - pasvch := make(chan result) handler := func(ls *localServer, ln Listener) { for { c, err := ln.Accept() if err != nil { - ch <- err - return + break } - // The server, with no timeouts of its own, - // sending bytes to clients as fast as it can. - go func() { - t0 := time.Now() - n, err := io.Copy(c, neverEnding('a')) - dt := time.Since(t0) - c.Close() - pasvch <- result{n, err, dt} - }() + c.Read(make([]byte, 1)) // wait for client to close connection + c.Close() } } ls, err := newLocalServer("tcp") @@ -884,18 +869,18 @@ func testVariousDeadlines(t *testing.T) { } } for run := 0; run < numRuns; run++ { - name := fmt.Sprintf("%v run %d/%d", timeout, run+1, numRuns) + name := fmt.Sprintf("%v %d/%d", timeout, run, numRuns) t.Log(name) + tooSlow := time.NewTimer(5 * time.Second) + defer tooSlow.Stop() + c, err := Dial(ls.Listener.Addr().Network(), ls.Listener.Addr().String()) if err != nil { t.Fatal(err) } - tooLong := 5 * time.Second - max := time.NewTimer(tooLong) - defer max.Stop() - actvch := make(chan result) + ch := make(chan result, 1) go func() { t0 := time.Now() if err := c.SetDeadline(t0.Add(timeout)); err != nil { @@ -904,27 +889,18 @@ func testVariousDeadlines(t *testing.T) { n, err := io.Copy(ioutil.Discard, c) dt := time.Since(t0) c.Close() - actvch <- result{n, err, dt} + ch <- result{n, err, dt} }() select { - case res := <-actvch: + case res := <-ch: if nerr, ok := res.err.(Error); ok && nerr.Timeout() { - t.Logf("for %v, good client timeout after %v, reading %d bytes", name, res.d, res.n) + t.Logf("%v: good timeout after %v; %d bytes", name, res.d, res.n) } else { - t.Fatalf("for %v, client Copy = %d, %v; want timeout", name, res.n, res.err) + t.Fatalf("%v: Copy = %d, %v; want timeout", name, res.n, res.err) } - case <-max.C: - t.Fatalf("for %v, timeout (%v) waiting for client to timeout (%v) reading", name, tooLong, timeout) - } - - select { - case res := <-pasvch: - t.Logf("for %v, server in %v wrote %d: %v", name, res.d, res.n, res.err) - case err := <-ch: - t.Fatalf("for %v, Accept = %v", name, err) - case <-max.C: - t.Fatalf("for %v, timeout waiting for server to finish writing", name) + case <-tooSlow.C: + t.Fatalf("%v: client stuck in Dial+Copy", name) } } } diff --git a/src/net/url/url.go b/src/net/url/url.go index 7f6ff93ce4..12ea35f0f9 100644 --- a/src/net/url/url.go +++ b/src/net/url/url.go @@ -13,7 +13,6 @@ package url import ( "errors" "fmt" - "internal/oserror" "sort" "strconv" "strings" @@ -26,10 +25,22 @@ type Error struct { Err error } -func (e *Error) Unwrap() error { return e.Err } -func (e *Error) Error() string { return e.Op + " " + e.URL + ": " + e.Err.Error() } -func (e *Error) Timeout() bool { return oserror.IsTimeout(e.Err) } -func (e *Error) Temporary() bool { return oserror.IsTemporary(e.Err) } +func (e *Error) Unwrap() error { return e.Err } +func (e *Error) Error() string { return e.Op + " " + e.URL + ": " + e.Err.Error() } + +func (e *Error) Timeout() bool { + t, ok := e.Err.(interface { + Timeout() bool + }) + return ok && t.Timeout() +} + +func (e *Error) Temporary() bool { + t, ok := e.Err.(interface { + Temporary() bool + }) + return ok && t.Temporary() +} func ishex(c byte) bool { switch { @@ -637,6 +648,11 @@ func parseHost(host string) (string, error) { } return host1 + host2 + host3, nil } + } else if i := strings.LastIndex(host, ":"); i != -1 { + colonPort := host[i:] + if !validOptionalPort(colonPort) { + return "", fmt.Errorf("invalid port %q after host", colonPort) + } } var err error @@ -1035,44 +1051,39 @@ func (u *URL) RequestURI() string { return result } -// Hostname returns u.Host, without any port number. +// Hostname returns u.Host, stripping any valid port number if present. // -// If Host is an IPv6 literal with a port number, Hostname returns the -// IPv6 literal without the square brackets. IPv6 literals may include -// a zone identifier. +// If the result is enclosed in square brackets, as literal IPv6 addresses are, +// the square brackets are removed from the result. func (u *URL) Hostname() string { - return stripPort(u.Host) + host, _ := splitHostPort(u.Host) + return host } // Port returns the port part of u.Host, without the leading colon. -// If u.Host doesn't contain a port, Port returns an empty string. +// +// If u.Host doesn't contain a valid numeric port, Port returns an empty string. func (u *URL) Port() string { - return portOnly(u.Host) + _, port := splitHostPort(u.Host) + return port } -func stripPort(hostport string) string { - colon := strings.IndexByte(hostport, ':') - if colon == -1 { - return hostport - } - if i := strings.IndexByte(hostport, ']'); i != -1 { - return strings.TrimPrefix(hostport[:i], "[") - } - return hostport[:colon] -} +// splitHostPort separates host and port. If the port is not valid, it returns +// the entire input as host, and it doesn't check the validity of the host. +// Unlike net.SplitHostPort, but per RFC 3986, it requires ports to be numeric. +func splitHostPort(hostport string) (host, port string) { + host = hostport -func portOnly(hostport string) string { - colon := strings.IndexByte(hostport, ':') - if colon == -1 { - return "" + colon := strings.LastIndexByte(host, ':') + if colon != -1 && validOptionalPort(host[colon:]) { + host, port = host[:colon], host[colon+1:] } - if i := strings.Index(hostport, "]:"); i != -1 { - return hostport[i+len("]:"):] + + if strings.HasPrefix(host, "[") && strings.HasSuffix(host, "]") { + host = host[1 : len(host)-1] } - if strings.Contains(hostport, "]") { - return "" - } - return hostport[colon+len(":"):] + + return } // Marshaling interface implementations. diff --git a/src/net/url/url_test.go b/src/net/url/url_test.go index e6d6ef8a83..e83c86c424 100644 --- a/src/net/url/url_test.go +++ b/src/net/url/url_test.go @@ -422,10 +422,10 @@ var urltests = []URLTest{ }, // worst case host, still round trips { - "scheme://!$&'()*+,;=hello!:port/path", + "scheme://!$&'()*+,;=hello!:1/path", &URL{ Scheme: "scheme", - Host: "!$&'()*+,;=hello!:port", + Host: "!$&'()*+,;=hello!:1", Path: "/path", }, "", @@ -1425,11 +1425,13 @@ func TestParseErrors(t *testing.T) { {"http://[::1]", false}, {"http://[::1]:80", false}, {"http://[::1]:namedport", true}, // rfc3986 3.2.3 + {"http://x:namedport", true}, // rfc3986 3.2.3 {"http://[::1]/", false}, {"http://[::1]a", true}, {"http://[::1]%23", true}, {"http://[::1%25en0]", false}, // valid zone id {"http://[::1]:", false}, // colon, but no port OK + {"http://x:", false}, // colon, but no port OK {"http://[::1]:%38%30", true}, // not allowed: % encoding only for non-ASCII {"http://[::1%25%41]", false}, // RFC 6874 allows over-escaping in zone {"http://[%10::1]", true}, // no %xx escapes in IP address @@ -1621,52 +1623,46 @@ func TestURLErrorImplementsNetError(t *testing.T) { } } -func TestURLHostname(t *testing.T) { +func TestURLHostnameAndPort(t *testing.T) { tests := []struct { - host string // URL.Host field - want string + in string // URL.Host field + host string + port string }{ - {"foo.com:80", "foo.com"}, - {"foo.com", "foo.com"}, - {"FOO.COM", "FOO.COM"}, // no canonicalization (yet?) - {"1.2.3.4", "1.2.3.4"}, - {"1.2.3.4:80", "1.2.3.4"}, - {"[1:2:3:4]", "1:2:3:4"}, - {"[1:2:3:4]:80", "1:2:3:4"}, - {"[::1]:80", "::1"}, - {"[::1]", "::1"}, - {"localhost", "localhost"}, - {"localhost:443", "localhost"}, - {"some.super.long.domain.example.org:8080", "some.super.long.domain.example.org"}, - {"[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:17000", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"}, - {"[2001:0db8:85a3:0000:0000:8a2e:0370:7334]", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"}, - } - for _, tt := range tests { - u := &URL{Host: tt.host} - got := u.Hostname() - if got != tt.want { - t.Errorf("Hostname for Host %q = %q; want %q", tt.host, got, tt.want) - } - } -} + {"foo.com:80", "foo.com", "80"}, + {"foo.com", "foo.com", ""}, + {"foo.com:", "foo.com", ""}, + {"FOO.COM", "FOO.COM", ""}, // no canonicalization + {"1.2.3.4", "1.2.3.4", ""}, + {"1.2.3.4:80", "1.2.3.4", "80"}, + {"[1:2:3:4]", "1:2:3:4", ""}, + {"[1:2:3:4]:80", "1:2:3:4", "80"}, + {"[::1]:80", "::1", "80"}, + {"[::1]", "::1", ""}, + {"[::1]:", "::1", ""}, + {"localhost", "localhost", ""}, + {"localhost:443", "localhost", "443"}, + {"some.super.long.domain.example.org:8080", "some.super.long.domain.example.org", "8080"}, + {"[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:17000", "2001:0db8:85a3:0000:0000:8a2e:0370:7334", "17000"}, + {"[2001:0db8:85a3:0000:0000:8a2e:0370:7334]", "2001:0db8:85a3:0000:0000:8a2e:0370:7334", ""}, -func TestURLPort(t *testing.T) { - tests := []struct { - host string // URL.Host field - want string - }{ - {"foo.com", ""}, - {"foo.com:80", "80"}, - {"1.2.3.4", ""}, - {"1.2.3.4:80", "80"}, - {"[1:2:3:4]", ""}, - {"[1:2:3:4]:80", "80"}, + // Ensure that even when not valid, Host is one of "Hostname", + // "Hostname:Port", "[Hostname]" or "[Hostname]:Port". + // See https://golang.org/issue/29098. + {"[google.com]:80", "google.com", "80"}, + {"google.com]:80", "google.com]", "80"}, + {"google.com:80_invalid_port", "google.com:80_invalid_port", ""}, + {"[::1]extra]:80", "::1]extra", "80"}, + {"google.com]extra:extra", "google.com]extra:extra", ""}, } for _, tt := range tests { - u := &URL{Host: tt.host} - got := u.Port() - if got != tt.want { - t.Errorf("Port for Host %q = %q; want %q", tt.host, got, tt.want) + u := &URL{Host: tt.in} + host, port := u.Hostname(), u.Port() + if host != tt.host { + t.Errorf("Hostname for Host %q = %q; want %q", tt.in, host, tt.host) + } + if port != tt.port { + t.Errorf("Port for Host %q = %q; want %q", tt.in, port, tt.port) } } } diff --git a/src/os/dir.go b/src/os/dir.go index 6c54456a21..1d7ced8061 100644 --- a/src/os/dir.go +++ b/src/os/dir.go @@ -26,7 +26,10 @@ func (f *File) Readdir(n int) ([]FileInfo, error) { return f.readdir(n) } -// Readdirnames reads and returns a slice of names from the directory f. +// Readdirnames reads the contents of the directory associated with file +// and returns a slice of up to n names of files in the directory, +// in directory order. Subsequent calls on the same file will yield +// further names. // // If n > 0, Readdirnames returns at most n names. In this case, if // Readdirnames returns an empty slice, it will return a non-nil error diff --git a/src/os/error.go b/src/os/error.go index 0c2e6a7322..0e8e2d47f8 100644 --- a/src/os/error.go +++ b/src/os/error.go @@ -22,8 +22,6 @@ var ( ErrExist = errExist() // "file already exists" ErrNotExist = errNotExist() // "file does not exist" ErrClosed = errClosed() // "file already closed" - ErrTimeout = errTimeout() // "deadline exceeded" - ErrTemporary = errTemporary() // "temporary error" ErrNoDeadline = errNoDeadline() // "file type does not support deadline" ) @@ -32,8 +30,6 @@ func errPermission() error { return oserror.ErrPermission } func errExist() error { return oserror.ErrExist } func errNotExist() error { return oserror.ErrNotExist } func errClosed() error { return oserror.ErrClosed } -func errTimeout() error { return oserror.ErrTimeout } -func errTemporary() error { return oserror.ErrTemporary } func errNoDeadline() error { return poll.ErrNoDeadline } type timeout interface { @@ -119,7 +115,8 @@ func underlyingErrorIs(err, target error) bool { if err == target { return true } - e, ok := err.(interface{ Is(error) bool }) + // To preserve prior behavior, only examine syscall errors. + e, ok := err.(syscallErrorType) return ok && e.Is(target) } diff --git a/src/os/error_errno.go b/src/os/error_errno.go new file mode 100644 index 0000000000..31ae05a21e --- /dev/null +++ b/src/os/error_errno.go @@ -0,0 +1,11 @@ +// Copyright 2019 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. + +// +build !plan9 + +package os + +import "syscall" + +type syscallErrorType = syscall.Errno diff --git a/src/os/error_plan9.go b/src/os/error_plan9.go new file mode 100644 index 0000000000..af6065db56 --- /dev/null +++ b/src/os/error_plan9.go @@ -0,0 +1,9 @@ +// Copyright 2019 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 os + +import "syscall" + +type syscallErrorType = syscall.ErrorString diff --git a/src/os/error_test.go b/src/os/error_test.go index a03bd28b9a..3d921578fd 100644 --- a/src/os/error_test.go +++ b/src/os/error_test.go @@ -175,3 +175,13 @@ func TestPathErrorUnwrap(t *testing.T) { t.Error("errors.Is failed, wanted success") } } + +type myErrorIs struct{ error } + +func (e myErrorIs) Is(target error) bool { return target == e.error } + +func TestErrorIsMethods(t *testing.T) { + if os.IsPermission(myErrorIs{os.ErrPermission}) { + t.Error("os.IsPermission(err) = true when err.Is(os.ErrPermission), wanted false") + } +} diff --git a/src/os/file.go b/src/os/file.go index 96df3fb5e9..c13babe5f7 100644 --- a/src/os/file.go +++ b/src/os/file.go @@ -34,6 +34,10 @@ // } // fmt.Printf("read %d bytes: %q\n", count, data[:count]) // +// Note: The maximum number of concurrent operations on a File may be limited by +// the OS or the system. The number should be high, but exceeding it may degrade +// performance or cause other issues. +// package os import ( diff --git a/src/os/removeall_at.go b/src/os/removeall_at.go index 3098b93368..bc632f5a75 100644 --- a/src/os/removeall_at.go +++ b/src/os/removeall_at.go @@ -173,7 +173,7 @@ func openFdAt(dirfd int, name string) (*File, error) { var r int for { var e error - r, e = unix.Openat(dirfd, name, O_RDONLY, 0) + r, e = unix.Openat(dirfd, name, O_RDONLY|syscall.O_CLOEXEC, 0) if e == nil { break } diff --git a/src/os/signal/signal_cgo_test.go b/src/os/signal/signal_cgo_test.go index 075e8c11cb..3c23090489 100644 --- a/src/os/signal/signal_cgo_test.go +++ b/src/os/signal/signal_cgo_test.go @@ -101,17 +101,6 @@ func TestTerminalSignal(t *testing.T) { Ctty: int(slave.Fd()), } - // Test ctty management by sending enough child fd to overlap the - // parent's fd intended for child's ctty. - for 2+len(cmd.ExtraFiles) < cmd.SysProcAttr.Ctty { - dummy, err := os.Open(os.DevNull) - if err != nil { - t.Fatal(err) - } - defer dummy.Close() - cmd.ExtraFiles = append(cmd.ExtraFiles, dummy) - } - if err := cmd.Start(); err != nil { t.Fatal(err) } diff --git a/src/path/path_test.go b/src/path/path_test.go index 85b2450a62..2a3635300e 100644 --- a/src/path/path_test.go +++ b/src/path/path_test.go @@ -138,7 +138,7 @@ var jointests = []JoinTest{ func TestJoin(t *testing.T) { for _, test := range jointests { if p := Join(test.elem...); p != test.path { - t.Errorf("join(%q) = %q, want %q", test.elem, p, test.path) + t.Errorf("Join(%q) = %q, want %q", test.elem, p, test.path) } } } diff --git a/src/reflect/all_test.go b/src/reflect/all_test.go index 0dbf4c5e87..4431ce2391 100644 --- a/src/reflect/all_test.go +++ b/src/reflect/all_test.go @@ -2057,6 +2057,16 @@ func (p Point) TotalDist(points ...Point) int { return tot } +// This will be index 5. +func (p *Point) Int64Method(x int64) int64 { + return x +} + +// This will be index 6. +func (p *Point) Int32Method(x int32) int32 { + return x +} + func TestMethod(t *testing.T) { // Non-curried method of type. p := Point{3, 4} @@ -2265,6 +2275,17 @@ func TestMethodValue(t *testing.T) { if i != 425 { t.Errorf("Interface MethodByName returned %d; want 425", i) } + + // For issue #33628: method args are not stored at the right offset + // on amd64p32. + m64 := ValueOf(&p).MethodByName("Int64Method").Interface().(func(int64) int64) + if x := m64(123); x != 123 { + t.Errorf("Int64Method returned %d; want 123", x) + } + m32 := ValueOf(&p).MethodByName("Int32Method").Interface().(func(int32) int32) + if x := m32(456); x != 456 { + t.Errorf("Int32Method returned %d; want 456", x) + } } func TestVariadicMethodValue(t *testing.T) { diff --git a/src/reflect/type.go b/src/reflect/type.go index 7aafc505bd..4afe634bbf 100644 --- a/src/reflect/type.go +++ b/src/reflect/type.go @@ -871,8 +871,12 @@ func hasPrefix(s, prefix string) bool { return len(s) >= len(prefix) && s[:len(prefix)] == prefix } +func (t *rtype) hasName() bool { + return t.tflag&tflagNamed != 0 +} + func (t *rtype) Name() string { - if t.tflag&tflagNamed == 0 { + if !t.hasName() { return "" } s := t.String() @@ -1563,7 +1567,7 @@ func directlyAssignable(T, V *rtype) bool { // Otherwise at least one of T and V must not be defined // and they must have the same kind. - if T.Name() != "" && V.Name() != "" || T.Kind() != V.Kind() { + if T.hasName() && V.hasName() || T.Kind() != V.Kind() { return false } diff --git a/src/reflect/value.go b/src/reflect/value.go index 218b4d25cc..9ea95bc1d9 100644 --- a/src/reflect/value.go +++ b/src/reflect/value.go @@ -696,10 +696,16 @@ func callMethod(ctxt *methodValue, frame unsafe.Pointer, retValid *bool) { scratch := framePool.Get().(unsafe.Pointer) // Copy in receiver and rest of args. - // Avoid constructing out-of-bounds pointers if there are no args. storeRcvr(rcvr, scratch) - if argSize-ptrSize > 0 { - typedmemmovepartial(frametype, add(scratch, ptrSize, "argSize > ptrSize"), frame, ptrSize, argSize-ptrSize) + // Align the first arg. Only on amd64p32 the alignment can be + // larger than ptrSize. + argOffset := uintptr(ptrSize) + if len(t.in()) > 0 { + argOffset = align(argOffset, uintptr(t.in()[0].align)) + } + // Avoid constructing out-of-bounds pointers if there are no args. + if argSize-argOffset > 0 { + typedmemmovepartial(frametype, add(scratch, argOffset, "argSize > argOffset"), frame, argOffset, argSize-argOffset) } // Call. @@ -714,9 +720,9 @@ func callMethod(ctxt *methodValue, frame unsafe.Pointer, retValid *bool) { // Ignore any changes to args and just copy return values. // Avoid constructing out-of-bounds pointers if there are no return values. if frametype.size-retOffset > 0 { - callerRetOffset := retOffset - ptrSize + callerRetOffset := retOffset - argOffset if runtime.GOARCH == "amd64p32" { - callerRetOffset = align(argSize-ptrSize, 8) + callerRetOffset = align(argSize-argOffset, 8) } // This copies to the stack. Write barriers are not needed. memmove(add(frame, callerRetOffset, "frametype.size > retOffset"), diff --git a/src/runtime/cgo/cgo.go b/src/runtime/cgo/cgo.go index eb11c0e100..5a2b5e4271 100644 --- a/src/runtime/cgo/cgo.go +++ b/src/runtime/cgo/cgo.go @@ -21,6 +21,7 @@ package cgo #cgo netbsd LDFLAGS: -lpthread #cgo openbsd LDFLAGS: -lpthread #cgo aix LDFLAGS: -Wl,-berok +#cgo solaris LDFLAGS: -lxnet #cgo CFLAGS: -Wall -Werror diff --git a/src/runtime/cpuprof.go b/src/runtime/cpuprof.go index 81038f5c48..9bfdfe7c74 100644 --- a/src/runtime/cpuprof.go +++ b/src/runtime/cpuprof.go @@ -36,9 +36,10 @@ type cpuProfile struct { // 300 words per second. // Hopefully a normal Go thread will get the profiling // signal at least once every few seconds. - extra [1000]uintptr - numExtra int - lostExtra uint64 // count of frames lost because extra is full + extra [1000]uintptr + numExtra int + lostExtra uint64 // count of frames lost because extra is full + lostAtomic uint64 // count of frames lost because of being in atomic64 on mips/arm; updated racily } var cpuprof cpuProfile @@ -94,7 +95,7 @@ func (p *cpuProfile) add(gp *g, stk []uintptr) { } if prof.hz != 0 { // implies cpuprof.log != nil - if p.numExtra > 0 || p.lostExtra > 0 { + if p.numExtra > 0 || p.lostExtra > 0 || p.lostAtomic > 0 { p.addExtra() } hdr := [1]uint64{1} @@ -159,18 +160,20 @@ func (p *cpuProfile) addExtra() { funcPC(_LostExternalCode) + sys.PCQuantum, funcPC(_ExternalCode) + sys.PCQuantum, } - cpuprof.log.write(nil, 0, hdr[:], lostStk[:]) + p.log.write(nil, 0, hdr[:], lostStk[:]) p.lostExtra = 0 } -} -func (p *cpuProfile) addLostAtomic64(count uint64) { - hdr := [1]uint64{count} - lostStk := [2]uintptr{ - funcPC(_LostSIGPROFDuringAtomic64) + sys.PCQuantum, - funcPC(_System) + sys.PCQuantum, + if p.lostAtomic > 0 { + hdr := [1]uint64{p.lostAtomic} + lostStk := [2]uintptr{ + funcPC(_LostSIGPROFDuringAtomic64) + sys.PCQuantum, + funcPC(_System) + sys.PCQuantum, + } + p.log.write(nil, 0, hdr[:], lostStk[:]) + p.lostAtomic = 0 } - cpuprof.log.write(nil, 0, hdr[:], lostStk[:]) + } // CPUProfile panics. diff --git a/src/runtime/defs_darwin.go b/src/runtime/defs_darwin.go index 61ae7a4186..0cd133f6e0 100644 --- a/src/runtime/defs_darwin.go +++ b/src/runtime/defs_darwin.go @@ -116,7 +116,11 @@ const ( PTHREAD_CREATE_DETACHED = C.PTHREAD_CREATE_DETACHED F_SETFD = C.F_SETFD + F_GETFL = C.F_GETFL + F_SETFL = C.F_SETFL FD_CLOEXEC = C.FD_CLOEXEC + + O_NONBLOCK = C.O_NONBLOCK ) type StackT C.struct_sigaltstack diff --git a/src/runtime/defs_darwin_386.go b/src/runtime/defs_darwin_386.go index 43dc08a078..83928e7841 100644 --- a/src/runtime/defs_darwin_386.go +++ b/src/runtime/defs_darwin_386.go @@ -94,7 +94,11 @@ const ( _PTHREAD_CREATE_DETACHED = 0x2 _F_SETFD = 0x2 + _F_GETFL = 0x3 + _F_SETFL = 0x4 _FD_CLOEXEC = 0x1 + + _O_NONBLOCK = 4 ) type stackt struct { diff --git a/src/runtime/defs_darwin_amd64.go b/src/runtime/defs_darwin_amd64.go index 59b0effa13..45c34a8fc0 100644 --- a/src/runtime/defs_darwin_amd64.go +++ b/src/runtime/defs_darwin_amd64.go @@ -94,7 +94,11 @@ const ( _PTHREAD_CREATE_DETACHED = 0x2 _F_SETFD = 0x2 + _F_GETFL = 0x3 + _F_SETFL = 0x4 _FD_CLOEXEC = 0x1 + + _O_NONBLOCK = 4 ) type stackt struct { diff --git a/src/runtime/defs_darwin_arm.go b/src/runtime/defs_darwin_arm.go index 243f52a5df..5e2af978a7 100644 --- a/src/runtime/defs_darwin_arm.go +++ b/src/runtime/defs_darwin_arm.go @@ -96,7 +96,11 @@ const ( _PTHREAD_CREATE_DETACHED = 0x2 _F_SETFD = 0x2 + _F_GETFL = 0x3 + _F_SETFL = 0x4 _FD_CLOEXEC = 0x1 + + _O_NONBLOCK = 4 ) type stackt struct { diff --git a/src/runtime/defs_darwin_arm64.go b/src/runtime/defs_darwin_arm64.go index 7056074f46..f673eb7b24 100644 --- a/src/runtime/defs_darwin_arm64.go +++ b/src/runtime/defs_darwin_arm64.go @@ -94,7 +94,11 @@ const ( _PTHREAD_CREATE_DETACHED = 0x2 _F_SETFD = 0x2 + _F_GETFL = 0x3 + _F_SETFL = 0x4 _FD_CLOEXEC = 0x1 + + _O_NONBLOCK = 4 ) type stackt struct { diff --git a/src/runtime/duff_arm64.s b/src/runtime/duff_arm64.s index 3739c3945a..128b076af9 100644 --- a/src/runtime/duff_arm64.s +++ b/src/runtime/duff_arm64.s @@ -5,263 +5,263 @@ #include "textflag.h" TEXT runtime·duffzero(SB), NOSPLIT|NOFRAME, $0-0 - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP.P (ZR, ZR), 16(R16) - STP (ZR, ZR), (R16) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP.P (ZR, ZR), 16(R20) + STP (ZR, ZR), (R20) RET TEXT runtime·duffcopy(SB), NOSPLIT|NOFRAME, $0-0 - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) - LDP.P 16(R16), (R26, R27) - STP.P (R26, R27), 16(R17) + LDP.P 16(R20), (R26, R27) + STP.P (R26, R27), 16(R21) RET diff --git a/src/runtime/export_test.go b/src/runtime/export_test.go index 62b7730c44..6009932056 100644 --- a/src/runtime/export_test.go +++ b/src/runtime/export_test.go @@ -681,3 +681,37 @@ func (t *Treap) CheckInvariants() { t.mTreap.treap.walkTreap(checkTreapNode) t.mTreap.treap.validateInvariants() } + +func RunGetgThreadSwitchTest() { + // Test that getg works correctly with thread switch. + // With gccgo, if we generate getg inlined, the backend + // may cache the address of the TLS variable, which + // will become invalid after a thread switch. This test + // checks that the bad caching doesn't happen. + + ch := make(chan int) + go func(ch chan int) { + ch <- 5 + LockOSThread() + }(ch) + + g1 := getg() + + // Block on a receive. This is likely to get us a thread + // switch. If we yield to the sender goroutine, it will + // lock the thread, forcing us to resume on a different + // thread. + <-ch + + g2 := getg() + if g1 != g2 { + panic("g1 != g2") + } + + // Also test getg after some control flow, as the + // backend is sensitive to control flow. + g3 := getg() + if g1 != g3 { + panic("g1 != g3") + } +} diff --git a/src/runtime/malloc.go b/src/runtime/malloc.go index 98c028944f..d768054198 100644 --- a/src/runtime/malloc.go +++ b/src/runtime/malloc.go @@ -325,12 +325,21 @@ const ( var physPageSize uintptr // physHugePageSize is the size in bytes of the OS's default physical huge -// page size whose allocation is opaque to the application. +// page size whose allocation is opaque to the application. It is assumed +// and verified to be a power of two. // // If set, this must be set by the OS init code (typically in osinit) before // mallocinit. However, setting it at all is optional, and leaving the default // value is always safe (though potentially less efficient). -var physHugePageSize uintptr +// +// Since physHugePageSize is always assumed to be a power of two, +// physHugePageShift is defined as physHugePageSize == 1 << physHugePageShift. +// The purpose of physHugePageShift is to avoid doing divisions in +// performance critical functions. +var ( + physHugePageSize uintptr + physHugePageShift uint +) // OS memory management abstraction layer // @@ -432,6 +441,17 @@ func mallocinit() { print("system page size (", physPageSize, ") must be a power of 2\n") throw("bad system page size") } + if physHugePageSize&(physHugePageSize-1) != 0 { + print("system huge page size (", physHugePageSize, ") must be a power of 2\n") + throw("bad system huge page size") + } + if physHugePageSize != 0 { + // Since physHugePageSize is a power of 2, it suffices to increase + // physHugePageShift until 1< 0 { - if rate != 1 && int32(size) < c.next_sample { - c.next_sample -= int32(size) + if rate != 1 && size < c.next_sample { + c.next_sample -= size } else { mp := acquirem() profilealloc(mp, x, size) @@ -1155,7 +1190,7 @@ func profilealloc(mp *m, x unsafe.Pointer, size uintptr) { // processes, the distance between two samples follows the exponential // distribution (exp(MemProfileRate)), so the best return value is a random // number taken from an exponential distribution whose mean is MemProfileRate. -func nextSample() int32 { +func nextSample() uintptr { if GOOS == "plan9" { // Plan 9 doesn't support floating point in note handler. if g := getg(); g == g.m.gsignal { @@ -1163,7 +1198,7 @@ func nextSample() int32 { } } - return fastexprand(MemProfileRate) + return uintptr(fastexprand(MemProfileRate)) } // fastexprand returns a random number from an exponential distribution with @@ -1198,14 +1233,14 @@ func fastexprand(mean int) int32 { // nextSampleNoFP is similar to nextSample, but uses older, // simpler code to avoid floating point. -func nextSampleNoFP() int32 { +func nextSampleNoFP() uintptr { // Set first allocation sample size. rate := MemProfileRate if rate > 0x3fffffff { // make 2*rate not overflow rate = 0x3fffffff } if rate != 0 { - return int32(fastrand() % uint32(2*rate)) + return uintptr(fastrand() % uint32(2*rate)) } return 0 } diff --git a/src/runtime/mcache.go b/src/runtime/mcache.go index 0cb21f7190..d4fa9a012d 100644 --- a/src/runtime/mcache.go +++ b/src/runtime/mcache.go @@ -19,7 +19,7 @@ import ( type mcache struct { // The following members are accessed on every malloc, // so they are grouped here for better caching. - next_sample int32 // trigger heap sample after allocating this many bytes + next_sample uintptr // trigger heap sample after allocating this many bytes local_scan uintptr // bytes of scannable heap allocated // Allocator cache for tiny objects w/o pointers. diff --git a/src/runtime/mem_linux.go b/src/runtime/mem_linux.go index cda2c78eaf..524915fb31 100644 --- a/src/runtime/mem_linux.go +++ b/src/runtime/mem_linux.go @@ -68,11 +68,11 @@ func sysUnused(v unsafe.Pointer, n uintptr) { // flag on the huge pages containing v and v+n-1, and // only if those aren't aligned. var head, tail uintptr - if uintptr(v)%physHugePageSize != 0 { + if uintptr(v)&(physHugePageSize-1) != 0 { // Compute huge page containing v. head = uintptr(v) &^ (physHugePageSize - 1) } - if (uintptr(v)+n)%physHugePageSize != 0 { + if (uintptr(v)+n)&(physHugePageSize-1) != 0 { // Compute huge page containing v+n-1. tail = (uintptr(v) + n - 1) &^ (physHugePageSize - 1) } diff --git a/src/runtime/mgcscavenge.go b/src/runtime/mgcscavenge.go index 151c84e996..45a9eb2b2a 100644 --- a/src/runtime/mgcscavenge.go +++ b/src/runtime/mgcscavenge.go @@ -130,7 +130,7 @@ func gcPaceScavenger() { if physHugePageSize != 0 { // Start by computing the amount of free memory we have in huge pages // in total. Trivially, this is all the huge page work we need to do. - hugeWork := uint64(mheap_.free.unscavHugePages * physHugePageSize) + hugeWork := uint64(mheap_.free.unscavHugePages) << physHugePageShift // ...but it could turn out that there's more huge work to do than // total work, so cap it at total work. This might happen for very large @@ -138,14 +138,14 @@ func gcPaceScavenger() { // that there are free chunks of memory larger than a huge page that we don't want // to scavenge. if hugeWork >= totalWork { - hugePages := totalWork / uint64(physHugePageSize) - hugeWork = hugePages * uint64(physHugePageSize) + hugePages := totalWork >> physHugePageShift + hugeWork = hugePages << physHugePageShift } // Everything that's not huge work is regular work. At this point we // know huge work so we can calculate how much time that will take // based on scavengePageRate (which applies to pages of any size). regularWork = totalWork - hugeWork - hugeTime = hugeWork / uint64(physHugePageSize) * scavengeHugePagePeriod + hugeTime = (hugeWork >> physHugePageShift) * scavengeHugePagePeriod } // Finally, we can compute how much time it'll take to do the regular work // and the total time to do all the work. diff --git a/src/runtime/mheap.go b/src/runtime/mheap.go index af2818a2bd..706603aba4 100644 --- a/src/runtime/mheap.go +++ b/src/runtime/mheap.go @@ -514,11 +514,13 @@ func (h *mheap) coalesce(s *mspan) { h.free.insert(other) } - hpBefore := s.hugePages() + hpMiddle := s.hugePages() // Coalesce with earlier, later spans. + var hpBefore uintptr if before := spanOf(s.base() - 1); before != nil && before.state == mSpanFree { if s.scavenged == before.scavenged { + hpBefore = before.hugePages() merge(before, s, before) } else { realign(before, s, before) @@ -526,23 +528,29 @@ func (h *mheap) coalesce(s *mspan) { } // Now check to see if next (greater addresses) span is free and can be coalesced. + var hpAfter uintptr if after := spanOf(s.base() + s.npages*pageSize); after != nil && after.state == mSpanFree { if s.scavenged == after.scavenged { + hpAfter = after.hugePages() merge(s, after, after) } else { realign(s, after, after) } } - - if !s.scavenged && s.hugePages() > hpBefore { + if !s.scavenged && s.hugePages() > hpBefore+hpMiddle+hpAfter { // If s has grown such that it now may contain more huge pages than it - // did before, then mark the whole region as huge-page-backable. + // and its now-coalesced neighbors did before, then mark the whole region + // as huge-page-backable. // // Otherwise, on systems where we break up huge pages (like Linux) // s may not be backed by huge pages because it could be made up of // pieces which are broken up in the underlying VMA. The primary issue // with this is that it can lead to a poor estimate of the amount of // free memory backed by huge pages for determining the scavenging rate. + // + // TODO(mknyszek): Measure the performance characteristics of sysHugePage + // and determine whether it makes sense to only sysHugePage on the pages + // that matter, or if it's better to just mark the whole region. sysHugePage(unsafe.Pointer(s.base()), s.npages*pageSize) } } @@ -561,7 +569,7 @@ func (s *mspan) hugePages() uintptr { end &^= physHugePageSize - 1 } if start < end { - return (end - start) / physHugePageSize + return (end - start) >> physHugePageShift } return 0 } diff --git a/src/runtime/mkduff.go b/src/runtime/mkduff.go index b7c7e2689c..b6fe701497 100644 --- a/src/runtime/mkduff.go +++ b/src/runtime/mkduff.go @@ -151,26 +151,26 @@ func copyARM(w io.Writer) { func zeroARM64(w io.Writer) { // ZR: always zero - // R16 (aka REGRT1): ptr to memory to be zeroed - // On return, R16 points to the last zeroed dword. + // R20: ptr to memory to be zeroed + // On return, R20 points to the last zeroed dword. fmt.Fprintln(w, "TEXT runtime·duffzero(SB), NOSPLIT|NOFRAME, $0-0") for i := 0; i < 63; i++ { - fmt.Fprintln(w, "\tSTP.P\t(ZR, ZR), 16(R16)") + fmt.Fprintln(w, "\tSTP.P\t(ZR, ZR), 16(R20)") } - fmt.Fprintln(w, "\tSTP\t(ZR, ZR), (R16)") + fmt.Fprintln(w, "\tSTP\t(ZR, ZR), (R20)") fmt.Fprintln(w, "\tRET") } func copyARM64(w io.Writer) { - // R16 (aka REGRT1): ptr to source memory - // R17 (aka REGRT2): ptr to destination memory + // R20: ptr to source memory + // R21: ptr to destination memory // R26, R27 (aka REGTMP): scratch space - // R16 and R17 are updated as a side effect + // R20 and R21 are updated as a side effect fmt.Fprintln(w, "TEXT runtime·duffcopy(SB), NOSPLIT|NOFRAME, $0-0") for i := 0; i < 64; i++ { - fmt.Fprintln(w, "\tLDP.P\t16(R16), (R26, R27)") - fmt.Fprintln(w, "\tSTP.P\t(R26, R27), 16(R17)") + fmt.Fprintln(w, "\tLDP.P\t16(R20), (R26, R27)") + fmt.Fprintln(w, "\tSTP.P\t(R26, R27), 16(R21)") fmt.Fprintln(w) } fmt.Fprintln(w, "\tRET") diff --git a/src/runtime/os_darwin.go b/src/runtime/os_darwin.go index 4b6dbf6427..1614b66c8a 100644 --- a/src/runtime/os_darwin.go +++ b/src/runtime/os_darwin.go @@ -7,7 +7,10 @@ package runtime import "unsafe" type mOS struct { - sema uintptr + initialized bool + mutex pthreadmutex + cond pthreadcond + count int } func unimplemented(name string) { @@ -17,32 +20,105 @@ func unimplemented(name string) { //go:nosplit func semacreate(mp *m) { - if mp.sema == 0 { - mp.sema = dispatch_semaphore_create(0) + if mp.initialized { + return + } + mp.initialized = true + if err := pthread_mutex_init(&mp.mutex, nil); err != 0 { + throw("pthread_mutex_init") + } + if err := pthread_cond_init(&mp.cond, nil); err != 0 { + throw("pthread_cond_init") } } -const ( - _DISPATCH_TIME_NOW = uint64(0) - _DISPATCH_TIME_FOREVER = ^uint64(0) -) - //go:nosplit func semasleep(ns int64) int32 { - mp := getg().m - t := _DISPATCH_TIME_FOREVER + var start int64 if ns >= 0 { - t = dispatch_time(_DISPATCH_TIME_NOW, ns) + start = nanotime() } - if dispatch_semaphore_wait(mp.sema, t) != 0 { - return -1 + mp := getg().m + pthread_mutex_lock(&mp.mutex) + for { + if mp.count > 0 { + mp.count-- + pthread_mutex_unlock(&mp.mutex) + return 0 + } + if ns >= 0 { + spent := nanotime() - start + if spent >= ns { + pthread_mutex_unlock(&mp.mutex) + return -1 + } + var t timespec + t.setNsec(ns - spent) + err := pthread_cond_timedwait_relative_np(&mp.cond, &mp.mutex, &t) + if err == _ETIMEDOUT { + pthread_mutex_unlock(&mp.mutex) + return -1 + } + } else { + pthread_cond_wait(&mp.cond, &mp.mutex) + } } - return 0 } //go:nosplit func semawakeup(mp *m) { - dispatch_semaphore_signal(mp.sema) + pthread_mutex_lock(&mp.mutex) + mp.count++ + if mp.count > 0 { + pthread_cond_signal(&mp.cond) + } + pthread_mutex_unlock(&mp.mutex) +} + +// The read and write file descriptors used by the sigNote functions. +var sigNoteRead, sigNoteWrite int32 + +// sigNoteSetup initializes an async-signal-safe note. +// +// The current implementation of notes on Darwin is not async-signal-safe, +// because the functions pthread_mutex_lock, pthread_cond_signal, and +// pthread_mutex_unlock, called by semawakeup, are not async-signal-safe. +// There is only one case where we need to wake up a note from a signal +// handler: the sigsend function. The signal handler code does not require +// all the features of notes: it does not need to do a timed wait. +// This is a separate implementation of notes, based on a pipe, that does +// not support timed waits but is async-signal-safe. +func sigNoteSetup(*note) { + if sigNoteRead != 0 || sigNoteWrite != 0 { + throw("duplicate sigNoteSetup") + } + var errno int32 + sigNoteRead, sigNoteWrite, errno = pipe() + if errno != 0 { + throw("pipe failed") + } + closeonexec(sigNoteRead) + closeonexec(sigNoteWrite) + + // Make the write end of the pipe non-blocking, so that if the pipe + // buffer is somehow full we will not block in the signal handler. + // Leave the read end of the pipe blocking so that we will block + // in sigNoteSleep. + setNonblock(sigNoteWrite) +} + +// sigNoteWakeup wakes up a thread sleeping on a note created by sigNoteSetup. +func sigNoteWakeup(*note) { + var b byte + write(uintptr(sigNoteWrite), unsafe.Pointer(&b), 1) +} + +// sigNoteSleep waits for a note created by sigNoteSetup to be woken. +func sigNoteSleep(*note) { + entersyscallblock() + var b byte + read(sigNoteRead, unsafe.Pointer(&b), 1) + exitsyscall() } // BSD interface for threading. diff --git a/src/runtime/panic.go b/src/runtime/panic.go index ce26eb540d..5f33cd7c0c 100644 --- a/src/runtime/panic.go +++ b/src/runtime/panic.go @@ -29,13 +29,24 @@ func panicCheck1(pc uintptr, msg string) { } // Same as above, but calling from the runtime is allowed. +// +// Using this function is necessary for any panic that may be +// generated by runtime.sigpanic, since those are always called by the +// runtime. func panicCheck2(err string) { + // panic allocates, so to avoid recursive malloc, turn panics + // during malloc into throws. gp := getg() if gp != nil && gp.m != nil && gp.m.mallocing != 0 { throw(err) } } +// Many of the following panic entry-points turn into throws when they +// happen in various runtime contexts. These should never happen in +// the runtime, and if they do, they indicate a serious issue and +// should not be caught by user code. +// // The panic{Index,Slice,divide,shift} functions are called by // code generated by the compiler for out of bounds index expressions, // out of bounds slice expressions, division by zero, and shift by negative. @@ -49,6 +60,11 @@ func panicCheck2(err string) { // runtime package we turn the panic into a throw. That will dump the // entire runtime stack for easier debugging. // +// The entry points called by the signal handler will be called from +// runtime.sigpanic, so we can't disallow calls from the runtime to +// these (they always look like they're called from the runtime). +// Hence, for these, we just check for clearly bad runtime conditions. +// // The panic{Index,Slice} functions are implemented in assembly and tail call // to the goPanic{Index,Slice} functions below. This is done so we can use // a space-minimal register calling convention. diff --git a/src/runtime/pprof/runtime.go b/src/runtime/pprof/runtime.go index e6aace83e2..b71bbad9a6 100644 --- a/src/runtime/pprof/runtime.go +++ b/src/runtime/pprof/runtime.go @@ -16,6 +16,7 @@ func runtime_setProfLabel(labels unsafe.Pointer) func runtime_getProfLabel() unsafe.Pointer // SetGoroutineLabels sets the current goroutine's labels to match ctx. +// A new goroutine inherits the labels of the goroutine that created it. // This is a lower-level API than Do, which should be used instead when possible. func SetGoroutineLabels(ctx context.Context) { ctxLabels, _ := ctx.Value(labelContextKey{}).(*labelMap) @@ -24,6 +25,7 @@ func SetGoroutineLabels(ctx context.Context) { // Do calls f with a copy of the parent context with the // given labels added to the parent's label map. +// Goroutines spawned while executing f will inherit the augmented label-set. // Each key/value pair in labels is inserted into the label map in the // order provided, overriding any previous value for the same key. // The augmented label map will be set for the duration of the call to f diff --git a/src/runtime/proc.go b/src/runtime/proc.go index b5cf9d442d..df98783385 100644 --- a/src/runtime/proc.go +++ b/src/runtime/proc.go @@ -413,7 +413,7 @@ func releaseSudog(s *sudog) { // use the result as an address at which to start executing code. //go:nosplit func funcPC(f interface{}) uintptr { - return **(**uintptr)(add(unsafe.Pointer(&f), sys.PtrSize)) + return *(*uintptr)(efaceOf(&f).data) } // called from assembly @@ -3253,14 +3253,14 @@ func newproc(siz int32, fn *funcval) { gp := getg() pc := getcallerpc() systemstack(func() { - newproc1(fn, (*uint8)(argp), siz, gp, pc) + newproc1(fn, argp, siz, gp, pc) }) } // Create a new g running fn with narg bytes of arguments starting // at argp. callerpc is the address of the go statement that created // this. The new g is put on the queue of g's waiting to run. -func newproc1(fn *funcval, argp *uint8, narg int32, callergp *g, callerpc uintptr) { +func newproc1(fn *funcval, argp unsafe.Pointer, narg int32, callergp *g, callerpc uintptr) { _g_ := getg() if fn == nil { @@ -3305,7 +3305,7 @@ func newproc1(fn *funcval, argp *uint8, narg int32, callergp *g, callerpc uintpt spArg += sys.MinFrameSize } if narg > 0 { - memmove(unsafe.Pointer(spArg), unsafe.Pointer(argp), uintptr(narg)) + memmove(unsafe.Pointer(spArg), argp, uintptr(narg)) // This is a stack-to-stack copy. If write barriers // are enabled and the source stack is grey (the // destination is always black), then perform a @@ -3634,9 +3634,6 @@ func _GC() { _GC() } func _LostSIGPROFDuringAtomic64() { _LostSIGPROFDuringAtomic64() } func _VDSO() { _VDSO() } -// Counts SIGPROFs received while in atomic64 critical section, on mips{,le} -var lostAtomic64Count uint64 - // Called if we receive a SIGPROF signal. // Called by the signal handler, may run during STW. //go:nowritebarrierrec @@ -3654,7 +3651,7 @@ func sigprof(pc, sp, lr uintptr, gp *g, mp *m) { if GOARCH == "mips" || GOARCH == "mipsle" || GOARCH == "arm" { if f := findfunc(pc); f.valid() { if hasPrefix(funcname(f), "runtime/internal/atomic") { - lostAtomic64Count++ + cpuprof.lostAtomic++ return } } @@ -3794,10 +3791,6 @@ func sigprof(pc, sp, lr uintptr, gp *g, mp *m) { } if prof.hz != 0 { - if (GOARCH == "mips" || GOARCH == "mipsle" || GOARCH == "arm") && lostAtomic64Count > 0 { - cpuprof.addLostAtomic64(lostAtomic64Count) - lostAtomic64Count = 0 - } cpuprof.add(gp, stk[:n]) } getg().m.mallocing-- diff --git a/src/runtime/proc_test.go b/src/runtime/proc_test.go index 09b0652bee..6e6272e80a 100644 --- a/src/runtime/proc_test.go +++ b/src/runtime/proc_test.go @@ -977,3 +977,7 @@ func TestPreemptionAfterSyscall(t *testing.T) { }) } } + +func TestGetgThreadSwitch(t *testing.T) { + runtime.RunGetgThreadSwitchTest() +} diff --git a/src/runtime/sigqueue.go b/src/runtime/sigqueue.go index a425433b20..b2ebb2b457 100644 --- a/src/runtime/sigqueue.go +++ b/src/runtime/sigqueue.go @@ -105,6 +105,10 @@ Send: break Send case sigReceiving: if atomic.Cas(&sig.state, sigReceiving, sigIdle) { + if GOOS == "darwin" { + sigNoteWakeup(&sig.note) + break Send + } notewakeup(&sig.note) break Send } @@ -136,6 +140,10 @@ func signal_recv() uint32 { throw("signal_recv: inconsistent state") case sigIdle: if atomic.Cas(&sig.state, sigIdle, sigReceiving) { + if GOOS == "darwin" { + sigNoteSleep(&sig.note) + break Receive + } notetsleepg(&sig.note, -1) noteclear(&sig.note) break Receive @@ -188,6 +196,10 @@ func signal_enable(s uint32) { // to use for initialization. It does not pass // signal information in m. sig.inuse = true // enable reception of signals; cannot disable + if GOOS == "darwin" { + sigNoteSetup(&sig.note) + return + } noteclear(&sig.note) return } diff --git a/src/runtime/sigqueue_note.go b/src/runtime/sigqueue_note.go new file mode 100644 index 0000000000..16aeeb2ef0 --- /dev/null +++ b/src/runtime/sigqueue_note.go @@ -0,0 +1,25 @@ +// Copyright 2019 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. + +// The current implementation of notes on Darwin is not async-signal-safe, +// so on Darwin the sigqueue code uses different functions to wake up the +// signal_recv thread. This file holds the non-Darwin implementations of +// those functions. These functions will never be called. + +// +build !darwin +// +build !plan9 + +package runtime + +func sigNoteSetup(*note) { + throw("sigNoteSetup") +} + +func sigNoteSleep(*note) { + throw("sigNoteSleep") +} + +func sigNoteWakeup(*note) { + throw("sigNoteWakeup") +} diff --git a/src/runtime/sys_darwin.go b/src/runtime/sys_darwin.go index 2aaa0f8546..376f76dbc5 100644 --- a/src/runtime/sys_darwin.go +++ b/src/runtime/sys_darwin.go @@ -197,6 +197,13 @@ func read(fd int32, p unsafe.Pointer, n int32) int32 { } func read_trampoline() +func pipe() (r, w int32, errno int32) { + var p [2]int32 + errno = libcCall(unsafe.Pointer(funcPC(pipe_trampoline)), noescape(unsafe.Pointer(&p))) + return p[0], p[1], errno +} +func pipe_trampoline() + //go:nosplit //go:cgo_unsafe_args func closefd(fd int32) int32 { @@ -339,33 +346,52 @@ func kevent_trampoline() //go:nosplit //go:cgo_unsafe_args -func dispatch_semaphore_create(val int) (sema uintptr) { - libcCall(unsafe.Pointer(funcPC(dispatch_semaphore_create_trampoline)), unsafe.Pointer(&val)) - return +func pthread_mutex_init(m *pthreadmutex, attr *pthreadmutexattr) int32 { + return libcCall(unsafe.Pointer(funcPC(pthread_mutex_init_trampoline)), unsafe.Pointer(&m)) } -func dispatch_semaphore_create_trampoline() +func pthread_mutex_init_trampoline() //go:nosplit //go:cgo_unsafe_args -func dispatch_semaphore_wait(sema uintptr, t uint64) int32 { - return libcCall(unsafe.Pointer(funcPC(dispatch_semaphore_wait_trampoline)), unsafe.Pointer(&sema)) +func pthread_mutex_lock(m *pthreadmutex) int32 { + return libcCall(unsafe.Pointer(funcPC(pthread_mutex_lock_trampoline)), unsafe.Pointer(&m)) } -func dispatch_semaphore_wait_trampoline() +func pthread_mutex_lock_trampoline() //go:nosplit //go:cgo_unsafe_args -func dispatch_semaphore_signal(sema uintptr) { - libcCall(unsafe.Pointer(funcPC(dispatch_semaphore_signal_trampoline)), unsafe.Pointer(&sema)) +func pthread_mutex_unlock(m *pthreadmutex) int32 { + return libcCall(unsafe.Pointer(funcPC(pthread_mutex_unlock_trampoline)), unsafe.Pointer(&m)) } -func dispatch_semaphore_signal_trampoline() +func pthread_mutex_unlock_trampoline() //go:nosplit //go:cgo_unsafe_args -func dispatch_time(base uint64, delta int64) (result uint64) { - libcCall(unsafe.Pointer(funcPC(dispatch_time_trampoline)), unsafe.Pointer(&base)) - return +func pthread_cond_init(c *pthreadcond, attr *pthreadcondattr) int32 { + return libcCall(unsafe.Pointer(funcPC(pthread_cond_init_trampoline)), unsafe.Pointer(&c)) } -func dispatch_time_trampoline() +func pthread_cond_init_trampoline() + +//go:nosplit +//go:cgo_unsafe_args +func pthread_cond_wait(c *pthreadcond, m *pthreadmutex) int32 { + return libcCall(unsafe.Pointer(funcPC(pthread_cond_wait_trampoline)), unsafe.Pointer(&c)) +} +func pthread_cond_wait_trampoline() + +//go:nosplit +//go:cgo_unsafe_args +func pthread_cond_timedwait_relative_np(c *pthreadcond, m *pthreadmutex, t *timespec) int32 { + return libcCall(unsafe.Pointer(funcPC(pthread_cond_timedwait_relative_np_trampoline)), unsafe.Pointer(&c)) +} +func pthread_cond_timedwait_relative_np_trampoline() + +//go:nosplit +//go:cgo_unsafe_args +func pthread_cond_signal(c *pthreadcond) int32 { + return libcCall(unsafe.Pointer(funcPC(pthread_cond_signal_trampoline)), unsafe.Pointer(&c)) +} +func pthread_cond_signal_trampoline() // Not used on Darwin, but must be defined. func exitThread(wait *uint32) { @@ -376,6 +402,12 @@ func closeonexec(fd int32) { fcntl(fd, _F_SETFD, _FD_CLOEXEC) } +//go:nosplit +func setNonblock(fd int32) { + flags := fcntl(fd, _F_GETFL, 0) + fcntl(fd, _F_SETFL, flags|_O_NONBLOCK) +} + // Tell the linker that the libc_* functions are to be found // in a system library, with the libc_ prefix missing. @@ -390,6 +422,7 @@ func closeonexec(fd int32) { //go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" //go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" //go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" //go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" //go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" @@ -411,10 +444,13 @@ func closeonexec(fd int32) { //go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" //go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" -//go:cgo_import_dynamic libc_dispatch_semaphore_create dispatch_semaphore_create "/usr/lib/libSystem.B.dylib" -//go:cgo_import_dynamic libc_dispatch_semaphore_wait dispatch_semaphore_wait "/usr/lib/libSystem.B.dylib" -//go:cgo_import_dynamic libc_dispatch_semaphore_signal dispatch_semaphore_signal "/usr/lib/libSystem.B.dylib" -//go:cgo_import_dynamic libc_dispatch_time dispatch_time "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic libc_pthread_mutex_init pthread_mutex_init "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic libc_pthread_mutex_lock pthread_mutex_lock "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic libc_pthread_mutex_unlock pthread_mutex_unlock "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic libc_pthread_cond_init pthread_cond_init "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic libc_pthread_cond_wait pthread_cond_wait "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic libc_pthread_cond_timedwait_relative_np pthread_cond_timedwait_relative_np "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic libc_pthread_cond_signal pthread_cond_signal "/usr/lib/libSystem.B.dylib" // Magic incantation to get libSystem actually dynamically linked. // TODO: Why does the code require this? See cmd/link/internal/ld/go.go diff --git a/src/runtime/sys_darwin_386.s b/src/runtime/sys_darwin_386.s index 0c54d13b02..e653c54f61 100644 --- a/src/runtime/sys_darwin_386.s +++ b/src/runtime/sys_darwin_386.s @@ -84,6 +84,21 @@ TEXT runtime·write_trampoline(SB),NOSPLIT,$0 POPL BP RET +TEXT runtime·pipe_trampoline(SB),NOSPLIT,$0 + PUSHL BP + MOVL SP, BP + SUBL $8, SP + MOVL 16(SP), AX // arg 1 pipefd + MOVL AX, 0(SP) + CALL libc_pipe(SB) + TESTL AX, AX + JEQ 3(PC) + CALL libc_error(SB) // return negative errno value + NEGL AX + MOVL BP, SP + POPL BP + RET + TEXT runtime·mmap_trampoline(SB),NOSPLIT,$0 PUSHL BP MOVL SP, BP @@ -532,63 +547,96 @@ TEXT runtime·raise_trampoline(SB),NOSPLIT,$0 POPL BP RET -TEXT runtime·dispatch_semaphore_create_trampoline(SB),NOSPLIT,$0 - PUSHL BP - MOVL SP, BP - SUBL $8, SP - MOVL 16(SP), BX - MOVL 0(BX), AX // arg 1 value - MOVL AX, 0(SP) - CALL libc_dispatch_semaphore_create(SB) - MOVL AX, 4(BX) // result sema - MOVL BP, SP - POPL BP - RET - -TEXT runtime·dispatch_semaphore_wait_trampoline(SB),NOSPLIT,$0 - PUSHL BP - MOVL SP, BP - SUBL $24, SP - MOVL 32(SP), CX - MOVL 0(CX), AX // arg 1 sema - MOVL AX, 0(SP) - MOVL 4(CX), AX // arg 2 timeout/0 - MOVL AX, 4(SP) - MOVL 8(CX), AX // arg 2 timeout/1 - MOVL AX, 8(SP) - CALL libc_dispatch_semaphore_wait(SB) - MOVL BP, SP - POPL BP - RET - -TEXT runtime·dispatch_semaphore_signal_trampoline(SB),NOSPLIT,$0 +TEXT runtime·pthread_mutex_init_trampoline(SB),NOSPLIT,$0 PUSHL BP MOVL SP, BP SUBL $8, SP MOVL 16(SP), CX - MOVL 0(CX), AX // arg 1 sema + MOVL 0(CX), AX // arg 1 mutex MOVL AX, 0(SP) - CALL libc_dispatch_semaphore_signal(SB) + MOVL 4(CX), AX // arg 2 attr + MOVL AX, 4(SP) + CALL libc_pthread_mutex_init(SB) MOVL BP, SP POPL BP RET -TEXT runtime·dispatch_time_trampoline(SB),NOSPLIT,$0 +TEXT runtime·pthread_mutex_lock_trampoline(SB),NOSPLIT,$0 + PUSHL BP + MOVL SP, BP + SUBL $8, SP + MOVL 16(SP), CX + MOVL 0(CX), AX // arg 1 mutex + MOVL AX, 0(SP) + CALL libc_pthread_mutex_lock(SB) + MOVL BP, SP + POPL BP + RET + +TEXT runtime·pthread_mutex_unlock_trampoline(SB),NOSPLIT,$0 + PUSHL BP + MOVL SP, BP + SUBL $8, SP + MOVL 16(SP), CX + MOVL 0(CX), AX // arg 1 mutex + MOVL AX, 0(SP) + CALL libc_pthread_mutex_unlock(SB) + MOVL BP, SP + POPL BP + RET + +TEXT runtime·pthread_cond_init_trampoline(SB),NOSPLIT,$0 + PUSHL BP + MOVL SP, BP + SUBL $8, SP + MOVL 16(SP), CX + MOVL 0(CX), AX // arg 1 cond + MOVL AX, 0(SP) + MOVL 4(CX), AX // arg 2 attr + MOVL AX, 4(SP) + CALL libc_pthread_cond_init(SB) + MOVL BP, SP + POPL BP + RET + +TEXT runtime·pthread_cond_wait_trampoline(SB),NOSPLIT,$0 + PUSHL BP + MOVL SP, BP + SUBL $8, SP + MOVL 16(SP), CX + MOVL 0(CX), AX // arg 1 cond + MOVL AX, 0(SP) + MOVL 4(CX), AX // arg 2 mutex + MOVL AX, 4(SP) + CALL libc_pthread_cond_wait(SB) + MOVL BP, SP + POPL BP + RET + +TEXT runtime·pthread_cond_timedwait_relative_np_trampoline(SB),NOSPLIT,$0 PUSHL BP MOVL SP, BP SUBL $24, SP - MOVL 32(SP), BX - MOVL 0(BX), AX // arg 1 base/0 + MOVL 32(SP), CX + MOVL 0(CX), AX // arg 1 cond MOVL AX, 0(SP) - MOVL 4(BX), AX // arg 1 base/1 + MOVL 4(CX), AX // arg 2 mutex MOVL AX, 4(SP) - MOVL 8(BX), AX // arg 2 delta/0 + MOVL 8(CX), AX // arg 3 timeout MOVL AX, 8(SP) - MOVL 12(BX), AX // arg 2 delta/1 - MOVL AX, 12(SP) - CALL libc_dispatch_time(SB) - MOVL AX, 16(BX) // result/0 - MOVL DX, 20(BX) // result/1 + CALL libc_pthread_cond_timedwait_relative_np(SB) + MOVL BP, SP + POPL BP + RET + +TEXT runtime·pthread_cond_signal_trampoline(SB),NOSPLIT,$0 + PUSHL BP + MOVL SP, BP + SUBL $8, SP + MOVL 16(SP), CX + MOVL 0(CX), AX // arg 1 cond + MOVL AX, 0(SP) + CALL libc_pthread_cond_signal(SB) MOVL BP, SP POPL BP RET diff --git a/src/runtime/sys_darwin_amd64.s b/src/runtime/sys_darwin_amd64.s index 95ba496cbc..87c8db8c82 100644 --- a/src/runtime/sys_darwin_amd64.s +++ b/src/runtime/sys_darwin_amd64.s @@ -59,6 +59,17 @@ TEXT runtime·write_trampoline(SB),NOSPLIT,$0 POPQ BP RET +TEXT runtime·pipe_trampoline(SB),NOSPLIT,$0 + PUSHQ BP + MOVQ SP, BP + CALL libc_pipe(SB) // pointer already in DI + TESTL AX, AX + JEQ 3(PC) + CALL libc_error(SB) // return negative errno value + NEGL AX + POPQ BP + RET + TEXT runtime·setitimer_trampoline(SB),NOSPLIT,$0 PUSHQ BP MOVQ SP, BP @@ -482,44 +493,64 @@ TEXT runtime·raise_trampoline(SB),NOSPLIT,$0 POPQ BP RET -TEXT runtime·dispatch_semaphore_create_trampoline(SB),NOSPLIT,$0 +TEXT runtime·pthread_mutex_init_trampoline(SB),NOSPLIT,$0 PUSHQ BP MOVQ SP, BP - MOVQ DI, BX - MOVQ 0(BX), DI // arg 1 value - CALL libc_dispatch_semaphore_create(SB) - MOVQ AX, 8(BX) // result sema + MOVQ 8(DI), SI // arg 2 attr + MOVQ 0(DI), DI // arg 1 mutex + CALL libc_pthread_mutex_init(SB) POPQ BP RET -TEXT runtime·dispatch_semaphore_wait_trampoline(SB),NOSPLIT,$0 +TEXT runtime·pthread_mutex_lock_trampoline(SB),NOSPLIT,$0 PUSHQ BP MOVQ SP, BP - MOVQ 8(DI), SI // arg 2 timeout - MOVQ 0(DI), DI // arg 1 sema - CALL libc_dispatch_semaphore_wait(SB) - TESTQ AX, AX // For safety convert 64-bit result to int32 0 or 1. - JEQ 2(PC) - MOVL $1, AX + MOVQ 0(DI), DI // arg 1 mutex + CALL libc_pthread_mutex_lock(SB) POPQ BP RET -TEXT runtime·dispatch_semaphore_signal_trampoline(SB),NOSPLIT,$0 +TEXT runtime·pthread_mutex_unlock_trampoline(SB),NOSPLIT,$0 PUSHQ BP MOVQ SP, BP - MOVQ 0(DI), DI // arg 1 sema - CALL libc_dispatch_semaphore_signal(SB) + MOVQ 0(DI), DI // arg 1 mutex + CALL libc_pthread_mutex_unlock(SB) POPQ BP RET -TEXT runtime·dispatch_time_trampoline(SB),NOSPLIT,$0 +TEXT runtime·pthread_cond_init_trampoline(SB),NOSPLIT,$0 PUSHQ BP MOVQ SP, BP - MOVQ DI, BX - MOVQ 0(BX), DI // arg 1 base - MOVQ 8(BX), SI // arg 2 delta - CALL libc_dispatch_time(SB) - MOVQ AX, 16(BX) + MOVQ 8(DI), SI // arg 2 attr + MOVQ 0(DI), DI // arg 1 cond + CALL libc_pthread_cond_init(SB) + POPQ BP + RET + +TEXT runtime·pthread_cond_wait_trampoline(SB),NOSPLIT,$0 + PUSHQ BP + MOVQ SP, BP + MOVQ 8(DI), SI // arg 2 mutex + MOVQ 0(DI), DI // arg 1 cond + CALL libc_pthread_cond_wait(SB) + POPQ BP + RET + +TEXT runtime·pthread_cond_timedwait_relative_np_trampoline(SB),NOSPLIT,$0 + PUSHQ BP + MOVQ SP, BP + MOVQ 8(DI), SI // arg 2 mutex + MOVQ 16(DI), DX // arg 3 timeout + MOVQ 0(DI), DI // arg 1 cond + CALL libc_pthread_cond_timedwait_relative_np(SB) + POPQ BP + RET + +TEXT runtime·pthread_cond_signal_trampoline(SB),NOSPLIT,$0 + PUSHQ BP + MOVQ SP, BP + MOVQ 0(DI), DI // arg 1 cond + CALL libc_pthread_cond_signal(SB) POPQ BP RET diff --git a/src/runtime/sys_darwin_arm.s b/src/runtime/sys_darwin_arm.s index bb0832f3af..996f8028a3 100644 --- a/src/runtime/sys_darwin_arm.s +++ b/src/runtime/sys_darwin_arm.s @@ -41,6 +41,14 @@ TEXT runtime·read_trampoline(SB),NOSPLIT,$0 BL libc_read(SB) RET +TEXT runtime·pipe_trampoline(SB),NOSPLIT,$0 + BL libc_pipe(SB) // pointer already in R0 + CMP $0, R0 + BEQ 3(PC) + BL libc_error(SB) // return negative errno value + RSB $0, R0, R0 + RET + TEXT runtime·exit_trampoline(SB),NOSPLIT|NOFRAME,$0 MOVW 0(R0), R0 // arg 0 code BL libc_exit(SB) @@ -160,14 +168,14 @@ TEXT runtime·sigfwd(SB),NOSPLIT,$0-16 TEXT runtime·sigtramp(SB),NOSPLIT,$0 // Reserve space for callee-save registers and arguments. - SUB $36, R13 + SUB $40, R13 - MOVW R4, 12(R13) - MOVW R5, 16(R13) - MOVW R6, 20(R13) - MOVW R7, 24(R13) - MOVW R8, 28(R13) - MOVW R11, 32(R13) + MOVW R4, 16(R13) + MOVW R5, 20(R13) + MOVW R6, 24(R13) + MOVW R7, 28(R13) + MOVW R8, 32(R13) + MOVW R11, 36(R13) // Save arguments. MOVW R0, 4(R13) // sig @@ -216,14 +224,14 @@ nog: MOVW R5, R13 // Restore callee-save registers. - MOVW 12(R13), R4 - MOVW 16(R13), R5 - MOVW 20(R13), R6 - MOVW 24(R13), R7 - MOVW 28(R13), R8 - MOVW 32(R13), R11 + MOVW 16(R13), R4 + MOVW 20(R13), R5 + MOVW 24(R13), R6 + MOVW 28(R13), R7 + MOVW 32(R13), R8 + MOVW 36(R13), R11 - ADD $36, R13 + ADD $40, R13 RET @@ -343,34 +351,44 @@ TEXT runtime·raise_trampoline(SB),NOSPLIT,$0 BL libc_raise(SB) RET -TEXT runtime·dispatch_semaphore_create_trampoline(SB),NOSPLIT,$0 - MOVW R0, R8 - MOVW 0(R8), R0 // arg 1 value - BL libc_dispatch_semaphore_create(SB) - MOVW R0, 4(R8) // result sema +TEXT runtime·pthread_mutex_init_trampoline(SB),NOSPLIT,$0 + MOVW 4(R0), R1 // arg 2 attr + MOVW 0(R0), R0 // arg 1 mutex + BL libc_pthread_mutex_init(SB) RET -TEXT runtime·dispatch_semaphore_wait_trampoline(SB),NOSPLIT,$0 - MOVW 4(R0), R1 // arg 2 timeout/0 - MOVW 8(R0), R2 // arg 2 timeout/1 - MOVW 0(R0), R0 // arg 1 sema - BL libc_dispatch_semaphore_wait(SB) +TEXT runtime·pthread_mutex_lock_trampoline(SB),NOSPLIT,$0 + MOVW 0(R0), R0 // arg 1 mutex + BL libc_pthread_mutex_lock(SB) RET -TEXT runtime·dispatch_semaphore_signal_trampoline(SB),NOSPLIT,$0 - MOVW 0(R0), R0 // arg 1 sema - BL libc_dispatch_semaphore_signal(SB) +TEXT runtime·pthread_mutex_unlock_trampoline(SB),NOSPLIT,$0 + MOVW 0(R0), R0 // arg 1 mutex + BL libc_pthread_mutex_unlock(SB) RET -TEXT runtime·dispatch_time_trampoline(SB),NOSPLIT,$0 - MOVW R0, R8 - MOVW 0(R8), R0 // arg 1 base/0 - MOVW 4(R8), R1 // arg 1 base/1 - MOVW 8(R8), R2 // arg 2 delta/0 - MOVW 12(R8), R3 // arg 2 delta/1 - BL libc_dispatch_time(SB) - MOVW R0, 16(R8) // result/0 - MOVW R1, 20(R8) // result/1 +TEXT runtime·pthread_cond_init_trampoline(SB),NOSPLIT,$0 + MOVW 4(R0), R1 // arg 2 attr + MOVW 0(R0), R0 // arg 1 cond + BL libc_pthread_cond_init(SB) + RET + +TEXT runtime·pthread_cond_wait_trampoline(SB),NOSPLIT,$0 + MOVW 4(R0), R1 // arg 2 mutex + MOVW 0(R0), R0 // arg 1 cond + BL libc_pthread_cond_wait(SB) + RET + +TEXT runtime·pthread_cond_timedwait_relative_np_trampoline(SB),NOSPLIT,$0 + MOVW 4(R0), R1 // arg 2 mutex + MOVW 8(R0), R2 // arg 3 timeout + MOVW 0(R0), R0 // arg 1 cond + BL libc_pthread_cond_timedwait_relative_np(SB) + RET + +TEXT runtime·pthread_cond_signal_trampoline(SB),NOSPLIT,$0 + MOVW 0(R0), R0 // arg 1 cond + BL libc_pthread_cond_signal(SB) RET // syscall calls a function in libc on behalf of the syscall package. diff --git a/src/runtime/sys_darwin_arm64.s b/src/runtime/sys_darwin_arm64.s index 4c81b99336..ac3ca74f63 100644 --- a/src/runtime/sys_darwin_arm64.s +++ b/src/runtime/sys_darwin_arm64.s @@ -44,6 +44,14 @@ TEXT runtime·read_trampoline(SB),NOSPLIT,$0 BL libc_read(SB) RET +TEXT runtime·pipe_trampoline(SB),NOSPLIT,$0 + BL libc_pipe(SB) // pointer already in R0 + CMP $0, R0 + BEQ 3(PC) + BL libc_error(SB) // return negative errno value + NEG R0, R0 + RET + TEXT runtime·exit_trampoline(SB),NOSPLIT|NOFRAME,$0 MOVW 0(R0), R0 BL libc_exit(SB) @@ -409,33 +417,44 @@ TEXT runtime·raise_trampoline(SB),NOSPLIT,$0 BL libc_raise(SB) RET -TEXT runtime·dispatch_semaphore_create_trampoline(SB),NOSPLIT,$0 - MOVD R0, R19 - MOVD 0(R19), R0 // arg 1 value - BL libc_dispatch_semaphore_create(SB) - MOVD R0, 8(R19) // result sema +TEXT runtime·pthread_mutex_init_trampoline(SB),NOSPLIT,$0 + MOVD 8(R0), R1 // arg 2 attr + MOVD 0(R0), R0 // arg 1 mutex + BL libc_pthread_mutex_init(SB) RET -TEXT runtime·dispatch_semaphore_wait_trampoline(SB),NOSPLIT,$0 - MOVD 8(R0), R1 // arg 2 timeout - MOVD 0(R0), R0 // arg 1 sema - BL libc_dispatch_semaphore_wait(SB) - CMP $0, R0 // For safety convert 64-bit result to int32 0 or 1. - BEQ 2(PC) - MOVW $1, R0 +TEXT runtime·pthread_mutex_lock_trampoline(SB),NOSPLIT,$0 + MOVD 0(R0), R0 // arg 1 mutex + BL libc_pthread_mutex_lock(SB) RET -TEXT runtime·dispatch_semaphore_signal_trampoline(SB),NOSPLIT,$0 - MOVD 0(R0), R0 // arg 1 sema - BL libc_dispatch_semaphore_signal(SB) +TEXT runtime·pthread_mutex_unlock_trampoline(SB),NOSPLIT,$0 + MOVD 0(R0), R0 // arg 1 mutex + BL libc_pthread_mutex_unlock(SB) RET -TEXT runtime·dispatch_time_trampoline(SB),NOSPLIT,$0 - MOVD R0, R19 - MOVD 0(R19), R0 // arg 1 base - MOVD 8(R19), R1 // arg 2 delta - BL libc_dispatch_time(SB) - MOVD R0, 16(R19) // result +TEXT runtime·pthread_cond_init_trampoline(SB),NOSPLIT,$0 + MOVD 8(R0), R1 // arg 2 attr + MOVD 0(R0), R0 // arg 1 cond + BL libc_pthread_cond_init(SB) + RET + +TEXT runtime·pthread_cond_wait_trampoline(SB),NOSPLIT,$0 + MOVD 8(R0), R1 // arg 2 mutex + MOVD 0(R0), R0 // arg 1 cond + BL libc_pthread_cond_wait(SB) + RET + +TEXT runtime·pthread_cond_timedwait_relative_np_trampoline(SB),NOSPLIT,$0 + MOVD 8(R0), R1 // arg 2 mutex + MOVD 16(R0), R2 // arg 3 timeout + MOVD 0(R0), R0 // arg 1 cond + BL libc_pthread_cond_timedwait_relative_np(SB) + RET + +TEXT runtime·pthread_cond_signal_trampoline(SB),NOSPLIT,$0 + MOVD 0(R0), R0 // arg 1 cond + BL libc_pthread_cond_signal(SB) RET // syscall calls a function in libc on behalf of the syscall package. diff --git a/src/strconv/atof.go b/src/strconv/atof.go index 0903fa155a..190b25fbf5 100644 --- a/src/strconv/atof.go +++ b/src/strconv/atof.go @@ -643,7 +643,7 @@ func atof64(s string) (f float64, err error) { // ParseFloat returns the nearest floating-point number rounded // using IEEE754 unbiased rounding. // (Parsing a hexadecimal floating-point value only rounds when -// there are more bits in the hexadecimal representatiton than +// there are more bits in the hexadecimal representation than // will fit in the mantissa.) // // The errors that ParseFloat returns have concrete type *NumError diff --git a/src/strconv/atoi.go b/src/strconv/atoi.go index 31774d0c9a..e811bc4df1 100644 --- a/src/strconv/atoi.go +++ b/src/strconv/atoi.go @@ -152,10 +152,10 @@ func ParseUint(s string, base int, bitSize int) (uint64, error) { // ParseInt interprets a string s in the given base (0, 2 to 36) and // bit size (0 to 64) and returns the corresponding value i. // -// If base == 0, the base is implied by the string's prefix: -// base 2 for "0b", base 8 for "0" or "0o", base 16 for "0x", -// and base 10 otherwise. -// If base is below 0, is 1, or is above 36, an error is returned. +// If the base argument is 0, the true base is implied by the string's +// prefix: 2 for "0b", 8 for "0" or "0o", 16 for "0x", and 10 otherwise. +// Also, for argument base 0 only, underscore characters are permitted +// as defined by the Go syntax for integer literals. // // The bitSize argument specifies the integer type // that the result must fit into. Bit sizes 0, 8, 16, 32, and 64 diff --git a/src/strings/example_test.go b/src/strings/example_test.go index 4f3a1ce8c6..375f9cac65 100644 --- a/src/strings/example_test.go +++ b/src/strings/example_test.go @@ -247,14 +247,23 @@ func ExampleSplitAfterN() { } func ExampleTitle() { + // Compare this example to the ToTitle example. fmt.Println(strings.Title("her royal highness")) - // Output: Her Royal Highness + fmt.Println(strings.Title("loud noises")) + fmt.Println(strings.Title("хлеб")) + // Output: + // Her Royal Highness + // Loud Noises + // Хлеб } func ExampleToTitle() { + // Compare this example to the Title example. + fmt.Println(strings.ToTitle("her royal highness")) fmt.Println(strings.ToTitle("loud noises")) fmt.Println(strings.ToTitle("хлеб")) // Output: + // HER ROYAL HIGHNESS // LOUD NOISES // ХЛЕБ } diff --git a/src/strings/replace.go b/src/strings/replace.go index ccab1fb861..e28d428879 100644 --- a/src/strings/replace.go +++ b/src/strings/replace.go @@ -25,7 +25,8 @@ type replacer interface { // NewReplacer returns a new Replacer from a list of old, new string // pairs. Replacements are performed in the order they appear in the -// target string, without overlapping matches. +// target string, without overlapping matches. The old string +// comparisons are done in argument order. // // NewReplacer panics if given an odd number of arguments. func NewReplacer(oldnew ...string) *Replacer { diff --git a/src/strings/strings.go b/src/strings/strings.go index 7337481380..cee315ce9e 100644 --- a/src/strings/strings.go +++ b/src/strings/strings.go @@ -610,7 +610,8 @@ func ToLower(s string) string { return Map(unicode.ToLower, s) } -// ToTitle returns a copy of the string s with all Unicode letters mapped to their title case. +// ToTitle returns a copy of the string s with all Unicode letters mapped to +// their Unicode title case. func ToTitle(s string) string { return Map(unicode.ToTitle, s) } // ToUpperSpecial returns a copy of the string s with all Unicode letters mapped to their @@ -626,7 +627,7 @@ func ToLowerSpecial(c unicode.SpecialCase, s string) string { } // ToTitleSpecial returns a copy of the string s with all Unicode letters mapped to their -// title case, giving priority to the special casing rules. +// Unicode title case, giving priority to the special casing rules. func ToTitleSpecial(c unicode.SpecialCase, s string) string { return Map(c.ToTitle, s) } @@ -707,7 +708,7 @@ func isSeparator(r rune) bool { } // Title returns a copy of the string s with all Unicode letters that begin words -// mapped to their title case. +// mapped to their Unicode title case. // // BUG(rsc): The rule Title uses for word boundaries does not handle Unicode punctuation properly. func Title(s string) string { diff --git a/src/sync/export_test.go b/src/sync/export_test.go index 10d3599f47..ffbe567464 100644 --- a/src/sync/export_test.go +++ b/src/sync/export_test.go @@ -18,9 +18,13 @@ type PoolDequeue interface { } func NewPoolDequeue(n int) PoolDequeue { - return &poolDequeue{ + d := &poolDequeue{ vals: make([]eface, n), } + // For testing purposes, set the head and tail indexes close + // to wrapping around. + d.headTail = d.pack(1<= base in *invalid if *invalid == 0. // digits returns the first rune that is not part of the sequence @@ -374,7 +374,7 @@ func (s *Scanner) digits(ch0 rune, base int, invalid *rune) (ch rune, digsep int ch = ch0 if base <= 10 { max := rune('0' + base) - for isDecimal(ch) || ch == '_' && s.Mode&AllowNumberbars != 0 { + for isDecimal(ch) || ch == '_' { ds := 1 if ch == '_' { ds = 2 @@ -385,7 +385,7 @@ func (s *Scanner) digits(ch0 rune, base int, invalid *rune) (ch rune, digsep int ch = s.next() } } else { - for isHex(ch) || ch == '_' && s.Mode&AllowNumberbars != 0 { + for isHex(ch) || ch == '_' { ds := 1 if ch == '_' { ds = 2 diff --git a/src/text/scanner/scanner_test.go b/src/text/scanner/scanner_test.go index 6ae8fd9a08..fe39d3060b 100644 --- a/src/text/scanner/scanner_test.go +++ b/src/text/scanner/scanner_test.go @@ -886,8 +886,7 @@ func TestIssue30320(t *testing.T) { {"foo01.bar31.xx-0-1-1-0", "01 31 0 1 1 0", ScanInts}, {"foo0/12/0/5.67", "0 12 0 5 67", ScanInts}, {"xxx1e0yyy", "1 0", ScanInts}, - {"1_2", "1 2", ScanInts}, // don't consume _ as part of a number if not explicitly enabled - {"1_2", "1_2", ScanInts | AllowNumberbars}, + {"1_2", "1_2", ScanInts}, {"xxx1.0yyy2e3ee", "1 0 2 3", ScanInts}, {"xxx1.0yyy2e3ee", "1.0 2e3", ScanFloats}, } { diff --git a/src/text/template/exec.go b/src/text/template/exec.go index 4db63bfa09..97c9d1f574 100644 --- a/src/text/template/exec.go +++ b/src/text/template/exec.go @@ -5,7 +5,6 @@ package template import ( - "bytes" "fmt" "internal/fmtsort" "io" @@ -230,21 +229,19 @@ func (t *Template) DefinedTemplates() string { if t.common == nil { return "" } - var b bytes.Buffer + var b strings.Builder for name, tmpl := range t.tmpl { if tmpl.Tree == nil || tmpl.Root == nil { continue } - if b.Len() > 0 { + if b.Len() == 0 { + b.WriteString("; defined templates are: ") + } else { b.WriteString(", ") } fmt.Fprintf(&b, "%q", name) } - var s string - if b.Len() > 0 { - s = "; defined templates are: " + b.String() - } - return s + return b.String() } // Walk functions step through the major pieces of the template structure, diff --git a/src/text/template/template.go b/src/text/template/template.go index 1135d819b9..2c5ff013e3 100644 --- a/src/text/template/template.go +++ b/src/text/template/template.go @@ -110,12 +110,13 @@ func (t *Template) Clone() (*Template, error) { // copy returns a shallow copy of t, with common set to the argument. func (t *Template) copy(c *common) *Template { - nt := New(t.name) - nt.Tree = t.Tree - nt.common = c - nt.leftDelim = t.leftDelim - nt.rightDelim = t.rightDelim - return nt + return &Template{ + name: t.name, + Tree: t.Tree, + common: c, + leftDelim: t.leftDelim, + rightDelim: t.rightDelim, + } } // AddParseTree adds parse tree for template with given name and associates it with t. diff --git a/src/time/sleep.go b/src/time/sleep.go index 10edf6fe0e..2cc908da55 100644 --- a/src/time/sleep.go +++ b/src/time/sleep.go @@ -54,8 +54,8 @@ type Timer struct { // Stop does not close the channel, to prevent a read from the channel succeeding // incorrectly. // -// To prevent a timer created with NewTimer from firing after a call to Stop, -// check the return value and drain the channel. +// To ensure the channel is empty after a call to Stop, check the +// return value and drain the channel. // For example, assuming the program has not received from t.C already: // // if !t.Stop() { @@ -97,10 +97,9 @@ func NewTimer(d Duration) *Timer { // It returns true if the timer had been active, false if the timer had // expired or been stopped. // -// Resetting a timer must take care not to race with the send into t.C -// that happens when the current timer expires. +// Reset should be invoked only on stopped or expired timers with drained channels. // If a program has already received a value from t.C, the timer is known -// to have expired, and t.Reset can be used directly. +// to have expired and the channel drained, so t.Reset can be used directly. // If a program has not yet received a value from t.C, however, // the timer must be stopped and—if Stop reports that the timer expired // before being stopped—the channel explicitly drained: diff --git a/src/time/time.go b/src/time/time.go index c8116a74f4..0d1cb9e5a1 100644 --- a/src/time/time.go +++ b/src/time/time.go @@ -906,33 +906,16 @@ func (t Time) Sub(u Time) Duration { } return d } - - ts, us := t.sec(), u.sec() - - var sec, nsec, d int64 - - ssub := ts - us - if (ssub < ts) != (us > 0) { - goto overflow - } - - if ssub < int64(minDuration/Second) || ssub > int64(maxDuration/Second) { - goto overflow - } - sec = ssub * int64(Second) - - nsec = int64(t.nsec() - u.nsec()) - d = sec + nsec - if (d > sec) != (nsec > 0) { - goto overflow - } - return Duration(d) - -overflow: - if t.Before(u) { + d := Duration(t.sec()-u.sec())*Second + Duration(t.nsec()-u.nsec()) + // Check for overflow or underflow. + switch { + case u.Add(d).Equal(t): + return d // d is correct + case t.Before(u): return minDuration // t - u is negative out of range + default: + return maxDuration // t - u is positive out of range } - return maxDuration // t - u is positive out of range } // Since returns the time elapsed since t. diff --git a/src/time/time_test.go b/src/time/time_test.go index dd3a8160cd..95998c362f 100644 --- a/src/time/time_test.go +++ b/src/time/time_test.go @@ -995,6 +995,7 @@ var subTests = []struct { {Date(2300, 1, 1, 0, 0, 0, 0, UTC), Date(2000, 1, 1, 0, 0, 0, 0, UTC), Duration(maxDuration)}, {Date(2000, 1, 1, 0, 0, 0, 0, UTC), Date(2290, 1, 1, 0, 0, 0, 0, UTC), -290*365*24*Hour - 71*24*Hour}, {Date(2000, 1, 1, 0, 0, 0, 0, UTC), Date(2300, 1, 1, 0, 0, 0, 0, UTC), Duration(minDuration)}, + {Date(2311, 11, 26, 02, 16, 47, 63535996, UTC), Date(2019, 8, 16, 2, 29, 30, 268436582, UTC), 9223372036795099414}, {MinMonoTime, MaxMonoTime, minDuration}, {MaxMonoTime, MinMonoTime, maxDuration}, } @@ -1008,14 +1009,6 @@ func TestSub(t *testing.T) { } } -func BenchmarkSub(b *testing.B) { - for i := 0; i < b.N; i++ { - for _, st := range subTests { - st.t.Sub(st.u) - } - } -} - var nsDurationTests = []struct { d Duration want int64 diff --git a/src/vendor/golang.org/x/net/lif/zsys_solaris_amd64.go b/src/vendor/golang.org/x/net/lif/zsys_solaris_amd64.go index b5e999bec3..d7a70d4ed9 100644 --- a/src/vendor/golang.org/x/net/lif/zsys_solaris_amd64.go +++ b/src/vendor/golang.org/x/net/lif/zsys_solaris_amd64.go @@ -1,4 +1,4 @@ -// Created by cgo -godefs - DO NOT EDIT +// Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs defs_solaris.go package lif diff --git a/src/vendor/golang.org/x/net/route/zsys_darwin.go b/src/vendor/golang.org/x/net/route/zsys_darwin.go index 4e2e1ab090..19e4133f7d 100644 --- a/src/vendor/golang.org/x/net/route/zsys_darwin.go +++ b/src/vendor/golang.org/x/net/route/zsys_darwin.go @@ -1,4 +1,4 @@ -// Created by cgo -godefs - DO NOT EDIT +// Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs defs_darwin.go package route diff --git a/src/vendor/golang.org/x/net/route/zsys_dragonfly.go b/src/vendor/golang.org/x/net/route/zsys_dragonfly.go index 719c88d11f..8ed2d4d550 100644 --- a/src/vendor/golang.org/x/net/route/zsys_dragonfly.go +++ b/src/vendor/golang.org/x/net/route/zsys_dragonfly.go @@ -1,4 +1,4 @@ -// Created by cgo -godefs - DO NOT EDIT +// Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs defs_dragonfly.go package route diff --git a/src/vendor/golang.org/x/net/route/zsys_freebsd_386.go b/src/vendor/golang.org/x/net/route/zsys_freebsd_386.go index b03bc01f65..f36aaadb59 100644 --- a/src/vendor/golang.org/x/net/route/zsys_freebsd_386.go +++ b/src/vendor/golang.org/x/net/route/zsys_freebsd_386.go @@ -1,4 +1,4 @@ -// Created by cgo -godefs - DO NOT EDIT +// Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs defs_freebsd.go package route diff --git a/src/vendor/golang.org/x/net/route/zsys_freebsd_amd64.go b/src/vendor/golang.org/x/net/route/zsys_freebsd_amd64.go index 0b675b3d3f..4c639b82e4 100644 --- a/src/vendor/golang.org/x/net/route/zsys_freebsd_amd64.go +++ b/src/vendor/golang.org/x/net/route/zsys_freebsd_amd64.go @@ -1,4 +1,4 @@ -// Created by cgo -godefs - DO NOT EDIT +// Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs defs_freebsd.go package route diff --git a/src/vendor/golang.org/x/net/route/zsys_freebsd_arm.go b/src/vendor/golang.org/x/net/route/zsys_freebsd_arm.go index 58f8ea16f2..710c1472b6 100644 --- a/src/vendor/golang.org/x/net/route/zsys_freebsd_arm.go +++ b/src/vendor/golang.org/x/net/route/zsys_freebsd_arm.go @@ -1,4 +1,4 @@ -// Created by cgo -godefs - DO NOT EDIT +// Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs defs_freebsd.go package route diff --git a/src/vendor/golang.org/x/net/route/zsys_netbsd.go b/src/vendor/golang.org/x/net/route/zsys_netbsd.go index e0df45e8b5..b4f66ca6cb 100644 --- a/src/vendor/golang.org/x/net/route/zsys_netbsd.go +++ b/src/vendor/golang.org/x/net/route/zsys_netbsd.go @@ -1,4 +1,4 @@ -// Created by cgo -godefs - DO NOT EDIT +// Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs defs_netbsd.go package route diff --git a/src/vendor/golang.org/x/net/route/zsys_openbsd.go b/src/vendor/golang.org/x/net/route/zsys_openbsd.go index db8c8efb49..1021b4cea4 100644 --- a/src/vendor/golang.org/x/net/route/zsys_openbsd.go +++ b/src/vendor/golang.org/x/net/route/zsys_openbsd.go @@ -1,4 +1,4 @@ -// Created by cgo -godefs - DO NOT EDIT +// Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs defs_openbsd.go package route diff --git a/src/vendor/modules.txt b/src/vendor/modules.txt index f18965e405..453a312661 100644 --- a/src/vendor/modules.txt +++ b/src/vendor/modules.txt @@ -7,7 +7,7 @@ golang.org/x/crypto/hkdf golang.org/x/crypto/internal/chacha20 golang.org/x/crypto/internal/subtle golang.org/x/crypto/poly1305 -# golang.org/x/net v0.0.0-20190607172144-d5cec3884524 +# golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7 golang.org/x/net/dns/dnsmessage golang.org/x/net/http/httpguts golang.org/x/net/http/httpproxy diff --git a/test/blank1.go b/test/blank1.go index bf94d1a0fb..1a9f012464 100644 --- a/test/blank1.go +++ b/test/blank1.go @@ -7,7 +7,7 @@ // Test that incorrect uses of the blank identifer are caught. // Does not compile. -package _ // ERROR "invalid package name _" +package _ // ERROR "invalid package name" var t struct { _ int @@ -22,8 +22,8 @@ type T struct { } func main() { - _() // ERROR "cannot use _ as value" - x := _+1 // ERROR "cannot use _ as value" + _() // ERROR "cannot use .* as value" + x := _+1 // ERROR "cannot use .* as value" _ = x _ = t._ // ERROR "cannot refer to blank field|invalid use of" diff --git a/test/chan/select8.go b/test/chan/select8.go new file mode 100644 index 0000000000..20bca3a0f9 --- /dev/null +++ b/test/chan/select8.go @@ -0,0 +1,55 @@ +// run + +// Copyright 2019 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. + +// Test break statements in a select. +// Gccgo had a bug in handling this. +// Test 1,2,3-case selects, so it covers both the general +// code path and the specialized optimizations for one- +// and two-case selects. + +package main + +var ch = make(chan int) + +func main() { + go func() { + for { + ch <- 5 + } + }() + + select { + case <-ch: + break + panic("unreachable") + } + + select { + default: + break + panic("unreachable") + } + + select { + case <-ch: + break + panic("unreachable") + default: + break + panic("unreachable") + } + + select { + case <-ch: + break + panic("unreachable") + case ch <- 10: + panic("unreachable") + default: + break + panic("unreachable") + } +} diff --git a/test/codegen/bits.go b/test/codegen/bits.go index 65d57c8f9f..18f9daf7cf 100644 --- a/test/codegen/bits.go +++ b/test/codegen/bits.go @@ -314,3 +314,15 @@ func op_orn(x, y uint32) uint32 { // arm64:`ORN\t`,-`ORR` return x | ^y } + +// check bitsets +func bitSetPowerOf2Test(x int) bool { + // amd64:"BTL\t[$]3" + return x&8 == 8 +} + +func bitSetTest(x int) bool { + // amd64:"ANDQ\t[$]9, AX" + // amd64:"CMPQ\tAX, [$]9" + return x&9 == 9 +} diff --git a/test/fixedbugs/bug211.go b/test/fixedbugs/bug211.go deleted file mode 100644 index b150479276..0000000000 --- a/test/fixedbugs/bug211.go +++ /dev/null @@ -1,14 +0,0 @@ -// errorcheck - -// Copyright 2009 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 - -type R interface { duplicate() } -type S interface { duplicate() } -type T interface { R; S } // ERROR "duplicate" - -func main() { -} diff --git a/test/fixedbugs/bug251.go b/test/fixedbugs/bug251.go index 05e111a61f..706bb8d690 100644 --- a/test/fixedbugs/bug251.go +++ b/test/fixedbugs/bug251.go @@ -8,11 +8,7 @@ package main type I1 interface { // GC_ERROR "invalid recursive type" m() I2 - // TODO(mdempsky): The duplicate method error is silly - // and redundant, but tricky to prevent as it's actually - // being emitted against the underlying interface type - // literal, not I1 itself. - I2 // ERROR "loop|interface|duplicate method m" + I2 // GCCGO_ERROR "loop|interface" } type I2 interface { diff --git a/test/fixedbugs/issue32595.dir/a.go b/test/fixedbugs/issue32595.dir/a.go new file mode 100644 index 0000000000..8342dd5cbc --- /dev/null +++ b/test/fixedbugs/issue32595.dir/a.go @@ -0,0 +1,9 @@ +// Copyright 2019 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 a + +func A() { + defer func() {}() +} diff --git a/test/fixedbugs/issue32595.dir/b.go b/test/fixedbugs/issue32595.dir/b.go new file mode 100644 index 0000000000..9a13a575a8 --- /dev/null +++ b/test/fixedbugs/issue32595.dir/b.go @@ -0,0 +1,15 @@ +// Copyright 2019 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 b + +import "reflect" + +func B() { + t1 := reflect.TypeOf([0]byte{}) + t2 := reflect.TypeOf(new([0]byte)).Elem() + if t1 != t2 { + panic("[0]byte types do not match") + } +} diff --git a/test/fixedbugs/issue32595.dir/main.go b/test/fixedbugs/issue32595.dir/main.go new file mode 100644 index 0000000000..20472cd72a --- /dev/null +++ b/test/fixedbugs/issue32595.dir/main.go @@ -0,0 +1,15 @@ +// Copyright 2019 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 ( + "a" + "b" +) + +func main() { + a.A() + b.B() +} diff --git a/test/fixedbugs/issue32595.go b/test/fixedbugs/issue32595.go new file mode 100644 index 0000000000..af6f134172 --- /dev/null +++ b/test/fixedbugs/issue32595.go @@ -0,0 +1,7 @@ +// rundir + +// Copyright 2019 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 ignored diff --git a/test/fixedbugs/issue32680.go b/test/fixedbugs/issue32680.go new file mode 100644 index 0000000000..27cba6bf78 --- /dev/null +++ b/test/fixedbugs/issue32680.go @@ -0,0 +1,23 @@ +// run -gcflags=-d=ssa/check/on + +// Copyright 2019 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. + +// As of 2019-06, bug affects/ed amd64 and s390x. + +package main + +var foo = []byte{105, 57, 172, 152} + +func main() { + for i := 0; i < len(foo); i += 4 { + // Requires inlining and non-constant i + // Note the bug/fix also apply to different widths, but was unable to reproduce for those. + println(readLittleEndian32_2(foo[i], foo[i+1], foo[i+2], foo[i+3])) + } +} + +func readLittleEndian32_2(a, b, c, d byte) uint32 { + return uint32(a) | (uint32(b) << 8) | (uint32(c) << 16) | (uint32(d) << 24) +} diff --git a/test/fixedbugs/issue32680.out b/test/fixedbugs/issue32680.out new file mode 100644 index 0000000000..4d60a97392 --- /dev/null +++ b/test/fixedbugs/issue32680.out @@ -0,0 +1 @@ +2561423721 diff --git a/test/fixedbugs/issue32680b.go b/test/fixedbugs/issue32680b.go new file mode 100644 index 0000000000..61e531701a --- /dev/null +++ b/test/fixedbugs/issue32680b.go @@ -0,0 +1,16 @@ +// compile + +// Copyright 2019 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 + +func hashBytesRaw(b0, b1, b2, b3, b7 byte) uint64 { + return (uint64(b0) | uint64(b1)<<8 | uint64(b2)<<16 | uint64(b3)<<24) +} + +func doStuff(data []byte) uint64 { + return hashBytesRaw(data[0], data[1], data[2], data[3], data[7]) + +} diff --git a/test/fixedbugs/issue32778.dir/a.go b/test/fixedbugs/issue32778.dir/a.go new file mode 100644 index 0000000000..1e6ac01233 --- /dev/null +++ b/test/fixedbugs/issue32778.dir/a.go @@ -0,0 +1,18 @@ +// Copyright 2019 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 a + +import "strings" + +type Name string + +type FullName string + +func (n FullName) Name() Name { + if i := strings.LastIndexByte(string(n), '.'); i >= 0 { + return Name(n[i+1:]) + } + return Name(n) +} diff --git a/test/fixedbugs/issue32778.dir/b.go b/test/fixedbugs/issue32778.dir/b.go new file mode 100644 index 0000000000..a0ee398d26 --- /dev/null +++ b/test/fixedbugs/issue32778.dir/b.go @@ -0,0 +1,11 @@ +// Copyright 2019 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 b + +import "./a" + +func Expo(fn a.FullName) a.Name { + return fn.Name() +} diff --git a/test/fixedbugs/issue32778.go b/test/fixedbugs/issue32778.go new file mode 100644 index 0000000000..83456d4a99 --- /dev/null +++ b/test/fixedbugs/issue32778.go @@ -0,0 +1,11 @@ +// compiledir + +// Copyright 2019 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. + +// This directory contains a pair of packages that triggers a compiler +// crash in gccgo (problem with tracking indirectly referenced +// packages during exporting). See issue 32778 for details. + +package ignored diff --git a/test/fixedbugs/issue32901.dir/a.go b/test/fixedbugs/issue32901.dir/a.go new file mode 100644 index 0000000000..54ed7713f6 --- /dev/null +++ b/test/fixedbugs/issue32901.dir/a.go @@ -0,0 +1,15 @@ +// Copyright 2019 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 a + +type T struct { x int } + +func F() interface{} { + return [2]T{} +} + +func P() interface{} { + return &[2]T{} +} diff --git a/test/fixedbugs/issue32901.dir/b.go b/test/fixedbugs/issue32901.dir/b.go new file mode 100644 index 0000000000..932d7b0afa --- /dev/null +++ b/test/fixedbugs/issue32901.dir/b.go @@ -0,0 +1,15 @@ +// Copyright 2019 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 b + +import "./a" + +func F() interface{} { + return a.F() +} + +func P() interface{} { + return a.P() +} diff --git a/test/fixedbugs/issue32901.dir/c.go b/test/fixedbugs/issue32901.dir/c.go new file mode 100644 index 0000000000..5f31c7ff02 --- /dev/null +++ b/test/fixedbugs/issue32901.dir/c.go @@ -0,0 +1,17 @@ +// Copyright 2019 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 c + +import "./b" + +func F() interface{} { + go func(){}() // make it non-inlineable + return b.F() +} + +func P() interface{} { + go func(){}() // make it non-inlineable + return b.P() +} diff --git a/test/fixedbugs/issue32901.dir/main.go b/test/fixedbugs/issue32901.dir/main.go new file mode 100644 index 0000000000..28bb8cde28 --- /dev/null +++ b/test/fixedbugs/issue32901.dir/main.go @@ -0,0 +1,18 @@ +// Copyright 2019 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 "./c" +import "reflect" + +func main() { + x := c.F() + p := c.P() + t := reflect.PtrTo(reflect.TypeOf(x)) + tp := reflect.TypeOf(p) + if t != tp { + panic("FAIL") + } +} diff --git a/test/fixedbugs/issue32901.go b/test/fixedbugs/issue32901.go new file mode 100644 index 0000000000..004c3da79e --- /dev/null +++ b/test/fixedbugs/issue32901.go @@ -0,0 +1,9 @@ +// rundir + +// Copyright 2019 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 32901: type descriptor equality bug in gccgo. + +package ignored diff --git a/test/fixedbugs/issue32922.dir/a.go b/test/fixedbugs/issue32922.dir/a.go new file mode 100644 index 0000000000..b13c4b404d --- /dev/null +++ b/test/fixedbugs/issue32922.dir/a.go @@ -0,0 +1,18 @@ +// Copyright 2019 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 a + +func A() int { + return p("count") +} + +func p(which string, args ...string) int { + switch which { + case "count", "something": + return 1 + default: + return 2 + } +} diff --git a/test/fixedbugs/issue32922.dir/b.go b/test/fixedbugs/issue32922.dir/b.go new file mode 100644 index 0000000000..fdaf42d3df --- /dev/null +++ b/test/fixedbugs/issue32922.dir/b.go @@ -0,0 +1,11 @@ +// Copyright 2019 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 b + +import "./a" + +func B() int { + return 99 + a.A() +} diff --git a/test/fixedbugs/issue32922.go b/test/fixedbugs/issue32922.go new file mode 100644 index 0000000000..005c8e68cb --- /dev/null +++ b/test/fixedbugs/issue32922.go @@ -0,0 +1,11 @@ +// compiledir + +// Copyright 2019 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. + +// This directory contains a pair of packages that triggers a compiler +// error in gccgo (problem with the way inlinable call expressions are +// imported). See issue 32922 for details. + +package ignored diff --git a/test/fixedbugs/issue32959.go b/test/fixedbugs/issue32959.go new file mode 100644 index 0000000000..a0dc789a04 --- /dev/null +++ b/test/fixedbugs/issue32959.go @@ -0,0 +1,17 @@ +// compile + +// Copyright 2019 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. + +// Test escape analysis with shifting constant + +package main + +import "unsafe" + +func main() { + var l uint64 + var p unsafe.Pointer + _ = unsafe.Pointer(uintptr(p) + (uintptr(l) >> 1)) +} diff --git a/test/fixedbugs/issue33013.dir/a.go b/test/fixedbugs/issue33013.dir/a.go new file mode 100644 index 0000000000..056be88aea --- /dev/null +++ b/test/fixedbugs/issue33013.dir/a.go @@ -0,0 +1,9 @@ +// Copyright 2019 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 a + +type G interface { + UsesEmpty(p interface{}) int +} diff --git a/test/fixedbugs/issue33013.dir/b.go b/test/fixedbugs/issue33013.dir/b.go new file mode 100644 index 0000000000..5694b58282 --- /dev/null +++ b/test/fixedbugs/issue33013.dir/b.go @@ -0,0 +1,24 @@ +// Copyright 2019 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 b + +import "a" + +type Service uint64 +type ServiceDesc struct { + X int + uc +} + +type uc interface { + f() a.G +} + +var q int + +func RS(svcd *ServiceDesc, server interface{}, qq uint8) *Service { + defer func() { q += int(qq) }() + return nil +} diff --git a/test/fixedbugs/issue33013.dir/c.go b/test/fixedbugs/issue33013.dir/c.go new file mode 100644 index 0000000000..bfdc0b535f --- /dev/null +++ b/test/fixedbugs/issue33013.dir/c.go @@ -0,0 +1,19 @@ +// Copyright 2019 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 c + +import ( + "a" + "b" +) + +type BI interface { + Something(s int64) int64 + Another(pxp a.G) int32 +} + +func BRS(sd *b.ServiceDesc, server BI, xyz int) *b.Service { + return b.RS(sd, server, 7) +} diff --git a/test/fixedbugs/issue33013.dir/d.go b/test/fixedbugs/issue33013.dir/d.go new file mode 100644 index 0000000000..f4fff4ac62 --- /dev/null +++ b/test/fixedbugs/issue33013.dir/d.go @@ -0,0 +1,16 @@ +// Copyright 2019 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 d + +import ( + "b" + "c" +) + +var GA b.Service + +func C() { + c.BRS(nil, nil, 22) +} diff --git a/test/fixedbugs/issue33013.go b/test/fixedbugs/issue33013.go new file mode 100644 index 0000000000..e363cf500f --- /dev/null +++ b/test/fixedbugs/issue33013.go @@ -0,0 +1,9 @@ +// compiledir + +// Copyright 2019 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 33013: gccgo compiler error with inlinable function + +package ignored diff --git a/test/fixedbugs/issue33020.dir/a.go b/test/fixedbugs/issue33020.dir/a.go new file mode 100644 index 0000000000..948f4fdf3b --- /dev/null +++ b/test/fixedbugs/issue33020.dir/a.go @@ -0,0 +1,16 @@ +// Copyright 2019 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 a + +var G1 int +var G2 int +var G3 int +var G4 int +var G5 int +var G6 int +var G7 int +var G8 int +var G9 int +var G10 int diff --git a/test/fixedbugs/issue33020.dir/b.go b/test/fixedbugs/issue33020.dir/b.go new file mode 100644 index 0000000000..354ab3ebfe --- /dev/null +++ b/test/fixedbugs/issue33020.dir/b.go @@ -0,0 +1,22 @@ +// Copyright 2019 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 b + +import "a" + +var N n + +type n struct{} + +func (r n) M1() int { return a.G1 } +func (r n) M2() int { return a.G2 } +func (r n) M3() int { return a.G3 } +func (r n) M4() int { return a.G4 } +func (r n) M5() int { return a.G5 } +func (r n) M6() int { return a.G6 } +func (r n) M7() int { return a.G7 } +func (r n) M8() int { return a.G8 } +func (r n) M9() int { return a.G9 } +func (r n) M10() int { return a.G10 } diff --git a/test/fixedbugs/issue33020.go b/test/fixedbugs/issue33020.go new file mode 100644 index 0000000000..ccdf187453 --- /dev/null +++ b/test/fixedbugs/issue33020.go @@ -0,0 +1,9 @@ +// compiledir + +// Copyright 2019 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 33020: gccgo undefined behavior with inlinable function + +package ignored diff --git a/test/fixedbugs/issue33062.go b/test/fixedbugs/issue33062.go new file mode 100644 index 0000000000..5e6a3581a1 --- /dev/null +++ b/test/fixedbugs/issue33062.go @@ -0,0 +1,33 @@ +// run + +// Copyright 2019 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 33062: gccgo generates incorrect type equality +// functions. + +package main + +type simpleStruct struct { + int + string +} + +type complexStruct struct { + int + simpleStruct +} + +func main() { + x := complexStruct{1, simpleStruct{2, "xxx"}} + ix := interface{}(x) + y := complexStruct{1, simpleStruct{2, "yyy"}} + iy := interface{}(y) + if ix != ix { + panic("FAIL") + } + if ix == iy { + panic("FAIL") + } +} diff --git a/test/fixedbugs/issue33158.dir/a.go b/test/fixedbugs/issue33158.dir/a.go new file mode 100644 index 0000000000..28714e0c99 --- /dev/null +++ b/test/fixedbugs/issue33158.dir/a.go @@ -0,0 +1,25 @@ +// Copyright 2019 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 a + +var GS string + +func M() string { + if s := getname("Fred"); s != "" { + return s + } + if s := getname("Joe"); s != "" { + return s + } + + return string("Alex") +} + +// getname can be any function returning a string, just has to be non-inlinable. + +//go:noinline +func getname(s string) string { + return s + "foo" +} diff --git a/test/fixedbugs/issue33158.dir/b.go b/test/fixedbugs/issue33158.dir/b.go new file mode 100644 index 0000000000..a16f0da600 --- /dev/null +++ b/test/fixedbugs/issue33158.dir/b.go @@ -0,0 +1,11 @@ +// Copyright 2019 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 b + +import "a" + +func B() string { + return a.M() +} diff --git a/test/fixedbugs/issue33158.go b/test/fixedbugs/issue33158.go new file mode 100644 index 0000000000..1bba8f2f76 --- /dev/null +++ b/test/fixedbugs/issue33158.go @@ -0,0 +1,9 @@ +// compiledir + +// Copyright 2019 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 33158: gccgo duplicate def error from importing inlinable function + +package ignored diff --git a/test/fixedbugs/issue33219.dir/a.go b/test/fixedbugs/issue33219.dir/a.go new file mode 100644 index 0000000000..2d96301f9c --- /dev/null +++ b/test/fixedbugs/issue33219.dir/a.go @@ -0,0 +1,17 @@ +// Copyright 2019 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 a + +type A interface { + M(i interface{}) interface{} +} + +var a1 A +var a2 A + +func V(p A, k, v interface{}) A { + defer func() { a1, a2 = a2, a1 }() + return a1 +} diff --git a/test/fixedbugs/issue33219.dir/b.go b/test/fixedbugs/issue33219.dir/b.go new file mode 100644 index 0000000000..2a8f518bef --- /dev/null +++ b/test/fixedbugs/issue33219.dir/b.go @@ -0,0 +1,25 @@ +// Copyright 2019 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 b + +import "./a" + +type Service uint64 + +var q *Service +var r *Service + +type f struct{} + +var fk f + +func No(s a.A, qq uint8) *Service { + defer func() { q, r = r, q }() + return q +} + +func Yes(s a.A, p *uint64) a.A { + return a.V(s, fk, p) +} diff --git a/test/fixedbugs/issue33219.dir/c.go b/test/fixedbugs/issue33219.dir/c.go new file mode 100644 index 0000000000..ece48d7603 --- /dev/null +++ b/test/fixedbugs/issue33219.dir/c.go @@ -0,0 +1,20 @@ +// Copyright 2019 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 c + +import ( + "a" + "b" +) + +type BI interface { + Another(pxp a.A) int32 +} + +//go:noinline +func BRS(sd a.A, xyz int) *b.Service { + x := b.Yes(sd, nil) + return b.No(x, 1) +} diff --git a/test/fixedbugs/issue33219.go b/test/fixedbugs/issue33219.go new file mode 100644 index 0000000000..45edc8ba65 --- /dev/null +++ b/test/fixedbugs/issue33219.go @@ -0,0 +1,9 @@ +// compiledir + +// Copyright 2019 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 33219: gccgo assert in "implements_interface()" + +package ignored diff --git a/test/fixedbugs/issue33355.go b/test/fixedbugs/issue33355.go new file mode 100644 index 0000000000..c4b1e2e1a2 --- /dev/null +++ b/test/fixedbugs/issue33355.go @@ -0,0 +1,147 @@ +// compile + +// Copyright 2019 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. + +// This code failed on arm64 in the register allocator. +// See issue 33355. + +package server + +import ( + "bytes" + "sync" +) + +type client struct { + junk [4]int + mu sync.Mutex + srv *Server + gw *gateway + msgb [100]byte +} + +type gateway struct { + cfg *gatewayCfg + outsim *sync.Map +} + +type gatewayCfg struct { + replyPfx []byte +} + +type Account struct { + Name string +} + +type Server struct { + gateway *srvGateway +} + +type srvGateway struct { + outo []*client +} + +type subscription struct { + queue []byte + client *client +} + +type outsie struct { + ni map[string]struct{} + sl *Sublist + qsubs int +} + +type Sublist struct { +} + +type SublistResult struct { + psubs []*subscription + qsubs [][]*subscription +} + +var subPool = &sync.Pool{} + +func (c *client) sendMsgToGateways(acc *Account, msg, subject, reply []byte, qgroups [][]byte) { + var gws []*client + gw := c.srv.gateway + for i := 0; i < len(gw.outo); i++ { + gws = append(gws, gw.outo[i]) + } + var ( + subj = string(subject) + queuesa = [512]byte{} + queues = queuesa[:0] + mreply []byte + dstPfx []byte + checkReply = len(reply) > 0 + ) + + sub := subPool.Get().(*subscription) + + if subjectStartsWithGatewayReplyPrefix(subject) { + dstPfx = subject[:8] + } + for i := 0; i < len(gws); i++ { + gwc := gws[i] + if dstPfx != nil { + gwc.mu.Lock() + ok := bytes.Equal(dstPfx, gwc.gw.cfg.replyPfx) + gwc.mu.Unlock() + if !ok { + continue + } + } else { + qr := gwc.gatewayInterest(acc.Name, subj) + queues = queuesa[:0] + for i := 0; i < len(qr.qsubs); i++ { + qsubs := qr.qsubs[i] + queue := qsubs[0].queue + add := true + for _, qn := range qgroups { + if bytes.Equal(queue, qn) { + add = false + break + } + } + if add { + qgroups = append(qgroups, queue) + } + } + if len(queues) == 0 { + continue + } + } + if checkReply { + checkReply = false + mreply = reply + } + mh := c.msgb[:10] + mh = append(mh, subject...) + if len(queues) > 0 { + mh = append(mh, mreply...) + mh = append(mh, queues...) + } + sub.client = gwc + } + subPool.Put(sub) +} + +func subjectStartsWithGatewayReplyPrefix(subj []byte) bool { + return len(subj) > 8 && string(subj[:4]) == "foob" +} + +func (c *client) gatewayInterest(acc, subj string) *SublistResult { + ei, _ := c.gw.outsim.Load(acc) + var r *SublistResult + e := ei.(*outsie) + r = e.sl.Match(subj) + return r +} + +func (s *Sublist) Match(subject string) *SublistResult { + return nil +} + diff --git a/test/fixedbugs/issue33386.go b/test/fixedbugs/issue33386.go new file mode 100644 index 0000000000..afc27e62f3 --- /dev/null +++ b/test/fixedbugs/issue33386.go @@ -0,0 +1,29 @@ +// errorcheck + +// Copyright 2019 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. + +// Verify that we don't get spurious follow-on errors +// after a missing expression. Specifically, the parser +// shouldn't skip over closing parentheses of any kind. + +package p + +func _() { + go func() { // no error here about goroutine + send <- + }() // ERROR "expecting expression" +} + +func _() { + defer func() { // no error here about deferred function + 1 + + }() // ERROR "expecting expression" +} + +func _() { + _ = (1 +) // ERROR "expecting expression" + _ = a[2 +] // ERROR "expecting expression" + _ = []int{1, 2, 3 + } // ERROR "expecting expression" +} diff --git a/test/fixedbugs/issue33438.go b/test/fixedbugs/issue33438.go new file mode 100644 index 0000000000..e4206d7bcf --- /dev/null +++ b/test/fixedbugs/issue33438.go @@ -0,0 +1,19 @@ +// compile + +// Copyright 2019 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 + +type hasPtrs struct { + x [2]*int + // Note: array size needs to be >1 to force this type to be not SSAable. + // The bug triggers only for OpMove, which is only used for unSSAable types. +} + +func main() { + var x *hasPtrs // Can be local, global, or arg; nil or non-nil. + var y *hasPtrs = nil // Must initialize to nil. + *x = *y +} diff --git a/test/fixedbugs/issue33460.go b/test/fixedbugs/issue33460.go new file mode 100644 index 0000000000..1061d3e746 --- /dev/null +++ b/test/fixedbugs/issue33460.go @@ -0,0 +1,37 @@ +// errorcheck + +// Copyright 2019 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 + +const ( + zero = iota + one + two + three +) + +const iii int = 0x3 + +func f(v int) { + switch v { + case zero, one: + case two, one: // ERROR "previous case at LINE-1" + + case three: + case 3: // ERROR "previous case at LINE-1" + case iii: // ERROR "previous case at LINE-2" + } +} + +const b = "b" + +var _ = map[string]int{ + "a": 0, + b: 1, + "a": 2, // ERROR "previous key at LINE-2" + "b": 3, // ERROR "previous key at LINE-2" + "b": 4, // ERROR "previous key at LINE-3" +} diff --git a/test/fixedbugs/issue33555.go b/test/fixedbugs/issue33555.go new file mode 100644 index 0000000000..7debd2049c --- /dev/null +++ b/test/fixedbugs/issue33555.go @@ -0,0 +1,81 @@ +// +build !nacl,!js +// run + +// Copyright 2019 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. + +// Test that the linker permits long call sequences. +package main + +import ( + "bytes" + "fmt" + "io/ioutil" + "os" + "os/exec" + "path/filepath" + "strconv" +) + +const start = ` +package main + +func main() { + println(f0() + 1) +} +` + +const fn = ` +//go:noinline +func f%d() int { + return f%d() + 1 +}` + +const fnlast = ` +//go:noinline +func f%d() int { + return 0 +} +` + +const count = 400 + +func main() { + if err := test(); err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } +} + +func test() error { + var buf bytes.Buffer + buf.WriteString(start) + for i := 0; i < count; i++ { + fmt.Fprintf(&buf, fn, i, i + 1) + } + fmt.Fprintf(&buf, fnlast, count) + + dir, err := ioutil.TempDir("", "issue33555") + if err != nil { + return err + } + defer os.RemoveAll(dir) + + fn := filepath.Join(dir, "x.go") + if err := ioutil.WriteFile(fn, buf.Bytes(), 0644); err != nil { + return err + } + + out, err := exec.Command("go", "run", fn).CombinedOutput() + if err != nil { + return err + } + + want := strconv.Itoa(count + 1) + if got := string(bytes.TrimSpace(out)); got != want { + return fmt.Errorf("got %q want %q", got, want) + } + + return nil +} diff --git a/test/fixedbugs/issue6977.go b/test/fixedbugs/issue6977.go new file mode 100644 index 0000000000..0f657eec41 --- /dev/null +++ b/test/fixedbugs/issue6977.go @@ -0,0 +1,40 @@ +// errorcheck + +// Copyright 2019 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 "io" + +// Alan's initial report. + +type I interface { f(); String() string } +type J interface { g(); String() string } + +type IJ1 = interface { I; J } +type IJ2 = interface { f(); g(); String() string } + +var _ = (*IJ1)(nil) == (*IJ2)(nil) // static assert that IJ1 and IJ2 are identical types + +// The canonical example. + +type ReadWriteCloser interface { io.ReadCloser; io.WriteCloser } + +// Some more cases. + +type M interface { m() } +type M32 interface { m() int32 } +type M64 interface { m() int64 } + +type U1 interface { m() } +type U2 interface { m(); M } +type U3 interface { M; m() } +type U4 interface { M; M; M } +type U5 interface { U1; U2; U3; U4 } + +type U6 interface { m(); m() } // ERROR "duplicate method m" +type U7 interface { M32; m() } // ERROR "duplicate method m" +type U8 interface { m(); M32 } // ERROR "duplicate method m" +type U9 interface { M32; M64 } // ERROR "duplicate method m" diff --git a/test/prove.go b/test/prove.go index 6e92b9eec2..7643031c62 100644 --- a/test/prove.go +++ b/test/prove.go @@ -853,6 +853,63 @@ func unrollIncMin(a []int) int { return x } +// The 4 xxxxExtNto64 functions below test whether prove is looking +// through value-preserving sign/zero extensions of index values (issue #26292). + +// Look through all extensions +func signExtNto64(x []int, j8 int8, j16 int16, j32 int32) int { + if len(x) < 22 { + return 0 + } + if j8 >= 0 && j8 < 22 { + return x[j8] // ERROR "Proved IsInBounds$" + } + if j16 >= 0 && j16 < 22 { + return x[j16] // ERROR "Proved IsInBounds$" + } + if j32 >= 0 && j32 < 22 { + return x[j32] // ERROR "Proved IsInBounds$" + } + return 0 +} + +func zeroExtNto64(x []int, j8 uint8, j16 uint16, j32 uint32) int { + if len(x) < 22 { + return 0 + } + if j8 >= 0 && j8 < 22 { + return x[j8] // ERROR "Proved IsInBounds$" + } + if j16 >= 0 && j16 < 22 { + return x[j16] // ERROR "Proved IsInBounds$" + } + if j32 >= 0 && j32 < 22 { + return x[j32] // ERROR "Proved IsInBounds$" + } + return 0 +} + +// Process fence-post implications through 32to64 extensions (issue #29964) +func signExt32to64Fence(x []int, j int32) int { + if x[j] != 0 { + return 1 + } + if j > 0 && x[j-1] != 0 { // ERROR "Proved IsInBounds$" + return 1 + } + return 0 +} + +func zeroExt32to64Fence(x []int, j uint32) int { + if x[j] != 0 { + return 1 + } + if j > 0 && x[j-1] != 0 { // ERROR "Proved IsInBounds$" + return 1 + } + return 0 +} + //go:noinline func useInt(a int) { }
    $GOOS $GOARCH
    aix ppc64
    android 386
    android amd64
    android arm
    android arm64
    darwin 386
    freebsd arm
    illumos amd64
    js wasm
    linux 386
    openbsd arm
    openbsd arm64
    plan9 386
    plan9 amd64
    plan9 arm
    solaris amd64