Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 30 for MakeSymbolUpdater (0.21 sec)

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

    	if ldr.SymPlt(s) >= 0 {
    		return
    	}
    
    	ld.Adddynsym(ldr, target, syms, s)
    
    	if target.IsElf() {
    		plt := ldr.MakeSymbolUpdater(syms.PLT)
    		got := ldr.MakeSymbolUpdater(syms.GOTPLT)
    		rel := ldr.MakeSymbolUpdater(syms.RelPLT)
    		if plt.Size() == 0 {
    			panic("plt is not set up")
    		}
    
    		// .got entry
    		ldr.SetGot(s, int32(got.Size()))
    
    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/x86/asm.go

    	if ldr.SymPlt(s) >= 0 {
    		return
    	}
    
    	ld.Adddynsym(ldr, target, syms, s)
    
    	if target.IsElf() {
    		plt := ldr.MakeSymbolUpdater(syms.PLT)
    		got := ldr.MakeSymbolUpdater(syms.GOTPLT)
    		rel := ldr.MakeSymbolUpdater(syms.RelPLT)
    		if plt.Size() == 0 {
    			panic("plt is not set up")
    		}
    
    		// jmpq *got+size
    		plt.AddUint8(0xff)
    
    		plt.AddUint8(0x25)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Aug 23 05:58:20 UTC 2023
    - 13.6K bytes
    - Viewed (0)
  3. src/cmd/link/internal/loader/loader_test.go

    	es3 := ldr.CreateStaticSym("")
    	if es3 == 0 {
    		t.Fatalf("CreateStaticSym failed for nameless sym")
    	}
    
    	// Grab symbol builder pointers
    	sb1 := ldr.MakeSymbolUpdater(es1)
    	sb2 := ldr.MakeSymbolUpdater(es2)
    	sb3 := ldr.MakeSymbolUpdater(es3)
    
    	// Suppose we create some more symbols, which triggers a grow.
    	// Make sure the symbol builder's payload pointer is valid,
    	// even across a grow.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Mar 07 19:08:09 UTC 2024
    - 12K bytes
    - Viewed (0)
  4. src/cmd/link/internal/amd64/asm.go

    	if ldr.SymPlt(s) >= 0 {
    		return
    	}
    
    	ld.Adddynsym(ldr, target, syms, s)
    
    	if target.IsElf() {
    		plt := ldr.MakeSymbolUpdater(syms.PLT)
    		got := ldr.MakeSymbolUpdater(syms.GOTPLT)
    		rela := ldr.MakeSymbolUpdater(syms.RelaPLT)
    		if plt.Size() == 0 {
    			panic("plt is not set up")
    		}
    
    		// jmpq *got+size(IP)
    		plt.AddUint8(0xff)
    
    		plt.AddUint8(0x25)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Aug 23 05:58:20 UTC 2023
    - 21K bytes
    - Viewed (0)
  5. src/cmd/link/internal/arm64/asm.go

    	if ldr.SymPlt(s) >= 0 {
    		return
    	}
    
    	ld.Adddynsym(ldr, target, syms, s)
    
    	if target.IsElf() {
    		plt := ldr.MakeSymbolUpdater(syms.PLT)
    		gotplt := ldr.MakeSymbolUpdater(syms.GOTPLT)
    		rela := ldr.MakeSymbolUpdater(syms.RelaPLT)
    		if plt.Size() == 0 {
    			panic("plt is not set up")
    		}
    
    		// adrp    x16, &got.plt[0]
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Jan 30 20:09:45 UTC 2024
    - 47K bytes
    - Viewed (0)
  6. src/cmd/link/internal/riscv64/asm.go

    		su := ldr.MakeSymbolUpdater(s)
    		su.SetRelocType(rIdx, objabi.R_RISCV_RVC_BRANCH)
    		return true
    
    	case objabi.ElfRelocOffset + objabi.RelocType(elf.R_RISCV_RVC_JUMP):
    		su := ldr.MakeSymbolUpdater(s)
    		su.SetRelocType(rIdx, objabi.R_RISCV_RVC_JUMP)
    		return true
    
    	case objabi.ElfRelocOffset + objabi.RelocType(elf.R_RISCV_BRANCH):
    		su := ldr.MakeSymbolUpdater(s)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Mar 01 08:06:08 UTC 2024
    - 22.8K bytes
    - Viewed (0)
  7. src/cmd/link/internal/s390x/asm.go

    	if ldr.SymPlt(s) >= 0 {
    		return
    	}
    
    	ld.Adddynsym(ldr, target, syms, s)
    
    	if target.IsElf() {
    		plt := ldr.MakeSymbolUpdater(syms.PLT)
    		got := ldr.MakeSymbolUpdater(syms.GOT)
    		rela := ldr.MakeSymbolUpdater(syms.RelaPLT)
    		if plt.Size() == 0 {
    			panic("plt is not set up")
    		}
    		// larl    %r1,_GLOBAL_OFFSET_TABLE_+index
    
    		plt.AddUint8(0xc0)
    		plt.AddUint8(0x10)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Aug 23 05:58:20 UTC 2023
    - 13.7K bytes
    - Viewed (0)
  8. src/cmd/link/internal/ld/go.go

    	if seenlib[lib] || ctxt.LinkMode == LinkExternal {
    		return
    	}
    	seenlib[lib] = true
    
    	if ctxt.IsELF {
    		dsu := ctxt.loader.MakeSymbolUpdater(ctxt.DynStr)
    		if dsu.Size() == 0 {
    			dsu.Addstring("")
    		}
    		du := ctxt.loader.MakeSymbolUpdater(ctxt.Dynamic)
    		Elfwritedynent(ctxt.Arch, du, elf.DT_NEEDED, uint64(dsu.Addstring(lib)))
    	} else {
    		Errorf(nil, "adddynlib: unsupported binary format")
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 22 16:48:30 UTC 2023
    - 11.2K bytes
    - Viewed (0)
  9. src/cmd/link/internal/ppc64/asm.go

    		su := ldr.MakeSymbolUpdater(s)
    		su.SetRelocType(rIdx, objabi.R_CALLPOWER)
    
    		if targType == sym.SDYNIMPORT {
    			// Should have been handled in elfsetupplt
    			ldr.Errorf(s, "unexpected R_PPC64_REL24_NOTOC/R_PPC64_REL24_P9NOTOC for dyn import")
    		}
    		return true
    
    	case objabi.ElfRelocOffset + objabi.RelocType(elf.R_PPC64_REL24):
    		su := ldr.MakeSymbolUpdater(s)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Mar 19 20:54:08 UTC 2024
    - 63.7K bytes
    - Viewed (0)
  10. src/cmd/link/internal/mips64/asm.go

    	}
    
    	ld.Adddynsym(ldr, target, syms, s)
    	dynSymCount++
    
    	if !target.IsElf() {
    		ldr.Errorf(s, "addpltsym: unsupported binary format")
    	}
    
    	plt := ldr.MakeSymbolUpdater(syms.PLT)
    	gotplt := ldr.MakeSymbolUpdater(syms.GOTPLT)
    	if plt.Size() == 0 {
    		panic("plt is not set up")
    	}
    
    	// Load got.plt entry into r25.
    	plt.AddSymRef(target.Arch, gotplt.Sym(), gotplt.Size(), objabi.R_ADDRMIPSU, 4)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Aug 23 05:58:20 UTC 2023
    - 11K bytes
    - Viewed (0)
Back to top