From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27025 invoked by alias); 18 May 2013 07:17:37 -0000 Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org Received: (qmail 26994 invoked by uid 89); 18 May 2013 07:17:33 -0000 X-Spam-SWARE-Status: No, score=-4.9 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RP_MATCHES_RCVD,TW_HW autolearn=ham version=3.3.1 Received: from e24smtp02.br.ibm.com (HELO e24smtp02.br.ibm.com) (32.104.18.86) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Sat, 18 May 2013 07:17:32 +0000 Received: from /spool/local by e24smtp02.br.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Sat, 18 May 2013 04:17:29 -0300 Received: from d24dlp02.br.ibm.com (9.18.248.206) by e24smtp02.br.ibm.com (10.172.0.142) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Sat, 18 May 2013 04:17:27 -0300 Received: from d24relay03.br.ibm.com (d24relay03.br.ibm.com [9.13.184.25]) by d24dlp02.br.ibm.com (Postfix) with ESMTP id D91431DC0066; Sat, 18 May 2013 03:17:25 -0400 (EDT) Received: from d24av04.br.ibm.com (d24av04.br.ibm.com [9.8.31.97]) by d24relay03.br.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r4I7GPxr46792884; Sat, 18 May 2013 04:16:25 -0300 Received: from d24av04.br.ibm.com (localhost [127.0.0.1]) by d24av04.br.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id r4I7HPTn031904; Sat, 18 May 2013 04:17:25 -0300 Received: from grandaddy.ibm.com ([9.8.15.190]) by d24av04.br.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id r4I7HJq1031787; Sat, 18 May 2013 04:17:20 -0300 From: Edjunior Barbosa Machado To: roland@hack.frob.com Cc: carlos@redhat.com, aj@suse.com, libc-alpha@sourceware.org, libc-ports@sourceware.org, naveen.n.rao@linux.vnet.ibm.com Subject: Re: [PATCH] Update bits/siginfo.h with Linux hwpoison SIGBUS changes Date: Sat, 18 May 2013 07:17:00 -0000 Message-Id: <1368861416-26412-1-git-send-email-emachado@linux.vnet.ibm.com> In-Reply-To: <20130517004347.B2CD02C086@topped-with-meat.com> X-TM-AS-MML: No X-Content-Scanned: Fidelis XPS MAILER x-cbid: 13051807-2194-0000-0000-00000570A67B X-SW-Source: 2013-05/txt/msg00086.txt.bz2 On 05/16/2013 09:43 PM, Roland McGrath wrote: > Always write 'short int', never just 'short'. Otherwise these seem fine to > me (assuming they match the new kernel definitions). > > The ports changes technically need pro forma sign-off from four > maintainers. But I think it's good enough if you've triple-checked that > the new definitions match the kernel's for each machine, and wait a few > days to give them a chance to speak up, but go ahead and commit (say, on > Tuesday) for each port whose maintainer hasn't responded. You can commit > the common change now (and each port's change as soon as the maintainer > says), or wait to do them all together, at your pleasure. Here's the updated patch using 'short int' instead of just 'short'. I'll wait for more comments until Tuesday, following your suggestion. Thanks for the feedback, Roland. -- Edjunior ChangeLog.alpha: 2013-05-18 Edjunior Machado * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h (siginfo_t): Add si_trapno and si_addr_lsb to _sifields.sigfault. (si_trapno, si_addr_lsb): Define new macros. (BUS_MCEERR_AR, BUS_MCEERR_AO): Define new values. ChangeLog.ia64: 2013-05-18 Edjunior Machado * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (siginfo_t): Add si_addr_lsb to _sifields.sigfault. (si_addr_lsb): Define new macro. (BUS_MCEERR_AR, BUS_MCEERR_AO): Define new values. ChangeLog.mips: 2013-05-18 Edjunior Machado * sysdeps/unix/sysv/linux/mips/bits/siginfo.h (siginfo_t): Add si_addr_lsb to _sifields.sifault. (si_addr_lsb): Define new macro. (BUS_MCEERR_AR, BUS_MCEERR_AO): Define new values. ChangeLog.tile: 2013-05-18 Edjunior Machado * sysdeps/unix/sysv/linux/tile/bits/siginfo.h (siginfo_t): Fix comment formatting. Add si_addr_lsb to _sifields.sigfault. (si_addr_lsb): Define new macro. (BUS_MCEERR_AR, BUS_MCEERR_AO): Define new values. ChangeLog: 2013-05-18 Edjunior Machado * sysdeps/unix/sysv/linux/bits/siginfo.h (siginfo_t): Add si_addr_lsb to _sifields.sigfault. (si_addr_lsb): Define new macro. (BUS_MCEERR_AR, BUS_MCEERR_AO): Define new values. * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise. * sysdeps/unix/sysv/linux/x86/bits/siginfo.h: Likewise. --- ports/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h | 10 +++++++++- ports/sysdeps/unix/sysv/linux/ia64/bits/siginfo.h | 8 +++++++- ports/sysdeps/unix/sysv/linux/mips/bits/siginfo.h | 8 +++++++- ports/sysdeps/unix/sysv/linux/tile/bits/siginfo.h | 10 ++++++++-- sysdeps/unix/sysv/linux/bits/siginfo.h | 8 +++++++- sysdeps/unix/sysv/linux/sparc/bits/siginfo.h | 8 +++++++- sysdeps/unix/sysv/linux/x86/bits/siginfo.h | 8 +++++++- 7 files changed, 52 insertions(+), 8 deletions(-) diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h index 1277885..49ca826 100644 --- a/ports/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h +++ b/ports/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h @@ -89,6 +89,8 @@ typedef struct struct { void *si_addr; /* Faulting insn/memory ref. */ + int si_trapno; /* TRAP # which caused the signal. */ + short int si_addr_lsb; /* Valid LSB of the reported address. */ } _sigfault; /* SIGPOLL. */ @@ -121,6 +123,8 @@ 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 @@ -211,8 +215,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. */ diff --git a/ports/sysdeps/unix/sysv/linux/ia64/bits/siginfo.h b/ports/sysdeps/unix/sysv/linux/ia64/bits/siginfo.h index 7887b45..5fa97b5 100644 --- a/ports/sysdeps/unix/sysv/linux/ia64/bits/siginfo.h +++ b/ports/sysdeps/unix/sysv/linux/ia64/bits/siginfo.h @@ -94,6 +94,7 @@ typedef struct siginfo int _si_imm; unsigned int _si_flags; unsigned long int _si_isr; + short int si_addr_lsb; /* Valid LSB of the reported address. */ } _sigfault; /* SIGPOLL. */ @@ -118,6 +119,7 @@ typedef struct siginfo # 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_addr_lsb _sifields._sigfault.si_addr_lsb # define si_band _sifields._sigpoll.si_band # define si_fd _sifields._sigpoll.si_fd @@ -233,8 +235,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. */ diff --git a/ports/sysdeps/unix/sysv/linux/mips/bits/siginfo.h b/ports/sysdeps/unix/sysv/linux/mips/bits/siginfo.h index 56ae34c..a9a845a 100644 --- a/ports/sysdeps/unix/sysv/linux/mips/bits/siginfo.h +++ b/ports/sysdeps/unix/sysv/linux/mips/bits/siginfo.h @@ -98,6 +98,7 @@ typedef struct struct { void *si_addr; /* Faulting insn/memory ref. */ + short int si_addr_lsb; /* Valid LSB of the reported address. */ } _sigfault; /* SIGPOLL. */ @@ -122,6 +123,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_addr_lsb _sifields._sigfault.si_addr_lsb # define si_band _sifields._sigpoll.si_band # define si_fd _sifields._sigpoll.si_fd @@ -209,8 +211,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. */ diff --git a/ports/sysdeps/unix/sysv/linux/tile/bits/siginfo.h b/ports/sysdeps/unix/sysv/linux/tile/bits/siginfo.h index 4ad1a5d..7b40f3d 100644 --- a/ports/sysdeps/unix/sysv/linux/tile/bits/siginfo.h +++ b/ports/sysdeps/unix/sysv/linux/tile/bits/siginfo.h @@ -95,7 +95,8 @@ typedef struct struct { void *si_addr; /* Faulting insn/memory ref. */ - int si_trapno; /* TRAP # which caused the signal */ + int si_trapno; /* TRAP # which caused the signal. */ + short int si_addr_lsb; /* Valid LSB of the reported address. */ } _sigfault; /* SIGPOLL. */ @@ -129,6 +130,7 @@ typedef struct # 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 @@ -223,8 +225,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. */ diff --git a/sysdeps/unix/sysv/linux/bits/siginfo.h b/sysdeps/unix/sysv/linux/bits/siginfo.h index a67bd5c..1603784 100644 --- a/sysdeps/unix/sysv/linux/bits/siginfo.h +++ b/sysdeps/unix/sysv/linux/bits/siginfo.h @@ -95,6 +95,7 @@ typedef struct struct { void *si_addr; /* Faulting insn/memory ref. */ + short int si_addr_lsb; /* Valid LSB of the reported address. */ } _sigfault; /* SIGPOLL. */ @@ -127,6 +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_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 @@ -217,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. */ diff --git a/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h b/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h index 85a5462..88fa1df 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h @@ -96,6 +96,7 @@ typedef struct { void *si_addr; /* Faulting insn/memory ref. */ int si_trapno; + short int si_addr_lsb; /* Valid LSB of the reported address. */ } _sigfault; /* SIGPOLL. */ @@ -129,6 +130,7 @@ typedef struct # 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 +221,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. */ diff --git a/sysdeps/unix/sysv/linux/x86/bits/siginfo.h b/sysdeps/unix/sysv/linux/x86/bits/siginfo.h index 48aef6d..bfc6aa3 100644 --- a/sysdeps/unix/sysv/linux/x86/bits/siginfo.h +++ b/sysdeps/unix/sysv/linux/x86/bits/siginfo.h @@ -107,6 +107,7 @@ typedef struct struct { void *si_addr; /* Faulting insn/memory ref. */ + short int si_addr_lsb; /* Valid LSB of the reported address. */ } _sigfault; /* SIGPOLL. */ @@ -139,6 +140,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_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 @@ -229,8 +231,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. */ -- 1.7.1