]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update bits/siginfo.h with Linux hwpoison SIGBUS changes
authorEdjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
Wed, 22 May 2013 19:19:49 +0000 (14:19 -0500)
committerRyan S. Arnold <rsa@linux.vnet.ibm.com>
Fri, 26 Jul 2013 13:58:54 +0000 (08:58 -0500)
Adds new SIGBUS error codes for hardware poison signals, syncing with
the current kernel headers (v3.9). It also adds si_trapno field for
alpha.
(cherry picked from commit 85118d4de37e76a1596a75bae75f75f69c33225c)

12 files changed:
ChangeLog
ports/ChangeLog.alpha
ports/ChangeLog.ia64
ports/ChangeLog.mips
ports/ChangeLog.tile
ports/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h
ports/sysdeps/unix/sysv/linux/ia64/bits/siginfo.h
ports/sysdeps/unix/sysv/linux/mips/bits/siginfo.h
ports/sysdeps/unix/sysv/linux/tile/bits/siginfo.h
sysdeps/unix/sysv/linux/bits/siginfo.h
sysdeps/unix/sysv/linux/sparc/bits/siginfo.h
sysdeps/unix/sysv/linux/x86/bits/siginfo.h

index 2c1867c17278d0d0d71592510a3935dc117820ce..a5e0b230c3be73573bcc379f1074e723635fdf03 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2013-05-22  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
+
+       * 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.
+
 2013-05-15  Edjunior Machado  <emachado@linux.vnet.ibm.com>
 
        * sysdeps/unix/sysv/linux/s390/bits/siginfo.h (siginfo_t): Remove
index 9be0600601deb2b1fa0bb6fc8f85a0db2ff10f8a..39fd14d79081890e98fc363affe65f5ecb58ca06 100644 (file)
@@ -1,3 +1,10 @@
+2013-05-22  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
+
+       * 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.
+
 2012-12-07  Richard Henderson  <rth@redhat.com>
 
        * sysdeps/alpha/Makefile [$(subdir) = math]
index d886cf4ec89faa8a6f9ff47264e0ddd1bf5d4c37..e08d022fd9144c1bde1ff4b0bf1530ae153b986f 100644 (file)
@@ -1,3 +1,10 @@
+2013-05-22  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
+
+       * 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.
+
 2012-11-29  Mike Frysinger  <vapier@gentoo.org>
 
        * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c: Delete.
index 75076b0039045c4bfeac818c0bdc794572961d46..5eca3b9612f8b4cce8f71afea915b11b16c1b48e 100644 (file)
@@ -1,3 +1,10 @@
+2013-05-22  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
+
+       * 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.
+
 2012-12-04  Joseph Myers  <joseph@codesourcery.com>
 
        * sysdeps/mips/fpu_control.h [__mips_soft_float] (_FPU_GETCW):
index f0cd08d4572c1841a0f49392ef0dfe3193138c21..91b38beab1ec985f25bbf651db80832c23dafe85 100644 (file)
@@ -1,3 +1,10 @@
+2013-05-22  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
+
+       * 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.
+
 2013-07-22  Chris Metcalf  <cmetcalf@tilera.com>
 
        [BZ #15759]
index 4a8c8d56b9fc8d7865d7ee38ea9ca3cfabcb3d1f..1a157b8dd5843d2f043e01098ae9ebac3a2ad975 100644 (file)
@@ -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.  */
index fbb07b5bc629fa3254dca4f5c3e7ccf6a6f9463f..1e4becd9c2bbeeb9ac81c0e24b81ecd1b4e27290 100644 (file)
@@ -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.  */
index 3337396398fbff3870d7b4ddff85b20c42a601dc..b2111e656087e3a52c8a7c57987bc79f3ae037f8 100644 (file)
@@ -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.  */
index 6fa354a78d9d251b0a09da96563d9eaf69a4d8c6..957d00121a28988b85e1c4a364357cb96f6b1428 100644 (file)
@@ -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.  */
index 1304d5cc38c0706967f87df57edfdf971a625d85..8540adcea554ae05e4706ab4a5fda055f489e459 100644 (file)
@@ -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.  */
index babd70c79a9ffb0abfb784da50a685aadbcd011c..80757cdb913a75a53a7bcd4e41c4e5adceb34074 100644 (file)
@@ -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.  */
index b0f4a6520c55bf333c8388a66c5cbd871b90cc2a..a10e3fd0e2ad1cbd9f803b70dcae33a467fa01d7 100644 (file)
@@ -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.  */