Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 6 of 6 for FoldSubSymbolOffset (0.21 sec)

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

    		switch r.Type() {
    		default:
    			return val, 0, false
    		case objabi.R_LOONG64_ADDR_HI,
    			objabi.R_LOONG64_ADDR_LO:
    			// set up addend for eventual relocation via outer symbol.
    			rs, _ := ld.FoldSubSymbolOffset(ldr, rs)
    			rst := ldr.SymType(rs)
    			if rst != sym.SHOSTOBJ && rst != sym.SDYNIMPORT && ldr.SymSect(rs) == nil {
    				ldr.Errorf(s, "missing section for %s", ldr.SymName(rs))
    			}
    			return val, 1, true
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Feb 27 17:26:07 UTC 2024
    - 7.5K bytes
    - Viewed (0)
  2. src/cmd/link/internal/mips/asm.go

    	if target.IsExternal() {
    		switch r.Type() {
    		default:
    			return val, 0, false
    
    		case objabi.R_ADDRMIPS, objabi.R_ADDRMIPSU:
    			// set up addend for eventual relocation via outer symbol.
    			_, off := ld.FoldSubSymbolOffset(ldr, rs)
    			xadd := r.Add() + off
    			return applyrel(target.Arch, ldr, r.Type(), r.Off(), s, val, xadd), 1, true
    
    		case objabi.R_ADDRMIPSTLS, objabi.R_CALLMIPS, objabi.R_JMPMIPS:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Aug 23 05:58:20 UTC 2023
    - 5.5K bytes
    - Viewed (0)
  3. src/cmd/link/internal/arm/asm.go

    	rs := r.Sym()
    	if target.IsExternal() {
    		switch r.Type() {
    		case objabi.R_CALLARM:
    			// set up addend for eventual relocation via outer symbol.
    			_, off := ld.FoldSubSymbolOffset(ldr, rs)
    			xadd := int64(signext24(r.Add()&0xffffff))*4 + off
    			if xadd/4 > 0x7fffff || xadd/4 < -0x800000 {
    				ldr.Errorf(s, "direct call too far %d", xadd/4)
    			}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Aug 23 05:58:20 UTC 2023
    - 22.9K bytes
    - Viewed (0)
  4. src/cmd/link/internal/ld/data.go

    		return true
    	}
    	// TODO: other architectures.
    	return false
    }
    
    // FoldSubSymbolOffset computes the offset of symbol s to its top-level outer
    // symbol. Returns the top-level symbol and the offset.
    // This is used in generating external relocations.
    func FoldSubSymbolOffset(ldr *loader.Loader, s loader.Sym) (loader.Sym, int64) {
    	outer := ldr.OuterSym(s)
    	off := int64(0)
    	if outer != 0 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Jun 12 15:10:50 UTC 2024
    - 100.5K bytes
    - Viewed (0)
  5. src/cmd/link/internal/arm64/asm.go

    			objabi.R_ARM64_PCREL_LDST16,
    			objabi.R_ARM64_PCREL_LDST32,
    			objabi.R_ARM64_PCREL_LDST64,
    			objabi.R_ADDRARM64:
    
    			// set up addend for eventual relocation via outer symbol.
    			rs, off := ld.FoldSubSymbolOffset(ldr, rs)
    			xadd := r.Add() + off
    			rst := ldr.SymType(rs)
    			if rst != sym.SHOSTOBJ && rst != sym.SDYNIMPORT && ldr.SymSect(rs) == nil {
    				ldr.Errorf(s, "missing section for %s", ldr.SymName(rs))
    			}
    
    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/loader/loader.go

    	// ok for them to have non-zero size (to allow for use of generator
    	// symbols).
    	if len(l.Data(c)) != 0 {
    		panic("unexpected non-empty carrier symbol")
    	}
    	l.outer[s] = c
    	// relocsym's foldSubSymbolOffset requires that we only
    	// have a single level of containment-- enforce here.
    	if l.outer[c] != 0 {
    		panic("invalid nested carrier sym")
    	}
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 24 20:26:10 UTC 2024
    - 81.5K bytes
    - Viewed (0)
Back to top