Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 10 for cgo_export_dynamic (0.96 sec)

  1. src/cmd/compile/internal/noder/lex_test.go

    		in   string
    		want []string
    	}
    
    	var tests = []testStruct{
    		{`go:cgo_export_dynamic local`, []string{`cgo_export_dynamic`, `local`}},
    		{`go:cgo_export_dynamic local remote`, []string{`cgo_export_dynamic`, `local`, `remote`}},
    		{`go:cgo_export_dynamic local' remote'`, []string{`cgo_export_dynamic`, `local'`, `remote'`}},
    		{`go:cgo_export_static local`, []string{`cgo_export_static`, `local`}},
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Dec 23 06:39:06 UTC 2020
    - 3.6K bytes
    - Viewed (0)
  2. src/cmd/link/internal/ld/go.go

    			s := l.LookupOrCreateSym(local, 0)
    			su := l.MakeSymbolUpdater(s)
    			su.SetType(sym.SHOSTOBJ)
    			su.SetSize(0)
    			hostObjSyms[s] = struct{}{}
    			continue
    
    		case "cgo_export_static", "cgo_export_dynamic":
    			if len(f) < 2 || len(f) > 4 {
    				break
    			}
    			local := f[1]
    			remote := local
    			if len(f) > 2 {
    				remote = f[2]
    			}
    			// The compiler adds a fourth argument giving
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 22 16:48:30 UTC 2023
    - 11.2K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssagen/abi.go

    	// the unmangled name?
    	cgoExports := make(map[string][]*[]string)
    	for i, prag := range typecheck.Target.CgoPragmas {
    		switch prag[0] {
    		case "cgo_export_static", "cgo_export_dynamic":
    			symName := s.canonicalize(prag[1])
    			pprag := &typecheck.Target.CgoPragmas[i]
    			cgoExports[symName] = append(cgoExports[symName], pprag)
    		}
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 13.8K bytes
    - Viewed (0)
  4. src/cmd/link/internal/loader/loader.go

    // specially marked via the "cgo_export_dynamic" compiler directive
    // written by cgo (in response to //export directives in the source).
    func (l *Loader) AttrCgoExportDynamic(i Sym) bool {
    	_, ok := l.attrCgoExportDynamic[i]
    	return ok
    }
    
    // SetAttrCgoExportDynamic sets the "cgo_export_dynamic" for a symbol
    // (see AttrCgoExportDynamic).
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 24 20:26:10 UTC 2024
    - 81.5K bytes
    - Viewed (0)
  5. src/cmd/link/internal/ld/go_test.go

    	if runtime.GOOS != "openbsd" {
    		t.Skip("test only useful on openbsd")
    	}
    
    	testenv.MustHaveGoBuild(t)
    	testenv.MustHaveCGO(t)
    	t.Parallel()
    
    	dir := t.TempDir()
    
    	// cgo_import_dynamic both the unversioned libraries and pull in the
    	// net package to get a cgo package with a versioned library.
    	srcFile := filepath.Join(dir, "x.go")
    	src := `package main
    
    import (
    	_ "net"
    )
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 15 20:22:14 UTC 2022
    - 2.7K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/noder/noder.go

    				p.error(syntax.Error{Pos: pos, Msg: fmt.Sprintf("invalid library name %q in cgo_import_dynamic directive", lib)})
    			}
    			p.pragcgo(pos, text)
    			pragma.Flag |= pragmaFlag("go:cgo_import_dynamic")
    			break
    		}
    		fallthrough
    	case strings.HasPrefix(text, "go:cgo_"):
    		// For security, we disallow //go:cgo_* directives other
    		// than cgo_import_dynamic outside cgo-generated files.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Oct 11 20:40:57 UTC 2023
    - 12.5K bytes
    - Viewed (0)
  7. src/cmd/link/internal/loader/symbolbuilder.go

    func (sb *SymbolBuilder) External() bool         { return sb.l.AttrExternal(sb.symIdx) }
    func (sb *SymbolBuilder) Extname() string        { return sb.l.SymExtname(sb.symIdx) }
    func (sb *SymbolBuilder) CgoExportDynamic() bool { return sb.l.AttrCgoExportDynamic(sb.symIdx) }
    func (sb *SymbolBuilder) Dynimplib() string      { return sb.l.SymDynimplib(sb.symIdx) }
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Nov 08 15:25:19 UTC 2023
    - 13.9K bytes
    - Viewed (0)
  8. src/cmd/link/internal/ld/xcoff.go

    		a4 := &XcoffAuxCSect64{
    			Xauxtype: _AUX_CSECT,
    			Xsmclas:  XMC_DS,
    			Xsmtyp:   XTY_ER | XTY_IMP,
    		}
    
    		if ldr.SymName(x) == "__n_pthreads" {
    			// Currently, all imported symbols made by cgo_import_dynamic are
    			// syscall functions, except __n_pthreads which is a variable.
    			// TODO(aix): Find a way to detect variables imported by cgo.
    			a4.Xsmclas = XMC_RW
    		}
    
    		syms = append(syms, a4)
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Dec 01 19:58:23 UTC 2023
    - 51.8K bytes
    - Viewed (0)
  9. src/cmd/cgo/doc.go

    	Examples:
    	//go:cgo_import_dynamic puts
    	//go:cgo_import_dynamic puts puts#GLIBC_2.2.5
    	//go:cgo_import_dynamic puts puts#GLIBC_2.2.5 "libc.so.6"
    
    	A side effect of the cgo_import_dynamic directive with a
    	library is to make the final binary depend on that dynamic
    	library. To get the dependency without importing any specific
    	symbols, use _ for local and remote.
    
    	Example:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon May 13 17:12:16 UTC 2024
    - 42.2K bytes
    - Viewed (0)
  10. src/cmd/link/internal/ld/lib.go

    		// Turns out we won't be needing them.
    		for symIdx := range hostObjSyms {
    			if l.SymType(symIdx) == sym.SHOSTOBJ {
    				// If a symbol was marked both
    				// cgo_import_static and cgo_import_dynamic,
    				// then we want to make it cgo_import_dynamic
    				// now.
    				su := l.MakeSymbolUpdater(symIdx)
    				if l.SymExtname(symIdx) != "" && l.SymDynimplib(symIdx) != "" && !(l.AttrCgoExportStatic(symIdx) || l.AttrCgoExportDynamic(symIdx)) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 21 18:45:27 UTC 2024
    - 88.6K bytes
    - Viewed (0)
Back to top