name = "TLS"
}
if ctxt.Arch.InFamily(sys.ARM, sys.PPC64) {
- fmt.Fprintf(ctxt.Bso, "\trel %d+%d t=%d %s%s+%x\n", int(r.Off), r.Siz, r.Type, name, ver, uint64(r.Add))
+ fmt.Fprintf(ctxt.Bso, "\trel %d+%d t=%v %s%s+%x\n", int(r.Off), r.Siz, r.Type, name, ver, uint64(r.Add))
} else {
- fmt.Fprintf(ctxt.Bso, "\trel %d+%d t=%d %s%s+%d\n", int(r.Off), r.Siz, r.Type, name, ver, r.Add)
+ fmt.Fprintf(ctxt.Bso, "\trel %d+%d t=%v %s%s+%d\n", int(r.Off), r.Siz, r.Type, name, ver, r.Add)
}
}
}
// 6g/8g print the offset as dec, but 5g/9g print the offset as hex.
patterns := []string{
- `rel 0\+\d t=1 p\.x\+8\r?\n`, // y = &x.b
- `rel 0\+\d t=1 p\.x\+(28|1c)\r?\n`, // z = &x.d.q
- `rel 0\+\d t=1 p\.b\+5\r?\n`, // c = &b[5]
- `rel 0\+\d t=1 p\.x\+(88|58)\r?\n`, // w = &x.f[3].r
+ `rel 0\+\d t=R_ADDR p\.x\+8\r?\n`, // y = &x.b
+ `rel 0\+\d t=R_ADDR p\.x\+(28|1c)\r?\n`, // z = &x.d.q
+ `rel 0\+\d t=R_ADDR p\.b\+5\r?\n`, // c = &b[5]
+ `rel 0\+\d t=R_ADDR p\.x\+(88|58)\r?\n`, // w = &x.f[3].r
}
for _, p := range patterns {
if ok, err := regexp.Match(p, out); !ok || err != nil {