]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/link: simplify writePESymTableRecords
authorAlex Brainman <alex.brainman@gmail.com>
Mon, 28 Aug 2017 03:35:21 +0000 (13:35 +1000)
committerAlex Brainman <alex.brainman@gmail.com>
Tue, 29 Aug 2017 02:04:06 +0000 (02:04 +0000)
Change-Id: I2da982fdef826aaecb86431f7d80ffc0fb2c4337
Reviewed-on: https://go-review.googlesource.com/59424
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/cmd/link/internal/ld/pe.go

index ad6444da69d99a92784b199bd2e3e6e35aa62e96..538ebdeb3b629d7ade7e8251fa20ddd5e76be399 100644 (file)
@@ -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