mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-06-25 02:41:45 +02:00
83 lines
3 KiB
C
83 lines
3 KiB
C
/* Copyright (C) 2004 Hewlett-Packard Co.
|
|
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>.
|
|
|
|
This file is part of libunwind.
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining
|
|
a copy of this software and associated documentation files (the
|
|
"Software"), to deal in the Software without restriction, including
|
|
without limitation the rights to use, copy, modify, merge, publish,
|
|
distribute, sublicense, and/or sell copies of the Software, and to
|
|
permit persons to whom the Software is furnished to do so, subject to
|
|
the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be
|
|
included in all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
|
|
|
#if defined __linux__
|
|
#define UC_MCONTEXT_GREGS_R8 0x28
|
|
#define UC_MCONTEXT_GREGS_R9 0x30
|
|
#define UC_MCONTEXT_GREGS_R10 0x38
|
|
#define UC_MCONTEXT_GREGS_R11 0x40
|
|
#define UC_MCONTEXT_GREGS_R12 0x48
|
|
#define UC_MCONTEXT_GREGS_R13 0x50
|
|
#define UC_MCONTEXT_GREGS_R14 0x58
|
|
#define UC_MCONTEXT_GREGS_R15 0x60
|
|
#define UC_MCONTEXT_GREGS_RDI 0x68
|
|
#define UC_MCONTEXT_GREGS_RSI 0x70
|
|
#define UC_MCONTEXT_GREGS_RBP 0x78
|
|
#define UC_MCONTEXT_GREGS_RBX 0x80
|
|
#define UC_MCONTEXT_GREGS_RDX 0x88
|
|
#define UC_MCONTEXT_GREGS_RAX 0x90
|
|
#define UC_MCONTEXT_GREGS_RCX 0x98
|
|
#define UC_MCONTEXT_GREGS_RSP 0xa0
|
|
#define UC_MCONTEXT_GREGS_RIP 0xa8
|
|
#define UC_MCONTEXT_FPREGS_PTR 0x1a8
|
|
#define UC_MCONTEXT_FPREGS_MEM 0xe0
|
|
#define UC_SIGMASK 0x128
|
|
#define FPREGS_OFFSET_MXCSR 0x18
|
|
#elif defined __FreeBSD__
|
|
#define UC_SIGMASK 0x0
|
|
#define UC_MCONTEXT_GREGS_RDI 0x18
|
|
#define UC_MCONTEXT_GREGS_RSI 0x20
|
|
#define UC_MCONTEXT_GREGS_RDX 0x28
|
|
#define UC_MCONTEXT_GREGS_RCX 0x30
|
|
#define UC_MCONTEXT_GREGS_R8 0x38
|
|
#define UC_MCONTEXT_GREGS_R9 0x40
|
|
#define UC_MCONTEXT_GREGS_RAX 0x48
|
|
#define UC_MCONTEXT_GREGS_RBX 0x50
|
|
#define UC_MCONTEXT_GREGS_RBP 0x58
|
|
#define UC_MCONTEXT_GREGS_R10 0x60
|
|
#define UC_MCONTEXT_GREGS_R11 0x68
|
|
#define UC_MCONTEXT_GREGS_R12 0x70
|
|
#define UC_MCONTEXT_GREGS_R13 0x78
|
|
#define UC_MCONTEXT_GREGS_R14 0x80
|
|
#define UC_MCONTEXT_GREGS_R15 0x88
|
|
#define UC_MCONTEXT_FS 0x94
|
|
#define UC_MCONTEXT_GS 0x96
|
|
#define UC_MCONTEXT_FLAGS 0xa0
|
|
#define UC_MCONTEXT_ES 0xa4
|
|
#define UC_MCONTEXT_DS 0xa6
|
|
#define UC_MCONTEXT_GREGS_RIP 0xb0
|
|
#define UC_MCONTEXT_CS 0xb8
|
|
#define UC_MCONTEXT_RFLAGS 0xc0
|
|
#define UC_MCONTEXT_GREGS_RSP 0xc8
|
|
#define UC_MCONTEXT_SS 0xd0
|
|
#define UC_MCONTEXT_MC_LEN 0xd8
|
|
#define UC_MCONTEXT_FPFORMAT 0xe0
|
|
#define UC_MCONTEXT_OWNEDFP 0xe8
|
|
#define UC_MCONTEXT_FPSTATE 0xf0
|
|
#define UC_MCONTEXT_FPOWNED_FPU 0x20001
|
|
#define UC_MCONTEXT_FPFMT_XMM 0x10002
|
|
#define UC_MCONTEXT_MC_LEN_VAL 0x320
|
|
|
|
#endif
|