From: Daniel Jacobowitz Date: Wed, 5 Jul 2006 16:58:01 +0000 (+0000) Subject: * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Include X-Git-Tag: glibc-2.16-ports-before-merge~848 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7a11d626a73689f554fd315987e989e4725538ec;p=thirdparty%2Fglibc.git * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Include . (NGREG, mcontext_t, struct ucontext): Update to match the kernel. --- diff --git a/ChangeLog.arm b/ChangeLog.arm index d8ba24758de..7e0d19c89d8 100644 --- a/ChangeLog.arm +++ b/ChangeLog.arm @@ -1,3 +1,9 @@ +2006-07-05 Daniel Jacobowitz + + * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Include + . + (NGREG, mcontext_t, struct ucontext): Update to match the kernel. + 2006-07-05 Daniel Jacobowitz * sysdeps/arm/dl-machine.h (elf_machine_dynamic): Correct GOT access to diff --git a/sysdeps/unix/sysv/linux/arm/sys/ucontext.h b/sysdeps/unix/sysv/linux/arm/sys/ucontext.h index 6d6c8e39904..9ecff7b5959 100644 --- a/sysdeps/unix/sysv/linux/arm/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/arm/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1998, 1999, 2001, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -25,10 +25,14 @@ #include #include +/* We need the signal context definitions even if they are not used + included in . */ +#include + typedef int greg_t; /* Number of general registers. */ -#define NGREG 16 +#define NGREG 18 /* Container for all general registers. */ typedef elf_gregset_t gregset_t; @@ -73,22 +77,21 @@ enum /* Structure to describe FPU registers. */ typedef elf_fpregset_t fpregset_t; -/* Context to describe whole processor state. */ -typedef struct - { - gregset_t gregs; - fpregset_t fpregs; - } mcontext_t; +/* Context to describe whole processor state. This only describes + the core registers; coprocessor registers get saved elsewhere + (e.g. in uc_regspace, or somewhere unspecified on the stack + during non-RT signal handlers). */ +typedef struct sigcontext mcontext_t; /* Userlevel context. */ typedef struct ucontext { - unsigned long int uc_flags; + unsigned long uc_flags; struct ucontext *uc_link; - __sigset_t uc_sigmask; stack_t uc_stack; mcontext_t uc_mcontext; - long int uc_filler[5]; + __sigset_t uc_sigmask; + unsigned long uc_regspace[128] __attribute__((__aligned__(8))); } ucontext_t; #endif /* sys/ucontext.h */