Skip to content

Commit 17a0fab

Browse files
committed
cmd/link: remove support for darwin/386 relocations
The darwin/386 port has been unsupported for years, but some relocation handling specific to it has managed to survive till now. Updates golang#37610 Change-Id: I27ae2ac5462c5f3ec219e9cb5dce6f83b037b816 Reviewed-on: https://go-review.googlesource.com/c/go/+/703777 Reviewed-by: Michael Knyszek <[email protected]> Reviewed-by: Than McIntosh <[email protected]> Reviewed-by: Cherry Mui <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
1 parent eb7c67f commit 17a0fab

File tree

1 file changed

+0
-45
lines changed
  • src/cmd/link/internal/x86

1 file changed

+0
-45
lines changed

src/cmd/link/internal/x86/asm.go

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -224,51 +224,6 @@ func adddynrel(target *ld.Target, ldr *loader.Loader, syms *ld.ArchSyms, s loade
224224
su := ldr.MakeSymbolUpdater(s)
225225
su.SetRelocType(rIdx, objabi.R_ADDR)
226226
return true
227-
228-
case objabi.MachoRelocOffset + ld.MACHO_GENERIC_RELOC_VANILLA*2 + 0:
229-
su := ldr.MakeSymbolUpdater(s)
230-
su.SetRelocType(rIdx, objabi.R_ADDR)
231-
if targType == sym.SDYNIMPORT {
232-
ldr.Errorf(s, "unexpected reloc for dynamic symbol %s", ldr.SymName(targ))
233-
}
234-
return true
235-
236-
case objabi.MachoRelocOffset + ld.MACHO_GENERIC_RELOC_VANILLA*2 + 1:
237-
su := ldr.MakeSymbolUpdater(s)
238-
if targType == sym.SDYNIMPORT {
239-
addpltsym(target, ldr, syms, targ)
240-
su.SetRelocSym(rIdx, syms.PLT)
241-
su.SetRelocAdd(rIdx, int64(ldr.SymPlt(targ)))
242-
su.SetRelocType(rIdx, objabi.R_PCREL)
243-
return true
244-
}
245-
246-
su.SetRelocType(rIdx, objabi.R_PCREL)
247-
return true
248-
249-
case objabi.MachoRelocOffset + ld.MACHO_FAKE_GOTPCREL:
250-
su := ldr.MakeSymbolUpdater(s)
251-
if targType != sym.SDYNIMPORT {
252-
// have symbol
253-
// turn MOVL of GOT entry into LEAL of symbol itself
254-
sData := ldr.Data(s)
255-
if r.Off() < 2 || sData[r.Off()-2] != 0x8b {
256-
ldr.Errorf(s, "unexpected GOT reloc for non-dynamic symbol %s", ldr.SymName(targ))
257-
return false
258-
}
259-
260-
su.MakeWritable()
261-
writeableData := su.Data()
262-
writeableData[r.Off()-2] = 0x8d
263-
su.SetRelocType(rIdx, objabi.R_PCREL)
264-
return true
265-
}
266-
267-
ld.AddGotSym(target, ldr, syms, targ, uint32(elf.R_386_GLOB_DAT))
268-
su.SetRelocSym(rIdx, syms.GOT)
269-
su.SetRelocAdd(rIdx, r.Add()+int64(ldr.SymGot(targ)))
270-
su.SetRelocType(rIdx, objabi.R_PCREL)
271-
return true
272227
}
273228

274229
// Handle references to ELF symbols from our own object files.

0 commit comments

Comments
 (0)