This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Update s390/bits/siginfo.h
- From: Edjunior Barbosa Machado <emachado at linux dot vnet dot ibm dot com>
- To: libc-alpha at sourceware dot org
- Cc: naveen dot n dot rao at linux dot vnet dot ibm dot com
- Date: Tue, 14 May 2013 15:33:57 -0300
- Subject: Re: [PATCH] Update s390/bits/siginfo.h
- References: <1367902061-469-1-git-send-email-emachado at linux dot vnet dot ibm dot com>
ping.
On 05/07/2013 01:47 AM, Edjunior Barbosa Machado wrote:
> In the generic kernel header <asm-generic/siginfo.h> included by
> arch/s390/include/uapi/asm/siginfo.h, _sigfault has an optional field int
> _trapno that is included #ifdef __ARCH_SI_TRAPNO. In linux 3.9.
> __ARCH_SI_TRAPNO is defined only for sparc, tile and alpha.
>
> This patch removes si_trapno field and adds si_addr_lsb and new SIGBUS error
> codes related to hwpoison signal.
>
> Ok? Comments?
> --
> Edjunior
>
> ChangeLog:
> 2013-05-07 Edjunior Machado <emachado@linux.vnet.ibm.com>
>
> * sysdeps/unix/sysv/linux/s390/bits/siginfo.h (_sigfault): Remove
> si_trapno. Add si_addr_lsb.
> (si_trapno): Remove macro.
> (si_addr_lsb): Define new macro.
> (BUS_MCEERR_AR, BUS_MCEERR_AO): Define new values.
>
> ---
> sysdeps/unix/sysv/linux/s390/bits/siginfo.h | 10 +++++++---
> 1 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/sysdeps/unix/sysv/linux/s390/bits/siginfo.h b/sysdeps/unix/sysv/linux/s390/bits/siginfo.h
> index ad12208..17f8847 100644
> --- a/sysdeps/unix/sysv/linux/s390/bits/siginfo.h
> +++ b/sysdeps/unix/sysv/linux/s390/bits/siginfo.h
> @@ -95,7 +95,7 @@ typedef struct
> struct
> {
> void *si_addr; /* Faulting insn/memory ref. */
> - int si_trapno;
> + short si_addr_lsb; /* Valid LSB of the reported address */
> } _sigfault;
>
> /* SIGPOLL. */
> @@ -128,7 +128,7 @@ typedef struct
> # define si_int _sifields._rt.si_sigval.sival_int
> # define si_ptr _sifields._rt.si_sigval.sival_ptr
> # define si_addr _sifields._sigfault.si_addr
> -# define si_trapno _sifields._sigfault.si_trapno
> +# define si_addr_lsb _sifields._sigfault.si_addr_lsb
> # define si_band _sifields._sigpoll.si_band
> # define si_fd _sifields._sigpoll.si_fd
> # define si_call_addr _sifields._sigsys._call_addr
> @@ -219,8 +219,12 @@ enum
> # define BUS_ADRALN BUS_ADRALN
> BUS_ADRERR, /* Non-existant physical address. */
> # define BUS_ADRERR BUS_ADRERR
> - BUS_OBJERR /* Object specific hardware error. */
> + BUS_OBJERR, /* Object specific hardware error. */
> # define BUS_OBJERR BUS_OBJERR
> + BUS_MCEERR_AR, /* Hardware memory error: action required */
> +# define BUS_MCEERR_AR BUS_MCEERR_AR
> + BUS_MCEERR_AO /* Hardware memory error: action optional */
> +# define BUS_MCEERR_AO BUS_MCEERR_AO
> };
>
> /* `si_code' values for SIGTRAP signal. */
>
--
Edjunior