From: Alex Brainman Date: Mon, 28 Aug 2017 03:35:21 +0000 (+1000) Subject: cmd/link: simplify writePESymTableRecords X-Git-Tag: go1.10beta1~1303 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=84af5ea9b40f1e564056019e1dd4938bca9e557c;p=gostls13.git cmd/link: simplify writePESymTableRecords Change-Id: I2da982fdef826aaecb86431f7d80ffc0fb2c4337 Reviewed-on: https://go-review.googlesource.com/59424 Reviewed-by: Ian Lance Taylor --- diff --git a/src/cmd/link/internal/ld/pe.go b/src/cmd/link/internal/ld/pe.go index ad6444da69..538ebdeb3b 100644 --- a/src/cmd/link/internal/ld/pe.go +++ b/src/cmd/link/internal/ld/pe.go @@ -1103,7 +1103,14 @@ func writePESymTableRecords(ctxt *Link) { s.Name = "_" + s.Name } - typ := uint16(IMAGE_SYM_TYPE_NULL) + var typ uint16 + if Linkmode == LinkExternal { + typ = IMAGE_SYM_TYPE_NULL + } else { + // TODO: fix IMAGE_SYM_DTYPE_ARRAY value and use following expression, instead of 0x0308 + typ = IMAGE_SYM_DTYPE_ARRAY<<8 + IMAGE_SYM_TYPE_STRUCT + typ = 0x0308 // "array of structs" + } sect, value, err := pefile.mapToPESection(s) if err != nil { if type_ == UndefinedSym { @@ -1112,12 +1119,6 @@ func writePESymTableRecords(ctxt *Link) { Errorf(s, "addpesym: %v", err) } } - if typ != IMAGE_SYM_TYPE_NULL { - } else if Linkmode != LinkExternal { - // TODO: fix IMAGE_SYM_DTYPE_ARRAY value and use following expression, instead of 0x0308 - typ = IMAGE_SYM_DTYPE_ARRAY<<8 + IMAGE_SYM_TYPE_STRUCT - typ = 0x0308 // "array of structs" - } class := IMAGE_SYM_CLASS_EXTERNAL if s.Version != 0 || (s.Type&SHIDDEN != 0) || s.Attr.Local() { class = IMAGE_SYM_CLASS_STATIC