all: merge dev.cc (a91c2e0) into master · golang/go@b986f3e

3 min read Original article ↗

346 files changed

lines changed

Original file line numberDiff line numberDiff line change

@@ -26,15 +26,14 @@ misc/cgo/life/run.out

2626

misc/cgo/stdio/run.out

2727

misc/cgo/testso/main

2828

misc/dashboard/builder/builder

29-

src/cmd/?a/y.output

3029

src/liblink/anames?.c

31-

src/cmd/cc/y.output

30+

src/cmd/*/y.output

3231

src/cmd/cgo/zdefaultcc.go

3332

src/cmd/dist/dist.dSYM

3433

src/cmd/gc/mkbuiltin1

3534

src/cmd/gc/opnames.h

36-

src/cmd/gc/y.output

3735

src/cmd/go/zdefaultcc.go

36+

src/cmd/internal/obj/zbootstrap.go

3837

src/go/doc/headscan

3938

src/runtime/mkversion

4039

src/runtime/zaexperiment.h

Original file line numberDiff line numberDiff line change

@@ -23,6 +23,7 @@ testing/quick: support generation of arrays (https://golang.org/cl/3865)

2323
2424

Tools:

2525
26+

cmd/go: std wildcard now excludes commands in main repo (https://golang.org/cl/5550)

2627

cmd/vet: better validation of struct tags (https://golang.org/cl/2685)

2728

cmd/ld: no longer record build timestamp in Windows PE file header (https://golang.org/cl/3740)

2829

@@ -34,3 +35,21 @@ strconv: optimize decimal to string conversion (https://golang.org/cl/2105)

3435

math/big: faster assembly kernels for amd64 and 386 (https://golang.org/cl/2503, https://golang.org/cl/2560)

3536

math/big: faster "pure Go" kernels for platforms w/o assembly kernels (https://golang.org/cl/2480)

3637
38+

Assembler:

39+
40+

ARM assembly syntax has had some features removed.

41+
42+

- mentioning SP or PC as a hardware register

43+

These are always pseudo-registers except that in some contexts

44+

they're not, and it's confusing because the context should not affect

45+

which register you mean. Change the references to the hardware

46+

registers to be explicit: R13 for SP, R15 for PC.

47+

- constant creation using assignment

48+

The files say a=b when they could instead say #define a b.

49+

There is no reason to have both mechanisms.

50+

- R(0) to refer to R0.

51+

Some macros use this to a great extent. Again, it's easy just to

52+

use a #define to rename a register.

53+
54+

Also expression evaluation now uses uint64s instead of signed integers and the

55+

precedence of operators is now Go-like rather than C-like.

Original file line numberDiff line numberDiff line change

@@ -292,6 +292,8 @@ extern char* getgoversion(void);

292292

extern char* getgoarm(void);

293293

extern char* getgo386(void);

294294

extern char* getgoextlinkenabled(void);

295+

extern char* getgohostos(void);

296+

extern char* getgohostarch(void);

295297
296298

extern char* mktempdir(void);

297299

extern void removeall(char*);

Original file line numberDiff line numberDiff line change

@@ -241,6 +241,7 @@ struct Prog

241241

uchar ft; // oclass cache

242242

uchar tt; // oclass cache

243243

uchar isize; // amd64, 386

244+

uchar printed;

244245
245246

char width; /* fake for DATA */

246247

char mode; /* 16, 32, or 64 in 6l, 8l; internal use in 5g, 6g, 8g */

@@ -303,6 +304,7 @@ struct LSym

303304

uchar localentry; // ppc64: instrs between global & local entry

304305

uchar seenglobl;

305306

uchar onlist; // on the textp or datap lists

307+

uchar printed;

306308

int16 symid; // for writing .5/.6/.8 files

307309

int32 dynid;

308310

int32 sig;

@@ -458,6 +460,7 @@ struct Hist

458460

char* name;

459461

int32 line;

460462

int32 offset;

463+

uchar printed;

461464

};

462465
463466

struct Plist

Original file line numberDiff line numberDiff line change

@@ -14,6 +14,10 @@ char* getgoversion(void);

1414

char* getgoarm(void);

1515

char* getgo386(void);

1616

char* getgoextlinkenabled(void);

17+

char* getgohostos(void);

18+

char* getgohostarch(void);

19+
20+

int runcmd(char**);

1721
1822

void flagcount(char*, char*, int*);

1923

void flagint32(char*, char*, int32*);

Original file line numberDiff line numberDiff line change

@@ -1,7 +1,7 @@

11

#include "textflag.h"

22
33

TEXT cas<>(SB),NOSPLIT,$0

4-

MOVW $0xffff0fc0, PC

4+

MOVW $0xffff0fc0, R15 // R15 is PC

55
66

TEXT ·RewindAndSetgid(SB),NOSPLIT,$-4-0

77

// Save link register

Original file line numberDiff line numberDiff line change

@@ -10,9 +10,23 @@ usr src=../misc/nacl/testdata

1010

go src=..

1111

src

1212

cmd

13+

asm

14+

internal

15+

asm

16+

testdata

17+

+

1318

internal

1419

objfile

1520

objfile.go

21+

rsc.io

22+

arm

23+

armasm

24+

testdata

25+

+

26+

x86

27+

x86asm

28+

testdata

29+

+

1630

gofmt

1731

gofmt.go

1832

gofmt_test.go