| package runtime |
| |
| const ( |
| // These values are referred to in the source code |
| // but really don't matter. Even so, use the standard numbers. |
| _SIGQUIT = 3 |
| _SIGTRAP = 5 |
| _SIGSEGV = 11 |
| _SIGPROF = 27 |
| ) |
| |
| type timespec struct { |
| tv_sec int64 |
| tv_nsec int32 |
| } |
| |
| //go:nosplit |
| func (ts *timespec) setNsec(ns int64) { |
| ts.tv_sec = ns / 1e9 |
| ts.tv_nsec = int32(ns % 1e9) |
| } |
| |
| type excregs386 struct { |
| eax uint32 |
| ecx uint32 |
| edx uint32 |
| ebx uint32 |
| esp uint32 |
| ebp uint32 |
| esi uint32 |
| edi uint32 |
| eip uint32 |
| eflags uint32 |
| } |
| |
| type excregsamd64 struct { |
| rax uint64 |
| rcx uint64 |
| rdx uint64 |
| rbx uint64 |
| rsp uint64 |
| rbp uint64 |
| rsi uint64 |
| rdi uint64 |
| r8 uint64 |
| r9 uint64 |
| r10 uint64 |
| r11 uint64 |
| r12 uint64 |
| r13 uint64 |
| r14 uint64 |
| r15 uint64 |
| rip uint64 |
| rflags uint32 |
| } |
| |
| type exccontext struct { |
| size uint32 |
| portable_context_offset uint32 |
| portable_context_size uint32 |
| arch uint32 |
| regs_size uint32 |
| reserved [11]uint32 |
| regs excregsamd64 |
| } |
| |
| type excportablecontext struct { |
| pc uint32 |
| sp uint32 |
| fp uint32 |
| } |