func readaddr(b *bufio.Reader, a *liblink.Addr) { if rdstring(b) != "addr" { log.Fatal("out of sync") } a.Offset = rdint(b) a.U.Dval = rdfloat(b) buf := make([]byte, 8) for i := 0; i < 8; i++ { buf[i] = byte(rdint(b)) } a.U.Sval = string(buf) a.U.Branch = rdprog(b) a.Sym = rdsym(b) a.Gotype = rdsym(b) a.Typ = int(rdint(b)) a.Index = int(rdint(b)) a.Scale = int8(rdint(b)) a.Reg = int(rdint(b)) a.Name = int(rdint(b)) a.Class = int(rdint(b)) a.Etype = uint8(rdint(b)) a.Offset2 = int(rdint(b)) a.Width = rdint(b) }