From: Jakob Gillich Date: Tue, 16 Jul 2024 17:43:18 +0000 (+0000) Subject: cmd/link: raise pe export cap to 65535 X-Git-Tag: go1.24rc1~1431 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=78c0ea5df7e864575c8fcae8528572c5284c0435;p=gostls13.git cmd/link: raise pe export cap to 65535 fixes #68405 Change-Id: I043e16f43daa336005695f82a53f9a52cd770656 GitHub-Last-Rev: 69f1ae8b648083154c64f0679b7bd97a118607e9 GitHub-Pull-Request: golang/go#68409 Reviewed-on: https://go-review.googlesource.com/c/go/+/597956 LUCI-TryBot-Result: Go LUCI Reviewed-by: Cherry Mui Reviewed-by: Zxilly Chou Reviewed-by: Than McIntosh --- diff --git a/src/cmd/link/internal/ld/pe.go b/src/cmd/link/internal/ld/pe.go index 14f0485530..6d6eda4b33 100644 --- a/src/cmd/link/internal/ld/pe.go +++ b/src/cmd/link/internal/ld/pe.go @@ -16,6 +16,7 @@ import ( "encoding/binary" "fmt" "internal/buildcfg" + "math" "sort" "strconv" "strings" @@ -307,7 +308,7 @@ var ( pe64 int dr *Dll - dexport = make([]loader.Sym, 0, 1024) + dexport []loader.Sym ) // peStringTable is a COFF string table. @@ -1390,7 +1391,7 @@ func initdynexport(ctxt *Link) { if !ldr.AttrReachable(s) || !ldr.AttrCgoExportDynamic(s) { continue } - if len(dexport)+1 > cap(dexport) { + if len(dexport) >= math.MaxUint16 { ctxt.Errorf(s, "pe dynexport table is full") errorexit() }