当前位置:   article > 正文

Linux: signal: sigcontext 结构体在哪里组装?

Linux: signal: sigcontext 结构体在哪里组装?

以下为intel x86-64为例

英文单词context这里是上下文的意思,那对于应用程序在跑的过程种,有哪些信息属于上下文呢?根据内核的代码来看有,程序执行时的寄存器内容/内存的内容。比如在x86-64里(arch/x86/include/uapi/asm/sigcontext.h),寄存器的列表有:
https://man7.org/linux/man-pages/man3/function::register.3stap.html

For the x86_64 architecture, the following names are recognized:
64-bit registers: r8, r9, r10, r11, r12, r13, r14, r15, rax/ax, rbp/bp, rbx/bx, rcx/cx, rdi/di, rdx/dx, rip/ip, rsi/si, rsp/sp;
32-bit registers: eax, ebp, ebx, ecx, edx, edi, edx, eip, esi, esp, flags/eflags, orig_eax; segment registers: xcs/cs, xss/ss.

/*
 * The 64-bit signal frame:
 */
struct sigcontext_64 {
   
	__u64				r8;
	__u64				r9;
	__u64				r10;
	__u64				r11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号