Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 51 for sigpanic0 (0.15 sec)

  1. src/runtime/signal_amd64.go

    	// Go special registers. We inject sigpanic0 (instead of sigpanic),
    	// which takes care of that.
    	if shouldPushSigpanic(gp, pc, *(*uintptr)(unsafe.Pointer(sp))) {
    		c.pushCall(abi.FuncPCABI0(sigpanic0), pc)
    	} else {
    		// Not safe to push the call. Just clobber the frame.
    		c.set_rip(uint64(abi.FuncPCABI0(sigpanic0)))
    	}
    }
    
    func (c *sigctxt) pushCall(targetPC, resumePC uintptr) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat Apr 23 05:38:56 UTC 2022
    - 2.7K bytes
    - Viewed (0)
  2. src/runtime/asm.s

    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    #include "textflag.h"
    
    #ifndef GOARCH_amd64
    TEXT ·sigpanic0(SB),NOSPLIT,$0-0
    	JMP	·sigpanic<ABIInternal>(SB)
    #endif
    
    // See map.go comment on the need for this routine.
    TEXT ·mapinitnoop<ABIInternal>(SB),NOSPLIT,$0-0
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 16 21:49:14 UTC 2024
    - 386 bytes
    - Viewed (0)
  3. src/runtime/os3_plan9.go

    			flags = t.flags
    			break
    		}
    	}
    	if flags&_SigPanic != 0 && gp.throwsplit {
    		// We can't safely sigpanic because it may grow the
    		// stack. Abort in the signal handler instead.
    		flags = (flags &^ _SigPanic) | _SigThrow
    	}
    	if flags&_SigGoExit != 0 {
    		exits((*byte)(add(unsafe.Pointer(note), 9))) // Strip "go: exit " prefix.
    	}
    	if flags&_SigPanic != 0 {
    		// Copy the error string from sigtramp's stack into m->notesig so
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 15:41:45 UTC 2024
    - 4K bytes
    - Viewed (0)
  4. src/runtime/signal_windows.go

    	// won't get to see who faulted.)
    	// Also don't push a sigpanic frame if the faulting PC
    	// is the entry of asyncPreempt. In this case, we suspended
    	// the thread right between the fault and the exception handler
    	// starting to run, and we have pushed an asyncPreempt call.
    	// The exception is not from asyncPreempt, so not to push a
    	// sigpanic call to make it look like that. Instead, just
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 17 20:32:29 UTC 2023
    - 14.5K bytes
    - Viewed (0)
  5. src/runtime/stubs.go

    func addmoduledata()
    
    // Injected by the signal handler for panicking signals.
    // Initializes any registers that have fixed meaning at calls but
    // are scratch in bodies and calls sigpanic.
    // On many platforms it just jumps to sigpanic.
    func sigpanic0()
    
    // intArgRegs is used by the various register assignment
    // algorithm implementations in the runtime. These include:.
    // - Finalizers (mfinal.go)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 20.2K bytes
    - Viewed (0)
  6. src/runtime/testdata/testprogcgo/sigpanic.go

    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    package main
    
    // This program will crash.
    // We want to test unwinding from sigpanic into C code (without a C symbolizer).
    
    /*
    #cgo CFLAGS: -O0
    
    char *pnil;
    
    static int f1(void) {
    	*pnil = 0;
    	return 0;
    }
    */
    import "C"
    
    func init() {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Jan 31 02:13:21 UTC 2018
    - 484 bytes
    - Viewed (0)
  7. src/runtime/signal_mips64x.go

    	if shouldPushSigpanic(gp, pc, uintptr(c.link())) {
    		// Make it look the like faulting PC called sigpanic.
    		c.set_link(uint64(pc))
    	}
    
    	// In case we are panicking from external C code
    	sigpanicPC := uint64(abi.FuncPCABIInternal(sigpanic))
    	c.set_r28(sigpanicPC >> 32 << 32) // RSB register
    	c.set_r30(uint64(uintptr(unsafe.Pointer(gp))))
    	c.set_pc(sigpanicPC)
    }
    
    func (c *sigctxt) pushCall(targetPC, resumePC uintptr) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 28 18:17:57 UTC 2021
    - 3.2K bytes
    - Viewed (0)
  8. src/runtime/signal_plan9.go

    	{_SigPanic, "sys: trap: fault read"},  // SIGRFAULT
    	{_SigPanic, "sys: trap: fault write"}, // SIGWFAULT
    
    	// We can also recover from math errors.
    	{_SigPanic, "sys: trap: divide error"}, // SIGINTDIV
    	{_SigPanic, "sys: fp:"},                // SIGFLOAT
    
    	// All other traps are normally handled as if they were marked SigThrow.
    	// We mark them SigPanic here so that debug.SetPanicOnFault will work.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 07 16:25:17 UTC 2016
    - 1.9K bytes
    - Viewed (0)
  9. src/runtime/asm_amd64.s

    	RET
    
    // Initialize special registers then jump to sigpanic.
    // This function is injected from the signal handler for panicking
    // signals. It is quite painful to set X15 in the signal context,
    // so we do it here.
    TEXT ·sigpanic0(SB),NOSPLIT,$0-0
    	get_tls(R14)
    	MOVQ	g(R14), R14
    #ifndef GOOS_plan9
    	XORPS	X15, X15
    #endif
    	JMP	·sigpanic<ABIInternal>(SB)
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat May 11 20:38:24 UTC 2024
    - 60.4K bytes
    - Viewed (0)
  10. src/runtime/signal_unix.go

    // instead.
    //
    // This must NOT be nosplit because the linker doesn't know where
    // sigpanic calls can be injected.
    //
    // The signal handler must not inject a call to sigpanic if
    // getg().throwsplit, since sigpanic may need to grow the stack.
    //
    // This is exported via linkname to assembly in runtime/cgo.
    //
    //go:linkname sigpanic
    func sigpanic() {
    	gp := getg()
    	if !canpanic() {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 10 16:04:54 UTC 2024
    - 45K bytes
    - Viewed (0)
Back to top