mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-03 00:10:10 +00:00
Move definition of sigcontext union to bits/armsigctx.h.
This commit is contained in:
parent
a8d236a8b7
commit
7817d752ae
@ -19,51 +19,13 @@
|
||||
|
||||
#include <signal.h>
|
||||
#include <asm/ptrace.h>
|
||||
|
||||
union k_sigcontext
|
||||
{
|
||||
struct
|
||||
{
|
||||
unsigned long int trap_no;
|
||||
unsigned long int error_code;
|
||||
unsigned long int oldmask;
|
||||
unsigned long int arm_r0;
|
||||
unsigned long int arm_r1;
|
||||
unsigned long int arm_r2;
|
||||
unsigned long int arm_r3;
|
||||
unsigned long int arm_r4;
|
||||
unsigned long int arm_r5;
|
||||
unsigned long int arm_r6;
|
||||
unsigned long int arm_r7;
|
||||
unsigned long int arm_r8;
|
||||
unsigned long int arm_r9;
|
||||
unsigned long int arm_r10;
|
||||
unsigned long int arm_fp;
|
||||
unsigned long int arm_ip;
|
||||
unsigned long int arm_sp;
|
||||
unsigned long int arm_lr;
|
||||
unsigned long int arm_pc;
|
||||
unsigned long int arm_cpsr;
|
||||
} v21;
|
||||
struct
|
||||
{
|
||||
unsigned long int magic;
|
||||
struct pt_regs reg;
|
||||
unsigned long int trap_no;
|
||||
unsigned long int error_code;
|
||||
unsigned long int oldmask;
|
||||
} v20;
|
||||
};
|
||||
#include <bits/armsigctx.h>
|
||||
|
||||
void
|
||||
profil_counter (int signo, int _a2, int _a3, int _a4, union k_sigcontext sc)
|
||||
{
|
||||
/* The format of struct sigcontext changed between 2.0 and 2.1 kernels.
|
||||
Fortunately 2.0 puts a magic number in the first word and this is not
|
||||
a legal value for `trap_no', so we can tell them apart. */
|
||||
|
||||
void *pc;
|
||||
if (sc.v20.magic == 0x4B534154)
|
||||
if (sc.v20.magic == SIGCONTEXT_2_0_MAGIC)
|
||||
pc = (void *) sc.v20.reg.ARM_pc;
|
||||
else
|
||||
pc = (void *) sc.v21.arm_pc;
|
||||
|
Loading…
Reference in New Issue
Block a user