2010-07-08 7 views
1

struct regstruct user_regs_struc과 Linux 64 비트 시스템의 차이점은 무엇입니까?struct reg와 struct user_regs_struc 사이의 차이점은 무엇입니까?

+0

일부 컨텍스트를 제공 할 수 있습니까? –

+0

Linux x86_64 64 비트 시스템에 pstack-1.2-6.src.rpm 소스를 다운로드하고 거기에서 컴파일하려고합니다. 하지만 몇 가지 오류가 발생했습니다. 나는 구조체 reg이이 OS에 정의되어 있다고 생각하지 않으며 소스에서 참조된다. 내가 컴파일되도록 소스 코드를 수정 중입니다. 이 OS에서 user_regs_struc을 구조화했습니다. –

답변

0
struct user_regs_struct 
{ 
    unsigned long r15; 
    unsigned long r14; 
    unsigned long r13; 
    unsigned long r12; 
    unsigned long rbp; 
    unsigned long rbx; 
    unsigned long r11; 
    unsigned long r10; 
    unsigned long r9; 
    unsigned long r8; 
    unsigned long rax; 
    unsigned long rcx; 
    unsigned long rdx; 
    unsigned long rsi; 
    unsigned long rdi; 
    unsigned long orig_rax; 
    unsigned long rip; 
    unsigned long cs; 
    unsigned long eflags; 
    unsigned long rsp; 
    unsigned long ss; 
    unsigned long fs_base; 
    unsigned long gs_base; 
    unsigned long ds; 
    unsigned long es; 
    unsigned long fs; 
    unsigned long gs; 
}; 

이 구조체는에서 찾을 수는/usr// x86_64에-리눅스 GNU/SYS

this link 구조체의 등록에 따르면 FreeBSD를 파일에

struct reg { 
      register_t fixreg[32]; 
      register_t lr; 
      register_t cr; 
      register_t xer; 
      register_t ctr; 
      register_t pc; 
    }; 

입니다 포함 : SYS/파워/include/reg.h

그리고 네, debian 64bit 시스템에서이 구조체를 찾지 못했습니다.