Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 72 for trampolines (0.17 sec)

  1. src/syscall/mkasm.go

    	for _, line := range strings.Split(in, "\n") {
    		if !strings.HasPrefix(line, "func ") || !strings.HasSuffix(line, "_trampoline()") {
    			continue
    		}
    		fn := line[5 : len(line)-13]
    		if !trampolines[fn] {
    			trampolines[fn] = true
    			fmt.Fprintf(&out, "TEXT ·%s_trampoline(SB),NOSPLIT,$0-0\n", fn)
    			if goos == "openbsd" && arch == "ppc64" {
    				fmt.Fprintf(&out, "\tCALL\t%s(SB)\n", fn)
    				fmt.Fprintf(&out, "\tRET\n")
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Aug 22 03:24:15 UTC 2023
    - 1.9K bytes
    - Viewed (0)
  2. src/syscall/mksyscall.pl

    		$text .= "\t}\n";
    	}
    	$text .= "\treturn\n";
    	$text .= "}\n\n";
    	if($libc) {
    		if (not exists $trampolines{$funcname}) {
    			$trampolines{$funcname} = 1;
    			# The assembly trampoline that jumps to the libc routine.
    			$text .= "func ${funcname}_trampoline()\n\n";
    			# Tell the linker that funcname can be found in libSystem using varname without the libc_ prefix.
    			my $basename = substr $funcname, 5;
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 24 17:15:02 UTC 2024
    - 10.3K bytes
    - Viewed (0)
  3. src/cmd/cgo/internal/test/callstub_linux_ppc64le.go

    package cgotest
    
    // extern int notoc_func(void);
    // int TestPPC64Stubs(void) {
    //	return notoc_func();
    // }
    import "C"
    import "testing"
    
    func testPPC64CallStubs(t *testing.T) {
    	// Verify the trampolines run on the testing machine. If they
    	// do not, or are missing, a crash is expected.
    	if C.TestPPC64Stubs() != 0 {
    		t.Skipf("This test requires binutils 2.35 or newer.")
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 22 15:06:17 UTC 2023
    - 540 bytes
    - Viewed (0)
  4. src/runtime/cgo/gcc_aix_ppc64.c

    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    /*
     * On AIX, call to _cgo_topofstack and Go main are forced to be a longcall.
     * Without it, ld might add trampolines in the middle of .text section
     * to reach these functions which are normally declared in runtime package.
     */
    extern int __attribute__((longcall)) __cgo_topofstack(void);
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Jan 24 22:38:02 UTC 2023
    - 1.3K bytes
    - Viewed (0)
  5. src/cmd/link/internal/riscv64/obj.go

    		Archrelocvariant: archrelocvariant,
    		Extreloc:         extreloc,
    
    		// TrampLimit is set such that we always run the trampoline
    		// generation code. This is necessary since calls to external
    		// symbols require the use of trampolines, regardless of the
    		// text size.
    		TrampLimit: 1,
    		Trampoline: trampoline,
    
    		Gentext:     gentext,
    		GenSymsLate: genSymsLate,
    		Machoreloc1: machoreloc1,
    
    		ELF: ld.ELFArch{
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 03 17:46:04 UTC 2023
    - 1.6K bytes
    - Viewed (0)
  6. src/crypto/x509/internal/macos/security.s

    // Copyright 2020 The Go Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    //go:build darwin
    
    #include "textflag.h"
    
    // The trampolines are ABIInternal as they are address-taken in
    // Go code.
    
    TEXT ·x509_SecTrustSettingsCopyCertificates_trampoline(SB),NOSPLIT,$0-0
    	JMP	x509_SecTrustSettingsCopyCertificates(SB)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 04 16:03:32 UTC 2022
    - 1.5K bytes
    - Viewed (0)
  7. src/crypto/x509/internal/macos/corefoundation.s

    // Copyright 2020 The Go Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    //go:build darwin
    
    #include "textflag.h"
    
    // The trampolines are ABIInternal as they are address-taken in
    // Go code.
    
    TEXT ·x509_CFArrayGetCount_trampoline(SB),NOSPLIT,$0-0
    	JMP	x509_CFArrayGetCount(SB)
    TEXT ·x509_CFArrayGetValueAtIndex_trampoline(SB),NOSPLIT,$0-0
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Dec 21 20:05:17 UTC 2022
    - 1.7K bytes
    - Viewed (0)
  8. src/cmd/link/internal/ld/ld_test.go

    		t.Fatalf("nm failure: %s\n%s\n", err, string(out))
    	}
    	if !bytes.Contains(out, []byte(" T a-tramp0")) {
    		t.Errorf("Trampoline a-tramp0 is missing")
    	}
    	if bytes.Contains(out, []byte(" T b-tramp0")) {
    		t.Errorf("Trampoline b-tramp0 exists unnecessarily")
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Oct 13 05:45:53 UTC 2023
    - 10.3K bytes
    - Viewed (0)
  9. src/cmd/link/internal/ld/data.go

    	if thearch.Trampoline == nil || isTramp {
    		return 0
    	}
    
    	n := uint64(0)
    	relocs := ldr.Relocs(s)
    	for ri := 0; ri < relocs.Count(); ri++ {
    		r := relocs.At(ri)
    		if r.Type().IsDirectCallOrJump() {
    			n++
    		}
    	}
    
    	switch {
    	case ctxt.IsARM():
    		return n * 20 // Trampolines in ARM range from 3 to 5 instructions.
    	case ctxt.IsARM64():
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Jun 12 15:10:50 UTC 2024
    - 100.5K bytes
    - Viewed (0)
  10. src/cmd/link/linkbig_test.go

    	}
    
    	// Generate the scenario where the total amount of text exceeds the
    	// limit for the jmp/call instruction, on RISC architectures like ppc64le,
    	// which is 2^26.  When that happens the call requires special trampolines or
    	// long branches inserted by the linker where supported.
    	// Multiple .s files are generated instead of one.
    	instOnArch := map[string]string{
    		"ppc64":   "\tMOVD\tR0,R3\n",
    		"ppc64le": "\tMOVD\tR0,R3\n",
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 15 20:22:14 UTC 2022
    - 3.5K bytes
    - Viewed (0)
Back to top