Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 16 for AttrReachable (0.58 sec)

  1. src/cmd/link/internal/loader/loader_test.go

    	}
    
    	// New symbols should not initially be reachable.
    	if ldr.AttrReachable(es1) || ldr.AttrReachable(es2) || ldr.AttrReachable(es3) {
    		t.Errorf("newly materialized symbols should not be reachable")
    	}
    
    	// ... however it should be possible to set/unset their reachability.
    	ldr.SetAttrReachable(es3, true)
    	if !ldr.AttrReachable(es3) {
    		t.Errorf("expected reachable symbol after update")
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Mar 07 19:08:09 UTC 2024
    - 12K bytes
    - Viewed (0)
  2. src/cmd/link/internal/ld/typelink.go

    // MakeTypelink attribute by the compiler.
    func (ctxt *Link) typelink() {
    	ldr := ctxt.loader
    	typelinks := byTypeStr{}
    	var itabs []loader.Sym
    	for s := loader.Sym(1); s < loader.Sym(ldr.NSym()); s++ {
    		if !ldr.AttrReachable(s) {
    			continue
    		}
    		if ldr.IsTypelink(s) {
    			typelinks = append(typelinks, typelinkSortKey{decodetypeStr(ldr, ctxt.Arch, s), s})
    		} else if ldr.IsItab(s) {
    			itabs = append(itabs, s)
    		}
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Aug 03 21:13:25 UTC 2020
    - 1.9K bytes
    - Viewed (0)
  3. src/cmd/link/internal/ld/go.go

    }
    
    func fieldtrack(arch *sys.Arch, l *loader.Loader) {
    	var buf strings.Builder
    	for i := loader.Sym(1); i < loader.Sym(l.NSym()); i++ {
    		if name := l.SymName(i); strings.HasPrefix(name, "go:track.") {
    			if l.AttrReachable(i) {
    				l.SetAttrSpecial(i, true)
    				l.SetAttrNotInSymbolTable(i, true)
    				buf.WriteString(name[9:])
    				for p := l.Reachparent[i]; p != 0; p = l.Reachparent[p] {
    					buf.WriteString("\t")
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 22 16:48:30 UTC 2023
    - 11.2K bytes
    - Viewed (0)
  4. src/cmd/link/internal/ld/deadcode.go

    					// its child types with UsedInIface set. (See also the
    					// comment below.)
    					rs := r.Sym()
    					if !d.ldr.AttrUsedInIface(rs) {
    						d.ldr.SetAttrUsedInIface(rs, true)
    						if d.ldr.AttrReachable(rs) {
    							d.ldr.SetAttrReachable(rs, false)
    							d.mark(rs, symIdx)
    						}
    					}
    				}
    				i += 2
    				continue
    			case objabi.R_USETYPE:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 14:52:41 UTC 2024
    - 19K bytes
    - Viewed (0)
  5. src/cmd/link/internal/loader/loader.go

    	return int64(r.Sym(li).Siz())
    }
    
    // AttrReachable returns true for symbols that are transitively
    // referenced from the entry points. Unreachable symbols are not
    // written to the output.
    func (l *Loader) AttrReachable(i Sym) bool {
    	return l.attrReachable.Has(i)
    }
    
    // SetAttrReachable sets the reachability property for a symbol (see
    // AttrReachable).
    func (l *Loader) SetAttrReachable(i Sym, v bool) {
    	if v {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 24 20:26:10 UTC 2024
    - 81.5K bytes
    - Viewed (0)
  6. src/cmd/link/internal/ld/xcoff.go

    			if ldr.AttrReachable(s) {
    				data := ldr.Data(s)
    				if len(data) > 0 {
    					ldr.Errorf(s, "should not be bss (size=%d type=%v special=%v)", len(data), ldr.SymType(s), ldr.AttrSpecial(s))
    				}
    				putaixsym(ctxt, s, BSSSym)
    			}
    
    		case st >= sym.SELFRXSECT && st < sym.SXREF: // data sections handled in dodata
    			if ldr.AttrReachable(s) {
    				putaixsym(ctxt, s, DataSym)
    			}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Dec 01 19:58:23 UTC 2023
    - 51.8K bytes
    - Viewed (0)
  7. src/cmd/link/internal/ld/symtab.go

    		}
    		if (sn == "" || sn[0] == '.') && !ldr.IsFileLocal(s) {
    			return false
    		}
    		return true
    	}
    
    	// Data symbols.
    	for s := loader.Sym(1); s < loader.Sym(ldr.NSym()); s++ {
    		if !ldr.AttrReachable(s) {
    			continue
    		}
    		st := ldr.SymType(s)
    		if st >= sym.SELFRXSECT && st < sym.SXREF {
    			typ := elf.STT_OBJECT
    			if st == sym.STLSBSS {
    				if ctxt.IsInternal() {
    					continue
    				}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Sep 13 16:29:40 UTC 2023
    - 29.2K bytes
    - Viewed (0)
  8. src/cmd/link/internal/ld/macho.go

    		return
    	}
    	ldr := ctxt.loader
    
    	for i, s := range syms {
    		if !ldr.AttrReachable(s) {
    			continue
    		}
    		if uint64(ldr.SymValue(s)) >= sect.Vaddr {
    			syms = syms[i:]
    			break
    		}
    	}
    
    	eaddr := sect.Vaddr + sect.Length
    	for _, s := range syms {
    		if !ldr.AttrReachable(s) {
    			continue
    		}
    		if ldr.SymValue(s) >= int64(eaddr) {
    			break
    		}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon May 20 15:32:53 UTC 2024
    - 43.9K bytes
    - Viewed (0)
  9. src/cmd/link/internal/ld/pe.go

    			return 0
    		}
    		sect.Reloff = uint64(ctxt.Out.Offset())
    		for i, s := range syms {
    			if !ldr.AttrReachable(s) {
    				continue
    			}
    			if uint64(ldr.SymValue(s)) >= sect.Vaddr {
    				syms = syms[i:]
    				break
    			}
    		}
    		eaddr := int64(sect.Vaddr + sect.Length)
    		for _, s := range syms {
    			if !ldr.AttrReachable(s) {
    				continue
    			}
    			if ldr.SymValue(s) >= eaddr {
    				break
    			}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Nov 09 19:01:27 UTC 2023
    - 48.8K bytes
    - Viewed (0)
  10. src/cmd/link/internal/ld/data.go

    			o = ldr.SymValue(rs) + r.Add() - int64(ldr.SymSect(rs).Vaddr)
    		case objabi.R_METHODOFF:
    			if !ldr.AttrReachable(rs) {
    				// Set it to a sentinel value. The runtime knows this is not pointing to
    				// anything valid.
    				o = -1
    				break
    			}
    			fallthrough
    		case objabi.R_ADDROFF:
    			if weak && !ldr.AttrReachable(rs) {
    				continue
    			}
    			sect := ldr.SymSect(rs)
    			if sect == nil {
    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