82 lines
3.5 KiB
Perl
82 lines
3.5 KiB
Perl
require '_h2ph_pre.ph';
|
|
|
|
no warnings qw(redefine misc);
|
|
|
|
unless(defined(&_SYS_UCONTEXT_H)) {
|
|
eval 'sub _SYS_UCONTEXT_H () {1;}' unless defined(&_SYS_UCONTEXT_H);
|
|
require 'features.ph';
|
|
require 'bits/types.ph';
|
|
require 'bits/types/sigset_t.ph';
|
|
require 'bits/types/stack_t.ph';
|
|
if(defined(&__USE_MISC)) {
|
|
eval 'sub __ctx {
|
|
my($fld) = @_;
|
|
eval q($fld);
|
|
}' unless defined(&__ctx);
|
|
} else {
|
|
eval 'sub __ctx {
|
|
my($fld) = @_;
|
|
eval q( &__ $fld);
|
|
}' unless defined(&__ctx);
|
|
}
|
|
if(defined(&__x86_64__)) {
|
|
eval 'sub __NGREG () {23;}' unless defined(&__NGREG);
|
|
if(defined(&__USE_MISC)) {
|
|
eval 'sub NGREG () { &__NGREG;}' unless defined(&NGREG);
|
|
}
|
|
if(defined(&__USE_GNU)) {
|
|
eval("sub REG_R8 () { 0; }") unless defined(®_R8);
|
|
eval("sub REG_R9 () { 1; }") unless defined(®_R9);
|
|
eval("sub REG_R10 () { 2; }") unless defined(®_R10);
|
|
eval("sub REG_R11 () { 3; }") unless defined(®_R11);
|
|
eval("sub REG_R12 () { 4; }") unless defined(®_R12);
|
|
eval("sub REG_R13 () { 5; }") unless defined(®_R13);
|
|
eval("sub REG_R14 () { 6; }") unless defined(®_R14);
|
|
eval("sub REG_R15 () { 7; }") unless defined(®_R15);
|
|
eval("sub REG_RDI () { 8; }") unless defined(®_RDI);
|
|
eval("sub REG_RSI () { 9; }") unless defined(®_RSI);
|
|
eval("sub REG_RBP () { 10; }") unless defined(®_RBP);
|
|
eval("sub REG_RBX () { 11; }") unless defined(®_RBX);
|
|
eval("sub REG_RDX () { 12; }") unless defined(®_RDX);
|
|
eval("sub REG_RAX () { 13; }") unless defined(®_RAX);
|
|
eval("sub REG_RCX () { 14; }") unless defined(®_RCX);
|
|
eval("sub REG_RSP () { 15; }") unless defined(®_RSP);
|
|
eval("sub REG_RIP () { 16; }") unless defined(®_RIP);
|
|
eval("sub REG_EFL () { 17; }") unless defined(®_EFL);
|
|
eval("sub REG_CSGSFS () { 18; }") unless defined(®_CSGSFS);
|
|
eval("sub REG_ERR () { 19; }") unless defined(®_ERR);
|
|
eval("sub REG_TRAPNO () { 20; }") unless defined(®_TRAPNO);
|
|
eval("sub REG_OLDMASK () { 21; }") unless defined(®_OLDMASK);
|
|
eval("sub REG_CR2 () { 22; }") unless defined(®_CR2);
|
|
}
|
|
} else {
|
|
eval 'sub __NGREG () {19;}' unless defined(&__NGREG);
|
|
if(defined(&__USE_MISC)) {
|
|
eval 'sub NGREG () { &__NGREG;}' unless defined(&NGREG);
|
|
}
|
|
if(defined(&__USE_GNU)) {
|
|
eval("sub REG_GS () { 0; }") unless defined(®_GS);
|
|
eval("sub REG_FS () { 1; }") unless defined(®_FS);
|
|
eval("sub REG_ES () { 2; }") unless defined(®_ES);
|
|
eval("sub REG_DS () { 3; }") unless defined(®_DS);
|
|
eval("sub REG_EDI () { 4; }") unless defined(®_EDI);
|
|
eval("sub REG_ESI () { 5; }") unless defined(®_ESI);
|
|
eval("sub REG_EBP () { 6; }") unless defined(®_EBP);
|
|
eval("sub REG_ESP () { 7; }") unless defined(®_ESP);
|
|
eval("sub REG_EBX () { 8; }") unless defined(®_EBX);
|
|
eval("sub REG_EDX () { 9; }") unless defined(®_EDX);
|
|
eval("sub REG_ECX () { 10; }") unless defined(®_ECX);
|
|
eval("sub REG_EAX () { 11; }") unless defined(®_EAX);
|
|
eval("sub REG_TRAPNO () { 12; }") unless defined(®_TRAPNO);
|
|
eval("sub REG_ERR () { 13; }") unless defined(®_ERR);
|
|
eval("sub REG_EIP () { 14; }") unless defined(®_EIP);
|
|
eval("sub REG_CS () { 15; }") unless defined(®_CS);
|
|
eval("sub REG_EFL () { 16; }") unless defined(®_EFL);
|
|
eval("sub REG_UESP () { 17; }") unless defined(®_UESP);
|
|
eval("sub REG_SS () { 18; }") unless defined(®_SS);
|
|
}
|
|
}
|
|
undef(&__ctx) if defined(&__ctx);
|
|
}
|
|
1;
|