}
func pereloc1(arch *sys.Arch, out *ld.OutBuf, ldr *loader.Loader, s loader.Sym, r loader.ExtReloc, sectoff int64) bool {
- rs := r.Xsym
- rt := r.Type
-
- if ldr.SymDynid(rs) < 0 {
- ldr.Errorf(s, "reloc %d (%s) to non-coff symbol %s type=%d (%s)", rt, sym.RelocName(arch, rt), ldr.SymName(rs), ldr.SymType(rs), ldr.SymType(rs))
- return false
- }
-
- out.Write32(uint32(sectoff))
- out.Write32(uint32(ldr.SymDynid(rs)))
-
- var v uint32
- switch rt {
- default:
- // unsupported relocation type
- return false
-
- case objabi.R_DWARFSECREF:
- v = ld.IMAGE_REL_ARM_SECREL
-
- case objabi.R_ADDR:
- v = ld.IMAGE_REL_ARM_ADDR32
-
- case objabi.R_PEIMAGEOFF:
- v = ld.IMAGE_REL_ARM_ADDR32NB
- }
-
- out.Write16(uint16(v))
-
- return true
+ return false
}
// sign extend a 24-bit integer.