From 84af5ea9b40f1e564056019e1dd4938bca9e557c Mon Sep 17 00:00:00 2001 From: Alex Brainman Date: Mon, 28 Aug 2017 13:35:21 +1000 Subject: [PATCH] cmd/link: simplify writePESymTableRecords Change-Id: I2da982fdef826aaecb86431f7d80ffc0fb2c4337 Reviewed-on: https://go-review.googlesource.com/59424 Reviewed-by: Ian Lance Taylor --- src/cmd/link/internal/ld/pe.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) 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 -- 2.50.0