Avoid -Wnarrowing warnings in struct tramp_frame instances
This avoids -Wnarrowing warnings in struct tramp_frame instances, replacing uses of -1 with a new ULONGEST_MAX. It also redefined TRAMP_SENTINEL_INSN to avoid the same warning. gdb/ChangeLog 2018-08-27 Tom Tromey <tom@tromey.com> * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine. * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use ULONGEST_MAX. * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX. * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use ULONGEST_MAX. * sparc-linux-tdep.c (sparc32_linux_sigframe) (sparc32_linux_rt_sigframe): Use ULONGEST_MAX. * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use ULONGEST_MAX. * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame) (ppc64_linux_sigaction_tramp_frame) (ppc32_linux_sighandler_tramp_frame) (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX. * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame) (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX. * mn10300-linux-tdep.c (am33_linux_sigframe) (am33_linux_rt_sigframe): Use ULONGEST_MAX. * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX. * mips-linux-tdep.c (mips_linux_o32_sigframe) (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe) (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe) (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe) (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX. * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe) (mips64_fbsd_sigframe): Use ULONGEST_MAX. * microblaze-linux-tdep.c (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX. * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2) (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31) (i386nbsd_sigtramp_si4): Use ULONGEST_MAX. * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX. * common/common-types.h (ULONGEST_MAX): New define. (CORE_ADDR_MAX): Fix formatting. * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX. * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX. * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame) (arm_linux_rt_sigreturn_tramp_frame) (arm_eabi_linux_sigreturn_tramp_frame) (arm_eabi_linux_rt_sigreturn_tramp_frame) (thumb2_eabi_linux_sigreturn_tramp_frame) (thumb2_eabi_linux_rt_sigreturn_tramp_frame) (arm_linux_restart_syscall_tramp_frame) (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX. * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX. * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use ULONGEST_MAX. * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
This commit is contained in:
parent
70ab8ccd4f
commit
7bc02706c3
23 changed files with 398 additions and 238 deletions
|
@ -1,3 +1,55 @@
|
|||
2018-08-27 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
|
||||
* tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
|
||||
ULONGEST_MAX.
|
||||
* tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
|
||||
ULONGEST_MAX.
|
||||
* sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
|
||||
ULONGEST_MAX.
|
||||
* sparc-linux-tdep.c (sparc32_linux_sigframe)
|
||||
(sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
|
||||
* ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
|
||||
ULONGEST_MAX.
|
||||
* ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
|
||||
(ppc64_linux_sigaction_tramp_frame)
|
||||
(ppc32_linux_sighandler_tramp_frame)
|
||||
(ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
|
||||
* nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
|
||||
(nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
|
||||
* mn10300-linux-tdep.c (am33_linux_sigframe)
|
||||
(am33_linux_rt_sigframe): Use ULONGEST_MAX.
|
||||
* mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
|
||||
* mips-linux-tdep.c (mips_linux_o32_sigframe)
|
||||
(mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
|
||||
(mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
|
||||
(micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
|
||||
(micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
|
||||
* mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
|
||||
(mips64_fbsd_sigframe): Use ULONGEST_MAX.
|
||||
* microblaze-linux-tdep.c
|
||||
(microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
|
||||
* i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
|
||||
(i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
|
||||
(i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
|
||||
* hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
|
||||
* common/common-types.h (ULONGEST_MAX): New define.
|
||||
(CORE_ADDR_MAX): Fix formatting.
|
||||
* bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
|
||||
* arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
|
||||
* arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
|
||||
(arm_linux_rt_sigreturn_tramp_frame)
|
||||
(arm_eabi_linux_sigreturn_tramp_frame)
|
||||
(arm_eabi_linux_rt_sigreturn_tramp_frame)
|
||||
(thumb2_eabi_linux_sigreturn_tramp_frame)
|
||||
(thumb2_eabi_linux_rt_sigreturn_tramp_frame)
|
||||
(arm_linux_restart_syscall_tramp_frame)
|
||||
(arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
|
||||
* arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
|
||||
* aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
|
||||
ULONGEST_MAX.
|
||||
* aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
|
||||
|
||||
2018-08-27 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
|
||||
|
|
|
@ -118,11 +118,11 @@ static const struct tramp_frame aarch64_fbsd_sigframe =
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{0x910003e0, -1}, /* mov x0, sp */
|
||||
{0x91014000, -1}, /* add x0, x0, #SF_UC */
|
||||
{0xd2803428, -1}, /* mov x8, #SYS_sigreturn */
|
||||
{0xd4000001, -1}, /* svc 0x0 */
|
||||
{TRAMP_SENTINEL_INSN, -1}
|
||||
{0x910003e0, ULONGEST_MAX}, /* mov x0, sp */
|
||||
{0x91014000, ULONGEST_MAX}, /* add x0, x0, #SF_UC */
|
||||
{0xd2803428, ULONGEST_MAX}, /* mov x8, #SYS_sigreturn */
|
||||
{0xd4000001, ULONGEST_MAX}, /* svc 0x0 */
|
||||
{TRAMP_SENTINEL_INSN, ULONGEST_MAX}
|
||||
},
|
||||
aarch64_fbsd_sigframe_init
|
||||
};
|
||||
|
|
|
@ -176,12 +176,12 @@ static const struct tramp_frame aarch64_linux_rt_sigframe =
|
|||
{
|
||||
/* movz x8, 0x8b (S=1,o=10,h=0,i=0x8b,r=8)
|
||||
Soo1 0010 1hhi iiii iiii iiii iiir rrrr */
|
||||
{0xd2801168, -1},
|
||||
{0xd2801168, ULONGEST_MAX},
|
||||
|
||||
/* svc 0x0 (o=0, l=1)
|
||||
1101 0100 oooi iiii iiii iiii iii0 00ll */
|
||||
{0xd4000001, -1},
|
||||
{TRAMP_SENTINEL_INSN, -1}
|
||||
{0xd4000001, ULONGEST_MAX},
|
||||
{TRAMP_SENTINEL_INSN, ULONGEST_MAX}
|
||||
},
|
||||
aarch64_linux_sigframe_init
|
||||
};
|
||||
|
|
|
@ -123,11 +123,11 @@ static const struct tramp_frame arm_fbsd_sigframe =
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{0xe1a0000d, -1}, /* mov r0, sp */
|
||||
{0xe2800040, -1}, /* add r0, r0, #SIGF_UC */
|
||||
{0xe59f700c, -1}, /* ldr r7, [pc, #12] */
|
||||
{0xef0001a1, -1}, /* swi SYS_sigreturn */
|
||||
{TRAMP_SENTINEL_INSN, -1}
|
||||
{0xe1a0000d, ULONGEST_MAX}, /* mov r0, sp */
|
||||
{0xe2800040, ULONGEST_MAX}, /* add r0, r0, #SIGF_UC */
|
||||
{0xe59f700c, ULONGEST_MAX}, /* ldr r7, [pc, #12] */
|
||||
{0xef0001a1, ULONGEST_MAX}, /* swi SYS_sigreturn */
|
||||
{TRAMP_SENTINEL_INSN, ULONGEST_MAX}
|
||||
},
|
||||
arm_fbsd_sigframe_init
|
||||
};
|
||||
|
|
|
@ -385,7 +385,7 @@ static struct tramp_frame arm_linux_sigreturn_tramp_frame = {
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ ARM_LINUX_SIGRETURN_INSTR, -1 },
|
||||
{ ARM_LINUX_SIGRETURN_INSTR, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN }
|
||||
},
|
||||
arm_linux_sigreturn_init
|
||||
|
@ -395,7 +395,7 @@ static struct tramp_frame arm_linux_rt_sigreturn_tramp_frame = {
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ ARM_LINUX_RT_SIGRETURN_INSTR, -1 },
|
||||
{ ARM_LINUX_RT_SIGRETURN_INSTR, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN }
|
||||
},
|
||||
arm_linux_rt_sigreturn_init
|
||||
|
@ -405,8 +405,8 @@ static struct tramp_frame arm_eabi_linux_sigreturn_tramp_frame = {
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ ARM_SET_R7_SIGRETURN, -1 },
|
||||
{ ARM_EABI_SYSCALL, -1 },
|
||||
{ ARM_SET_R7_SIGRETURN, ULONGEST_MAX },
|
||||
{ ARM_EABI_SYSCALL, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN }
|
||||
},
|
||||
arm_linux_sigreturn_init
|
||||
|
@ -416,8 +416,8 @@ static struct tramp_frame arm_eabi_linux_rt_sigreturn_tramp_frame = {
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ ARM_SET_R7_RT_SIGRETURN, -1 },
|
||||
{ ARM_EABI_SYSCALL, -1 },
|
||||
{ ARM_SET_R7_RT_SIGRETURN, ULONGEST_MAX },
|
||||
{ ARM_EABI_SYSCALL, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN }
|
||||
},
|
||||
arm_linux_rt_sigreturn_init
|
||||
|
@ -427,9 +427,9 @@ static struct tramp_frame thumb2_eabi_linux_sigreturn_tramp_frame = {
|
|||
SIGTRAMP_FRAME,
|
||||
2,
|
||||
{
|
||||
{ THUMB2_SET_R7_SIGRETURN1, -1 },
|
||||
{ THUMB2_SET_R7_SIGRETURN2, -1 },
|
||||
{ THUMB2_EABI_SYSCALL, -1 },
|
||||
{ THUMB2_SET_R7_SIGRETURN1, ULONGEST_MAX },
|
||||
{ THUMB2_SET_R7_SIGRETURN2, ULONGEST_MAX },
|
||||
{ THUMB2_EABI_SYSCALL, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN }
|
||||
},
|
||||
arm_linux_sigreturn_init
|
||||
|
@ -439,9 +439,9 @@ static struct tramp_frame thumb2_eabi_linux_rt_sigreturn_tramp_frame = {
|
|||
SIGTRAMP_FRAME,
|
||||
2,
|
||||
{
|
||||
{ THUMB2_SET_R7_RT_SIGRETURN1, -1 },
|
||||
{ THUMB2_SET_R7_RT_SIGRETURN2, -1 },
|
||||
{ THUMB2_EABI_SYSCALL, -1 },
|
||||
{ THUMB2_SET_R7_RT_SIGRETURN1, ULONGEST_MAX },
|
||||
{ THUMB2_SET_R7_RT_SIGRETURN2, ULONGEST_MAX },
|
||||
{ THUMB2_EABI_SYSCALL, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN }
|
||||
},
|
||||
arm_linux_rt_sigreturn_init
|
||||
|
@ -451,8 +451,8 @@ static struct tramp_frame arm_linux_restart_syscall_tramp_frame = {
|
|||
NORMAL_FRAME,
|
||||
4,
|
||||
{
|
||||
{ ARM_OABI_SYSCALL_RESTART_SYSCALL, -1 },
|
||||
{ ARM_LDR_PC_SP_12, -1 },
|
||||
{ ARM_OABI_SYSCALL_RESTART_SYSCALL, ULONGEST_MAX },
|
||||
{ ARM_LDR_PC_SP_12, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN }
|
||||
},
|
||||
arm_linux_restart_syscall_init
|
||||
|
@ -462,8 +462,8 @@ static struct tramp_frame arm_kernel_linux_restart_syscall_tramp_frame = {
|
|||
NORMAL_FRAME,
|
||||
4,
|
||||
{
|
||||
{ ARM_OABI_SYSCALL_RESTART_SYSCALL, -1 },
|
||||
{ ARM_LDR_PC_SP_4, -1 },
|
||||
{ ARM_OABI_SYSCALL_RESTART_SYSCALL, ULONGEST_MAX },
|
||||
{ ARM_LDR_PC_SP_4, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN }
|
||||
},
|
||||
arm_linux_restart_syscall_init
|
||||
|
|
|
@ -58,11 +58,11 @@ static const struct tramp_frame armobsd_sigframe =
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ 0xe28d0010, -1 }, /* add r0, sp, #16 */
|
||||
{ 0xef000067, -1 }, /* swi SYS_sigreturn */
|
||||
{ 0xef000001, -1 }, /* swi SYS_exit */
|
||||
{ 0xeafffffc, -1 }, /* b . - 8 */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0xe28d0010, ULONGEST_MAX }, /* add r0, sp, #16 */
|
||||
{ 0xef000067, ULONGEST_MAX }, /* swi SYS_sigreturn */
|
||||
{ 0xef000001, ULONGEST_MAX }, /* swi SYS_exit */
|
||||
{ 0xeafffffc, ULONGEST_MAX }, /* b . - 8 */
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
armobsd_sigframe_init
|
||||
};
|
||||
|
|
|
@ -121,7 +121,7 @@ static const struct tramp_frame bfin_linux_sigframe =
|
|||
{
|
||||
{ 0x00ADE128, 0xffffffff }, /* P0 = __NR_rt_sigreturn; */
|
||||
{ 0x00A0, 0xffff }, /* EXCPT 0; */
|
||||
{ TRAMP_SENTINEL_INSN, -1 },
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX },
|
||||
},
|
||||
bfin_linux_sigframe_init,
|
||||
};
|
||||
|
|
|
@ -56,7 +56,10 @@ typedef unsigned long long ULONGEST;
|
|||
#endif /* GDBSERVER */
|
||||
|
||||
/* * The largest CORE_ADDR value. */
|
||||
#define CORE_ADDR_MAX (~ (CORE_ADDR) 0)
|
||||
#define CORE_ADDR_MAX (~(CORE_ADDR) 0)
|
||||
|
||||
/* * The largest ULONGEST value. */
|
||||
#define ULONGEST_MAX (~(ULONGEST) 0)
|
||||
|
||||
enum tribool { TRIBOOL_UNKNOWN = -1, TRIBOOL_FALSE = 0, TRIBOOL_TRUE = 1 };
|
||||
|
||||
|
|
|
@ -71,25 +71,25 @@ static const struct tramp_frame hppanbsd_sigtramp_si4 =
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ 0xc7d7c012, -1 }, /* bb,>=,n %arg3, 30, 1f */
|
||||
{ 0xd6e01c1e, -1 }, /* depwi 0,31,2,%arg3 */
|
||||
{ 0x0ee81093, -1 }, /* ldw 4(%arg3), %r19 */
|
||||
{ 0x0ee01097, -1 }, /* ldw 0(%arg3), %arg3 */
|
||||
{ 0xc7d7c012, ULONGEST_MAX }, /* bb,>=,n %arg3, 30, 1f */
|
||||
{ 0xd6e01c1e, ULONGEST_MAX }, /* depwi 0,31,2,%arg3 */
|
||||
{ 0x0ee81093, ULONGEST_MAX }, /* ldw 4(%arg3), %r19 */
|
||||
{ 0x0ee01097, ULONGEST_MAX }, /* ldw 0(%arg3), %arg3 */
|
||||
/* 1: */
|
||||
{ 0xe8404000, -1 }, /* blr %r0, %rp */
|
||||
{ 0xeae0c002, -1 }, /* bv,n %r0(%arg3) */
|
||||
{ 0x08000240, -1 }, /* nop */
|
||||
{ 0xe8404000, ULONGEST_MAX }, /* blr %r0, %rp */
|
||||
{ 0xeae0c002, ULONGEST_MAX }, /* bv,n %r0(%arg3) */
|
||||
{ 0x08000240, ULONGEST_MAX }, /* nop */
|
||||
|
||||
{ 0x0803025a, -1 }, /* copy %r3, %arg0 */
|
||||
{ 0x20200801, -1 }, /* ldil -40000000, %r1 */
|
||||
{ 0xe420e008, -1 }, /* be,l 4(%sr7, %r1), %sr0, %r31 */
|
||||
{ 0x34160268, -1 }, /* ldi 134, %t1 ; SYS_setcontext */
|
||||
{ 0x0803025a, ULONGEST_MAX }, /* copy %r3, %arg0 */
|
||||
{ 0x20200801, ULONGEST_MAX }, /* ldil -40000000, %r1 */
|
||||
{ 0xe420e008, ULONGEST_MAX }, /* be,l 4(%sr7, %r1), %sr0, %r31 */
|
||||
{ 0x34160268, ULONGEST_MAX }, /* ldi 134, %t1 ; SYS_setcontext */
|
||||
|
||||
{ 0x081c025a, -1 }, /* copy ret0, %arg0 */
|
||||
{ 0x20200801, -1 }, /* ldil -40000000, %r1 */
|
||||
{ 0xe420e008, -1 }, /* be,l 4(%sr7, %r1), %sr0, %r31 */
|
||||
{ 0x34160002, -1 }, /* ldi 1, %t1 ; SYS_exit */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0x081c025a, ULONGEST_MAX }, /* copy ret0, %arg0 */
|
||||
{ 0x20200801, ULONGEST_MAX }, /* ldil -40000000, %r1 */
|
||||
{ 0xe420e008, ULONGEST_MAX }, /* be,l 4(%sr7, %r1), %sr0, %r31 */
|
||||
{ 0x34160002, ULONGEST_MAX }, /* ldi 1, %t1 ; SYS_exit */
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
hppanbsd_sigtramp_cache_init
|
||||
};
|
||||
|
|
|
@ -106,19 +106,41 @@ static const struct tramp_frame i386nbsd_sigtramp_sc16 =
|
|||
SIGTRAMP_FRAME,
|
||||
1,
|
||||
{
|
||||
{ 0x8d, -1 }, { 0x44, -1 }, { 0x24, -1 }, { 0x10, -1 },
|
||||
/* leal 0x10(%esp), %eax */
|
||||
{ 0x50, -1 }, /* pushl %eax */
|
||||
{ 0x50, -1 }, /* pushl %eax */
|
||||
{ 0xb8, -1 }, { 0x27, -1 }, {0x01, -1 }, {0x00, -1 }, {0x00, -1 },
|
||||
{ 0x8d, ULONGEST_MAX },
|
||||
{ 0x44, ULONGEST_MAX },
|
||||
{ 0x24, ULONGEST_MAX },
|
||||
{ 0x10, ULONGEST_MAX },
|
||||
|
||||
/* pushl %eax */
|
||||
{ 0x50, ULONGEST_MAX },
|
||||
|
||||
/* pushl %eax */
|
||||
{ 0x50, ULONGEST_MAX },
|
||||
|
||||
/* movl $0x127, %eax # __sigreturn14 */
|
||||
{ 0xcd, -1 }, { 0x80, -1},
|
||||
{ 0xb8, ULONGEST_MAX },
|
||||
{ 0x27, ULONGEST_MAX },
|
||||
{0x01, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
|
||||
/* int $0x80 */
|
||||
{ 0xb8, -1 }, { 0x01, -1 }, {0x00, -1 }, {0x00, -1 }, {0x00, -1 },
|
||||
{ 0xcd, ULONGEST_MAX },
|
||||
{ 0x80, ULONGEST_MAX},
|
||||
|
||||
/* movl $0x1, %eax # exit */
|
||||
{ 0xcd, -1 }, { 0x80, -1},
|
||||
{ 0xb8, ULONGEST_MAX },
|
||||
{ 0x01, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
|
||||
/* int $0x80 */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0xcd, ULONGEST_MAX },
|
||||
{ 0x80, ULONGEST_MAX},
|
||||
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
i386nbsd_sigtramp_cache_init
|
||||
};
|
||||
|
@ -128,21 +150,40 @@ static const struct tramp_frame i386nbsd_sigtramp_sc2 =
|
|||
SIGTRAMP_FRAME,
|
||||
1,
|
||||
{
|
||||
{ 0x8d, -1 }, { 0x44, -1 }, { 0x24, -1 }, { 0x0c, -1 },
|
||||
/* leal 0x0c(%esp), %eax */
|
||||
{ 0x89, -1 }, { 0x44, -1 }, { 0x24, -1 }, { 0x04, -1 },
|
||||
{ 0x8d, ULONGEST_MAX },
|
||||
{ 0x44, ULONGEST_MAX },
|
||||
{ 0x24, ULONGEST_MAX },
|
||||
{ 0x0c, ULONGEST_MAX },
|
||||
/* movl %eax, 0x4(%esp) */
|
||||
{ 0xb8, -1 }, { 0x27, -1 }, {0x01, -1 }, {0x00, -1 }, {0x00, -1 },
|
||||
{ 0x89, ULONGEST_MAX },
|
||||
{ 0x44, ULONGEST_MAX },
|
||||
{ 0x24, ULONGEST_MAX },
|
||||
{ 0x04, ULONGEST_MAX },
|
||||
/* movl $0x127, %eax # __sigreturn14 */
|
||||
{ 0xcd, -1 }, { 0x80, -1},
|
||||
{ 0xb8, ULONGEST_MAX },
|
||||
{ 0x27, ULONGEST_MAX },
|
||||
{0x01, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
/* int $0x80 */
|
||||
{ 0x89, -1 }, { 0x44, -1 }, { 0x24, -1 }, { 0x04, -1 },
|
||||
{ 0xcd, ULONGEST_MAX },
|
||||
{ 0x80, ULONGEST_MAX},
|
||||
/* movl %eax, 0x4(%esp) */
|
||||
{ 0xb8, -1 }, { 0x01, -1 }, {0x00, -1 }, {0x00, -1 }, {0x00, -1 },
|
||||
{ 0x89, ULONGEST_MAX },
|
||||
{ 0x44, ULONGEST_MAX },
|
||||
{ 0x24, ULONGEST_MAX },
|
||||
{ 0x04, ULONGEST_MAX },
|
||||
/* movl $0x1, %eax */
|
||||
{ 0xcd, -1 }, { 0x80, -1},
|
||||
{ 0xb8, ULONGEST_MAX },
|
||||
{ 0x01, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
/* int $0x80 */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0xcd, ULONGEST_MAX },
|
||||
{ 0x80, ULONGEST_MAX},
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
i386nbsd_sigtramp_cache_init
|
||||
};
|
||||
|
@ -152,21 +193,40 @@ static const struct tramp_frame i386nbsd_sigtramp_si2 =
|
|||
SIGTRAMP_FRAME,
|
||||
1,
|
||||
{
|
||||
{ 0x8b, -1 }, { 0x44, -1 }, { 0x24, -1 }, { 0x08, -1 },
|
||||
/* movl 8(%esp),%eax */
|
||||
{ 0x89, -1 }, { 0x44, -1 }, { 0x24, -1 }, { 0x04, -1 },
|
||||
{ 0x8b, ULONGEST_MAX },
|
||||
{ 0x44, ULONGEST_MAX },
|
||||
{ 0x24, ULONGEST_MAX },
|
||||
{ 0x08, ULONGEST_MAX },
|
||||
/* movl %eax, 0x4(%esp) */
|
||||
{ 0xb8, -1 }, { 0x34, -1 }, { 0x01, -1 }, { 0x00, -1 }, { 0x00, -1 },
|
||||
{ 0x89, ULONGEST_MAX },
|
||||
{ 0x44, ULONGEST_MAX },
|
||||
{ 0x24, ULONGEST_MAX },
|
||||
{ 0x04, ULONGEST_MAX },
|
||||
/* movl $0x134, %eax # setcontext */
|
||||
{ 0xcd, -1 }, { 0x80, -1 },
|
||||
{ 0xb8, ULONGEST_MAX },
|
||||
{ 0x34, ULONGEST_MAX },
|
||||
{ 0x01, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
/* int $0x80 */
|
||||
{ 0x89, -1 }, { 0x44, -1 }, { 0x24, -1 }, { 0x04, -1 },
|
||||
{ 0xcd, ULONGEST_MAX },
|
||||
{ 0x80, ULONGEST_MAX },
|
||||
/* movl %eax, 0x4(%esp) */
|
||||
{ 0xb8, -1 }, { 0x01, -1 }, { 0x00, -1 }, { 0x00, -1 }, { 0x00, -1 },
|
||||
{ 0x89, ULONGEST_MAX },
|
||||
{ 0x44, ULONGEST_MAX },
|
||||
{ 0x24, ULONGEST_MAX },
|
||||
{ 0x04, ULONGEST_MAX },
|
||||
/* movl $0x1, %eax */
|
||||
{ 0xcd, -1 }, { 0x80, -1 },
|
||||
{ 0xb8, ULONGEST_MAX },
|
||||
{ 0x01, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
/* int $0x80 */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0xcd, ULONGEST_MAX },
|
||||
{ 0x80, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
i386nbsd_sigtramp_cache_init
|
||||
};
|
||||
|
@ -176,22 +236,43 @@ static const struct tramp_frame i386nbsd_sigtramp_si31 =
|
|||
SIGTRAMP_FRAME,
|
||||
1,
|
||||
{
|
||||
{ 0x8d, -1 }, { 0x84, -1 }, { 0x24, -1 },
|
||||
{ 0x8c, -1 }, { 0x00, -1 }, { 0x00, -1 }, { 0x00, -1 },
|
||||
/* leal 0x8c(%esp), %eax */
|
||||
{ 0x89, -1 }, { 0x44, -1 }, { 0x24, -1 }, { 0x04, -1 },
|
||||
{ 0x8d, ULONGEST_MAX },
|
||||
{ 0x84, ULONGEST_MAX },
|
||||
{ 0x24, ULONGEST_MAX },
|
||||
{ 0x8c, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
/* movl %eax, 0x4(%esp) */
|
||||
{ 0xb8, -1 }, { 0x34, -1 }, { 0x01, -1 }, { 0x00, -1 }, { 0x00, -1 },
|
||||
{ 0x89, ULONGEST_MAX },
|
||||
{ 0x44, ULONGEST_MAX },
|
||||
{ 0x24, ULONGEST_MAX },
|
||||
{ 0x04, ULONGEST_MAX },
|
||||
/* movl $0x134, %eax # setcontext */
|
||||
{ 0xcd, -1 }, { 0x80, -1},
|
||||
{ 0xb8, ULONGEST_MAX },
|
||||
{ 0x34, ULONGEST_MAX },
|
||||
{ 0x01, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
/* int $0x80 */
|
||||
{ 0x89, -1 }, { 0x44, -1 }, { 0x24, -1 }, { 0x04, -1 },
|
||||
{ 0xcd, ULONGEST_MAX },
|
||||
{ 0x80, ULONGEST_MAX},
|
||||
/* movl %eax, 0x4(%esp) */
|
||||
{ 0xb8, -1 }, { 0x01, -1 }, {0x00, -1 }, {0x00, -1 }, {0x00, -1 },
|
||||
{ 0x89, ULONGEST_MAX },
|
||||
{ 0x44, ULONGEST_MAX },
|
||||
{ 0x24, ULONGEST_MAX },
|
||||
{ 0x04, ULONGEST_MAX },
|
||||
/* movl $0x1, %eax */
|
||||
{ 0xcd, -1 }, { 0x80, -1},
|
||||
{ 0xb8, ULONGEST_MAX },
|
||||
{ 0x01, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
/* int $0x80 */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0xcd, ULONGEST_MAX },
|
||||
{ 0x80, ULONGEST_MAX},
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
i386nbsd_sigtramp_cache_init
|
||||
};
|
||||
|
@ -201,23 +282,47 @@ static const struct tramp_frame i386nbsd_sigtramp_si4 =
|
|||
SIGTRAMP_FRAME,
|
||||
1,
|
||||
{
|
||||
{ 0x8d, -1 }, { 0x84, -1 }, { 0x24, -1 },
|
||||
{ 0x8c, -1 }, { 0x00, -1 }, { 0x00, -1 }, { 0x00, -1 },
|
||||
/* leal 0x8c(%esp), %eax */
|
||||
{ 0x89, -1 }, { 0x44, -1 }, { 0x24, -1 }, { 0x04, -1 },
|
||||
{ 0x8d, ULONGEST_MAX },
|
||||
{ 0x84, ULONGEST_MAX },
|
||||
{ 0x24, ULONGEST_MAX },
|
||||
{ 0x8c, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
/* movl %eax, 0x4(%esp) */
|
||||
{ 0xb8, -1 }, { 0x34, -1 }, { 0x01, -1 }, { 0x00, -1 }, { 0x00, -1 },
|
||||
{ 0x89, ULONGEST_MAX },
|
||||
{ 0x44, ULONGEST_MAX },
|
||||
{ 0x24, ULONGEST_MAX },
|
||||
{ 0x04, ULONGEST_MAX },
|
||||
/* movl $0x134, %eax # setcontext */
|
||||
{ 0xcd, -1 }, { 0x80, -1},
|
||||
{ 0xb8, ULONGEST_MAX },
|
||||
{ 0x34, ULONGEST_MAX },
|
||||
{ 0x01, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
/* int $0x80 */
|
||||
{ 0xc7, -1 }, { 0x44, -1 }, { 0x24, -1 }, { 0x04, -1 },
|
||||
{ 0xff, -1 }, { 0xff, -1 }, { 0xff, -1 }, { 0xff, -1 },
|
||||
{ 0xcd, ULONGEST_MAX },
|
||||
{ 0x80, ULONGEST_MAX},
|
||||
/* movl $0xffffffff,0x4(%esp) */
|
||||
{ 0xb8, -1 }, { 0x01, -1 }, {0x00, -1 }, {0x00, -1 }, {0x00, -1 },
|
||||
{ 0xc7, ULONGEST_MAX },
|
||||
{ 0x44, ULONGEST_MAX },
|
||||
{ 0x24, ULONGEST_MAX },
|
||||
{ 0x04, ULONGEST_MAX },
|
||||
{ 0xff, ULONGEST_MAX },
|
||||
{ 0xff, ULONGEST_MAX },
|
||||
{ 0xff, ULONGEST_MAX },
|
||||
{ 0xff, ULONGEST_MAX },
|
||||
/* movl $0x1, %eax */
|
||||
{ 0xcd, -1 }, { 0x80, -1},
|
||||
{ 0xb8, ULONGEST_MAX },
|
||||
{ 0x01, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
{0x00, ULONGEST_MAX },
|
||||
/* int $0x80 */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0xcd, ULONGEST_MAX },
|
||||
{ 0x80, ULONGEST_MAX},
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
i386nbsd_sigtramp_cache_init
|
||||
};
|
||||
|
|
|
@ -105,8 +105,8 @@ static struct tramp_frame microblaze_linux_sighandler_tramp_frame =
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ 0x31800077, -1 }, /* addik R12,R0,119. */
|
||||
{ 0xb9cc0008, -1 }, /* brki R14,8. */
|
||||
{ 0x31800077, ULONGEST_MAX }, /* addik R12,R0,119. */
|
||||
{ 0xb9cc0008, ULONGEST_MAX }, /* brki R14,8. */
|
||||
{ TRAMP_SENTINEL_INSN },
|
||||
},
|
||||
microblaze_linux_sighandler_cache_init
|
||||
|
|
|
@ -342,11 +342,11 @@ static const struct tramp_frame mips_fbsd_sigframe =
|
|||
SIGTRAMP_FRAME,
|
||||
MIPS_INSN32_SIZE,
|
||||
{
|
||||
{ MIPS_INST_ADDIU_A0_SP_O32, -1 }, /* addiu a0, sp, SIGF_UC */
|
||||
{ MIPS_INST_LI_V0_SIGRETURN, -1 }, /* li v0, SYS_sigreturn */
|
||||
{ MIPS_INST_SYSCALL, -1 }, /* syscall */
|
||||
{ MIPS_INST_BREAK, -1 }, /* break */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ MIPS_INST_ADDIU_A0_SP_O32, ULONGEST_MAX }, /* addiu a0, sp, SIGF_UC */
|
||||
{ MIPS_INST_LI_V0_SIGRETURN, ULONGEST_MAX }, /* li v0, SYS_sigreturn */
|
||||
{ MIPS_INST_SYSCALL, ULONGEST_MAX }, /* syscall */
|
||||
{ MIPS_INST_BREAK, ULONGEST_MAX }, /* break */
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
mips_fbsd_sigframe_init
|
||||
};
|
||||
|
@ -434,11 +434,11 @@ static const struct tramp_frame mipsn32_fbsd_sigframe =
|
|||
SIGTRAMP_FRAME,
|
||||
MIPS_INSN32_SIZE,
|
||||
{
|
||||
{ MIPS_INST_ADDIU_A0_SP_N32, -1 }, /* addiu a0, sp, SIGF_UC */
|
||||
{ MIPS_INST_LI_V0_SIGRETURN, -1 }, /* li v0, SYS_sigreturn */
|
||||
{ MIPS_INST_SYSCALL, -1 }, /* syscall */
|
||||
{ MIPS_INST_BREAK, -1 }, /* break */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ MIPS_INST_ADDIU_A0_SP_N32, ULONGEST_MAX }, /* addiu a0, sp, SIGF_UC */
|
||||
{ MIPS_INST_LI_V0_SIGRETURN, ULONGEST_MAX }, /* li v0, SYS_sigreturn */
|
||||
{ MIPS_INST_SYSCALL, ULONGEST_MAX }, /* syscall */
|
||||
{ MIPS_INST_BREAK, ULONGEST_MAX }, /* break */
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
mips64_fbsd_sigframe_init
|
||||
};
|
||||
|
@ -451,11 +451,11 @@ static const struct tramp_frame mips64_fbsd_sigframe =
|
|||
SIGTRAMP_FRAME,
|
||||
MIPS_INSN32_SIZE,
|
||||
{
|
||||
{ MIPS_INST_DADDIU_A0_SP_N64, -1 }, /* daddiu a0, sp, SIGF_UC */
|
||||
{ MIPS_INST_LI_V0_SIGRETURN, -1 }, /* li v0, SYS_sigreturn */
|
||||
{ MIPS_INST_SYSCALL, -1 }, /* syscall */
|
||||
{ MIPS_INST_BREAK, -1 }, /* break */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ MIPS_INST_DADDIU_A0_SP_N64, ULONGEST_MAX }, /* daddiu a0, sp, SIGF_UC */
|
||||
{ MIPS_INST_LI_V0_SIGRETURN, ULONGEST_MAX }, /* li v0, SYS_sigreturn */
|
||||
{ MIPS_INST_SYSCALL, ULONGEST_MAX }, /* syscall */
|
||||
{ MIPS_INST_BREAK, ULONGEST_MAX }, /* break */
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
mips64_fbsd_sigframe_init
|
||||
};
|
||||
|
|
|
@ -755,9 +755,9 @@ static const struct tramp_frame mips_linux_o32_sigframe = {
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ MIPS_INST_LI_V0_SIGRETURN, -1 },
|
||||
{ MIPS_INST_SYSCALL, -1 },
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ MIPS_INST_LI_V0_SIGRETURN, ULONGEST_MAX },
|
||||
{ MIPS_INST_SYSCALL, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
mips_linux_o32_sigframe_init,
|
||||
mips_linux_sigframe_validate
|
||||
|
@ -767,9 +767,9 @@ static const struct tramp_frame mips_linux_o32_rt_sigframe = {
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ MIPS_INST_LI_V0_RT_SIGRETURN, -1 },
|
||||
{ MIPS_INST_SYSCALL, -1 },
|
||||
{ TRAMP_SENTINEL_INSN, -1 } },
|
||||
{ MIPS_INST_LI_V0_RT_SIGRETURN, ULONGEST_MAX },
|
||||
{ MIPS_INST_SYSCALL, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX } },
|
||||
mips_linux_o32_sigframe_init,
|
||||
mips_linux_sigframe_validate
|
||||
};
|
||||
|
@ -778,9 +778,9 @@ static const struct tramp_frame mips_linux_n32_rt_sigframe = {
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ MIPS_INST_LI_V0_N32_RT_SIGRETURN, -1 },
|
||||
{ MIPS_INST_SYSCALL, -1 },
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ MIPS_INST_LI_V0_N32_RT_SIGRETURN, ULONGEST_MAX },
|
||||
{ MIPS_INST_SYSCALL, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
mips_linux_n32n64_sigframe_init,
|
||||
mips_linux_sigframe_validate
|
||||
|
@ -790,9 +790,9 @@ static const struct tramp_frame mips_linux_n64_rt_sigframe = {
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ MIPS_INST_LI_V0_N64_RT_SIGRETURN, -1 },
|
||||
{ MIPS_INST_SYSCALL, -1 },
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ MIPS_INST_LI_V0_N64_RT_SIGRETURN, ULONGEST_MAX },
|
||||
{ MIPS_INST_SYSCALL, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
mips_linux_n32n64_sigframe_init,
|
||||
mips_linux_sigframe_validate
|
||||
|
@ -802,11 +802,11 @@ static const struct tramp_frame micromips_linux_o32_sigframe = {
|
|||
SIGTRAMP_FRAME,
|
||||
2,
|
||||
{
|
||||
{ MICROMIPS_INST_LI_V0, -1 },
|
||||
{ MIPS_NR_sigreturn, -1 },
|
||||
{ MICROMIPS_INST_POOL32A, -1 },
|
||||
{ MICROMIPS_INST_SYSCALL, -1 },
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ MICROMIPS_INST_LI_V0, ULONGEST_MAX },
|
||||
{ MIPS_NR_sigreturn, ULONGEST_MAX },
|
||||
{ MICROMIPS_INST_POOL32A, ULONGEST_MAX },
|
||||
{ MICROMIPS_INST_SYSCALL, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
mips_linux_o32_sigframe_init,
|
||||
micromips_linux_sigframe_validate
|
||||
|
@ -816,11 +816,11 @@ static const struct tramp_frame micromips_linux_o32_rt_sigframe = {
|
|||
SIGTRAMP_FRAME,
|
||||
2,
|
||||
{
|
||||
{ MICROMIPS_INST_LI_V0, -1 },
|
||||
{ MIPS_NR_rt_sigreturn, -1 },
|
||||
{ MICROMIPS_INST_POOL32A, -1 },
|
||||
{ MICROMIPS_INST_SYSCALL, -1 },
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ MICROMIPS_INST_LI_V0, ULONGEST_MAX },
|
||||
{ MIPS_NR_rt_sigreturn, ULONGEST_MAX },
|
||||
{ MICROMIPS_INST_POOL32A, ULONGEST_MAX },
|
||||
{ MICROMIPS_INST_SYSCALL, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
mips_linux_o32_sigframe_init,
|
||||
micromips_linux_sigframe_validate
|
||||
|
@ -830,11 +830,11 @@ static const struct tramp_frame micromips_linux_n32_rt_sigframe = {
|
|||
SIGTRAMP_FRAME,
|
||||
2,
|
||||
{
|
||||
{ MICROMIPS_INST_LI_V0, -1 },
|
||||
{ MIPS_NR_N32_rt_sigreturn, -1 },
|
||||
{ MICROMIPS_INST_POOL32A, -1 },
|
||||
{ MICROMIPS_INST_SYSCALL, -1 },
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ MICROMIPS_INST_LI_V0, ULONGEST_MAX },
|
||||
{ MIPS_NR_N32_rt_sigreturn, ULONGEST_MAX },
|
||||
{ MICROMIPS_INST_POOL32A, ULONGEST_MAX },
|
||||
{ MICROMIPS_INST_SYSCALL, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
mips_linux_n32n64_sigframe_init,
|
||||
micromips_linux_sigframe_validate
|
||||
|
@ -844,11 +844,11 @@ static const struct tramp_frame micromips_linux_n64_rt_sigframe = {
|
|||
SIGTRAMP_FRAME,
|
||||
2,
|
||||
{
|
||||
{ MICROMIPS_INST_LI_V0, -1 },
|
||||
{ MIPS_NR_N64_rt_sigreturn, -1 },
|
||||
{ MICROMIPS_INST_POOL32A, -1 },
|
||||
{ MICROMIPS_INST_SYSCALL, -1 },
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ MICROMIPS_INST_LI_V0, ULONGEST_MAX },
|
||||
{ MIPS_NR_N64_rt_sigreturn, ULONGEST_MAX },
|
||||
{ MICROMIPS_INST_POOL32A, ULONGEST_MAX },
|
||||
{ MICROMIPS_INST_SYSCALL, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
mips_linux_n32n64_sigframe_init,
|
||||
micromips_linux_sigframe_validate
|
||||
|
|
|
@ -128,11 +128,11 @@ static const struct tramp_frame mips64obsd_sigframe =
|
|||
SIGTRAMP_FRAME,
|
||||
MIPS_INSN32_SIZE,
|
||||
{
|
||||
{ 0x67a40020, -1 }, /* daddiu a0,sp,32 */
|
||||
{ 0x24020067, -1 }, /* li v0,103 */
|
||||
{ 0x0000000c, -1 }, /* syscall */
|
||||
{ 0x0000000d, -1 }, /* break */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0x67a40020, ULONGEST_MAX }, /* daddiu a0,sp,32 */
|
||||
{ 0x24020067, ULONGEST_MAX }, /* li v0,103 */
|
||||
{ 0x0000000c, ULONGEST_MAX }, /* syscall */
|
||||
{ 0x0000000d, ULONGEST_MAX }, /* break */
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
mips64obsd_sigframe_init
|
||||
};
|
||||
|
|
|
@ -472,13 +472,13 @@ static const struct tramp_frame am33_linux_sigframe = {
|
|||
1,
|
||||
{
|
||||
/* mov 119,d0 */
|
||||
{ 0x2c, -1 },
|
||||
{ 0x77, -1 },
|
||||
{ 0x00, -1 },
|
||||
{ 0x2c, ULONGEST_MAX },
|
||||
{ 0x77, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
/* syscall 0 */
|
||||
{ 0xf0, -1 },
|
||||
{ 0xe0, -1 },
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0xf0, ULONGEST_MAX },
|
||||
{ 0xe0, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
am33_linux_sigframe_cache_init
|
||||
};
|
||||
|
@ -488,13 +488,13 @@ static const struct tramp_frame am33_linux_rt_sigframe = {
|
|||
1,
|
||||
{
|
||||
/* mov 173,d0 */
|
||||
{ 0x2c, -1 },
|
||||
{ 0xad, -1 },
|
||||
{ 0x00, -1 },
|
||||
{ 0x2c, ULONGEST_MAX },
|
||||
{ 0xad, ULONGEST_MAX },
|
||||
{ 0x00, ULONGEST_MAX },
|
||||
/* syscall 0 */
|
||||
{ 0xf0, -1 },
|
||||
{ 0xe0, -1 },
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0xf0, ULONGEST_MAX },
|
||||
{ 0xe0, ULONGEST_MAX },
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
am33_linux_sigframe_cache_init
|
||||
};
|
||||
|
|
|
@ -163,8 +163,8 @@ static struct tramp_frame nios2_r1_linux_rt_sigreturn_tramp_frame =
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ MATCH_R1_MOVI | SET_IW_I_B (2) | SET_IW_I_IMM16 (139), -1 },
|
||||
{ MATCH_R1_TRAP | SET_IW_R_IMM5 (0), -1},
|
||||
{ MATCH_R1_MOVI | SET_IW_I_B (2) | SET_IW_I_IMM16 (139), ULONGEST_MAX },
|
||||
{ MATCH_R1_TRAP | SET_IW_R_IMM5 (0), ULONGEST_MAX},
|
||||
{ TRAMP_SENTINEL_INSN }
|
||||
},
|
||||
nios2_linux_rt_sigreturn_init
|
||||
|
@ -175,8 +175,8 @@ static struct tramp_frame nios2_r2_linux_rt_sigreturn_tramp_frame =
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ MATCH_R2_MOVI | SET_IW_F2I16_B (2) | SET_IW_F2I16_IMM16 (139), -1 },
|
||||
{ MATCH_R2_TRAP | SET_IW_X2L5_IMM5 (0), -1},
|
||||
{ MATCH_R2_MOVI | SET_IW_F2I16_B (2) | SET_IW_F2I16_IMM16 (139), ULONGEST_MAX },
|
||||
{ MATCH_R2_TRAP | SET_IW_X2L5_IMM5 (0), ULONGEST_MAX},
|
||||
{ TRAMP_SENTINEL_INSN }
|
||||
},
|
||||
nios2_linux_rt_sigreturn_init
|
||||
|
|
|
@ -746,8 +746,8 @@ static struct tramp_frame ppc32_linux_sigaction_tramp_frame = {
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ 0x380000ac, -1 }, /* li r0, 172 */
|
||||
{ 0x44000002, -1 }, /* sc */
|
||||
{ 0x380000ac, ULONGEST_MAX }, /* li r0, 172 */
|
||||
{ 0x44000002, ULONGEST_MAX }, /* sc */
|
||||
{ TRAMP_SENTINEL_INSN },
|
||||
},
|
||||
ppc32_linux_sigaction_cache_init
|
||||
|
@ -756,9 +756,9 @@ static struct tramp_frame ppc64_linux_sigaction_tramp_frame = {
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ 0x38210080, -1 }, /* addi r1,r1,128 */
|
||||
{ 0x380000ac, -1 }, /* li r0, 172 */
|
||||
{ 0x44000002, -1 }, /* sc */
|
||||
{ 0x38210080, ULONGEST_MAX }, /* addi r1,r1,128 */
|
||||
{ 0x380000ac, ULONGEST_MAX }, /* li r0, 172 */
|
||||
{ 0x44000002, ULONGEST_MAX }, /* sc */
|
||||
{ TRAMP_SENTINEL_INSN },
|
||||
},
|
||||
ppc64_linux_sigaction_cache_init
|
||||
|
@ -767,8 +767,8 @@ static struct tramp_frame ppc32_linux_sighandler_tramp_frame = {
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ 0x38000077, -1 }, /* li r0,119 */
|
||||
{ 0x44000002, -1 }, /* sc */
|
||||
{ 0x38000077, ULONGEST_MAX }, /* li r0,119 */
|
||||
{ 0x44000002, ULONGEST_MAX }, /* sc */
|
||||
{ TRAMP_SENTINEL_INSN },
|
||||
},
|
||||
ppc32_linux_sighandler_cache_init
|
||||
|
@ -777,9 +777,9 @@ static struct tramp_frame ppc64_linux_sighandler_tramp_frame = {
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ 0x38210080, -1 }, /* addi r1,r1,128 */
|
||||
{ 0x38000077, -1 }, /* li r0,119 */
|
||||
{ 0x44000002, -1 }, /* sc */
|
||||
{ 0x38210080, ULONGEST_MAX }, /* addi r1,r1,128 */
|
||||
{ 0x38000077, ULONGEST_MAX }, /* li r0,119 */
|
||||
{ 0x44000002, ULONGEST_MAX }, /* sc */
|
||||
{ TRAMP_SENTINEL_INSN },
|
||||
},
|
||||
ppc64_linux_sighandler_cache_init
|
||||
|
|
|
@ -137,14 +137,14 @@ static const struct tramp_frame ppcnbsd_sigtramp =
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ 0x3821fff0, -1 }, /* add r1,r1,-16 */
|
||||
{ 0x4e800021, -1 }, /* blrl */
|
||||
{ 0x38610018, -1 }, /* addi r3,r1,24 */
|
||||
{ 0x38000127, -1 }, /* li r0,295 */
|
||||
{ 0x44000002, -1 }, /* sc */
|
||||
{ 0x38000001, -1 }, /* li r0,1 */
|
||||
{ 0x44000002, -1 }, /* sc */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0x3821fff0, ULONGEST_MAX }, /* add r1,r1,-16 */
|
||||
{ 0x4e800021, ULONGEST_MAX }, /* blrl */
|
||||
{ 0x38610018, ULONGEST_MAX }, /* addi r3,r1,24 */
|
||||
{ 0x38000127, ULONGEST_MAX }, /* li r0,295 */
|
||||
{ 0x44000002, ULONGEST_MAX }, /* sc */
|
||||
{ 0x38000001, ULONGEST_MAX }, /* li r0,1 */
|
||||
{ 0x44000002, ULONGEST_MAX }, /* sc */
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
ppcnbsd_sigtramp_cache_init
|
||||
};
|
||||
|
@ -156,14 +156,14 @@ const struct tramp_frame ppcnbsd2_sigtramp =
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ 0x3821fff0, -1 }, /* add r1,r1,-16 */
|
||||
{ 0x4e800021, -1 }, /* blrl */
|
||||
{ 0x38610010, -1 }, /* addi r3,r1,16 */
|
||||
{ 0x38000127, -1 }, /* li r0,295 */
|
||||
{ 0x44000002, -1 }, /* sc */
|
||||
{ 0x38000001, -1 }, /* li r0,1 */
|
||||
{ 0x44000002, -1 }, /* sc */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0x3821fff0, ULONGEST_MAX }, /* add r1,r1,-16 */
|
||||
{ 0x4e800021, ULONGEST_MAX }, /* blrl */
|
||||
{ 0x38610010, ULONGEST_MAX }, /* addi r3,r1,16 */
|
||||
{ 0x38000127, ULONGEST_MAX }, /* li r0,295 */
|
||||
{ 0x44000002, ULONGEST_MAX }, /* sc */
|
||||
{ 0x38000001, ULONGEST_MAX }, /* li r0,1 */
|
||||
{ 0x44000002, ULONGEST_MAX }, /* sc */
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
ppcnbsd_sigtramp_cache_init
|
||||
};
|
||||
|
|
|
@ -68,9 +68,9 @@ static const struct tramp_frame sparc32_linux_sigframe =
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ 0x821020d8, -1 }, /* mov __NR_sugreturn, %g1 */
|
||||
{ 0x91d02010, -1 }, /* ta 0x10 */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0x821020d8, ULONGEST_MAX }, /* mov __NR_sugreturn, %g1 */
|
||||
{ 0x91d02010, ULONGEST_MAX }, /* ta 0x10 */
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
sparc32_linux_sigframe_init
|
||||
};
|
||||
|
@ -83,9 +83,9 @@ static const struct tramp_frame sparc32_linux_rt_sigframe =
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ 0x82102065, -1 }, /* mov __NR_rt_sigreturn, %g1 */
|
||||
{ 0x91d02010, -1 }, /* ta 0x10 */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0x82102065, ULONGEST_MAX }, /* mov __NR_rt_sigreturn, %g1 */
|
||||
{ 0x91d02010, ULONGEST_MAX }, /* ta 0x10 */
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
sparc32_linux_sigframe_init
|
||||
};
|
||||
|
|
|
@ -64,9 +64,9 @@ static const struct tramp_frame sparc64_linux_rt_sigframe =
|
|||
SIGTRAMP_FRAME,
|
||||
4,
|
||||
{
|
||||
{ 0x82102065, -1 }, /* mov __NR_rt_sigreturn, %g1 */
|
||||
{ 0x91d0206d, -1 }, /* ta 0x6d */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0x82102065, ULONGEST_MAX }, /* mov __NR_rt_sigreturn, %g1 */
|
||||
{ 0x91d0206d, ULONGEST_MAX }, /* ta 0x6d */
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
sparc64_linux_sigframe_init
|
||||
};
|
||||
|
|
|
@ -137,7 +137,7 @@ static struct tramp_frame tic6x_linux_rt_sigreturn_tramp_frame =
|
|||
4,
|
||||
{
|
||||
{0x000045aa, 0x0fffffff}, /* mvk .S2 139,b0 */
|
||||
{0x10000000, -1}, /* swe */
|
||||
{0x10000000, ULONGEST_MAX}, /* swe */
|
||||
{TRAMP_SENTINEL_INSN}
|
||||
},
|
||||
tic6x_linux_rt_sigreturn_init
|
||||
|
|
|
@ -65,9 +65,9 @@ static const struct tramp_frame tilegx_linux_rt_sigframe =
|
|||
SIGTRAMP_FRAME,
|
||||
8,
|
||||
{
|
||||
{ 0x00045fe551483000ULL, -1 }, /* { moveli r10, 139 } */
|
||||
{ 0x286b180051485000ULL, -1 }, /* { swint1 } */
|
||||
{ TRAMP_SENTINEL_INSN, -1 }
|
||||
{ 0x00045fe551483000ULL, ULONGEST_MAX }, /* { moveli r10, 139 } */
|
||||
{ 0x286b180051485000ULL, ULONGEST_MAX }, /* { swint1 } */
|
||||
{ TRAMP_SENTINEL_INSN, ULONGEST_MAX }
|
||||
},
|
||||
tilegx_linux_sigframe_init
|
||||
};
|
||||
|
|
|
@ -41,7 +41,7 @@ struct trad_frame_cache;
|
|||
|
||||
/* Magic instruction that to mark the end of the signal trampoline
|
||||
instruction sequence. */
|
||||
#define TRAMP_SENTINEL_INSN ((LONGEST) -1)
|
||||
#define TRAMP_SENTINEL_INSN ULONGEST_MAX
|
||||
|
||||
struct tramp_frame
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue