mirror of
https://github.com/golang/go
synced 2024-09-28 18:04:28 -06:00
[dev.boringcrypto] all: merge go1.10beta1 into dev.boringcrypto
Change-Id: I413306229201e13121fa57463eae0da07a1f396f
This commit is contained in:
commit
f62a24349d
645
api/go1.10.txt
Normal file
645
api/go1.10.txt
Normal file
@ -0,0 +1,645 @@
|
||||
pkg archive/tar, const FormatGNU = 8
|
||||
pkg archive/tar, const FormatGNU Format
|
||||
pkg archive/tar, const FormatPAX = 4
|
||||
pkg archive/tar, const FormatPAX Format
|
||||
pkg archive/tar, const FormatUSTAR = 2
|
||||
pkg archive/tar, const FormatUSTAR Format
|
||||
pkg archive/tar, const FormatUnknown = 0
|
||||
pkg archive/tar, const FormatUnknown Format
|
||||
pkg archive/tar, method (Format) String() string
|
||||
pkg archive/tar, type Format int
|
||||
pkg archive/tar, type Header struct, Format Format
|
||||
pkg archive/tar, type Header struct, PAXRecords map[string]string
|
||||
pkg archive/zip, method (*Writer) SetComment(string) error
|
||||
pkg archive/zip, type FileHeader struct, Modified time.Time
|
||||
pkg archive/zip, type FileHeader struct, NonUTF8 bool
|
||||
pkg bufio, method (*Reader) Size() int
|
||||
pkg bufio, method (*Writer) Size() int
|
||||
pkg crypto/tls, const ECDSAWithSHA1 = 515
|
||||
pkg crypto/tls, const ECDSAWithSHA1 SignatureScheme
|
||||
pkg crypto/x509, const CANotAuthorizedForExtKeyUsage = 9
|
||||
pkg crypto/x509, const CANotAuthorizedForExtKeyUsage InvalidReason
|
||||
pkg crypto/x509, const ExtKeyUsageMicrosoftCommercialCodeSigning = 12
|
||||
pkg crypto/x509, const ExtKeyUsageMicrosoftCommercialCodeSigning ExtKeyUsage
|
||||
pkg crypto/x509, const ExtKeyUsageMicrosoftKernelCodeSigning = 13
|
||||
pkg crypto/x509, const ExtKeyUsageMicrosoftKernelCodeSigning ExtKeyUsage
|
||||
pkg crypto/x509, const NameConstraintsWithoutSANs = 6
|
||||
pkg crypto/x509, const NameConstraintsWithoutSANs InvalidReason
|
||||
pkg crypto/x509, const TooManyConstraints = 8
|
||||
pkg crypto/x509, const TooManyConstraints InvalidReason
|
||||
pkg crypto/x509, const UnconstrainedName = 7
|
||||
pkg crypto/x509, const UnconstrainedName InvalidReason
|
||||
pkg crypto/x509, func MarshalPKCS1PublicKey(*rsa.PublicKey) []uint8
|
||||
pkg crypto/x509, func MarshalPKCS8PrivateKey(interface{}) ([]uint8, error)
|
||||
pkg crypto/x509, func ParsePKCS1PublicKey([]uint8) (*rsa.PublicKey, error)
|
||||
pkg crypto/x509, method (PublicKeyAlgorithm) String() string
|
||||
pkg crypto/x509, type Certificate struct, ExcludedEmailAddresses []string
|
||||
pkg crypto/x509, type Certificate struct, ExcludedIPRanges []*net.IPNet
|
||||
pkg crypto/x509, type Certificate struct, ExcludedURIDomains []string
|
||||
pkg crypto/x509, type Certificate struct, PermittedEmailAddresses []string
|
||||
pkg crypto/x509, type Certificate struct, PermittedIPRanges []*net.IPNet
|
||||
pkg crypto/x509, type Certificate struct, PermittedURIDomains []string
|
||||
pkg crypto/x509, type Certificate struct, URIs []*url.URL
|
||||
pkg crypto/x509, type CertificateInvalidError struct, Detail string
|
||||
pkg crypto/x509, type CertificateRequest struct, URIs []*url.URL
|
||||
pkg crypto/x509, type VerifyOptions struct, MaxConstraintComparisions int
|
||||
pkg crypto/x509/pkix, method (Name) String() string
|
||||
pkg crypto/x509/pkix, method (RDNSequence) String() string
|
||||
pkg database/sql, func OpenDB(driver.Connector) *DB
|
||||
pkg database/sql/driver, type Connector interface { Connect, Driver }
|
||||
pkg database/sql/driver, type Connector interface, Connect(context.Context) (Conn, error)
|
||||
pkg database/sql/driver, type Connector interface, Driver() Driver
|
||||
pkg database/sql/driver, type DriverContext interface { OpenConnector }
|
||||
pkg database/sql/driver, type DriverContext interface, OpenConnector(string) (Connector, error)
|
||||
pkg database/sql/driver, type SessionResetter interface { ResetSession }
|
||||
pkg database/sql/driver, type SessionResetter interface, ResetSession(context.Context) error
|
||||
pkg debug/elf, const R_386_16 = 20
|
||||
pkg debug/elf, const R_386_16 R_386
|
||||
pkg debug/elf, const R_386_32PLT = 11
|
||||
pkg debug/elf, const R_386_32PLT R_386
|
||||
pkg debug/elf, const R_386_8 = 22
|
||||
pkg debug/elf, const R_386_8 R_386
|
||||
pkg debug/elf, const R_386_GOT32X = 43
|
||||
pkg debug/elf, const R_386_GOT32X R_386
|
||||
pkg debug/elf, const R_386_IRELATIVE = 42
|
||||
pkg debug/elf, const R_386_IRELATIVE R_386
|
||||
pkg debug/elf, const R_386_PC16 = 21
|
||||
pkg debug/elf, const R_386_PC16 R_386
|
||||
pkg debug/elf, const R_386_PC8 = 23
|
||||
pkg debug/elf, const R_386_PC8 R_386
|
||||
pkg debug/elf, const R_386_SIZE32 = 38
|
||||
pkg debug/elf, const R_386_SIZE32 R_386
|
||||
pkg debug/elf, const R_386_TLS_DESC = 41
|
||||
pkg debug/elf, const R_386_TLS_DESC R_386
|
||||
pkg debug/elf, const R_386_TLS_DESC_CALL = 40
|
||||
pkg debug/elf, const R_386_TLS_DESC_CALL R_386
|
||||
pkg debug/elf, const R_386_TLS_GOTDESC = 39
|
||||
pkg debug/elf, const R_386_TLS_GOTDESC R_386
|
||||
pkg debug/elf, const R_AARCH64_LD64_GOTOFF_LO15 = 310
|
||||
pkg debug/elf, const R_AARCH64_LD64_GOTOFF_LO15 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_LD64_GOTPAGE_LO15 = 313
|
||||
pkg debug/elf, const R_AARCH64_LD64_GOTPAGE_LO15 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSGD_ADR_PREL21 = 512
|
||||
pkg debug/elf, const R_AARCH64_TLSGD_ADR_PREL21 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSGD_MOVW_G0_NC = 516
|
||||
pkg debug/elf, const R_AARCH64_TLSGD_MOVW_G0_NC R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSGD_MOVW_G1 = 515
|
||||
pkg debug/elf, const R_AARCH64_TLSGD_MOVW_G1 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_ADR_PAGE21 = 518
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_ADR_PAGE21 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_ADR_PREL21 = 517
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_ADR_PREL21 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_LDST128_DTPREL_LO12 = 572
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_LDST128_DTPREL_LO12 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC = 573
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSLE_LDST128_TPREL_LO12 = 570
|
||||
pkg debug/elf, const R_AARCH64_TLSLE_LDST128_TPREL_LO12 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC = 571
|
||||
pkg debug/elf, const R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC R_AARCH64
|
||||
pkg debug/elf, const R_ARM_ABS32_NOI = 55
|
||||
pkg debug/elf, const R_ARM_ABS32_NOI R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PCREL_15_8 = 33
|
||||
pkg debug/elf, const R_ARM_ALU_PCREL_15_8 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PCREL_23_15 = 34
|
||||
pkg debug/elf, const R_ARM_ALU_PCREL_23_15 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PCREL_7_0 = 32
|
||||
pkg debug/elf, const R_ARM_ALU_PCREL_7_0 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G0 = 58
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G0 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G0_NC = 57
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G0_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G1 = 60
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G1_NC = 59
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G1_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G2 = 61
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_SBREL_19_12_NC = 36
|
||||
pkg debug/elf, const R_ARM_ALU_SBREL_19_12_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_SBREL_27_20_CK = 37
|
||||
pkg debug/elf, const R_ARM_ALU_SBREL_27_20_CK R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G0 = 71
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G0 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G0_NC = 70
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G0_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G1 = 73
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G1_NC = 72
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G1_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G2 = 74
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_BASE_ABS = 31
|
||||
pkg debug/elf, const R_ARM_BASE_ABS R_ARM
|
||||
pkg debug/elf, const R_ARM_CALL = 28
|
||||
pkg debug/elf, const R_ARM_CALL R_ARM
|
||||
pkg debug/elf, const R_ARM_GOTOFF12 = 98
|
||||
pkg debug/elf, const R_ARM_GOTOFF12 R_ARM
|
||||
pkg debug/elf, const R_ARM_GOTRELAX = 99
|
||||
pkg debug/elf, const R_ARM_GOTRELAX R_ARM
|
||||
pkg debug/elf, const R_ARM_GOT_ABS = 95
|
||||
pkg debug/elf, const R_ARM_GOT_ABS R_ARM
|
||||
pkg debug/elf, const R_ARM_GOT_BREL12 = 97
|
||||
pkg debug/elf, const R_ARM_GOT_BREL12 R_ARM
|
||||
pkg debug/elf, const R_ARM_GOT_PREL = 96
|
||||
pkg debug/elf, const R_ARM_GOT_PREL R_ARM
|
||||
pkg debug/elf, const R_ARM_IRELATIVE = 160
|
||||
pkg debug/elf, const R_ARM_IRELATIVE R_ARM
|
||||
pkg debug/elf, const R_ARM_JUMP24 = 29
|
||||
pkg debug/elf, const R_ARM_JUMP24 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDC_PC_G0 = 67
|
||||
pkg debug/elf, const R_ARM_LDC_PC_G0 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDC_PC_G1 = 68
|
||||
pkg debug/elf, const R_ARM_LDC_PC_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDC_PC_G2 = 69
|
||||
pkg debug/elf, const R_ARM_LDC_PC_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDC_SB_G0 = 81
|
||||
pkg debug/elf, const R_ARM_LDC_SB_G0 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDC_SB_G1 = 82
|
||||
pkg debug/elf, const R_ARM_LDC_SB_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDC_SB_G2 = 83
|
||||
pkg debug/elf, const R_ARM_LDC_SB_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDRS_PC_G0 = 64
|
||||
pkg debug/elf, const R_ARM_LDRS_PC_G0 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDRS_PC_G1 = 65
|
||||
pkg debug/elf, const R_ARM_LDRS_PC_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDRS_PC_G2 = 66
|
||||
pkg debug/elf, const R_ARM_LDRS_PC_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDRS_SB_G0 = 78
|
||||
pkg debug/elf, const R_ARM_LDRS_SB_G0 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDRS_SB_G1 = 79
|
||||
pkg debug/elf, const R_ARM_LDRS_SB_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDRS_SB_G2 = 80
|
||||
pkg debug/elf, const R_ARM_LDRS_SB_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDR_PC_G1 = 62
|
||||
pkg debug/elf, const R_ARM_LDR_PC_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDR_PC_G2 = 63
|
||||
pkg debug/elf, const R_ARM_LDR_PC_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDR_SBREL_11_10_NC = 35
|
||||
pkg debug/elf, const R_ARM_LDR_SBREL_11_10_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_LDR_SB_G0 = 75
|
||||
pkg debug/elf, const R_ARM_LDR_SB_G0 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDR_SB_G1 = 76
|
||||
pkg debug/elf, const R_ARM_LDR_SB_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDR_SB_G2 = 77
|
||||
pkg debug/elf, const R_ARM_LDR_SB_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_ME_TOO = 128
|
||||
pkg debug/elf, const R_ARM_ME_TOO R_ARM
|
||||
pkg debug/elf, const R_ARM_MOVT_ABS = 44
|
||||
pkg debug/elf, const R_ARM_MOVT_ABS R_ARM
|
||||
pkg debug/elf, const R_ARM_MOVT_BREL = 85
|
||||
pkg debug/elf, const R_ARM_MOVT_BREL R_ARM
|
||||
pkg debug/elf, const R_ARM_MOVT_PREL = 46
|
||||
pkg debug/elf, const R_ARM_MOVT_PREL R_ARM
|
||||
pkg debug/elf, const R_ARM_MOVW_ABS_NC = 43
|
||||
pkg debug/elf, const R_ARM_MOVW_ABS_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_MOVW_BREL = 86
|
||||
pkg debug/elf, const R_ARM_MOVW_BREL R_ARM
|
||||
pkg debug/elf, const R_ARM_MOVW_BREL_NC = 84
|
||||
pkg debug/elf, const R_ARM_MOVW_BREL_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_MOVW_PREL_NC = 45
|
||||
pkg debug/elf, const R_ARM_MOVW_PREL_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_PLT32_ABS = 94
|
||||
pkg debug/elf, const R_ARM_PLT32_ABS R_ARM
|
||||
pkg debug/elf, const R_ARM_PREL31 = 42
|
||||
pkg debug/elf, const R_ARM_PREL31 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_0 = 112
|
||||
pkg debug/elf, const R_ARM_PRIVATE_0 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_1 = 113
|
||||
pkg debug/elf, const R_ARM_PRIVATE_1 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_10 = 122
|
||||
pkg debug/elf, const R_ARM_PRIVATE_10 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_11 = 123
|
||||
pkg debug/elf, const R_ARM_PRIVATE_11 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_12 = 124
|
||||
pkg debug/elf, const R_ARM_PRIVATE_12 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_13 = 125
|
||||
pkg debug/elf, const R_ARM_PRIVATE_13 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_14 = 126
|
||||
pkg debug/elf, const R_ARM_PRIVATE_14 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_15 = 127
|
||||
pkg debug/elf, const R_ARM_PRIVATE_15 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_2 = 114
|
||||
pkg debug/elf, const R_ARM_PRIVATE_2 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_3 = 115
|
||||
pkg debug/elf, const R_ARM_PRIVATE_3 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_4 = 116
|
||||
pkg debug/elf, const R_ARM_PRIVATE_4 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_5 = 117
|
||||
pkg debug/elf, const R_ARM_PRIVATE_5 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_6 = 118
|
||||
pkg debug/elf, const R_ARM_PRIVATE_6 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_7 = 119
|
||||
pkg debug/elf, const R_ARM_PRIVATE_7 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_8 = 120
|
||||
pkg debug/elf, const R_ARM_PRIVATE_8 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_9 = 121
|
||||
pkg debug/elf, const R_ARM_PRIVATE_9 R_ARM
|
||||
pkg debug/elf, const R_ARM_REL32_NOI = 56
|
||||
pkg debug/elf, const R_ARM_REL32_NOI R_ARM
|
||||
pkg debug/elf, const R_ARM_RXPC25 = 249
|
||||
pkg debug/elf, const R_ARM_RXPC25 R_ARM
|
||||
pkg debug/elf, const R_ARM_SBREL31 = 39
|
||||
pkg debug/elf, const R_ARM_SBREL31 R_ARM
|
||||
pkg debug/elf, const R_ARM_TARGET1 = 38
|
||||
pkg debug/elf, const R_ARM_TARGET1 R_ARM
|
||||
pkg debug/elf, const R_ARM_TARGET2 = 41
|
||||
pkg debug/elf, const R_ARM_TARGET2 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G0_NC = 132
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G0_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G1_NC = 133
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G1_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G2_NC = 134
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G2_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G3 = 135
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G3 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_ALU_PREL_11_0 = 53
|
||||
pkg debug/elf, const R_ARM_THM_ALU_PREL_11_0 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_GOT_BREL12 = 131
|
||||
pkg debug/elf, const R_ARM_THM_GOT_BREL12 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_JUMP11 = 102
|
||||
pkg debug/elf, const R_ARM_THM_JUMP11 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_JUMP19 = 51
|
||||
pkg debug/elf, const R_ARM_THM_JUMP19 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_JUMP24 = 30
|
||||
pkg debug/elf, const R_ARM_THM_JUMP24 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_JUMP6 = 52
|
||||
pkg debug/elf, const R_ARM_THM_JUMP6 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_JUMP8 = 103
|
||||
pkg debug/elf, const R_ARM_THM_JUMP8 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_MOVT_ABS = 48
|
||||
pkg debug/elf, const R_ARM_THM_MOVT_ABS R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_MOVT_BREL = 88
|
||||
pkg debug/elf, const R_ARM_THM_MOVT_BREL R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_MOVT_PREL = 50
|
||||
pkg debug/elf, const R_ARM_THM_MOVT_PREL R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_ABS_NC = 47
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_ABS_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_BREL = 89
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_BREL R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_BREL_NC = 87
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_BREL_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_PREL_NC = 49
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_PREL_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_PC12 = 54
|
||||
pkg debug/elf, const R_ARM_THM_PC12 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_TLS_CALL = 93
|
||||
pkg debug/elf, const R_ARM_THM_TLS_CALL R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_TLS_DESCSEQ16 = 129
|
||||
pkg debug/elf, const R_ARM_THM_TLS_DESCSEQ16 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_TLS_DESCSEQ32 = 130
|
||||
pkg debug/elf, const R_ARM_THM_TLS_DESCSEQ32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_CALL = 91
|
||||
pkg debug/elf, const R_ARM_TLS_CALL R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_DESCSEQ = 92
|
||||
pkg debug/elf, const R_ARM_TLS_DESCSEQ R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_DTPMOD32 = 17
|
||||
pkg debug/elf, const R_ARM_TLS_DTPMOD32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_DTPOFF32 = 18
|
||||
pkg debug/elf, const R_ARM_TLS_DTPOFF32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_GD32 = 104
|
||||
pkg debug/elf, const R_ARM_TLS_GD32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_GOTDESC = 90
|
||||
pkg debug/elf, const R_ARM_TLS_GOTDESC R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_IE12GP = 111
|
||||
pkg debug/elf, const R_ARM_TLS_IE12GP R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_IE32 = 107
|
||||
pkg debug/elf, const R_ARM_TLS_IE32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_LDM32 = 105
|
||||
pkg debug/elf, const R_ARM_TLS_LDM32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_LDO12 = 109
|
||||
pkg debug/elf, const R_ARM_TLS_LDO12 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_LDO32 = 106
|
||||
pkg debug/elf, const R_ARM_TLS_LDO32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_LE12 = 110
|
||||
pkg debug/elf, const R_ARM_TLS_LE12 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_LE32 = 108
|
||||
pkg debug/elf, const R_ARM_TLS_LE32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_TPOFF32 = 19
|
||||
pkg debug/elf, const R_ARM_TLS_TPOFF32 R_ARM
|
||||
pkg debug/elf, const R_ARM_V4BX = 40
|
||||
pkg debug/elf, const R_ARM_V4BX R_ARM
|
||||
pkg debug/elf, const R_PPC64_ADDR16_HIGH = 110
|
||||
pkg debug/elf, const R_PPC64_ADDR16_HIGH R_PPC64
|
||||
pkg debug/elf, const R_PPC64_ADDR16_HIGHA = 111
|
||||
pkg debug/elf, const R_PPC64_ADDR16_HIGHA R_PPC64
|
||||
pkg debug/elf, const R_PPC64_ADDR64_LOCAL = 117
|
||||
pkg debug/elf, const R_PPC64_ADDR64_LOCAL R_PPC64
|
||||
pkg debug/elf, const R_PPC64_DTPREL16_HIGH = 114
|
||||
pkg debug/elf, const R_PPC64_DTPREL16_HIGH R_PPC64
|
||||
pkg debug/elf, const R_PPC64_DTPREL16_HIGHA = 115
|
||||
pkg debug/elf, const R_PPC64_DTPREL16_HIGHA R_PPC64
|
||||
pkg debug/elf, const R_PPC64_ENTRY = 118
|
||||
pkg debug/elf, const R_PPC64_ENTRY R_PPC64
|
||||
pkg debug/elf, const R_PPC64_IRELATIVE = 248
|
||||
pkg debug/elf, const R_PPC64_IRELATIVE R_PPC64
|
||||
pkg debug/elf, const R_PPC64_JMP_IREL = 247
|
||||
pkg debug/elf, const R_PPC64_JMP_IREL R_PPC64
|
||||
pkg debug/elf, const R_PPC64_PLT16_LO_DS = 60
|
||||
pkg debug/elf, const R_PPC64_PLT16_LO_DS R_PPC64
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16 = 52
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16 R_PPC64
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_DS = 65
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_DS R_PPC64
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_HA = 55
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_HA R_PPC64
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_HI = 54
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_HI R_PPC64
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_LO = 53
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_LO R_PPC64
|
||||
pkg debug/elf, const R_PPC64_PLTGOT_LO_DS = 66
|
||||
pkg debug/elf, const R_PPC64_PLTGOT_LO_DS R_PPC64
|
||||
pkg debug/elf, const R_PPC64_REL16DX_HA = 246
|
||||
pkg debug/elf, const R_PPC64_REL16DX_HA R_PPC64
|
||||
pkg debug/elf, const R_PPC64_REL24_NOTOC = 116
|
||||
pkg debug/elf, const R_PPC64_REL24_NOTOC R_PPC64
|
||||
pkg debug/elf, const R_PPC64_SECTOFF_DS = 61
|
||||
pkg debug/elf, const R_PPC64_SECTOFF_DS R_PPC64
|
||||
pkg debug/elf, const R_PPC64_SECTOFF_LO_DS = 61
|
||||
pkg debug/elf, const R_PPC64_SECTOFF_LO_DS R_PPC64
|
||||
pkg debug/elf, const R_PPC64_TOCSAVE = 109
|
||||
pkg debug/elf, const R_PPC64_TOCSAVE R_PPC64
|
||||
pkg debug/elf, const R_PPC64_TPREL16_HIGH = 112
|
||||
pkg debug/elf, const R_PPC64_TPREL16_HIGH R_PPC64
|
||||
pkg debug/elf, const R_PPC64_TPREL16_HIGHA = 113
|
||||
pkg debug/elf, const R_PPC64_TPREL16_HIGHA R_PPC64
|
||||
pkg debug/elf, const R_X86_64_GOT64 = 27
|
||||
pkg debug/elf, const R_X86_64_GOT64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_GOTOFF64 = 25
|
||||
pkg debug/elf, const R_X86_64_GOTOFF64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_GOTPC32 = 26
|
||||
pkg debug/elf, const R_X86_64_GOTPC32 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_GOTPC32_TLSDESC = 34
|
||||
pkg debug/elf, const R_X86_64_GOTPC32_TLSDESC R_X86_64
|
||||
pkg debug/elf, const R_X86_64_GOTPC64 = 29
|
||||
pkg debug/elf, const R_X86_64_GOTPC64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_GOTPCREL64 = 28
|
||||
pkg debug/elf, const R_X86_64_GOTPCREL64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_GOTPCRELX = 41
|
||||
pkg debug/elf, const R_X86_64_GOTPCRELX R_X86_64
|
||||
pkg debug/elf, const R_X86_64_GOTPLT64 = 30
|
||||
pkg debug/elf, const R_X86_64_GOTPLT64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_IRELATIVE = 37
|
||||
pkg debug/elf, const R_X86_64_IRELATIVE R_X86_64
|
||||
pkg debug/elf, const R_X86_64_PC32_BND = 39
|
||||
pkg debug/elf, const R_X86_64_PC32_BND R_X86_64
|
||||
pkg debug/elf, const R_X86_64_PC64 = 24
|
||||
pkg debug/elf, const R_X86_64_PC64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_PLT32_BND = 40
|
||||
pkg debug/elf, const R_X86_64_PLT32_BND R_X86_64
|
||||
pkg debug/elf, const R_X86_64_PLTOFF64 = 31
|
||||
pkg debug/elf, const R_X86_64_PLTOFF64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_RELATIVE64 = 38
|
||||
pkg debug/elf, const R_X86_64_RELATIVE64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_REX_GOTPCRELX = 42
|
||||
pkg debug/elf, const R_X86_64_REX_GOTPCRELX R_X86_64
|
||||
pkg debug/elf, const R_X86_64_SIZE32 = 32
|
||||
pkg debug/elf, const R_X86_64_SIZE32 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_SIZE64 = 33
|
||||
pkg debug/elf, const R_X86_64_SIZE64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_TLSDESC = 36
|
||||
pkg debug/elf, const R_X86_64_TLSDESC R_X86_64
|
||||
pkg debug/elf, const R_X86_64_TLSDESC_CALL = 35
|
||||
pkg debug/elf, const R_X86_64_TLSDESC_CALL R_X86_64
|
||||
pkg debug/macho, const ARM64_RELOC_ADDEND = 10
|
||||
pkg debug/macho, const ARM64_RELOC_ADDEND RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_BRANCH26 = 2
|
||||
pkg debug/macho, const ARM64_RELOC_BRANCH26 RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_GOT_LOAD_PAGE21 = 5
|
||||
pkg debug/macho, const ARM64_RELOC_GOT_LOAD_PAGE21 RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_GOT_LOAD_PAGEOFF12 = 6
|
||||
pkg debug/macho, const ARM64_RELOC_GOT_LOAD_PAGEOFF12 RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_PAGE21 = 3
|
||||
pkg debug/macho, const ARM64_RELOC_PAGE21 RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_PAGEOFF12 = 4
|
||||
pkg debug/macho, const ARM64_RELOC_PAGEOFF12 RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_POINTER_TO_GOT = 7
|
||||
pkg debug/macho, const ARM64_RELOC_POINTER_TO_GOT RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_SUBTRACTOR = 1
|
||||
pkg debug/macho, const ARM64_RELOC_SUBTRACTOR RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_TLVP_LOAD_PAGE21 = 8
|
||||
pkg debug/macho, const ARM64_RELOC_TLVP_LOAD_PAGE21 RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_TLVP_LOAD_PAGEOFF12 = 9
|
||||
pkg debug/macho, const ARM64_RELOC_TLVP_LOAD_PAGEOFF12 RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_UNSIGNED = 0
|
||||
pkg debug/macho, const ARM64_RELOC_UNSIGNED RelocTypeARM64
|
||||
pkg debug/macho, const ARM_RELOC_BR24 = 5
|
||||
pkg debug/macho, const ARM_RELOC_BR24 RelocTypeARM
|
||||
pkg debug/macho, const ARM_RELOC_HALF = 8
|
||||
pkg debug/macho, const ARM_RELOC_HALF RelocTypeARM
|
||||
pkg debug/macho, const ARM_RELOC_HALF_SECTDIFF = 9
|
||||
pkg debug/macho, const ARM_RELOC_HALF_SECTDIFF RelocTypeARM
|
||||
pkg debug/macho, const ARM_RELOC_LOCAL_SECTDIFF = 3
|
||||
pkg debug/macho, const ARM_RELOC_LOCAL_SECTDIFF RelocTypeARM
|
||||
pkg debug/macho, const ARM_RELOC_PAIR = 1
|
||||
pkg debug/macho, const ARM_RELOC_PAIR RelocTypeARM
|
||||
pkg debug/macho, const ARM_RELOC_PB_LA_PTR = 4
|
||||
pkg debug/macho, const ARM_RELOC_PB_LA_PTR RelocTypeARM
|
||||
pkg debug/macho, const ARM_RELOC_SECTDIFF = 2
|
||||
pkg debug/macho, const ARM_RELOC_SECTDIFF RelocTypeARM
|
||||
pkg debug/macho, const ARM_RELOC_VANILLA = 0
|
||||
pkg debug/macho, const ARM_RELOC_VANILLA RelocTypeARM
|
||||
pkg debug/macho, const ARM_THUMB_32BIT_BRANCH = 7
|
||||
pkg debug/macho, const ARM_THUMB_32BIT_BRANCH RelocTypeARM
|
||||
pkg debug/macho, const ARM_THUMB_RELOC_BR22 = 6
|
||||
pkg debug/macho, const ARM_THUMB_RELOC_BR22 RelocTypeARM
|
||||
pkg debug/macho, const FlagAllModsBound = 4096
|
||||
pkg debug/macho, const FlagAllModsBound uint32
|
||||
pkg debug/macho, const FlagAllowStackExecution = 131072
|
||||
pkg debug/macho, const FlagAllowStackExecution uint32
|
||||
pkg debug/macho, const FlagAppExtensionSafe = 33554432
|
||||
pkg debug/macho, const FlagAppExtensionSafe uint32
|
||||
pkg debug/macho, const FlagBindAtLoad = 8
|
||||
pkg debug/macho, const FlagBindAtLoad uint32
|
||||
pkg debug/macho, const FlagBindsToWeak = 65536
|
||||
pkg debug/macho, const FlagBindsToWeak uint32
|
||||
pkg debug/macho, const FlagCanonical = 16384
|
||||
pkg debug/macho, const FlagCanonical uint32
|
||||
pkg debug/macho, const FlagDeadStrippableDylib = 4194304
|
||||
pkg debug/macho, const FlagDeadStrippableDylib uint32
|
||||
pkg debug/macho, const FlagDyldLink = 4
|
||||
pkg debug/macho, const FlagDyldLink uint32
|
||||
pkg debug/macho, const FlagForceFlat = 256
|
||||
pkg debug/macho, const FlagForceFlat uint32
|
||||
pkg debug/macho, const FlagHasTLVDescriptors = 8388608
|
||||
pkg debug/macho, const FlagHasTLVDescriptors uint32
|
||||
pkg debug/macho, const FlagIncrLink = 2
|
||||
pkg debug/macho, const FlagIncrLink uint32
|
||||
pkg debug/macho, const FlagLazyInit = 64
|
||||
pkg debug/macho, const FlagLazyInit uint32
|
||||
pkg debug/macho, const FlagNoFixPrebinding = 1024
|
||||
pkg debug/macho, const FlagNoFixPrebinding uint32
|
||||
pkg debug/macho, const FlagNoHeapExecution = 16777216
|
||||
pkg debug/macho, const FlagNoHeapExecution uint32
|
||||
pkg debug/macho, const FlagNoMultiDefs = 512
|
||||
pkg debug/macho, const FlagNoMultiDefs uint32
|
||||
pkg debug/macho, const FlagNoReexportedDylibs = 1048576
|
||||
pkg debug/macho, const FlagNoReexportedDylibs uint32
|
||||
pkg debug/macho, const FlagNoUndefs = 1
|
||||
pkg debug/macho, const FlagNoUndefs uint32
|
||||
pkg debug/macho, const FlagPIE = 2097152
|
||||
pkg debug/macho, const FlagPIE uint32
|
||||
pkg debug/macho, const FlagPrebindable = 2048
|
||||
pkg debug/macho, const FlagPrebindable uint32
|
||||
pkg debug/macho, const FlagPrebound = 16
|
||||
pkg debug/macho, const FlagPrebound uint32
|
||||
pkg debug/macho, const FlagRootSafe = 262144
|
||||
pkg debug/macho, const FlagRootSafe uint32
|
||||
pkg debug/macho, const FlagSetuidSafe = 524288
|
||||
pkg debug/macho, const FlagSetuidSafe uint32
|
||||
pkg debug/macho, const FlagSplitSegs = 32
|
||||
pkg debug/macho, const FlagSplitSegs uint32
|
||||
pkg debug/macho, const FlagSubsectionsViaSymbols = 8192
|
||||
pkg debug/macho, const FlagSubsectionsViaSymbols uint32
|
||||
pkg debug/macho, const FlagTwoLevel = 128
|
||||
pkg debug/macho, const FlagTwoLevel uint32
|
||||
pkg debug/macho, const FlagWeakDefines = 32768
|
||||
pkg debug/macho, const FlagWeakDefines uint32
|
||||
pkg debug/macho, const GENERIC_RELOC_LOCAL_SECTDIFF = 4
|
||||
pkg debug/macho, const GENERIC_RELOC_LOCAL_SECTDIFF RelocTypeGeneric
|
||||
pkg debug/macho, const GENERIC_RELOC_PAIR = 1
|
||||
pkg debug/macho, const GENERIC_RELOC_PAIR RelocTypeGeneric
|
||||
pkg debug/macho, const GENERIC_RELOC_PB_LA_PTR = 3
|
||||
pkg debug/macho, const GENERIC_RELOC_PB_LA_PTR RelocTypeGeneric
|
||||
pkg debug/macho, const GENERIC_RELOC_SECTDIFF = 2
|
||||
pkg debug/macho, const GENERIC_RELOC_SECTDIFF RelocTypeGeneric
|
||||
pkg debug/macho, const GENERIC_RELOC_TLV = 5
|
||||
pkg debug/macho, const GENERIC_RELOC_TLV RelocTypeGeneric
|
||||
pkg debug/macho, const GENERIC_RELOC_VANILLA = 0
|
||||
pkg debug/macho, const GENERIC_RELOC_VANILLA RelocTypeGeneric
|
||||
pkg debug/macho, const LoadCmdRpath = 2147483676
|
||||
pkg debug/macho, const LoadCmdRpath LoadCmd
|
||||
pkg debug/macho, const X86_64_RELOC_BRANCH = 2
|
||||
pkg debug/macho, const X86_64_RELOC_BRANCH RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_GOT = 4
|
||||
pkg debug/macho, const X86_64_RELOC_GOT RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_GOT_LOAD = 3
|
||||
pkg debug/macho, const X86_64_RELOC_GOT_LOAD RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED = 1
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED_1 = 6
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED_1 RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED_2 = 7
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED_2 RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED_4 = 8
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED_4 RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_SUBTRACTOR = 5
|
||||
pkg debug/macho, const X86_64_RELOC_SUBTRACTOR RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_TLV = 9
|
||||
pkg debug/macho, const X86_64_RELOC_TLV RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_UNSIGNED = 0
|
||||
pkg debug/macho, const X86_64_RELOC_UNSIGNED RelocTypeX86_64
|
||||
pkg debug/macho, method (RelocTypeARM) GoString() string
|
||||
pkg debug/macho, method (RelocTypeARM) String() string
|
||||
pkg debug/macho, method (RelocTypeARM64) GoString() string
|
||||
pkg debug/macho, method (RelocTypeARM64) String() string
|
||||
pkg debug/macho, method (RelocTypeGeneric) GoString() string
|
||||
pkg debug/macho, method (RelocTypeGeneric) String() string
|
||||
pkg debug/macho, method (RelocTypeX86_64) GoString() string
|
||||
pkg debug/macho, method (RelocTypeX86_64) String() string
|
||||
pkg debug/macho, method (Rpath) Raw() []uint8
|
||||
pkg debug/macho, method (Type) GoString() string
|
||||
pkg debug/macho, method (Type) String() string
|
||||
pkg debug/macho, type Reloc struct
|
||||
pkg debug/macho, type Reloc struct, Addr uint32
|
||||
pkg debug/macho, type Reloc struct, Extern bool
|
||||
pkg debug/macho, type Reloc struct, Len uint8
|
||||
pkg debug/macho, type Reloc struct, Pcrel bool
|
||||
pkg debug/macho, type Reloc struct, Scattered bool
|
||||
pkg debug/macho, type Reloc struct, Type uint8
|
||||
pkg debug/macho, type Reloc struct, Value uint32
|
||||
pkg debug/macho, type RelocTypeARM int
|
||||
pkg debug/macho, type RelocTypeARM64 int
|
||||
pkg debug/macho, type RelocTypeGeneric int
|
||||
pkg debug/macho, type RelocTypeX86_64 int
|
||||
pkg debug/macho, type Rpath struct
|
||||
pkg debug/macho, type Rpath struct, Path string
|
||||
pkg debug/macho, type Rpath struct, embedded LoadBytes
|
||||
pkg debug/macho, type RpathCmd struct
|
||||
pkg debug/macho, type RpathCmd struct, Cmd LoadCmd
|
||||
pkg debug/macho, type RpathCmd struct, Len uint32
|
||||
pkg debug/macho, type RpathCmd struct, Path uint32
|
||||
pkg debug/macho, type Section struct, Relocs []Reloc
|
||||
pkg encoding/asn1, const TagNumericString = 18
|
||||
pkg encoding/asn1, const TagNumericString ideal-int
|
||||
pkg encoding/asn1, func MarshalWithParams(interface{}, string) ([]uint8, error)
|
||||
pkg encoding/csv, type ParseError struct, StartLine int
|
||||
pkg encoding/hex, func NewDecoder(io.Reader) io.Reader
|
||||
pkg encoding/hex, func NewEncoder(io.Writer) io.Writer
|
||||
pkg encoding/json, method (*Decoder) DisallowUnknownFields()
|
||||
pkg encoding/xml, func NewTokenDecoder(TokenReader) *Decoder
|
||||
pkg encoding/xml, type TokenReader interface { Token }
|
||||
pkg encoding/xml, type TokenReader interface, Token() (Token, error)
|
||||
pkg flag, method (*FlagSet) ErrorHandling() ErrorHandling
|
||||
pkg flag, method (*FlagSet) Name() string
|
||||
pkg flag, method (*FlagSet) Output() io.Writer
|
||||
pkg math, func Erfcinv(float64) float64
|
||||
pkg math, func Erfinv(float64) float64
|
||||
pkg math, func Round(float64) float64
|
||||
pkg math, func RoundToEven(float64) float64
|
||||
pkg math/big, const MaxBase = 62
|
||||
pkg math/big, method (*Float) Sqrt(*Float) *Float
|
||||
pkg math/big, method (*Int) CmpAbs(*Int) int
|
||||
pkg math/rand, func Shuffle(int, func(int, int))
|
||||
pkg math/rand, method (*Rand) Shuffle(int, func(int, int))
|
||||
pkg net, method (*TCPListener) SyscallConn() (syscall.RawConn, error)
|
||||
pkg net, method (*UnixListener) SyscallConn() (syscall.RawConn, error)
|
||||
pkg net/smtp, method (*Client) Noop() error
|
||||
pkg os, func IsTimeout(error) bool
|
||||
pkg os, method (*File) SetDeadline(time.Time) error
|
||||
pkg os, method (*File) SetReadDeadline(time.Time) error
|
||||
pkg os, method (*File) SetWriteDeadline(time.Time) error
|
||||
pkg os, method (*PathError) Timeout() bool
|
||||
pkg os, method (*SyscallError) Timeout() bool
|
||||
pkg os, var ErrNoDeadline error
|
||||
pkg strings, method (*Builder) Grow(int)
|
||||
pkg strings, method (*Builder) Len() int
|
||||
pkg strings, method (*Builder) ReadFrom(io.Reader) (int64, error)
|
||||
pkg strings, method (*Builder) Reset()
|
||||
pkg strings, method (*Builder) String() string
|
||||
pkg strings, method (*Builder) Write([]uint8) (int, error)
|
||||
pkg strings, method (*Builder) WriteByte(uint8) error
|
||||
pkg strings, method (*Builder) WriteRune(int32) (int, error)
|
||||
pkg strings, method (*Builder) WriteString(string) (int, error)
|
||||
pkg strings, type Builder struct
|
||||
pkg syscall (freebsd-386), const SYS_UTIMENSAT = 547
|
||||
pkg syscall (freebsd-386), const SYS_UTIMENSAT ideal-int
|
||||
pkg syscall (freebsd-386-cgo), const SYS_UTIMENSAT = 547
|
||||
pkg syscall (freebsd-386-cgo), const SYS_UTIMENSAT ideal-int
|
||||
pkg syscall (freebsd-amd64), const SYS_UTIMENSAT = 547
|
||||
pkg syscall (freebsd-amd64), const SYS_UTIMENSAT ideal-int
|
||||
pkg syscall (freebsd-amd64-cgo), const SYS_UTIMENSAT = 547
|
||||
pkg syscall (freebsd-amd64-cgo), const SYS_UTIMENSAT ideal-int
|
||||
pkg syscall (freebsd-arm), const SYS_UTIMENSAT = 547
|
||||
pkg syscall (freebsd-arm), const SYS_UTIMENSAT ideal-int
|
||||
pkg syscall (freebsd-arm-cgo), const SYS_UTIMENSAT = 547
|
||||
pkg syscall (freebsd-arm-cgo), const SYS_UTIMENSAT ideal-int
|
||||
pkg syscall (windows-386), func CreateProcessAsUser(Token, *uint16, *uint16, *SecurityAttributes, *SecurityAttributes, bool, uint32, *uint16, *uint16, *StartupInfo, *ProcessInformation) error
|
||||
pkg syscall (windows-386), type SysProcAttr struct, Token Token
|
||||
pkg syscall (windows-amd64), func CreateProcessAsUser(Token, *uint16, *uint16, *SecurityAttributes, *SecurityAttributes, bool, uint32, *uint16, *uint16, *StartupInfo, *ProcessInformation) error
|
||||
pkg syscall (windows-amd64), type SysProcAttr struct, Token Token
|
||||
pkg text/template/parse, const NodeBreak = 20
|
||||
pkg text/template/parse, const NodeBreak NodeType
|
||||
pkg text/template/parse, const NodeContinue = 21
|
||||
pkg text/template/parse, const NodeContinue NodeType
|
||||
pkg text/template/parse, method (*BreakNode) Copy() Node
|
||||
pkg text/template/parse, method (*BreakNode) Position() Pos
|
||||
pkg text/template/parse, method (*BreakNode) String() string
|
||||
pkg text/template/parse, method (*BreakNode) Type() NodeType
|
||||
pkg text/template/parse, method (*ContinueNode) Copy() Node
|
||||
pkg text/template/parse, method (*ContinueNode) Position() Pos
|
||||
pkg text/template/parse, method (*ContinueNode) String() string
|
||||
pkg text/template/parse, method (*ContinueNode) Type() NodeType
|
||||
pkg text/template/parse, type BreakNode struct
|
||||
pkg text/template/parse, type BreakNode struct, embedded NodeType
|
||||
pkg text/template/parse, type BreakNode struct, embedded Pos
|
||||
pkg text/template/parse, type ContinueNode struct
|
||||
pkg text/template/parse, type ContinueNode struct, embedded NodeType
|
||||
pkg text/template/parse, type ContinueNode struct, embedded Pos
|
||||
pkg time, func LoadLocationFromTZData(string, []uint8) (*Location, error)
|
||||
pkg unicode, const Version = "10.0.0"
|
||||
pkg unicode, var Masaram_Gondi *RangeTable
|
||||
pkg unicode, var Nushu *RangeTable
|
||||
pkg unicode, var Regional_Indicator *RangeTable
|
||||
pkg unicode, var Soyombo *RangeTable
|
||||
pkg unicode, var Zanabazar_Square *RangeTable
|
641
api/next.txt
641
api/next.txt
@ -1,641 +0,0 @@
|
||||
pkg archive/tar, const FormatGNU = 8
|
||||
pkg archive/tar, const FormatGNU Format
|
||||
pkg archive/tar, const FormatPAX = 4
|
||||
pkg archive/tar, const FormatPAX Format
|
||||
pkg archive/tar, const FormatUSTAR = 2
|
||||
pkg archive/tar, const FormatUSTAR Format
|
||||
pkg archive/tar, const FormatUnknown = 0
|
||||
pkg archive/tar, const FormatUnknown Format
|
||||
pkg archive/tar, method (*Header) DetectSparseHoles(*os.File) error
|
||||
pkg archive/tar, method (*Header) PunchSparseHoles(*os.File) error
|
||||
pkg archive/tar, method (*Reader) WriteTo(io.Writer) (int64, error)
|
||||
pkg archive/tar, method (*Writer) ReadFrom(io.Reader) (int64, error)
|
||||
pkg archive/tar, method (Format) String() string
|
||||
pkg archive/tar, type Format int
|
||||
pkg archive/tar, type Header struct, Format Format
|
||||
pkg archive/tar, type Header struct, PAXRecords map[string]string
|
||||
pkg archive/tar, type Header struct, SparseHoles []SparseEntry
|
||||
pkg archive/tar, type SparseEntry struct
|
||||
pkg archive/tar, type SparseEntry struct, Length int64
|
||||
pkg archive/tar, type SparseEntry struct, Offset int64
|
||||
pkg archive/zip, type FileHeader struct, Modified time.Time
|
||||
pkg archive/zip, type FileHeader struct, NonUTF8 bool
|
||||
pkg archive/zip, type Writer struct, Comment string
|
||||
pkg bufio, method (*Reader) Size() int
|
||||
pkg bufio, method (*Writer) Size() int
|
||||
pkg crypto/tls, const ECDSAWithSHA1 = 515
|
||||
pkg crypto/tls, const ECDSAWithSHA1 SignatureScheme
|
||||
pkg crypto/x509, const CANotAuthorizedForExtKeyUsage = 9
|
||||
pkg crypto/x509, const CANotAuthorizedForExtKeyUsage InvalidReason
|
||||
pkg crypto/x509, const NameConstraintsWithoutSANs = 6
|
||||
pkg crypto/x509, const NameConstraintsWithoutSANs InvalidReason
|
||||
pkg crypto/x509, const TooManyConstraints = 8
|
||||
pkg crypto/x509, const TooManyConstraints InvalidReason
|
||||
pkg crypto/x509, const UnconstrainedName = 7
|
||||
pkg crypto/x509, const UnconstrainedName InvalidReason
|
||||
pkg crypto/x509, func MarshalPKCS8PrivateKey(interface{}) ([]uint8, error)
|
||||
pkg crypto/x509, method (PublicKeyAlgorithm) String() string
|
||||
pkg crypto/x509, type Certificate struct, ExcludedEmailAddresses []string
|
||||
pkg crypto/x509, type Certificate struct, ExcludedIPRanges []*net.IPNet
|
||||
pkg crypto/x509, type Certificate struct, ExcludedURIDomains []string
|
||||
pkg crypto/x509, type Certificate struct, PermittedEmailAddresses []string
|
||||
pkg crypto/x509, type Certificate struct, PermittedIPRanges []*net.IPNet
|
||||
pkg crypto/x509, type Certificate struct, PermittedURIDomains []string
|
||||
pkg crypto/x509, type Certificate struct, URIs []*url.URL
|
||||
pkg crypto/x509, type CertificateInvalidError struct, Detail string
|
||||
pkg crypto/x509, type CertificateRequest struct, URIs []*url.URL
|
||||
pkg crypto/x509, type VerifyOptions struct, MaxConstraintComparisions int
|
||||
pkg crypto/x509/pkix, method (Name) String() string
|
||||
pkg crypto/x509/pkix, method (RDNSequence) String() string
|
||||
pkg database/sql, func OpenDB(driver.Connector) *DB
|
||||
pkg database/sql/driver, type Connector interface { Connect, Driver }
|
||||
pkg database/sql/driver, type Connector interface, Connect(context.Context) (Conn, error)
|
||||
pkg database/sql/driver, type Connector interface, Driver() Driver
|
||||
pkg database/sql/driver, type SessionResetter interface { ResetSession }
|
||||
pkg database/sql/driver, type SessionResetter interface, ResetSession(context.Context) error
|
||||
pkg debug/elf, const R_386_16 = 20
|
||||
pkg debug/elf, const R_386_16 R_386
|
||||
pkg debug/elf, const R_386_32PLT = 11
|
||||
pkg debug/elf, const R_386_32PLT R_386
|
||||
pkg debug/elf, const R_386_8 = 22
|
||||
pkg debug/elf, const R_386_8 R_386
|
||||
pkg debug/elf, const R_386_GOT32X = 43
|
||||
pkg debug/elf, const R_386_GOT32X R_386
|
||||
pkg debug/elf, const R_386_IRELATIVE = 42
|
||||
pkg debug/elf, const R_386_IRELATIVE R_386
|
||||
pkg debug/elf, const R_386_PC16 = 21
|
||||
pkg debug/elf, const R_386_PC16 R_386
|
||||
pkg debug/elf, const R_386_PC8 = 23
|
||||
pkg debug/elf, const R_386_PC8 R_386
|
||||
pkg debug/elf, const R_386_SIZE32 = 38
|
||||
pkg debug/elf, const R_386_SIZE32 R_386
|
||||
pkg debug/elf, const R_386_TLS_DESC = 41
|
||||
pkg debug/elf, const R_386_TLS_DESC R_386
|
||||
pkg debug/elf, const R_386_TLS_DESC_CALL = 40
|
||||
pkg debug/elf, const R_386_TLS_DESC_CALL R_386
|
||||
pkg debug/elf, const R_386_TLS_GOTDESC = 39
|
||||
pkg debug/elf, const R_386_TLS_GOTDESC R_386
|
||||
pkg debug/elf, const R_AARCH64_LD64_GOTOFF_LO15 = 310
|
||||
pkg debug/elf, const R_AARCH64_LD64_GOTOFF_LO15 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_LD64_GOTPAGE_LO15 = 313
|
||||
pkg debug/elf, const R_AARCH64_LD64_GOTPAGE_LO15 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSGD_ADR_PREL21 = 512
|
||||
pkg debug/elf, const R_AARCH64_TLSGD_ADR_PREL21 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSGD_MOVW_G0_NC = 516
|
||||
pkg debug/elf, const R_AARCH64_TLSGD_MOVW_G0_NC R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSGD_MOVW_G1 = 515
|
||||
pkg debug/elf, const R_AARCH64_TLSGD_MOVW_G1 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_ADR_PAGE21 = 518
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_ADR_PAGE21 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_ADR_PREL21 = 517
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_ADR_PREL21 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_LDST128_DTPREL_LO12 = 572
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_LDST128_DTPREL_LO12 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC = 573
|
||||
pkg debug/elf, const R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSLE_LDST128_TPREL_LO12 = 570
|
||||
pkg debug/elf, const R_AARCH64_TLSLE_LDST128_TPREL_LO12 R_AARCH64
|
||||
pkg debug/elf, const R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC = 571
|
||||
pkg debug/elf, const R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC R_AARCH64
|
||||
pkg debug/elf, const R_ARM_ABS32_NOI = 55
|
||||
pkg debug/elf, const R_ARM_ABS32_NOI R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PCREL_15_8 = 33
|
||||
pkg debug/elf, const R_ARM_ALU_PCREL_15_8 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PCREL_23_15 = 34
|
||||
pkg debug/elf, const R_ARM_ALU_PCREL_23_15 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PCREL_7_0 = 32
|
||||
pkg debug/elf, const R_ARM_ALU_PCREL_7_0 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G0 = 58
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G0 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G0_NC = 57
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G0_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G1 = 60
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G1_NC = 59
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G1_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G2 = 61
|
||||
pkg debug/elf, const R_ARM_ALU_PC_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_SBREL_19_12_NC = 36
|
||||
pkg debug/elf, const R_ARM_ALU_SBREL_19_12_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_SBREL_27_20_CK = 37
|
||||
pkg debug/elf, const R_ARM_ALU_SBREL_27_20_CK R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G0 = 71
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G0 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G0_NC = 70
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G0_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G1 = 73
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G1_NC = 72
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G1_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G2 = 74
|
||||
pkg debug/elf, const R_ARM_ALU_SB_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_BASE_ABS = 31
|
||||
pkg debug/elf, const R_ARM_BASE_ABS R_ARM
|
||||
pkg debug/elf, const R_ARM_CALL = 28
|
||||
pkg debug/elf, const R_ARM_CALL R_ARM
|
||||
pkg debug/elf, const R_ARM_GOTOFF12 = 98
|
||||
pkg debug/elf, const R_ARM_GOTOFF12 R_ARM
|
||||
pkg debug/elf, const R_ARM_GOTRELAX = 99
|
||||
pkg debug/elf, const R_ARM_GOTRELAX R_ARM
|
||||
pkg debug/elf, const R_ARM_GOT_ABS = 95
|
||||
pkg debug/elf, const R_ARM_GOT_ABS R_ARM
|
||||
pkg debug/elf, const R_ARM_GOT_BREL12 = 97
|
||||
pkg debug/elf, const R_ARM_GOT_BREL12 R_ARM
|
||||
pkg debug/elf, const R_ARM_GOT_PREL = 96
|
||||
pkg debug/elf, const R_ARM_GOT_PREL R_ARM
|
||||
pkg debug/elf, const R_ARM_IRELATIVE = 160
|
||||
pkg debug/elf, const R_ARM_IRELATIVE R_ARM
|
||||
pkg debug/elf, const R_ARM_JUMP24 = 29
|
||||
pkg debug/elf, const R_ARM_JUMP24 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDC_PC_G0 = 67
|
||||
pkg debug/elf, const R_ARM_LDC_PC_G0 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDC_PC_G1 = 68
|
||||
pkg debug/elf, const R_ARM_LDC_PC_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDC_PC_G2 = 69
|
||||
pkg debug/elf, const R_ARM_LDC_PC_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDC_SB_G0 = 81
|
||||
pkg debug/elf, const R_ARM_LDC_SB_G0 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDC_SB_G1 = 82
|
||||
pkg debug/elf, const R_ARM_LDC_SB_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDC_SB_G2 = 83
|
||||
pkg debug/elf, const R_ARM_LDC_SB_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDRS_PC_G0 = 64
|
||||
pkg debug/elf, const R_ARM_LDRS_PC_G0 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDRS_PC_G1 = 65
|
||||
pkg debug/elf, const R_ARM_LDRS_PC_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDRS_PC_G2 = 66
|
||||
pkg debug/elf, const R_ARM_LDRS_PC_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDRS_SB_G0 = 78
|
||||
pkg debug/elf, const R_ARM_LDRS_SB_G0 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDRS_SB_G1 = 79
|
||||
pkg debug/elf, const R_ARM_LDRS_SB_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDRS_SB_G2 = 80
|
||||
pkg debug/elf, const R_ARM_LDRS_SB_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDR_PC_G1 = 62
|
||||
pkg debug/elf, const R_ARM_LDR_PC_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDR_PC_G2 = 63
|
||||
pkg debug/elf, const R_ARM_LDR_PC_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDR_SBREL_11_10_NC = 35
|
||||
pkg debug/elf, const R_ARM_LDR_SBREL_11_10_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_LDR_SB_G0 = 75
|
||||
pkg debug/elf, const R_ARM_LDR_SB_G0 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDR_SB_G1 = 76
|
||||
pkg debug/elf, const R_ARM_LDR_SB_G1 R_ARM
|
||||
pkg debug/elf, const R_ARM_LDR_SB_G2 = 77
|
||||
pkg debug/elf, const R_ARM_LDR_SB_G2 R_ARM
|
||||
pkg debug/elf, const R_ARM_ME_TOO = 128
|
||||
pkg debug/elf, const R_ARM_ME_TOO R_ARM
|
||||
pkg debug/elf, const R_ARM_MOVT_ABS = 44
|
||||
pkg debug/elf, const R_ARM_MOVT_ABS R_ARM
|
||||
pkg debug/elf, const R_ARM_MOVT_BREL = 85
|
||||
pkg debug/elf, const R_ARM_MOVT_BREL R_ARM
|
||||
pkg debug/elf, const R_ARM_MOVT_PREL = 46
|
||||
pkg debug/elf, const R_ARM_MOVT_PREL R_ARM
|
||||
pkg debug/elf, const R_ARM_MOVW_ABS_NC = 43
|
||||
pkg debug/elf, const R_ARM_MOVW_ABS_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_MOVW_BREL = 86
|
||||
pkg debug/elf, const R_ARM_MOVW_BREL R_ARM
|
||||
pkg debug/elf, const R_ARM_MOVW_BREL_NC = 84
|
||||
pkg debug/elf, const R_ARM_MOVW_BREL_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_MOVW_PREL_NC = 45
|
||||
pkg debug/elf, const R_ARM_MOVW_PREL_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_PLT32_ABS = 94
|
||||
pkg debug/elf, const R_ARM_PLT32_ABS R_ARM
|
||||
pkg debug/elf, const R_ARM_PREL31 = 42
|
||||
pkg debug/elf, const R_ARM_PREL31 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_0 = 112
|
||||
pkg debug/elf, const R_ARM_PRIVATE_0 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_1 = 113
|
||||
pkg debug/elf, const R_ARM_PRIVATE_1 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_10 = 122
|
||||
pkg debug/elf, const R_ARM_PRIVATE_10 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_11 = 123
|
||||
pkg debug/elf, const R_ARM_PRIVATE_11 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_12 = 124
|
||||
pkg debug/elf, const R_ARM_PRIVATE_12 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_13 = 125
|
||||
pkg debug/elf, const R_ARM_PRIVATE_13 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_14 = 126
|
||||
pkg debug/elf, const R_ARM_PRIVATE_14 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_15 = 127
|
||||
pkg debug/elf, const R_ARM_PRIVATE_15 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_2 = 114
|
||||
pkg debug/elf, const R_ARM_PRIVATE_2 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_3 = 115
|
||||
pkg debug/elf, const R_ARM_PRIVATE_3 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_4 = 116
|
||||
pkg debug/elf, const R_ARM_PRIVATE_4 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_5 = 117
|
||||
pkg debug/elf, const R_ARM_PRIVATE_5 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_6 = 118
|
||||
pkg debug/elf, const R_ARM_PRIVATE_6 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_7 = 119
|
||||
pkg debug/elf, const R_ARM_PRIVATE_7 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_8 = 120
|
||||
pkg debug/elf, const R_ARM_PRIVATE_8 R_ARM
|
||||
pkg debug/elf, const R_ARM_PRIVATE_9 = 121
|
||||
pkg debug/elf, const R_ARM_PRIVATE_9 R_ARM
|
||||
pkg debug/elf, const R_ARM_REL32_NOI = 56
|
||||
pkg debug/elf, const R_ARM_REL32_NOI R_ARM
|
||||
pkg debug/elf, const R_ARM_RXPC25 = 249
|
||||
pkg debug/elf, const R_ARM_RXPC25 R_ARM
|
||||
pkg debug/elf, const R_ARM_SBREL31 = 39
|
||||
pkg debug/elf, const R_ARM_SBREL31 R_ARM
|
||||
pkg debug/elf, const R_ARM_TARGET1 = 38
|
||||
pkg debug/elf, const R_ARM_TARGET1 R_ARM
|
||||
pkg debug/elf, const R_ARM_TARGET2 = 41
|
||||
pkg debug/elf, const R_ARM_TARGET2 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G0_NC = 132
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G0_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G1_NC = 133
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G1_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G2_NC = 134
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G2_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G3 = 135
|
||||
pkg debug/elf, const R_ARM_THM_ALU_ABS_G3 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_ALU_PREL_11_0 = 53
|
||||
pkg debug/elf, const R_ARM_THM_ALU_PREL_11_0 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_GOT_BREL12 = 131
|
||||
pkg debug/elf, const R_ARM_THM_GOT_BREL12 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_JUMP11 = 102
|
||||
pkg debug/elf, const R_ARM_THM_JUMP11 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_JUMP19 = 51
|
||||
pkg debug/elf, const R_ARM_THM_JUMP19 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_JUMP24 = 30
|
||||
pkg debug/elf, const R_ARM_THM_JUMP24 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_JUMP6 = 52
|
||||
pkg debug/elf, const R_ARM_THM_JUMP6 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_JUMP8 = 103
|
||||
pkg debug/elf, const R_ARM_THM_JUMP8 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_MOVT_ABS = 48
|
||||
pkg debug/elf, const R_ARM_THM_MOVT_ABS R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_MOVT_BREL = 88
|
||||
pkg debug/elf, const R_ARM_THM_MOVT_BREL R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_MOVT_PREL = 50
|
||||
pkg debug/elf, const R_ARM_THM_MOVT_PREL R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_ABS_NC = 47
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_ABS_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_BREL = 89
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_BREL R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_BREL_NC = 87
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_BREL_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_PREL_NC = 49
|
||||
pkg debug/elf, const R_ARM_THM_MOVW_PREL_NC R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_PC12 = 54
|
||||
pkg debug/elf, const R_ARM_THM_PC12 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_TLS_CALL = 93
|
||||
pkg debug/elf, const R_ARM_THM_TLS_CALL R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_TLS_DESCSEQ16 = 129
|
||||
pkg debug/elf, const R_ARM_THM_TLS_DESCSEQ16 R_ARM
|
||||
pkg debug/elf, const R_ARM_THM_TLS_DESCSEQ32 = 130
|
||||
pkg debug/elf, const R_ARM_THM_TLS_DESCSEQ32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_CALL = 91
|
||||
pkg debug/elf, const R_ARM_TLS_CALL R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_DESCSEQ = 92
|
||||
pkg debug/elf, const R_ARM_TLS_DESCSEQ R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_DTPMOD32 = 17
|
||||
pkg debug/elf, const R_ARM_TLS_DTPMOD32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_DTPOFF32 = 18
|
||||
pkg debug/elf, const R_ARM_TLS_DTPOFF32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_GD32 = 104
|
||||
pkg debug/elf, const R_ARM_TLS_GD32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_GOTDESC = 90
|
||||
pkg debug/elf, const R_ARM_TLS_GOTDESC R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_IE12GP = 111
|
||||
pkg debug/elf, const R_ARM_TLS_IE12GP R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_IE32 = 107
|
||||
pkg debug/elf, const R_ARM_TLS_IE32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_LDM32 = 105
|
||||
pkg debug/elf, const R_ARM_TLS_LDM32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_LDO12 = 109
|
||||
pkg debug/elf, const R_ARM_TLS_LDO12 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_LDO32 = 106
|
||||
pkg debug/elf, const R_ARM_TLS_LDO32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_LE12 = 110
|
||||
pkg debug/elf, const R_ARM_TLS_LE12 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_LE32 = 108
|
||||
pkg debug/elf, const R_ARM_TLS_LE32 R_ARM
|
||||
pkg debug/elf, const R_ARM_TLS_TPOFF32 = 19
|
||||
pkg debug/elf, const R_ARM_TLS_TPOFF32 R_ARM
|
||||
pkg debug/elf, const R_ARM_V4BX = 40
|
||||
pkg debug/elf, const R_ARM_V4BX R_ARM
|
||||
pkg debug/elf, const R_PPC64_ADDR16_HIGH = 110
|
||||
pkg debug/elf, const R_PPC64_ADDR16_HIGH R_PPC64
|
||||
pkg debug/elf, const R_PPC64_ADDR16_HIGHA = 111
|
||||
pkg debug/elf, const R_PPC64_ADDR16_HIGHA R_PPC64
|
||||
pkg debug/elf, const R_PPC64_ADDR64_LOCAL = 117
|
||||
pkg debug/elf, const R_PPC64_ADDR64_LOCAL R_PPC64
|
||||
pkg debug/elf, const R_PPC64_DTPREL16_HIGH = 114
|
||||
pkg debug/elf, const R_PPC64_DTPREL16_HIGH R_PPC64
|
||||
pkg debug/elf, const R_PPC64_DTPREL16_HIGHA = 115
|
||||
pkg debug/elf, const R_PPC64_DTPREL16_HIGHA R_PPC64
|
||||
pkg debug/elf, const R_PPC64_ENTRY = 118
|
||||
pkg debug/elf, const R_PPC64_ENTRY R_PPC64
|
||||
pkg debug/elf, const R_PPC64_IRELATIVE = 248
|
||||
pkg debug/elf, const R_PPC64_IRELATIVE R_PPC64
|
||||
pkg debug/elf, const R_PPC64_JMP_IREL = 247
|
||||
pkg debug/elf, const R_PPC64_JMP_IREL R_PPC64
|
||||
pkg debug/elf, const R_PPC64_PLT16_LO_DS = 60
|
||||
pkg debug/elf, const R_PPC64_PLT16_LO_DS R_PPC64
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16 = 52
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16 R_PPC64
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_DS = 65
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_DS R_PPC64
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_HA = 55
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_HA R_PPC64
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_HI = 54
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_HI R_PPC64
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_LO = 53
|
||||
pkg debug/elf, const R_PPC64_PLTGOT16_LO R_PPC64
|
||||
pkg debug/elf, const R_PPC64_PLTGOT_LO_DS = 66
|
||||
pkg debug/elf, const R_PPC64_PLTGOT_LO_DS R_PPC64
|
||||
pkg debug/elf, const R_PPC64_REL16DX_HA = 246
|
||||
pkg debug/elf, const R_PPC64_REL16DX_HA R_PPC64
|
||||
pkg debug/elf, const R_PPC64_REL24_NOTOC = 116
|
||||
pkg debug/elf, const R_PPC64_REL24_NOTOC R_PPC64
|
||||
pkg debug/elf, const R_PPC64_SECTOFF_DS = 61
|
||||
pkg debug/elf, const R_PPC64_SECTOFF_DS R_PPC64
|
||||
pkg debug/elf, const R_PPC64_SECTOFF_LO_DS = 61
|
||||
pkg debug/elf, const R_PPC64_SECTOFF_LO_DS R_PPC64
|
||||
pkg debug/elf, const R_PPC64_TOCSAVE = 109
|
||||
pkg debug/elf, const R_PPC64_TOCSAVE R_PPC64
|
||||
pkg debug/elf, const R_PPC64_TPREL16_HIGH = 112
|
||||
pkg debug/elf, const R_PPC64_TPREL16_HIGH R_PPC64
|
||||
pkg debug/elf, const R_PPC64_TPREL16_HIGHA = 113
|
||||
pkg debug/elf, const R_PPC64_TPREL16_HIGHA R_PPC64
|
||||
pkg debug/elf, const R_X86_64_GOT64 = 27
|
||||
pkg debug/elf, const R_X86_64_GOT64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_GOTOFF64 = 25
|
||||
pkg debug/elf, const R_X86_64_GOTOFF64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_GOTPC32 = 26
|
||||
pkg debug/elf, const R_X86_64_GOTPC32 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_GOTPC32_TLSDESC = 34
|
||||
pkg debug/elf, const R_X86_64_GOTPC32_TLSDESC R_X86_64
|
||||
pkg debug/elf, const R_X86_64_GOTPC64 = 29
|
||||
pkg debug/elf, const R_X86_64_GOTPC64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_GOTPCREL64 = 28
|
||||
pkg debug/elf, const R_X86_64_GOTPCREL64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_GOTPCRELX = 41
|
||||
pkg debug/elf, const R_X86_64_GOTPCRELX R_X86_64
|
||||
pkg debug/elf, const R_X86_64_GOTPLT64 = 30
|
||||
pkg debug/elf, const R_X86_64_GOTPLT64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_IRELATIVE = 37
|
||||
pkg debug/elf, const R_X86_64_IRELATIVE R_X86_64
|
||||
pkg debug/elf, const R_X86_64_PC32_BND = 39
|
||||
pkg debug/elf, const R_X86_64_PC32_BND R_X86_64
|
||||
pkg debug/elf, const R_X86_64_PC64 = 24
|
||||
pkg debug/elf, const R_X86_64_PC64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_PLT32_BND = 40
|
||||
pkg debug/elf, const R_X86_64_PLT32_BND R_X86_64
|
||||
pkg debug/elf, const R_X86_64_PLTOFF64 = 31
|
||||
pkg debug/elf, const R_X86_64_PLTOFF64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_RELATIVE64 = 38
|
||||
pkg debug/elf, const R_X86_64_RELATIVE64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_REX_GOTPCRELX = 42
|
||||
pkg debug/elf, const R_X86_64_REX_GOTPCRELX R_X86_64
|
||||
pkg debug/elf, const R_X86_64_SIZE32 = 32
|
||||
pkg debug/elf, const R_X86_64_SIZE32 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_SIZE64 = 33
|
||||
pkg debug/elf, const R_X86_64_SIZE64 R_X86_64
|
||||
pkg debug/elf, const R_X86_64_TLSDESC = 36
|
||||
pkg debug/elf, const R_X86_64_TLSDESC R_X86_64
|
||||
pkg debug/elf, const R_X86_64_TLSDESC_CALL = 35
|
||||
pkg debug/elf, const R_X86_64_TLSDESC_CALL R_X86_64
|
||||
pkg debug/macho, const ARM64_RELOC_ADDEND = 10
|
||||
pkg debug/macho, const ARM64_RELOC_ADDEND RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_BRANCH26 = 2
|
||||
pkg debug/macho, const ARM64_RELOC_BRANCH26 RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_GOT_LOAD_PAGE21 = 5
|
||||
pkg debug/macho, const ARM64_RELOC_GOT_LOAD_PAGE21 RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_GOT_LOAD_PAGEOFF12 = 6
|
||||
pkg debug/macho, const ARM64_RELOC_GOT_LOAD_PAGEOFF12 RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_PAGE21 = 3
|
||||
pkg debug/macho, const ARM64_RELOC_PAGE21 RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_PAGEOFF12 = 4
|
||||
pkg debug/macho, const ARM64_RELOC_PAGEOFF12 RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_POINTER_TO_GOT = 7
|
||||
pkg debug/macho, const ARM64_RELOC_POINTER_TO_GOT RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_SUBTRACTOR = 1
|
||||
pkg debug/macho, const ARM64_RELOC_SUBTRACTOR RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_TLVP_LOAD_PAGE21 = 8
|
||||
pkg debug/macho, const ARM64_RELOC_TLVP_LOAD_PAGE21 RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_TLVP_LOAD_PAGEOFF12 = 9
|
||||
pkg debug/macho, const ARM64_RELOC_TLVP_LOAD_PAGEOFF12 RelocTypeARM64
|
||||
pkg debug/macho, const ARM64_RELOC_UNSIGNED = 0
|
||||
pkg debug/macho, const ARM64_RELOC_UNSIGNED RelocTypeARM64
|
||||
pkg debug/macho, const ARM_RELOC_BR24 = 5
|
||||
pkg debug/macho, const ARM_RELOC_BR24 RelocTypeARM
|
||||
pkg debug/macho, const ARM_RELOC_HALF = 8
|
||||
pkg debug/macho, const ARM_RELOC_HALF RelocTypeARM
|
||||
pkg debug/macho, const ARM_RELOC_HALF_SECTDIFF = 9
|
||||
pkg debug/macho, const ARM_RELOC_HALF_SECTDIFF RelocTypeARM
|
||||
pkg debug/macho, const ARM_RELOC_LOCAL_SECTDIFF = 3
|
||||
pkg debug/macho, const ARM_RELOC_LOCAL_SECTDIFF RelocTypeARM
|
||||
pkg debug/macho, const ARM_RELOC_PAIR = 1
|
||||
pkg debug/macho, const ARM_RELOC_PAIR RelocTypeARM
|
||||
pkg debug/macho, const ARM_RELOC_PB_LA_PTR = 4
|
||||
pkg debug/macho, const ARM_RELOC_PB_LA_PTR RelocTypeARM
|
||||
pkg debug/macho, const ARM_RELOC_SECTDIFF = 2
|
||||
pkg debug/macho, const ARM_RELOC_SECTDIFF RelocTypeARM
|
||||
pkg debug/macho, const ARM_RELOC_VANILLA = 0
|
||||
pkg debug/macho, const ARM_RELOC_VANILLA RelocTypeARM
|
||||
pkg debug/macho, const ARM_THUMB_32BIT_BRANCH = 7
|
||||
pkg debug/macho, const ARM_THUMB_32BIT_BRANCH RelocTypeARM
|
||||
pkg debug/macho, const ARM_THUMB_RELOC_BR22 = 6
|
||||
pkg debug/macho, const ARM_THUMB_RELOC_BR22 RelocTypeARM
|
||||
pkg debug/macho, const FlagAllModsBound = 4096
|
||||
pkg debug/macho, const FlagAllModsBound uint32
|
||||
pkg debug/macho, const FlagAllowStackExecution = 131072
|
||||
pkg debug/macho, const FlagAllowStackExecution uint32
|
||||
pkg debug/macho, const FlagAppExtensionSafe = 33554432
|
||||
pkg debug/macho, const FlagAppExtensionSafe uint32
|
||||
pkg debug/macho, const FlagBindAtLoad = 8
|
||||
pkg debug/macho, const FlagBindAtLoad uint32
|
||||
pkg debug/macho, const FlagBindsToWeak = 65536
|
||||
pkg debug/macho, const FlagBindsToWeak uint32
|
||||
pkg debug/macho, const FlagCanonical = 16384
|
||||
pkg debug/macho, const FlagCanonical uint32
|
||||
pkg debug/macho, const FlagDeadStrippableDylib = 4194304
|
||||
pkg debug/macho, const FlagDeadStrippableDylib uint32
|
||||
pkg debug/macho, const FlagDyldLink = 4
|
||||
pkg debug/macho, const FlagDyldLink uint32
|
||||
pkg debug/macho, const FlagForceFlat = 256
|
||||
pkg debug/macho, const FlagForceFlat uint32
|
||||
pkg debug/macho, const FlagHasTLVDescriptors = 8388608
|
||||
pkg debug/macho, const FlagHasTLVDescriptors uint32
|
||||
pkg debug/macho, const FlagIncrLink = 2
|
||||
pkg debug/macho, const FlagIncrLink uint32
|
||||
pkg debug/macho, const FlagLazyInit = 64
|
||||
pkg debug/macho, const FlagLazyInit uint32
|
||||
pkg debug/macho, const FlagNoFixPrebinding = 1024
|
||||
pkg debug/macho, const FlagNoFixPrebinding uint32
|
||||
pkg debug/macho, const FlagNoHeapExecution = 16777216
|
||||
pkg debug/macho, const FlagNoHeapExecution uint32
|
||||
pkg debug/macho, const FlagNoMultiDefs = 512
|
||||
pkg debug/macho, const FlagNoMultiDefs uint32
|
||||
pkg debug/macho, const FlagNoReexportedDylibs = 1048576
|
||||
pkg debug/macho, const FlagNoReexportedDylibs uint32
|
||||
pkg debug/macho, const FlagNoUndefs = 1
|
||||
pkg debug/macho, const FlagNoUndefs uint32
|
||||
pkg debug/macho, const FlagPIE = 2097152
|
||||
pkg debug/macho, const FlagPIE uint32
|
||||
pkg debug/macho, const FlagPrebindable = 2048
|
||||
pkg debug/macho, const FlagPrebindable uint32
|
||||
pkg debug/macho, const FlagPrebound = 16
|
||||
pkg debug/macho, const FlagPrebound uint32
|
||||
pkg debug/macho, const FlagRootSafe = 262144
|
||||
pkg debug/macho, const FlagRootSafe uint32
|
||||
pkg debug/macho, const FlagSetuidSafe = 524288
|
||||
pkg debug/macho, const FlagSetuidSafe uint32
|
||||
pkg debug/macho, const FlagSplitSegs = 32
|
||||
pkg debug/macho, const FlagSplitSegs uint32
|
||||
pkg debug/macho, const FlagSubsectionsViaSymbols = 8192
|
||||
pkg debug/macho, const FlagSubsectionsViaSymbols uint32
|
||||
pkg debug/macho, const FlagTwoLevel = 128
|
||||
pkg debug/macho, const FlagTwoLevel uint32
|
||||
pkg debug/macho, const FlagWeakDefines = 32768
|
||||
pkg debug/macho, const FlagWeakDefines uint32
|
||||
pkg debug/macho, const GENERIC_RELOC_LOCAL_SECTDIFF = 4
|
||||
pkg debug/macho, const GENERIC_RELOC_LOCAL_SECTDIFF RelocTypeGeneric
|
||||
pkg debug/macho, const GENERIC_RELOC_PAIR = 1
|
||||
pkg debug/macho, const GENERIC_RELOC_PAIR RelocTypeGeneric
|
||||
pkg debug/macho, const GENERIC_RELOC_PB_LA_PTR = 3
|
||||
pkg debug/macho, const GENERIC_RELOC_PB_LA_PTR RelocTypeGeneric
|
||||
pkg debug/macho, const GENERIC_RELOC_SECTDIFF = 2
|
||||
pkg debug/macho, const GENERIC_RELOC_SECTDIFF RelocTypeGeneric
|
||||
pkg debug/macho, const GENERIC_RELOC_TLV = 5
|
||||
pkg debug/macho, const GENERIC_RELOC_TLV RelocTypeGeneric
|
||||
pkg debug/macho, const GENERIC_RELOC_VANILLA = 0
|
||||
pkg debug/macho, const GENERIC_RELOC_VANILLA RelocTypeGeneric
|
||||
pkg debug/macho, const LoadCmdRpath = 2147483676
|
||||
pkg debug/macho, const LoadCmdRpath LoadCmd
|
||||
pkg debug/macho, const X86_64_RELOC_BRANCH = 2
|
||||
pkg debug/macho, const X86_64_RELOC_BRANCH RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_GOT = 4
|
||||
pkg debug/macho, const X86_64_RELOC_GOT RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_GOT_LOAD = 3
|
||||
pkg debug/macho, const X86_64_RELOC_GOT_LOAD RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED = 1
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED_1 = 6
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED_1 RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED_2 = 7
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED_2 RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED_4 = 8
|
||||
pkg debug/macho, const X86_64_RELOC_SIGNED_4 RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_SUBTRACTOR = 5
|
||||
pkg debug/macho, const X86_64_RELOC_SUBTRACTOR RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_TLV = 9
|
||||
pkg debug/macho, const X86_64_RELOC_TLV RelocTypeX86_64
|
||||
pkg debug/macho, const X86_64_RELOC_UNSIGNED = 0
|
||||
pkg debug/macho, const X86_64_RELOC_UNSIGNED RelocTypeX86_64
|
||||
pkg debug/macho, method (RelocTypeARM) GoString() string
|
||||
pkg debug/macho, method (RelocTypeARM) String() string
|
||||
pkg debug/macho, method (RelocTypeARM64) GoString() string
|
||||
pkg debug/macho, method (RelocTypeARM64) String() string
|
||||
pkg debug/macho, method (RelocTypeGeneric) GoString() string
|
||||
pkg debug/macho, method (RelocTypeGeneric) String() string
|
||||
pkg debug/macho, method (RelocTypeX86_64) GoString() string
|
||||
pkg debug/macho, method (RelocTypeX86_64) String() string
|
||||
pkg debug/macho, method (Rpath) Raw() []uint8
|
||||
pkg debug/macho, method (Type) GoString() string
|
||||
pkg debug/macho, method (Type) String() string
|
||||
pkg debug/macho, type Reloc struct
|
||||
pkg debug/macho, type Reloc struct, Addr uint32
|
||||
pkg debug/macho, type Reloc struct, Extern bool
|
||||
pkg debug/macho, type Reloc struct, Len uint8
|
||||
pkg debug/macho, type Reloc struct, Pcrel bool
|
||||
pkg debug/macho, type Reloc struct, Scattered bool
|
||||
pkg debug/macho, type Reloc struct, Type uint8
|
||||
pkg debug/macho, type Reloc struct, Value uint32
|
||||
pkg debug/macho, type RelocTypeARM int
|
||||
pkg debug/macho, type RelocTypeARM64 int
|
||||
pkg debug/macho, type RelocTypeGeneric int
|
||||
pkg debug/macho, type RelocTypeX86_64 int
|
||||
pkg debug/macho, type Rpath struct
|
||||
pkg debug/macho, type Rpath struct, Path string
|
||||
pkg debug/macho, type Rpath struct, embedded LoadBytes
|
||||
pkg debug/macho, type RpathCmd struct
|
||||
pkg debug/macho, type RpathCmd struct, Cmd LoadCmd
|
||||
pkg debug/macho, type RpathCmd struct, Len uint32
|
||||
pkg debug/macho, type RpathCmd struct, Path uint32
|
||||
pkg debug/macho, type Section struct, Relocs []Reloc
|
||||
pkg encoding/csv, type ParseError struct, StartLine int
|
||||
pkg encoding/hex, func NewDecoder(io.Reader) io.Reader
|
||||
pkg encoding/hex, func NewEncoder(io.Writer) io.Writer
|
||||
pkg encoding/json, method (*Decoder) DisallowUnknownFields()
|
||||
pkg encoding/xml, func NewTokenDecoder(TokenReader) *Decoder
|
||||
pkg encoding/xml, type TokenReader interface { Token }
|
||||
pkg encoding/xml, type TokenReader interface, Token() (Token, error)
|
||||
pkg flag, method (*FlagSet) ErrorHandling() ErrorHandling
|
||||
pkg flag, method (*FlagSet) Name() string
|
||||
pkg flag, method (*FlagSet) Output() io.Writer
|
||||
pkg math, func Erfcinv(float64) float64
|
||||
pkg math, func Erfinv(float64) float64
|
||||
pkg math, func Round(float64) float64
|
||||
pkg math, func RoundToEven(float64) float64
|
||||
pkg math/big, const MaxBase = 62
|
||||
pkg math/big, method (*Float) Sqrt(*Float) *Float
|
||||
pkg math/big, method (*Int) CmpAbs(*Int) int
|
||||
pkg math/rand, func Shuffle(int, func(int, int))
|
||||
pkg math/rand, method (*Rand) Shuffle(int, func(int, int))
|
||||
pkg net, method (*TCPListener) SyscallConn() (syscall.RawConn, error)
|
||||
pkg net, method (*UnixListener) SyscallConn() (syscall.RawConn, error)
|
||||
pkg net/smtp, method (*Client) Noop() error
|
||||
pkg os, func IsTimeout(error) bool
|
||||
pkg os, method (*File) SetDeadline(time.Time) error
|
||||
pkg os, method (*File) SetReadDeadline(time.Time) error
|
||||
pkg os, method (*File) SetWriteDeadline(time.Time) error
|
||||
pkg os, method (*PathError) Timeout() bool
|
||||
pkg os, method (*SyscallError) Timeout() bool
|
||||
pkg os, var ErrNoDeadline error
|
||||
pkg strings, method (*Builder) Grow(int)
|
||||
pkg strings, method (*Builder) Len() int
|
||||
pkg strings, method (*Builder) ReadFrom(io.Reader) (int64, error)
|
||||
pkg strings, method (*Builder) Reset()
|
||||
pkg strings, method (*Builder) String() string
|
||||
pkg strings, method (*Builder) Write([]uint8) (int, error)
|
||||
pkg strings, method (*Builder) WriteByte(uint8) error
|
||||
pkg strings, method (*Builder) WriteRune(int32) (int, error)
|
||||
pkg strings, method (*Builder) WriteString(string) (int, error)
|
||||
pkg strings, type Builder struct
|
||||
pkg syscall (freebsd-386), const SYS_UTIMENSAT = 547
|
||||
pkg syscall (freebsd-386), const SYS_UTIMENSAT ideal-int
|
||||
pkg syscall (freebsd-386-cgo), const SYS_UTIMENSAT = 547
|
||||
pkg syscall (freebsd-386-cgo), const SYS_UTIMENSAT ideal-int
|
||||
pkg syscall (freebsd-amd64), const SYS_UTIMENSAT = 547
|
||||
pkg syscall (freebsd-amd64), const SYS_UTIMENSAT ideal-int
|
||||
pkg syscall (freebsd-amd64-cgo), const SYS_UTIMENSAT = 547
|
||||
pkg syscall (freebsd-amd64-cgo), const SYS_UTIMENSAT ideal-int
|
||||
pkg syscall (freebsd-arm), const SYS_UTIMENSAT = 547
|
||||
pkg syscall (freebsd-arm), const SYS_UTIMENSAT ideal-int
|
||||
pkg syscall (freebsd-arm-cgo), const SYS_UTIMENSAT = 547
|
||||
pkg syscall (freebsd-arm-cgo), const SYS_UTIMENSAT ideal-int
|
||||
pkg syscall (windows-386), func CreateProcessAsUser(Token, *uint16, *uint16, *SecurityAttributes, *SecurityAttributes, bool, uint32, *uint16, *uint16, *StartupInfo, *ProcessInformation) error
|
||||
pkg syscall (windows-386), type SysProcAttr struct, Token Token
|
||||
pkg syscall (windows-amd64), func CreateProcessAsUser(Token, *uint16, *uint16, *SecurityAttributes, *SecurityAttributes, bool, uint32, *uint16, *uint16, *StartupInfo, *ProcessInformation) error
|
||||
pkg syscall (windows-amd64), type SysProcAttr struct, Token Token
|
||||
pkg text/template/parse, const NodeBreak = 20
|
||||
pkg text/template/parse, const NodeBreak NodeType
|
||||
pkg text/template/parse, const NodeContinue = 21
|
||||
pkg text/template/parse, const NodeContinue NodeType
|
||||
pkg text/template/parse, method (*BreakNode) Copy() Node
|
||||
pkg text/template/parse, method (*BreakNode) Position() Pos
|
||||
pkg text/template/parse, method (*BreakNode) String() string
|
||||
pkg text/template/parse, method (*BreakNode) Type() NodeType
|
||||
pkg text/template/parse, method (*ContinueNode) Copy() Node
|
||||
pkg text/template/parse, method (*ContinueNode) Position() Pos
|
||||
pkg text/template/parse, method (*ContinueNode) String() string
|
||||
pkg text/template/parse, method (*ContinueNode) Type() NodeType
|
||||
pkg text/template/parse, type BreakNode struct
|
||||
pkg text/template/parse, type BreakNode struct, embedded NodeType
|
||||
pkg text/template/parse, type BreakNode struct, embedded Pos
|
||||
pkg text/template/parse, type ContinueNode struct
|
||||
pkg text/template/parse, type ContinueNode struct, embedded NodeType
|
||||
pkg text/template/parse, type ContinueNode struct, embedded Pos
|
||||
pkg unicode, const Version = "10.0.0"
|
||||
pkg unicode, var Masaram_Gondi *RangeTable
|
||||
pkg unicode, var Nushu *RangeTable
|
||||
pkg unicode, var Regional_Indicator *RangeTable
|
||||
pkg unicode, var Soyombo *RangeTable
|
||||
pkg unicode, var Zanabazar_Square *RangeTable
|
@ -187,7 +187,7 @@ prints help text, not an error.
|
||||
On Windows, when using git-bash you must make sure that
|
||||
<code>git-codereview.exe</code> is in your git exec-path.
|
||||
Run <code>git --exec-path</code> to discover the right location then create a
|
||||
symbolic link or simply copy the executible from $GOPATH/bin to this directory.
|
||||
symbolic link or simply copy the executable from $GOPATH/bin to this directory.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -386,7 +386,7 @@ Instead, your name will appear in the
|
||||
<a href="https://golang.org/change">change log</a> and in the <a
|
||||
href="/CONTRIBUTORS"><code>CONTRIBUTORS</code></a> file and perhaps the <a
|
||||
href="/AUTHORS"><code>AUTHORS</code></a> file.
|
||||
These files are automatically generated from the commit logs perodically.
|
||||
These files are automatically generated from the commit logs periodically.
|
||||
The <a href="/AUTHORS"><code>AUTHORS</code></a> file defines who “The Go
|
||||
Authors”—the copyright holders—are.
|
||||
</p>
|
||||
|
@ -58,7 +58,7 @@ The following feature matrix lists and compares the most significant features.
|
||||
<td class="yes">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Autocompletion of identifers (variable, method, and function names)</td>
|
||||
<td>Autocompletion of identifiers (variable, method, and function names)</td>
|
||||
<td class="yes">Yes</td>
|
||||
<td class="yes">Yes</td>
|
||||
<td class="yes">Yes</td>
|
||||
@ -178,9 +178,9 @@ The following feature matrix lists and compares the most significant features.
|
||||
</tr>
|
||||
<tr class="download">
|
||||
<td></td>
|
||||
<td><a href="https://github.com/fatih/vim-go">Install<a/></td>
|
||||
<td><a href="https://marketplace.visualstudio.com/items?itemName=lukehoban.Go">Install<a/></td>
|
||||
<td><a href="https://www.jetbrains.com/go">Install<a/></td>
|
||||
<td><a href="https://github.com/fatih/vim-go">Install</a></td>
|
||||
<td><a href="https://marketplace.visualstudio.com/items?itemName=lukehoban.Go">Install</a></td>
|
||||
<td><a href="https://www.jetbrains.com/go">Install</a></td>
|
||||
<td><a href="https://atom.io/packages/go-plus">Install</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
282
doc/go1.10.html
282
doc/go1.10.html
@ -64,6 +64,36 @@ in particular <a href="#asm">new instructions in the assembler</a>
|
||||
and improvements to the code generated by the compilers.
|
||||
</p>
|
||||
|
||||
<p id="darwin">
|
||||
Go 1.10 is the last release that will run on OS X 10.8 Mountain Lion.
|
||||
Go 1.11 will require OS X 10.9 Mavericks or later.
|
||||
</p>
|
||||
|
||||
<p id="freebsd">
|
||||
As <a href="go1.9#freebsd">announced in the Go 1.9 release notes</a>,
|
||||
Go 1.10 now requires FreeBSD 10.3 or later;
|
||||
support for FreeBSD 9.3 has been removed.
|
||||
</p>
|
||||
|
||||
<p id="netbsd">
|
||||
Go now runs on NetBSD again, but requires the unreleased NetBSD 8.
|
||||
Only <code>GOARCH=amd64</code> running on NetBSD amd64 and <code>GOARCH=386</code>
|
||||
running on NetBSD i386 are known to work. 64-bit Go binaries are known to
|
||||
fail on 32-bit NetBSD kernels. <code>GOARCH=arm</code> is untested.
|
||||
</p>
|
||||
|
||||
<p id="openbsd">
|
||||
Go 1.10 is the last release that will run on OpenBSD 6.0.
|
||||
Go 1.11 will require OpenBSD 6.2.
|
||||
</p>
|
||||
|
||||
<p id="mips">
|
||||
On 32-bit MIPS systems, the new environment variable settings
|
||||
<code>GOMIPS=hardfloat</code> (the default) and
|
||||
<code>GOMIPS=softfloat</code> select whether to use
|
||||
hardware instructions or software emulation for floating-point computations.
|
||||
</p>
|
||||
|
||||
<h2 id="tools">Tools</h2>
|
||||
|
||||
<h3 id="goroot">Default GOROOT & GOTMPDIR</h3>
|
||||
@ -104,7 +134,7 @@ applies the <code>flags</code> only to the packages matching the pattern.
|
||||
For example: <code>go</code> <code>install</code> <code>-ldflags=cmd/gofmt=-X=main.version=1.2.3</code> <code>cmd/...</code>
|
||||
installs all the commands matching <code>cmd/...</code> but only applies the <code>-X</code> option
|
||||
to the linker flags for <code>cmd/gofmt</code>.
|
||||
For more details, see <a href="TODO"><code>go</code> <code>help</code> <code>build</code></a>.
|
||||
For more details, see <a href="/cmd/go/#hdr-Compile_packages_and_dependencies"><code>go</code> <code>help</code> <code>build</code></a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -128,8 +158,8 @@ The new build cache makes future commands still run as quickly as if the
|
||||
dependencies had been installed.
|
||||
To force the installation of dependencies, use the new
|
||||
<code>go</code> <code>install</code> <code>-i</code> flag.
|
||||
Installing dependencies should not be necessary in general,
|
||||
and the very concept or installed packages may disappear in a future release.
|
||||
Installing dependency packages should not be necessary in general,
|
||||
and the very concept of installed packages may disappear in a future release.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -138,7 +168,7 @@ One new requirement implied by these changes is that
|
||||
binary-only packages must now declare accurate import blocks in their
|
||||
stub source code, so that those imports can be made available when
|
||||
linking a program using the binary-only package.
|
||||
For more details, see <a href="TODO"><code>go</code> <code>help</code> <code>filetype</code></a>.
|
||||
For more details, see <a href="/cmd/go/#hdr-File_types"><code>go</code> <code>help</code> <code>filetype</code></a>.
|
||||
</p>
|
||||
|
||||
<h3 id="test">Test</h3>
|
||||
@ -195,7 +225,13 @@ merging most of the time.
|
||||
<p>
|
||||
The <code>go</code> <code>test</code> <code>-v</code> output
|
||||
now includes <code>PAUSE</code> and <code>CONT</code> status update
|
||||
lines to make clearer when <a href="/pkg/testing/#T.Parallel">parallel tests</a> pause and continue.
|
||||
lines to mark when <a href="/pkg/testing/#T.Parallel">parallel tests</a> pause and continue.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The new <code>go</code> <code>test</code> <code>-failfast</code> flag
|
||||
disables running additional tests after any test fails.
|
||||
Note that tests running in parallel with the failing test are allowed to complete.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -203,14 +239,14 @@ Finally, the new <code>go</code> <code>test</code> <code>-json</code> flag
|
||||
filters test output through the new command
|
||||
<code>go</code> <code>tool</code> <code>test2json</code>
|
||||
to produce a machine-readable JSON-formatted description of test execution.
|
||||
This should allow the creation of rich presentations of test execution
|
||||
This allows the creation of rich presentations of test execution
|
||||
in IDEs and other tools.
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
For more details about all these changes,
|
||||
see <a href="TODO"><code>go</code> <code>help</code> <code>test</code></a>
|
||||
see <a href="/cmd/go/#hdr-Test_packages"><code>go</code> <code>help</code> <code>test</code></a>
|
||||
and the <a href="/cmd/test2json/">test2json documentation</a>.
|
||||
</p>
|
||||
|
||||
@ -224,6 +260,12 @@ Also, the documentation has been updated to clarify that
|
||||
Go structs and Go arrays are not supported in the type signatures of cgo-exported functions.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
TODO: CL 70890 "permit passing string values directly between Go and C."
|
||||
<br>
|
||||
TODO: CL 66332 "special case C ptr types to use uintptr."
|
||||
</p>
|
||||
|
||||
<p>
|
||||
During toolchain bootstrap, the environment variables <code>CC</code> and <code>CC_FOR_TARGET</code> specify
|
||||
the default C compiler that the resulting toolchain will use for host and target builds, respectively.
|
||||
@ -235,6 +277,9 @@ Note that these variables only apply during toolchain bootstrap,
|
||||
to set the defaults used by the resulting toolchain.
|
||||
Later <code>go</code> <code>build</code> commands refer to the <code>CC</code> environment
|
||||
variable or else the built-in default.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For more details, see the <a href="/cmd/cgo/">cgo documentation</a>.
|
||||
</p>
|
||||
|
||||
@ -292,13 +337,14 @@ without the binary that produced the profile.
|
||||
|
||||
<p>
|
||||
The <a href="/cmd/pprof/"><code>go</code> <code>tool</code> <code>pprof</code></a> profile visualizer has been updated to
|
||||
the latest version from <a href="https://github.com/google/pprof">github.com/google/pprof</a>.
|
||||
the latest version from <a href="https://github.com/google/pprof">github.com/google/pprof</a>,
|
||||
which includes an updated web interface.
|
||||
</p>
|
||||
|
||||
<h3 id="vet">Vet</h3>
|
||||
|
||||
<p>
|
||||
The <a href="/cmd/pprof/"><code>go</code> <code>vet</code></a> command now always has access to
|
||||
The <a href="/cmd/vet/"><code>go</code> <code>vet</code></a> command now always has access to
|
||||
complete, up-to-date type information when checking packages, even for packages using cgo or vendored imports.
|
||||
The reports should be more accurate as a result.
|
||||
Note that only <code>go</code> <code>vet</code> has access to this information;
|
||||
@ -317,14 +363,13 @@ This release includes a new <a href="/doc/diagnostics.html">overview of availabl
|
||||
<h3 id="gofmt">Gofmt</h3>
|
||||
|
||||
<p>
|
||||
A few minor details of the default formatting of Go source code have changed.
|
||||
First, some complex three-index slice expressions previously formatted like
|
||||
Two minor details of the default formatting of Go source code have changed.
|
||||
First, certain complex three-index slice expressions previously formatted like
|
||||
<code>x[i+1</code> <code>:</code> <code>j:k]</code> and now
|
||||
format with more consistent spacing: <code>x[i+1</code> <code>:</code> <code>j</code> <code>:</code> <code>k]</code>.
|
||||
Second, single-method interface literals written on a single line,
|
||||
which are sometimes used in type assertions,
|
||||
are no longer split onto multiple lines.
|
||||
Third, blank lines following an opening brace are now always elided.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -359,14 +404,10 @@ spread fairly evenly across the supported architectures.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
TODO: What to say about DWARF work, if anything?
|
||||
Global constants (CL 61019), variable decomposition (CL 50878), variable liveness and location lists (CL 41770), more?
|
||||
What is enabled by default?
|
||||
</p>
|
||||
|
||||
<p>
|
||||
TODO: What to say about FMA, if anything?
|
||||
The spec change was mentioned in Go 1.9 but I am not sure whether any new architectures turned it on in Go 1.10.
|
||||
The DWARF debug information recorded in binaries has been improved in a few ways:
|
||||
constant values are now recorded;
|
||||
line number information is more accurate, making source-level stepping through a program work better;
|
||||
and each package is now presented as its own DWARF compilation unit.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -466,8 +507,8 @@ instructions.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For the X86 64-bit port, the assembler now supports 359 new instructions
|
||||
and is believed to be complete up to and including the Intel AVX-256 extensions.
|
||||
For the X86 64-bit port, the assembler now supports 359 new instructions,
|
||||
including the full AVX, AVX2, BMI, BMI2, F16C, FMA3, SSE2, SSE3, SSSE3, SSE4.1, and SSE4.2 extension sets.
|
||||
The assembler also no longer implements <code><small>MOVL</small></code> <code><small>$0,</small></code> <code><small>AX</small></code>
|
||||
as an <code><small>XORL</small></code> instruction,
|
||||
to avoid clearing the condition flags unexpectedly.
|
||||
@ -482,12 +523,35 @@ TODO: Words about GCC 8 and Go 1.10.
|
||||
<h2 id="runtime">Runtime</h2>
|
||||
|
||||
<p>
|
||||
TODO: Don't start new threads from locked threads or threads that Go did not create. LockOSThread/UnlockOSThread now nest. LockOSThread + return kills the thread
|
||||
The behavior of nested calls to
|
||||
<a href="/pkg/runtime/#LockOSThread"><code>LockOSThread</code></a> and
|
||||
<a href="/pkg/runtime/#UnlockOSThread"><code>UnlockOSThread</code></a>
|
||||
has changed.
|
||||
These functions control whether a goroutine is locked to a specific operating system thread,
|
||||
so that the goroutine only runs on that thread, and the thread only runs that goroutine.
|
||||
Previously, calling <code>LockOSThread</code> more than once in a row
|
||||
was equivalent to calling it once, and a single <code>UnlockOSThread</code>
|
||||
always unlocked the thread.
|
||||
Now, the calls nest: if <code>LockOSThread</code> is called multiple times,
|
||||
<code>UnlockOSThread</code> must be called the same number of times
|
||||
in order to unlock the thread.
|
||||
Existing code that was careful not to nest these calls will remain correct.
|
||||
Existing code that incorrectly assumed the calls nested will become correct.
|
||||
Most uses of these functions in public Go source falls into the second category.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Because one common use of <code>LockOSThread</code> and <code>UnlockOSThread</code>
|
||||
is to allow Go code to reliably modify thread-local state (for example, Linux or Plan 9 name spaces),
|
||||
the runtime now treats locked threads as unsuitable for reuse or for creating new threads.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Stack traces no longer include implicit wrapper functions (previously marked <code><autogenerated></code>),
|
||||
unless a fault or panic happens in the wrapper itself.
|
||||
As a result, skip counts passed to functions like <a href="/pkg/runtime/#Caller"><code>Caller</code></a>
|
||||
should now always match the structure of the code as written, rather than depending on
|
||||
optimization decisions and implementation details.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -495,6 +559,10 @@ There is no longer a limit on the <a href="/pkg/runtime/#GOMAXPROCS"><code>GOMAX
|
||||
(In Go 1.9 the limit was 1024.)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
TODO: Anything about CL 59970: "runtime: separate soft and hard heap limits"?
|
||||
</p>
|
||||
|
||||
<h2 id="performance">Performance</h2>
|
||||
|
||||
<p>
|
||||
@ -507,7 +575,7 @@ better generated code, and optimizations in the core library.
|
||||
<h2 id="gc">Garbage Collector</h2>
|
||||
|
||||
<p>
|
||||
TODO: Anything?
|
||||
Many applications should experience significantly lower allocation latency and overall performance overhead when the garbage collector is active.
|
||||
</p>
|
||||
|
||||
<h2 id="library">Core library</h2>
|
||||
@ -540,21 +608,17 @@ Now it also records the user and group names corresponding to those IDs,
|
||||
as well as the major and minor device numbers for device files.
|
||||
</p>
|
||||
<p>
|
||||
Errors created by the package now begin with a consistent “tar:” prefix.
|
||||
(Previously they almost all began with a consistent “archive/tar:” prefix.)
|
||||
TODO: Why are we changing these? (#22740)
|
||||
</p>
|
||||
<p>
|
||||
The new <a href="/pkg/archive/tar/#Header"><code>Header.Format</code></a> field
|
||||
of type <a href="/pkg/archive/tar/#Format"><code>Format</code></a>
|
||||
controls which tar header format the <a href="/pkg/archive/tar/#Writer"><code>Writer</code></a> uses.
|
||||
The default, as before, is to select the most widely-supported header type
|
||||
that can encoding the fields needed by the header (USTAR if possible, or else PAX if possible, or else GNU).
|
||||
that can encode the fields needed by the header (USTAR if possible, or else PAX if possible, or else GNU).
|
||||
The <a href="/pkg/archive/tar/#Reader"><code>Reader</code></a> sets <code>Header.Format</code> for each header it reads.
|
||||
</p>
|
||||
<p>
|
||||
<code>Reader</code> and the <code>Writer</code> now support PAX records,
|
||||
using the new <a href="/pkg/archive/tar/#Header"><code>Header.PAXRecords</code></a> field.
|
||||
<code>Reader</code> and the <code>Writer</code> now support arbitrary PAX records,
|
||||
using the new <a href="/pkg/archive/tar/#Header"><code>Header.PAXRecords</code></a> field,
|
||||
a generalization of the existing <code>Xattrs</code> field.
|
||||
</p>
|
||||
<p>
|
||||
The <code>Reader</code> no longer insists that the file name or link name in GNU headers
|
||||
@ -565,10 +629,6 @@ When writing PAX- or GNU-format headers, the <code>Writer</code> now includes
|
||||
the <code>Header.AccessTime</code> and <code>Header.ChangeTime</code> fields (if set).
|
||||
When writing PAX-format headers, the times include sub-second precision.
|
||||
</p>
|
||||
<p>
|
||||
The <a href="/pkg/archive/tar/#Writer.Flush"><code>Writer.Flush</code></a> method,
|
||||
which has had no real effect since Go 1.1, is now marked deprecated.
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
<dl id="archive/zip"><dt><a href="/pkg/archive/zip/">archive/zip</a></dt>
|
||||
@ -584,13 +644,13 @@ In Go 1.10, the <a href="/pkg/archive/zip/#Reader"><code>Reader</code></a> and <
|
||||
now support the widely-understood Info-Zip extension that encodes the time separately in the 32-bit Unix “seconds since epoch” form.
|
||||
The <a href="/pkg/archive/zip/#FileHeader"><code>FileHeader</code></a>'s new <code>Modified</code> field of type <a href="/pkg/time/#Time"><code>time.Time</code></a>
|
||||
obsoletes the <code>ModifiedTime</code> and <code>ModifiedDate</code> fields, which continue to hold the MS-DOS encoding.
|
||||
The <a href="/pkg/archive/zip/#FileHeader.ModTime"><code>ModTime</code></a> and
|
||||
<a href="/pkg/archive/zip/#FileHeader.SetModTime"><code>SetModTime</code></a> methods
|
||||
now simply read and write the new <code>Modified</code> field.
|
||||
The <code>Reader</code> and <code>Writer</code> now adopt the common
|
||||
convention that ZIP archive storing the Unix time encoding store the local time
|
||||
in the MS-DOS field, so that the time zone offset can be inferred.
|
||||
TODO: These last bits are not true but probably should be (#22738)
|
||||
convention that a ZIP archive storing a time zone-independent Unix time
|
||||
also stores the local time in the MS-DOS field,
|
||||
so that the time zone offset can be inferred.
|
||||
For compatibility, the <a href="/pkg/archive/zip/#FileHeader.ModTime"><code>ModTime</code></a> and
|
||||
<a href="/pkg/archive/zip/#FileHeader.SetModTime"><code>SetModTime</code></a> methods
|
||||
behave the same as in earlier releases; new code should use <code>Modified</code> directly.
|
||||
</p>
|
||||
<p>
|
||||
The header for each file in a ZIP archive has a flag bit indicating whether
|
||||
@ -606,10 +666,8 @@ Setting a <code>FileHeader</code>'s new <code>NonUTF8</code> field to true
|
||||
disables the heuristic entirely for that file.
|
||||
</p>
|
||||
<p>
|
||||
The <code>Writer</code> also now support setting the end-of-central-directory record's comment field,
|
||||
by setting the <code>Writer</code>'s new <code>Comment</code> field
|
||||
before calling the <a href="/pkg/archive/zip/#Writer.Close"><code>Close</code></a> method.
|
||||
TODO: May change (#22737).
|
||||
The <code>Writer</code> also now supports setting the end-of-central-directory record's comment field,
|
||||
by calling the <code>Writer</code>'s new <a href="/pkg/archive/zip/#Writer.SetComment"><code>SetComment</code></a> method.
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
@ -676,9 +734,17 @@ Parsed certificates also now report URI names and IP, email, and URI constraints
|
||||
<code>PermittedURIDomains</code>, and <code>ExcludedURIDomains</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The new <a href="/pkg/crypto/x509/#MarshalPKCS1PublicKey"><code>MarshalPKCS1PublicKey</code></a>
|
||||
and <a href="/pkg/crypto/x509/#ParsePKCS1PublicKey"><code>ParsePKCS1PublicKey</code></a>
|
||||
functions convert an RSA public key to and from PKCS#1-encoded form.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The new <a href="/pkg/crypto/x509/#MarshalPKCS8PrivateKey"><code>MarshalPKCS8PrivateKey</code></a>
|
||||
function converts a private key to PKCS#8 encoded form.
|
||||
function converts a private key to PKCS#8-encoded form.
|
||||
(<a href="/pkg/crypto/x509/#ParsePKCS8PrivateKey"><code>ParsePKCS8PrivateKey</code></a>
|
||||
has existed since Go 1.)
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
@ -701,6 +767,14 @@ instead of needing to encode all configuration into a string
|
||||
passed to <a href="/pkg/database/sql/#Open"><code>sql.Open</code></a>.
|
||||
</p>
|
||||
<p>
|
||||
Drivers that want to parse the configuration string only once per <code>sql.DB</code>
|
||||
instead of once per <a href="/pkg/database/sql/#Conn"><code>sql.Conn</code></a>,
|
||||
or that want access to each <code>sql.Conn</code>'s underlying context,
|
||||
can make their <a href="/pkg/database/sql/driver/#Driver"><code>Driver</code></a>
|
||||
implementations also implement <a href="/pkg/database/sql/driver/#DriverContext"><code>DriverContext</code></a>'s
|
||||
new <code>OpenConnector</code> method.
|
||||
</p>
|
||||
<p>
|
||||
Drivers that implement <a href="/pkg/database/sql/driver/#ExecerContext"><code>ExecerContext</code></a>
|
||||
no longer need to implement <a href="/pkg/database/sql/driver/#Execer"><code>Execer</code></a>;
|
||||
similarly, drivers that implement <a href="/pkg/database/sql/driver/#QueryerContext"><code>QueryerContext</code></a>
|
||||
@ -735,7 +809,7 @@ and
|
||||
<p>
|
||||
Go 1.10 adds support for reading relocations from Mach-O sections,
|
||||
using the <a href="/pkg/debug/macho#Section"><code>Section</code></a> struct's new <code>Relocs</code> field
|
||||
and the new<a href="/pkg/debug/macho/#Reloc"><code>Reloc</code></a>,
|
||||
and the new <a href="/pkg/debug/macho/#Reloc"><code>Reloc</code></a>,
|
||||
<a href="/pkg/debug/macho/#RelocTypeARM"><code>RelocTypeARM</code></a>,
|
||||
<a href="/pkg/debug/macho/#RelocTypeARM64"><code>RelocTypeARM64</code></a>,
|
||||
<a href="/pkg/debug/macho/#RelocTypeGeneric"><code>RelocTypeGeneric</code></a>,
|
||||
@ -762,10 +836,19 @@ unless the string is in a struct field with a tag forcing the use of PrintableSt
|
||||
<code>Marshal</code> also now respects struct tags containing <code>application</code> directives.
|
||||
</p>
|
||||
<p>
|
||||
The new <a href="/pkg/encoding/asn1/#MarshalWithParams"><code>MarshalWithParams</code></a>
|
||||
function marshals its argument as if the additional params were its associated
|
||||
struct field tag.
|
||||
</p>
|
||||
<p>
|
||||
<a href="/pkg/encoding/asn1/#Unmarshal"><code>Unmarshal</code></a> now respects
|
||||
struct field tags using the <code>explicit</code> and <code>tag</code>
|
||||
directives.
|
||||
</p>
|
||||
<p>
|
||||
Both <code>Marshal</code> and <code>Unmarshal</code> now support a new struct field tag
|
||||
<code>numeric</code>, indicating an ASN.1 NumericString.
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
<dl id="encoding/csv"><dt><a href="/pkg/encoding/csv/">encoding/csv</a></dt>
|
||||
@ -780,11 +863,6 @@ or setting <code>Comma</code> and <code>Comment</code> equal to each other.
|
||||
In the case of a syntax error in a CSV record that spans multiple input lines, <code>Reader</code>
|
||||
now reports the line on which the record started in the <a href="/pkg/encoding/csv/#ParseError"><code>ParseError</code></a>'s new <code>StartLine</code> field.
|
||||
</p>
|
||||
<p>
|
||||
<code>Reader</code> also no longer strips carriage return characters
|
||||
appearing before newline characters in multiline quoted strings.
|
||||
TODO: Maybe not (#22746).
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
<dl id="encoding/hex"><dt><a href="/pkg/encoding/hex/">encoding/hex</a></dt>
|
||||
@ -807,7 +885,7 @@ When the functions
|
||||
and
|
||||
<a href="/pkg/encoding/hex/#DecodeString"><code>DecodeString</code></a>
|
||||
encounter malformed input,
|
||||
they each now return the number of bytes already converted
|
||||
they now return the number of bytes already converted
|
||||
along with the error.
|
||||
Previously they always returned a count of 0 with any error.
|
||||
</p>
|
||||
@ -818,10 +896,31 @@ Previously they always returned a count of 0 with any error.
|
||||
<p>
|
||||
The <a href="/pkg/encoding/json/#Decoder"><code>Decoder</code></a>
|
||||
adds a new method
|
||||
<a href="/pkg/encoding/json/#DisallowUnknownFields"><code>DisallowUnknownFields</code></a>
|
||||
<a href="/pkg/encoding/json/#Decoder.DisallowUnknownFields"><code>DisallowUnknownFields</code></a>
|
||||
that causes it to report inputs with unknown JSON fields as a decoding error.
|
||||
(The default behavior has always been to discard unknown fields.)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
As a result of <a href="#reflect">fixing a reflect bug</a>,
|
||||
<a href="/pkg/encoding/json/#Unmarshal"><code>Unmarshal</code></a>
|
||||
can no longer decode into fields inside
|
||||
embedded pointers to unexported struct types,
|
||||
because it cannot initialize the unexported embedded pointer
|
||||
to point at fresh storage.
|
||||
<code>Unmarshal</code> now returns an error in this case.
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
<dl id="encoding/pem"><dt><a href="/pkg/encoding/pem/">encoding/pem</a></dt>
|
||||
<dd>
|
||||
<p>
|
||||
<a href="/pkg/encoding/pem/#Encode"><code>Encode</code></a>
|
||||
and
|
||||
<a href="/pkg/encoding/pem/#EncodeToMemory"><code>EncodeToMemory</code></a>
|
||||
no longer generate partial output when presented with a
|
||||
block that is impossible to encode as PEM data.
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
<dl id="encoding/xml"><dt><a href="/pkg/encoding/xml/">encoding/xml</a></dt>
|
||||
@ -939,20 +1038,26 @@ compute square roots.
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
<dl id="math/cmplx"><dt><a href="/pkg/math/cmplx/">math/cmplx</a></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Branch cuts and other boundary cases in
|
||||
<a href="/pkg/math/cmplx/#Asin"><code>Asin<code></a>,
|
||||
<a href="/pkg/math/cmplx/#Asinh"><code>Asinh<code></a>,
|
||||
<a href="/pkg/math/cmplx/#Atan"><code>Atan<code></a>,
|
||||
and
|
||||
<a href="/pkg/math/cmplx/#Sqrt"><code>Sqrt<code></a>
|
||||
have been corrected to match the definitions used in the C99 standard.
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
<dl id="math/rand"><dt><a href="/pkg/math/rand/">math/rand</a></dt>
|
||||
<dd>
|
||||
<p>
|
||||
The new <a href="/pkg/math/rand/#Shuffle"> function and corresponding
|
||||
The new <a href="/pkg/math/rand/#Shuffle"><code>Shuffle</code></a> function and corresponding
|
||||
<a href="/pkg/math/rand/#Rand.Shuffle"><code>Rand.Shuffle</code></a> method
|
||||
shuffle an input sequence.
|
||||
</p>
|
||||
<p>
|
||||
The existing <a href="/pkg/math/rand/#Perm"> function and corresponding
|
||||
<a href="/pkg/math/rand/#Rand.Perm"><code>Rand.Perm</code></a> method
|
||||
have been updated to use a more efficient algorithm, with the result
|
||||
that the specific permutations they return have changed.
|
||||
TODO: Remove? (#22744)
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
<dl id="math"><dt><a href="/pkg/math/">math</a></dt>
|
||||
@ -962,9 +1067,9 @@ The new functions
|
||||
<a href="/pkg/math/#Round"><code>Round</code></a>
|
||||
and
|
||||
<a href="/pkg/math/#RoundToEven"><code>RoundToEven</code></a>
|
||||
round their arguments to the nearest integer;
|
||||
round their arguments to the nearest floating-point integer;
|
||||
<code>Round</code> rounds a half-integer to its larger integer neighbor (away from zero)
|
||||
while <code>RoundToEven</code> rounds a half-integer its even integer neighbor.
|
||||
while <code>RoundToEven</code> rounds a half-integer to its even integer neighbor.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -1042,17 +1147,29 @@ meaning that the client connects to the proxy over HTTPS before issuing a standa
|
||||
On the server side, <a href="/pkg/net/http/#FileServer"><code>FileServer</code></a> and its single-file equivalent <a href="/pkg/net/http/#ServeFile"><code>ServeFile</code></a>
|
||||
now apply <code>If-Range</code> checks to <code>HEAD</code> requests.
|
||||
<code>FileServer</code> also now reports directory read failures to the <a href="/pkg/net/http/#Server"><code>Server</code></a>'s <code>ErrorLog</code>.
|
||||
The content-serving handlers also now omit the <code>Content-Type</code> header when serving zero-length content.
|
||||
</p>
|
||||
<p>
|
||||
<a href="/pkg/net/http/#ResponseWriter"><code>ResponseWriter</code></a>'s <code>WriteHeader</code> method now panics
|
||||
if passed an invalid (non-3-digit) status code.
|
||||
</p>
|
||||
<p>
|
||||
<a href="/pkg/net/http/#Redirect"><code>Redirect</code></a> now sets the <code>Content-Type</code> header before writing its HTTP response.
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
<dl id="net/http/httputil"><dt><a href="/pkg/net/http/httputil/">net/http/httputil</a></dt>
|
||||
<dd>
|
||||
<p>
|
||||
TODO: ReverseProxy and back end errors and ModifyResponse.
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
<dl id="net/mail"><dt><a href="/pkg/net/mail/">net/mail</a></dt>
|
||||
<dd>
|
||||
<p>
|
||||
<a href="/pkg/net/mail/#ParseAddress"><code>ParseAddress</code></a> and
|
||||
<a href="/pkg/net/mail/#ParseAddressList"><code>ParseAddressList</code></a> and
|
||||
<a href="/pkg/net/mail/#ParseAddressList"><code>ParseAddressList</code></a>
|
||||
now support a variety of obsolete address formats.
|
||||
</p>
|
||||
</dl>
|
||||
@ -1073,7 +1190,9 @@ and <a href="/pkg/net/smtp/#Client.Verify"><code>Verify</code></a> methods.
|
||||
<dd>
|
||||
<p>
|
||||
<a href="/pkg/net/textproto/#ReadMIMEHeader"><code>ReadMIMEHeader</code></a>
|
||||
now discards continuation (indented) header lines that appear before the first actual (unindented) header line.
|
||||
now rejects any header that begins with a continuation (indented) header line.
|
||||
Previously a header with an indented first line was treated as if the first line
|
||||
were not indented.
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
@ -1111,6 +1230,12 @@ For example, this can happen if code adds a host prefix
|
||||
like <code>http://host/</code> to a path like <code>/my/api</code>,
|
||||
resulting in a URL with a doubled slash: <code>http://host//my/api</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="/pkg/net/url/#UserInfo"><code>UserInfo</code></a>'s methods
|
||||
now treat a nil receiver as equivalent to a pointer to a zero <code>UserInfo</code>.
|
||||
Previously, they panicked.
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
<dl id="os"><dt><a href="/pkg/os/">os</a></dt>
|
||||
@ -1153,6 +1278,26 @@ The <a href="/pkg/reflect/#Copy"><code>Copy</code></a> function now allows copyi
|
||||
from a string into a byte array or byte slice, to match the
|
||||
<a href="/pkg/builtin/#copy">built-in copy function</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In structs, embedded pointers to unexported struct types were
|
||||
previously incorrectly reported with an empty <code>PkgPath</code>
|
||||
in the corresponding <a href="/pkg/reflect/#StructField">StructField</a>,
|
||||
with the result that for those fields,
|
||||
and <a href="/pkg/reflect/#Value.CanSet"><code>Value.CanSet</code></a>
|
||||
incorrectly returned true and
|
||||
and <a href="/pkg/reflect/#Value.Set"><code>Value.Set</code></a>
|
||||
incorrectly succeeded.
|
||||
The underlying metadata has been corrected;
|
||||
for those fields,
|
||||
<code>CanSet</code> now correctly returns false
|
||||
and <code>Set</code> now correctly panics.
|
||||
This may affect reflection-based unmarshalers
|
||||
that could previously unmarshal into such fields
|
||||
but no longer can.
|
||||
For example, see the <a href="#encoding/json"><code>encoding/json</code> notes</a>.
|
||||
</p>
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
<dl id="runtime/pprof"><dt><a href="/pkg/runtime/pprof/">runtime/pprof</a></dt>
|
||||
@ -1224,7 +1369,8 @@ environment variable before looking in the default system-specific list of
|
||||
known installation locations or in <code>$GOROOT/lib/time/zoneinfo.zip</code>.
|
||||
</p>
|
||||
<p>
|
||||
TODO: Maybe CL 68890.
|
||||
The new function <a href="/pkg/time/#LoadLocationFromTZData"><code>LoadLocationFromTZData</code></a>
|
||||
allows conversion of IANA time zone file data to a <a href="/pkg/time/#Location"><code>Location</code></a>.
|
||||
</p>
|
||||
</dl>
|
||||
|
||||
|
@ -1152,7 +1152,7 @@ document</a> for details.
|
||||
Work is underway on an experimental package management tool,
|
||||
<a href="https://github.com/golang/dep"><code>dep</code></a>, to learn
|
||||
more about how tooling can help package management. More information can be found in
|
||||
<a href="https://github.com/golang/dep/blob/master/FAQ.md">the <code>dep</code> FAQ</a>.
|
||||
<a href="https://github.com/golang/dep/blob/master/docs/FAQ.md">the <code>dep</code> FAQ</a>.
|
||||
</p>
|
||||
|
||||
<h2 id="Pointers">Pointers and Allocation</h2>
|
||||
|
@ -8,8 +8,8 @@
|
||||
# Consult http://www.iana.org/time-zones for the latest versions.
|
||||
|
||||
# Versions to use.
|
||||
CODE=2017b
|
||||
DATA=2017b
|
||||
CODE=2017c
|
||||
DATA=2017c
|
||||
|
||||
set -e
|
||||
rm -rf work
|
||||
|
Binary file not shown.
@ -14,9 +14,6 @@ fi
|
||||
goos=$(go env GOOS)
|
||||
goarch=$(go env GOARCH)
|
||||
|
||||
echo SKIP: golang.org/issue/22571.
|
||||
exit 0
|
||||
|
||||
function cleanup() {
|
||||
rm -f plugin*.so unnamed*.so iface*.so issue*
|
||||
rm -rf host pkg sub iface
|
||||
|
@ -39,7 +39,7 @@ func main() {
|
||||
}
|
||||
|
||||
out, err := exec.Command(goCmd(), "tool", "api",
|
||||
"-c", file("go1", "go1.1", "go1.2", "go1.3", "go1.4", "go1.5", "go1.6", "go1.7", "go1.8", "go1.9"),
|
||||
"-c", file("go1", "go1.1", "go1.2", "go1.3", "go1.4", "go1.5", "go1.6", "go1.7", "go1.8", "go1.9", "go1.10"),
|
||||
"-next", file("next"),
|
||||
"-except", file("except")).CombinedOutput()
|
||||
if err != nil {
|
||||
|
@ -14,6 +14,7 @@ import (
|
||||
|
||||
// To identify variables by original source position.
|
||||
type varPos struct {
|
||||
DeclName string
|
||||
DeclFile string
|
||||
DeclLine uint
|
||||
DeclCol uint
|
||||
@ -96,14 +97,19 @@ func assembleInlines(fnsym *obj.LSym, fn *Node, dwVars []*dwarf.Var) dwarf.InlCa
|
||||
n := dcl[i]
|
||||
pos := Ctxt.InnermostPos(n.Pos)
|
||||
vp := varPos{
|
||||
DeclName: n.Sym.Name,
|
||||
DeclFile: pos.Base().SymFilename(),
|
||||
DeclLine: pos.Line(),
|
||||
DeclCol: pos.Col(),
|
||||
}
|
||||
if _, found := m[vp]; found {
|
||||
Fatalf("child dcl collision on symbol %s within %v\n", n.Sym.Name, fnsym.Name)
|
||||
}
|
||||
m[vp] = i
|
||||
}
|
||||
for j := 0; j < len(sl); j++ {
|
||||
vp := varPos{
|
||||
DeclName: sl[j].Name,
|
||||
DeclFile: sl[j].DeclFile,
|
||||
DeclLine: sl[j].DeclLine,
|
||||
DeclCol: sl[j].DeclCol,
|
||||
|
59
src/cmd/dist/test.go
vendored
59
src/cmd/dist/test.go
vendored
@ -583,7 +583,7 @@ func (t *tester) registerTests() {
|
||||
},
|
||||
})
|
||||
}
|
||||
if swig, _ := exec.LookPath("swig"); swig != "" && goos != "android" {
|
||||
if t.hasSwig() && goos != "android" {
|
||||
t.tests = append(t.tests, distTest{
|
||||
name: "swig_stdio",
|
||||
heading: "../misc/swig/stdio",
|
||||
@ -1197,6 +1197,63 @@ func (t *tester) hasBash() bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func (t *tester) hasSwig() bool {
|
||||
swig, err := exec.LookPath("swig")
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
out, err := exec.Command(swig, "-version").CombinedOutput()
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
re := regexp.MustCompile(`[vV]ersion +([\d]+)([.][\d]+)?([.][\d]+)?`)
|
||||
matches := re.FindSubmatch(out)
|
||||
if matches == nil {
|
||||
// Can't find version number; hope for the best.
|
||||
return true
|
||||
}
|
||||
|
||||
major, err := strconv.Atoi(string(matches[1]))
|
||||
if err != nil {
|
||||
// Can't find version number; hope for the best.
|
||||
return true
|
||||
}
|
||||
if major < 3 {
|
||||
return false
|
||||
}
|
||||
if major > 3 {
|
||||
// 4.0 or later
|
||||
return true
|
||||
}
|
||||
|
||||
// We have SWIG version 3.x.
|
||||
if len(matches[2]) > 0 {
|
||||
minor, err := strconv.Atoi(string(matches[2][1:]))
|
||||
if err != nil {
|
||||
return true
|
||||
}
|
||||
if minor > 0 {
|
||||
// 3.1 or later
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
// We have SWIG version 3.0.x.
|
||||
if len(matches[3]) > 0 {
|
||||
patch, err := strconv.Atoi(string(matches[3][1:]))
|
||||
if err != nil {
|
||||
return true
|
||||
}
|
||||
if patch < 6 {
|
||||
// Before 3.0.6.
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func (t *tester) raceDetectorSupported() bool {
|
||||
switch gohostos {
|
||||
case "linux", "darwin", "freebsd", "windows":
|
||||
|
99
src/cmd/go/internal/cache/cache.go
vendored
99
src/cmd/go/internal/cache/cache.go
vendored
@ -178,9 +178,7 @@ func (c *Cache) get(id ActionID) (Entry, error) {
|
||||
|
||||
fmt.Fprintf(c.log, "%d get %x\n", c.now().Unix(), id)
|
||||
|
||||
// Best-effort attempt to update mtime on file,
|
||||
// so that mtime reflects cache access time.
|
||||
os.Chtimes(c.fileName(id, "a"), c.now(), c.now())
|
||||
c.used(c.fileName(id, "a"))
|
||||
|
||||
return Entry{buf, size, time.Unix(0, tm)}, nil
|
||||
}
|
||||
@ -203,14 +201,97 @@ func (c *Cache) GetBytes(id ActionID) ([]byte, Entry, error) {
|
||||
// OutputFile returns the name of the cache file storing output with the given OutputID.
|
||||
func (c *Cache) OutputFile(out OutputID) string {
|
||||
file := c.fileName(out, "d")
|
||||
|
||||
// Best-effort attempt to update mtime on file,
|
||||
// so that mtime reflects cache access time.
|
||||
os.Chtimes(file, c.now(), c.now())
|
||||
|
||||
c.used(file)
|
||||
return file
|
||||
}
|
||||
|
||||
// Time constants for cache expiration.
|
||||
//
|
||||
// We set the mtime on a cache file on each use, but at most one per mtimeInterval (1 hour),
|
||||
// to avoid causing many unnecessary inode updates. The mtimes therefore
|
||||
// roughly reflect "time of last use" but may in fact be older by at most an hour.
|
||||
//
|
||||
// We scan the cache for entries to delete at most once per trimInterval (1 day).
|
||||
//
|
||||
// When we do scan the cache, we delete entries that have not been used for
|
||||
// at least trimLimit (5 days). Statistics gathered from a month of usage by
|
||||
// Go developers found that essentially all reuse of cached entries happened
|
||||
// within 5 days of the previous reuse. See golang.org/issue/22990.
|
||||
const (
|
||||
mtimeInterval = 1 * time.Hour
|
||||
trimInterval = 24 * time.Hour
|
||||
trimLimit = 5 * 24 * time.Hour
|
||||
)
|
||||
|
||||
// used makes a best-effort attempt to update mtime on file,
|
||||
// so that mtime reflects cache access time.
|
||||
//
|
||||
// Because the reflection only needs to be approximate,
|
||||
// and to reduce the amount of disk activity caused by using
|
||||
// cache entries, used only updates the mtime if the current
|
||||
// mtime is more than an hour old. This heuristic eliminates
|
||||
// nearly all of the mtime updates that would otherwise happen,
|
||||
// while still keeping the mtimes useful for cache trimming.
|
||||
func (c *Cache) used(file string) {
|
||||
info, err := os.Stat(file)
|
||||
if err == nil && c.now().Sub(info.ModTime()) < mtimeInterval {
|
||||
return
|
||||
}
|
||||
os.Chtimes(file, c.now(), c.now())
|
||||
}
|
||||
|
||||
// Trim removes old cache entries that are likely not to be reused.
|
||||
func (c *Cache) Trim() {
|
||||
now := c.now()
|
||||
|
||||
// We maintain in dir/trim.txt the time of the last completed cache trim.
|
||||
// If the cache has been trimmed recently enough, do nothing.
|
||||
// This is the common case.
|
||||
data, _ := ioutil.ReadFile(filepath.Join(c.dir, "trim.txt"))
|
||||
t, err := strconv.ParseInt(strings.TrimSpace(string(data)), 10, 64)
|
||||
if err == nil && now.Sub(time.Unix(t, 0)) < trimInterval {
|
||||
return
|
||||
}
|
||||
|
||||
// Trim each of the 256 subdirectories.
|
||||
// We subtract an additional mtimeInterval
|
||||
// to account for the imprecision of our "last used" mtimes.
|
||||
cutoff := now.Add(-trimLimit - mtimeInterval)
|
||||
for i := 0; i < 256; i++ {
|
||||
subdir := filepath.Join(c.dir, fmt.Sprintf("%02x", i))
|
||||
c.trimSubdir(subdir, cutoff)
|
||||
}
|
||||
|
||||
ioutil.WriteFile(filepath.Join(c.dir, "trim.txt"), []byte(fmt.Sprintf("%d", now.Unix())), 0666)
|
||||
}
|
||||
|
||||
// trimSubdir trims a single cache subdirectory.
|
||||
func (c *Cache) trimSubdir(subdir string, cutoff time.Time) {
|
||||
// Read all directory entries from subdir before removing
|
||||
// any files, in case removing files invalidates the file offset
|
||||
// in the directory scan. Also, ignore error from f.Readdirnames,
|
||||
// because we don't care about reporting the error and we still
|
||||
// want to process any entries found before the error.
|
||||
f, err := os.Open(subdir)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
names, _ := f.Readdirnames(-1)
|
||||
f.Close()
|
||||
|
||||
for _, name := range names {
|
||||
// Remove only cache entries (xxxx-a and xxxx-d).
|
||||
if !strings.HasSuffix(name, "-a") && !strings.HasSuffix(name, "-d") {
|
||||
continue
|
||||
}
|
||||
entry := filepath.Join(subdir, name)
|
||||
info, err := os.Stat(entry)
|
||||
if err == nil && info.ModTime().Before(cutoff) {
|
||||
os.Remove(entry)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// putIndexEntry adds an entry to the cache recording that executing the action
|
||||
// with the given id produces an output with the given output id (hash) and size.
|
||||
func (c *Cache) putIndexEntry(id ActionID, out OutputID, size int64, allowVerify bool) error {
|
||||
@ -239,6 +320,7 @@ func (c *Cache) putIndexEntry(id ActionID, out OutputID, size int64, allowVerify
|
||||
os.Remove(file)
|
||||
return err
|
||||
}
|
||||
os.Chtimes(file, c.now(), c.now()) // mainly for tests
|
||||
|
||||
fmt.Fprintf(c.log, "%d put %x %x %d\n", c.now().Unix(), id, out, size)
|
||||
return nil
|
||||
@ -365,6 +447,7 @@ func (c *Cache) copyFile(file io.ReadSeeker, out OutputID, size int64) error {
|
||||
os.Remove(name)
|
||||
return err
|
||||
}
|
||||
os.Chtimes(name, c.now(), c.now()) // mainly for tests
|
||||
|
||||
return nil
|
||||
}
|
||||
|
121
src/cmd/go/internal/cache/cache_test.go
vendored
121
src/cmd/go/internal/cache/cache_test.go
vendored
@ -5,7 +5,9 @@
|
||||
package cache
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/binary"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
@ -196,3 +198,122 @@ func dummyID(x int) [HashSize]byte {
|
||||
binary.LittleEndian.PutUint64(out[:], uint64(x))
|
||||
return out
|
||||
}
|
||||
|
||||
func TestCacheTrim(t *testing.T) {
|
||||
dir, err := ioutil.TempDir("", "cachetest-")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer os.RemoveAll(dir)
|
||||
|
||||
c, err := Open(dir)
|
||||
if err != nil {
|
||||
t.Fatalf("Open: %v", err)
|
||||
}
|
||||
const start = 1000000000
|
||||
now := int64(start)
|
||||
c.now = func() time.Time { return time.Unix(now, 0) }
|
||||
|
||||
checkTime := func(name string, mtime int64) {
|
||||
t.Helper()
|
||||
file := filepath.Join(c.dir, name[:2], name)
|
||||
info, err := os.Stat(file)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if info.ModTime().Unix() != mtime {
|
||||
t.Fatalf("%s mtime = %d, want %d", name, info.ModTime().Unix(), mtime)
|
||||
}
|
||||
}
|
||||
|
||||
id := ActionID(dummyID(1))
|
||||
c.PutBytes(id, []byte("abc"))
|
||||
entry, _ := c.Get(id)
|
||||
c.PutBytes(ActionID(dummyID(2)), []byte("def"))
|
||||
mtime := now
|
||||
checkTime(fmt.Sprintf("%x-a", id), mtime)
|
||||
checkTime(fmt.Sprintf("%x-d", entry.OutputID), mtime)
|
||||
|
||||
// Get should not change recent mtimes.
|
||||
now = start + 10
|
||||
c.Get(id)
|
||||
checkTime(fmt.Sprintf("%x-a", id), mtime)
|
||||
checkTime(fmt.Sprintf("%x-d", entry.OutputID), mtime)
|
||||
|
||||
// Get should change distant mtimes.
|
||||
now = start + 5000
|
||||
mtime2 := now
|
||||
if _, err := c.Get(id); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
c.OutputFile(entry.OutputID)
|
||||
checkTime(fmt.Sprintf("%x-a", id), mtime2)
|
||||
checkTime(fmt.Sprintf("%x-d", entry.OutputID), mtime2)
|
||||
|
||||
// Trim should leave everything alone: it's all too new.
|
||||
c.Trim()
|
||||
if _, err := c.Get(id); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
c.OutputFile(entry.OutputID)
|
||||
data, err := ioutil.ReadFile(filepath.Join(dir, "trim.txt"))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
checkTime(fmt.Sprintf("%x-a", dummyID(2)), start)
|
||||
|
||||
// Trim less than a day later should not do any work at all.
|
||||
now = start + 80000
|
||||
c.Trim()
|
||||
if _, err := c.Get(id); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
c.OutputFile(entry.OutputID)
|
||||
data2, err := ioutil.ReadFile(filepath.Join(dir, "trim.txt"))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !bytes.Equal(data, data2) {
|
||||
t.Fatalf("second trim did work: %q -> %q", data, data2)
|
||||
}
|
||||
|
||||
// Fast forward and do another trim just before the 5 day cutoff.
|
||||
// Note that because of usedQuantum the cutoff is actually 5 days + 1 hour.
|
||||
// We used c.Get(id) just now, so 5 days later it should still be kept.
|
||||
// On the other hand almost a full day has gone by since we wrote dummyID(2)
|
||||
// and we haven't looked at it since, so 5 days later it should be gone.
|
||||
now += 5 * 86400
|
||||
checkTime(fmt.Sprintf("%x-a", dummyID(2)), start)
|
||||
c.Trim()
|
||||
if _, err := c.Get(id); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
c.OutputFile(entry.OutputID)
|
||||
mtime3 := now
|
||||
if _, err := c.Get(dummyID(2)); err == nil { // haven't done a Get for this since original write above
|
||||
t.Fatalf("Trim did not remove dummyID(2)")
|
||||
}
|
||||
|
||||
// The c.Get(id) refreshed id's mtime again.
|
||||
// Check that another 5 days later it is still not gone,
|
||||
// but check by using checkTime, which doesn't bring mtime forward.
|
||||
now += 5 * 86400
|
||||
c.Trim()
|
||||
checkTime(fmt.Sprintf("%x-a", id), mtime3)
|
||||
checkTime(fmt.Sprintf("%x-d", entry.OutputID), mtime3)
|
||||
|
||||
// Half a day later Trim should still be a no-op, because there was a Trim recently.
|
||||
// Even though the entry for id is now old enough to be trimmed,
|
||||
// it gets a reprieve until the time comes for a new Trim scan.
|
||||
now += 86400 / 2
|
||||
c.Trim()
|
||||
checkTime(fmt.Sprintf("%x-a", id), mtime3)
|
||||
checkTime(fmt.Sprintf("%x-d", entry.OutputID), mtime3)
|
||||
|
||||
// Another half a day later, Trim should actually run, and it should remove id.
|
||||
now += 86400/2 + 1
|
||||
c.Trim()
|
||||
if _, err := c.Get(dummyID(1)); err == nil {
|
||||
t.Fatal("Trim did not remove dummyID(1)")
|
||||
}
|
||||
}
|
||||
|
@ -53,6 +53,11 @@ func actionList(root *Action) []*Action {
|
||||
|
||||
// do runs the action graph rooted at root.
|
||||
func (b *Builder) Do(root *Action) {
|
||||
if c := cache.Default(); c != nil && !b.ComputeStaleOnly {
|
||||
// If we're doing real work, take time at the end to trim the cache.
|
||||
defer c.Trim()
|
||||
}
|
||||
|
||||
// Build list of all actions, assigning depth-first post-order priority.
|
||||
// The original implementation here was a true queue
|
||||
// (using a channel) but it had the effect of getting
|
||||
|
@ -522,8 +522,13 @@ package main
|
||||
|
||||
var G int
|
||||
|
||||
func noinline(x int) int {
|
||||
defer func() { G += x }()
|
||||
return x
|
||||
}
|
||||
|
||||
func cand(x, y int) int {
|
||||
return (x + y) ^ (y - x)
|
||||
return noinline(x+y) ^ (y - x)
|
||||
}
|
||||
|
||||
func main() {
|
||||
@ -599,6 +604,24 @@ func main() {
|
||||
}
|
||||
}
|
||||
exCount++
|
||||
|
||||
omap := make(map[dwarf.Offset]bool)
|
||||
|
||||
// Walk the child variables of the inlined routine. Each
|
||||
// of them should have a distinct abstract origin-- if two
|
||||
// vars point to the same origin things are definitely broken.
|
||||
inlIdx := ex.idxFromOffset(child.Offset)
|
||||
inlChildDies := ex.Children(inlIdx)
|
||||
for _, k := range inlChildDies {
|
||||
ooff, originOK := k.Val(dwarf.AttrAbstractOrigin).(dwarf.Offset)
|
||||
if !originOK {
|
||||
t.Fatalf("no abstract origin attr for child of inlined subroutine at offset %v", k.Offset)
|
||||
}
|
||||
if _, found := omap[ooff]; found {
|
||||
t.Fatalf("duplicate abstract origin at child of inlined subroutine at offset %v", k.Offset)
|
||||
}
|
||||
omap[ooff] = true
|
||||
}
|
||||
}
|
||||
}
|
||||
if exCount != len(expectedInl) {
|
||||
|
0
src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/condition.go
generated
vendored
Executable file → Normal file
0
src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/condition.go
generated
vendored
Executable file → Normal file
0
src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/condition_util.go
generated
vendored
Executable file → Normal file
0
src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/condition_util.go
generated
vendored
Executable file → Normal file
@ -707,6 +707,19 @@ func (d *decodeState) object(v reflect.Value) {
|
||||
for _, i := range f.index {
|
||||
if subv.Kind() == reflect.Ptr {
|
||||
if subv.IsNil() {
|
||||
// If a struct embeds a pointer to an unexported type,
|
||||
// it is not possible to set a newly allocated value
|
||||
// since the field is unexported.
|
||||
//
|
||||
// See https://golang.org/issue/21357
|
||||
if !subv.CanSet() {
|
||||
d.saveError(fmt.Errorf("json: cannot set embedded pointer to unexported struct: %v", subv.Type().Elem()))
|
||||
// Invalidate subv to ensure d.value(subv) skips over
|
||||
// the JSON value without assigning it to subv.
|
||||
subv = reflect.Value{}
|
||||
destring = false
|
||||
break
|
||||
}
|
||||
subv.Set(reflect.New(subv.Type().Elem()))
|
||||
}
|
||||
subv = subv.Elem()
|
||||
|
@ -195,11 +195,6 @@ type embed struct {
|
||||
Q int
|
||||
}
|
||||
|
||||
type Issue21357 struct {
|
||||
*embed
|
||||
R int
|
||||
}
|
||||
|
||||
type Loop struct {
|
||||
Loop1 int `json:",omitempty"`
|
||||
Loop2 int `json:",omitempty"`
|
||||
@ -871,20 +866,6 @@ var unmarshalTests = []unmarshalTest{
|
||||
err: fmt.Errorf("json: unknown field \"extra\""),
|
||||
disallowUnknownFields: true,
|
||||
},
|
||||
|
||||
// Issue 21357.
|
||||
// Ignore any embedded fields that are pointers to unexported structs.
|
||||
{
|
||||
in: `{"Q":1,"R":2}`,
|
||||
ptr: new(Issue21357),
|
||||
out: Issue21357{R: 2},
|
||||
},
|
||||
{
|
||||
in: `{"Q":1,"R":2}`,
|
||||
ptr: new(Issue21357),
|
||||
err: fmt.Errorf("json: unknown field \"Q\""),
|
||||
disallowUnknownFields: true,
|
||||
},
|
||||
}
|
||||
|
||||
func TestMarshal(t *testing.T) {
|
||||
@ -2107,3 +2088,81 @@ func TestInvalidStringOption(t *testing.T) {
|
||||
t.Fatalf("Unmarshal: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// Test unmarshal behavior with regards to embedded pointers to unexported structs.
|
||||
// If unallocated, this returns an error because unmarshal cannot set the field.
|
||||
// Issue 21357.
|
||||
func TestUnmarshalEmbeddedPointerUnexported(t *testing.T) {
|
||||
type (
|
||||
embed1 struct{ Q int }
|
||||
embed2 struct{ Q int }
|
||||
embed3 struct {
|
||||
Q int64 `json:",string"`
|
||||
}
|
||||
S1 struct {
|
||||
*embed1
|
||||
R int
|
||||
}
|
||||
S2 struct {
|
||||
*embed1
|
||||
Q int
|
||||
}
|
||||
S3 struct {
|
||||
embed1
|
||||
R int
|
||||
}
|
||||
S4 struct {
|
||||
*embed1
|
||||
embed2
|
||||
}
|
||||
S5 struct {
|
||||
*embed3
|
||||
R int
|
||||
}
|
||||
)
|
||||
|
||||
tests := []struct {
|
||||
in string
|
||||
ptr interface{}
|
||||
out interface{}
|
||||
err error
|
||||
}{{
|
||||
// Error since we cannot set S1.embed1, but still able to set S1.R.
|
||||
in: `{"R":2,"Q":1}`,
|
||||
ptr: new(S1),
|
||||
out: &S1{R: 2},
|
||||
err: fmt.Errorf("json: cannot set embedded pointer to unexported struct: json.embed1"),
|
||||
}, {
|
||||
// The top level Q field takes precedence.
|
||||
in: `{"Q":1}`,
|
||||
ptr: new(S2),
|
||||
out: &S2{Q: 1},
|
||||
}, {
|
||||
// No issue with non-pointer variant.
|
||||
in: `{"R":2,"Q":1}`,
|
||||
ptr: new(S3),
|
||||
out: &S3{embed1: embed1{Q: 1}, R: 2},
|
||||
}, {
|
||||
// No error since both embedded structs have field R, which annihilate each other.
|
||||
// Thus, no attempt is made at setting S4.embed1.
|
||||
in: `{"R":2}`,
|
||||
ptr: new(S4),
|
||||
out: new(S4),
|
||||
}, {
|
||||
// Error since we cannot set S5.embed1, but still able to set S5.R.
|
||||
in: `{"R":2,"Q":1}`,
|
||||
ptr: new(S5),
|
||||
out: &S5{R: 2},
|
||||
err: fmt.Errorf("json: cannot set embedded pointer to unexported struct: json.embed3"),
|
||||
}}
|
||||
|
||||
for i, tt := range tests {
|
||||
err := Unmarshal([]byte(tt.in), tt.ptr)
|
||||
if !reflect.DeepEqual(err, tt.err) {
|
||||
t.Errorf("#%d: %v, want %v", i, err, tt.err)
|
||||
}
|
||||
if !reflect.DeepEqual(tt.ptr, tt.out) {
|
||||
t.Errorf("#%d: mismatch\ngot: %#+v\nwant: %#+v", i, tt.ptr, tt.out)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1094,18 +1094,11 @@ func typeFields(t reflect.Type) []field {
|
||||
isUnexported := sf.PkgPath != ""
|
||||
if sf.Anonymous {
|
||||
t := sf.Type
|
||||
isPointer := t.Kind() == reflect.Ptr
|
||||
if isPointer {
|
||||
if t.Kind() == reflect.Ptr {
|
||||
t = t.Elem()
|
||||
}
|
||||
isStruct := t.Kind() == reflect.Struct
|
||||
if isUnexported && (!isStruct || isPointer) {
|
||||
// Ignore embedded fields of unexported non-struct types
|
||||
// or pointers to unexported struct types.
|
||||
//
|
||||
// The latter is forbidden because unmarshal is unable
|
||||
// to assign a new struct to the unexported field.
|
||||
// See https://golang.org/issue/21357
|
||||
if isUnexported && t.Kind() != reflect.Struct {
|
||||
// Ignore embedded fields of unexported non-struct types.
|
||||
continue
|
||||
}
|
||||
// Do not ignore embedded fields of unexported struct types
|
||||
|
@ -364,9 +364,8 @@ func TestAnonymousFields(t *testing.T) {
|
||||
want: `{"X":2,"Y":4}`,
|
||||
}, {
|
||||
// Exported fields of pointers to embedded structs should have their
|
||||
// exported fields be serialized only for exported struct types.
|
||||
// Pointers to unexported structs are not allowed since the decoder
|
||||
// is unable to allocate a struct for that field
|
||||
// exported fields be serialized regardless of whether the struct types
|
||||
// themselves are exported.
|
||||
label: "EmbeddedStructPointer",
|
||||
makeInput: func() interface{} {
|
||||
type (
|
||||
@ -379,7 +378,7 @@ func TestAnonymousFields(t *testing.T) {
|
||||
)
|
||||
return S{&s1{1, 2}, &S2{3, 4}}
|
||||
},
|
||||
want: `{"Y":4}`,
|
||||
want: `{"X":2,"Y":4}`,
|
||||
}, {
|
||||
// Exported fields on embedded unexported structs at multiple levels
|
||||
// of nesting should still be serialized.
|
||||
|
@ -2441,3 +2441,22 @@ func TestIssue16158(t *testing.T) {
|
||||
t.Errorf("Unmarshal: expected error, got nil")
|
||||
}
|
||||
}
|
||||
|
||||
// Issue 20953. Crash on invalid XMLName attribute.
|
||||
|
||||
type InvalidXMLName struct {
|
||||
XMLName Name `xml:"error"`
|
||||
Type struct {
|
||||
XMLName Name `xml:"type,attr"`
|
||||
}
|
||||
}
|
||||
|
||||
func TestInvalidXMLName(t *testing.T) {
|
||||
var buf bytes.Buffer
|
||||
enc := NewEncoder(&buf)
|
||||
if err := enc.Encode(InvalidXMLName{}); err == nil {
|
||||
t.Error("unexpected success")
|
||||
} else if want := "invalid tag"; !strings.Contains(err.Error(), want) {
|
||||
t.Errorf("error %q does not contain %q", err, want)
|
||||
}
|
||||
}
|
||||
|
@ -241,7 +241,7 @@ func lookupXMLName(typ reflect.Type) (xmlname *fieldInfo) {
|
||||
continue
|
||||
}
|
||||
finfo, err := structFieldInfo(typ, &f)
|
||||
if finfo.name != "" && err == nil {
|
||||
if err == nil && finfo.name != "" {
|
||||
return finfo
|
||||
}
|
||||
// Also consider errors as a non-existent field tag
|
||||
|
@ -27,7 +27,6 @@ type dumpTest struct {
|
||||
}
|
||||
|
||||
var dumpTests = []dumpTest{
|
||||
|
||||
// HTTP/1.1 => chunked coding; body; empty trailer
|
||||
{
|
||||
Req: http.Request{
|
||||
@ -214,7 +213,6 @@ func TestDumpRequest(t *testing.T) {
|
||||
t.Fatalf("Test %d: unsupported Body of %T", i, tt.Body)
|
||||
}
|
||||
}
|
||||
setBody()
|
||||
if tt.Req.Header == nil {
|
||||
tt.Req.Header = make(http.Header)
|
||||
}
|
||||
|
@ -2778,7 +2778,7 @@ func (srv *Server) Serve(l net.Listener) error {
|
||||
// server's certificate, any intermediates, and the CA's certificate.
|
||||
//
|
||||
// For HTTP/2 support, srv.TLSConfig should be initialized to the
|
||||
// provided listener's TLS Config before calling Serve. If
|
||||
// provided listener's TLS Config before calling ServeTLS. If
|
||||
// srv.TLSConfig is non-nil and doesn't include the string "h2" in
|
||||
// Config.NextProtos, HTTP/2 support is not enabled.
|
||||
//
|
||||
|
@ -432,6 +432,14 @@ func dieFromSignal(sig uint32) {
|
||||
osyield()
|
||||
osyield()
|
||||
|
||||
// On Darwin we may still fail to die, because raise sends the
|
||||
// signal to the whole process rather than just the current thread,
|
||||
// and osyield just sleeps briefly rather than letting all other
|
||||
// threads run. See issue 20315. Sleep longer.
|
||||
if GOOS == "darwin" {
|
||||
usleep(100)
|
||||
}
|
||||
|
||||
// If we are still somehow running, just exit with the wrong status.
|
||||
exit(2)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user