Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 10 for SymGot (0.19 sec)

  1. src/cmd/link/internal/arm/asm.go

    		// rel
    		rel.AddAddrPlus(target.Arch, got.Sym(), int64(ldr.SymGot(s)))
    
    		rel.AddUint32(target.Arch, elf.R_INFO32(uint32(ldr.SymDynid(s)), uint32(elf.R_ARM_JUMP_SLOT)))
    	} else {
    		ldr.Errorf(s, "addpltsym: unsupported binary format")
    	}
    }
    
    func addgotsyminternal(target *ld.Target, ldr *loader.Loader, syms *ld.ArchSyms, s loader.Sym) {
    	if ldr.SymGot(s) >= 0 {
    		return
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Aug 23 05:58:20 UTC 2023
    - 22.9K bytes
    - Viewed (0)
  2. src/cmd/link/internal/amd64/asm.go

    		ld.AddGotSym(target, ldr, syms, targ, uint32(elf.R_X86_64_GLOB_DAT))
    
    		su.SetRelocType(rIdx, objabi.R_PCREL)
    		su.SetRelocSym(rIdx, syms.GOT)
    		su.SetRelocAdd(rIdx, r.Add()+4+int64(ldr.SymGot(targ)))
    		return true
    
    	case objabi.ElfRelocOffset + objabi.RelocType(elf.R_X86_64_64):
    		if targType == sym.SDYNIMPORT {
    			ldr.Errorf(s, "unexpected R_X86_64_64 relocation for dynamic symbol %s", ldr.SymName(targ))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Aug 23 05:58:20 UTC 2023
    - 21K bytes
    - Viewed (0)
  3. src/cmd/link/internal/arm64/asm.go

    		su := ldr.MakeSymbolUpdater(s)
    		r.SetType(objabi.R_ARM64_GOT)
    		r.SetSiz(4)
    		r.SetSym(syms.GOT)
    		r.SetAdd(int64(ldr.SymGot(targ)))
    		r2, _ := su.AddRel(objabi.R_ARM64_GOT)
    		r2.SetSiz(4)
    		r2.SetOff(r.Off() + 4)
    		r2.SetSym(syms.GOT)
    		r2.SetAdd(int64(ldr.SymGot(targ)))
    		return true
    	}
    	return false
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Jan 30 20:09:45 UTC 2024
    - 47K bytes
    - Viewed (0)
  4. src/cmd/link/internal/x86/asm.go

    		}
    
    		ld.AddGotSym(target, ldr, syms, targ, uint32(elf.R_386_GLOB_DAT))
    		su.SetRelocType(rIdx, objabi.R_CONST) // write r->add during relocsym
    		su.SetRelocSym(rIdx, 0)
    		su.SetRelocAdd(rIdx, r.Add()+int64(ldr.SymGot(targ)))
    		return true
    
    	case objabi.ElfRelocOffset + objabi.RelocType(elf.R_386_GOTOFF):
    		su := ldr.MakeSymbolUpdater(s)
    		su.SetRelocType(rIdx, objabi.R_GOTOFF)
    		return true
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Aug 23 05:58:20 UTC 2023
    - 13.6K bytes
    - Viewed (0)
  5. src/cmd/link/internal/s390x/asm.go

    		su := ldr.MakeSymbolUpdater(s)
    		su.SetRelocType(rIdx, objabi.R_PCREL)
    		ldr.SetRelocVariant(s, rIdx, sym.RV_390_DBL)
    		r.SetSym(syms.GOT)
    		su.SetRelocAdd(rIdx, r.Add()+int64(ldr.SymGot(targ))+int64(r.Siz()))
    		return true
    	}
    	// Handle references to ELF symbols from our own object files.
    	return targType != sym.SDYNIMPORT
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Aug 23 05:58:20 UTC 2023
    - 13.7K bytes
    - Viewed (0)
  6. src/cmd/link/internal/ld/lib.go

    	if ldr.SymGot(s) >= 0 {
    		return
    	}
    
    	Adddynsym(ldr, target, syms, s)
    	got := ldr.MakeSymbolUpdater(syms.GOT)
    	ldr.SetGot(s, int32(got.Size()))
    	got.AddUint(target.Arch, 0)
    
    	if target.IsElf() {
    		if target.Arch.PtrSize == 8 {
    			rela := ldr.MakeSymbolUpdater(syms.Rela)
    			rela.AddAddrPlus(target.Arch, got.Sym(), int64(ldr.SymGot(s)))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 21 18:45:27 UTC 2024
    - 88.6K bytes
    - Viewed (0)
  7. src/cmd/link/internal/riscv64/asm.go

    		ld.AddGotSym(target, ldr, syms, targ, uint32(elf.R_RISCV_64))
    		su := ldr.MakeSymbolUpdater(s)
    		su.SetRelocType(rIdx, objabi.R_RISCV_GOT_HI20)
    		su.SetRelocSym(rIdx, syms.GOT)
    		su.SetRelocAdd(rIdx, r.Add()+int64(ldr.SymGot(targ)))
    		return true
    
    	case objabi.ElfRelocOffset + objabi.RelocType(elf.R_RISCV_PCREL_HI20):
    		su := ldr.MakeSymbolUpdater(s)
    		su.SetRelocType(rIdx, objabi.R_RISCV_PCREL_HI20)
    		return true
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Mar 01 08:06:08 UTC 2024
    - 22.8K bytes
    - Viewed (0)
  8. src/cmd/link/internal/ppc64/asm.go

    		if targType != sym.STEXT {
    			ld.AddGotSym(target, ldr, syms, targ, uint32(elf.R_PPC64_GLOB_DAT))
    			su.SetRelocSym(rIdx, syms.GOT)
    			su.SetRelocAdd(rIdx, r.Add()+int64(ldr.SymGot(targ)))
    		} else {
    			// The address of targ is known at link time. Rewrite to "pla rt,targ" from "pld rt,targ@got"
    			rewritetoinsn(target, ldr, su, int64(r.Off()), MASK_PLD_PFX, OP_PLD_PFX_PCREL, OP_PLA_PFX)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Mar 19 20:54:08 UTC 2024
    - 63.7K bytes
    - Viewed (0)
  9. src/cmd/link/internal/loader/loader.go

    	if i >= Sym(len(l.objSyms)) || i == 0 {
    		panic("bad symbol for SetPlt")
    	}
    	if v == -1 {
    		delete(l.plt, i)
    	} else {
    		l.plt[i] = v
    	}
    }
    
    // SymGot returns the GOT offset of symbol s.
    func (l *Loader) SymGot(s Sym) int32 {
    	if v, ok := l.got[s]; ok {
    		return v
    	}
    	return -1
    }
    
    // SetGot sets the GOT offset of symbol i.
    func (l *Loader) SetGot(i Sym, v int32) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 24 20:26:10 UTC 2024
    - 81.5K bytes
    - Viewed (0)
  10. src/cmd/link/internal/ld/data.go

    		}
    		if !ctxt.loader.AttrReachable(targ) {
    			if r.Weak() {
    				continue
    			}
    			return fmt.Errorf("dynamic relocation to unreachable symbol %s",
    				ctxt.loader.SymName(targ))
    		}
    		tgot := ctxt.loader.SymGot(targ)
    		if tgot == loadpe.RedirectToDynImportGotToken {
    
    			// Consistency check: name should be __imp_X
    			sname := ctxt.loader.SymName(targ)
    			if !strings.HasPrefix(sname, "__imp_") {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Jun 12 15:10:50 UTC 2024
    - 100.5K bytes
    - Viewed (0)
Back to top