Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 33 for sigpanic0 (0.32 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/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)
  5. 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)
  6. 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)
  7. src/runtime/cgo/signal_ios_arm64.s

    	// function sigpanic was called from the PC that faulted. It has
    	// to be sigpanic, as the stack unwinding code in traceback.go
    	// looks explicitly for it.
    	//
    	// To do this we call into runtime·setsigsegv, which sets the
    	// appropriate state inside the g object. We give it the faulting
    	// PC on the stack, then put it in the LR before calling sigpanic.
    
    	// Build a 32-byte stack frame for us for this call.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 06 22:54:58 UTC 2020
    - 1.8K bytes
    - Viewed (0)
  8. src/runtime/signal_arm64.go

    	// Frame pointer unwinding won't visit the sigpanic frame, since
    	// sigpanic will save the same frame pointer before calling into a panic
    	// function.
    	*(*uint64)(unsafe.Pointer(uintptr(sp - goarch.PtrSize))) = c.r29()
    
    	pc := gp.sigpc
    
    	if shouldPushSigpanic(gp, pc, uintptr(c.lr())) {
    		// Make it look the like faulting PC called sigpanic.
    		c.set_lr(uint64(pc))
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Apr 05 18:16:00 UTC 2023
    - 3.8K bytes
    - Viewed (0)
  9. src/runtime/signal_loong64.go

    func (c *sigctxt) fault() uintptr { return uintptr(c.sigaddr()) }
    
    // preparePanic sets up the stack to look like a call to sigpanic.
    func (c *sigctxt) preparePanic(sig uint32, gp *g) {
    	// We arrange link, and pc to pretend the panicking
    	// function calls sigpanic directly.
    	// Always save LINK to stack so that panics in leaf
    	// functions are correctly handled. This smashes
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Mar 21 06:51:28 UTC 2023
    - 3K bytes
    - Viewed (0)
  10. src/runtime/signal_arm.go

    func (c *sigctxt) siglr() uintptr { return uintptr(c.lr()) }
    
    // preparePanic sets up the stack to look like a call to sigpanic.
    func (c *sigctxt) preparePanic(sig uint32, gp *g) {
    	// We arrange lr, and pc to pretend the panicking
    	// function calls sigpanic directly.
    	// Always save LR to stack so that panics in leaf
    	// functions are correctly handled. This smashes
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 28 18:17:57 UTC 2021
    - 2.5K bytes
    - Viewed (0)
Back to top