]> git.neil.brown.name Git - history.git/commitdiff
Import 2.4.0-test4pre3 2.4.0-test4pre3
authorLinus Torvalds <torvalds@linuxfoundation.org>
Fri, 23 Nov 2007 20:36:36 +0000 (15:36 -0500)
committerLinus Torvalds <torvalds@linuxfoundation.org>
Fri, 23 Nov 2007 20:36:36 +0000 (15:36 -0500)
25 files changed:
arch/mips/kernel/irixelf.c
arch/sparc/kernel/pcic.c
arch/sparc/kernel/process.c
arch/sparc64/kernel/entry.S
arch/sparc64/kernel/power.c
arch/sparc64/kernel/process.c
arch/sparc64/kernel/time.c
drivers/net/ptifddi.c
drivers/net/sunbmac.c
drivers/net/sunbmac.h
drivers/video/fonts.c
fs/binfmt_elf.c
include/asm-alpha/elf.h
include/asm-i386/elf.h
include/asm-ia64/elf.h
include/asm-m68k/elf.h
include/asm-mips/elf.h
include/asm-mips64/elf.h
include/asm-ppc/elf.h
include/asm-s390/elf.h
include/asm-sh/elf.h
include/asm-sparc/asm_offsets.h
include/asm-sparc/elf.h
include/asm-sparc64/asm_offsets.h
include/asm-sparc64/elf.h

index db8bb869844bd2ad226af47e2657497bdd597cfc..3329e5e849019310407743d03b636b66610fcf62 100644 (file)
@@ -255,7 +255,7 @@ static unsigned int load_irix_interp(struct elfhdr * interp_elf_ex,
        /* First of all, some simple consistency checks */
        if ((interp_elf_ex->e_type != ET_EXEC &&
             interp_elf_ex->e_type != ET_DYN) ||
-            !elf_check_arch(interp_elf_ex->e_machine) ||
+            !irix_elf_check_arch(interp_elf_ex) ||
             !interpreter->f_op->mmap) {
                printk("IRIX interp has bad e_type %d\n", interp_elf_ex->e_type);
                return 0xffffffff;
@@ -395,7 +395,7 @@ static int verify_binary(struct elfhdr *ehp, struct linux_binprm *bprm)
 
        /* First of all, some simple consistency checks */
        if((ehp->e_type != ET_EXEC && ehp->e_type != ET_DYN) || 
-           !elf_check_arch(ehp->e_machine) || !bprm->file->f_op->mmap) {
+           !irix_elf_check_arch(ehp) || !bprm->file->f_op->mmap) {
                return -ENOEXEC;
        }
 
@@ -810,7 +810,7 @@ static int load_irix_library(struct file *file)
 
        /* First of all, some simple consistency checks. */
        if(elf_ex.e_type != ET_EXEC || elf_ex.e_phnum > 2 ||
-          !elf_check_arch(elf_ex.e_machine) || !file->f_op->mmap)
+          !irix_elf_check_arch(&elf_ex) || !file->f_op->mmap)
                return -ENOEXEC;
        
        /* Now read in all of the header information. */
index b1767a09764b856da1b3d3c01b56a40f28b5029f..d5ce7038ad28d47d9df094147946c5cd6031f008 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: pcic.c,v 1.15 2000/06/20 01:10:00 anton Exp $
+/* $Id: pcic.c,v 1.16 2000/07/11 01:38:57 davem Exp $
  * pcic.c: Sparc/PCI controller support
  *
  * Copyright (C) 1998 V. Roganov and G. Raiko
@@ -808,7 +808,7 @@ static __inline__ unsigned long do_gettimeoffset(void)
        return offset + count;
 }
 
-extern volatile unsigned long lost_ticks;
+extern volatile unsigned long wall_jiffies;
 
 static void pci_do_gettimeofday(struct timeval *tv)
 {
@@ -819,10 +819,11 @@ static void pci_do_gettimeofday(struct timeval *tv)
        tv->tv_usec += do_gettimeoffset();
 
        /*
-        * xtime is atomically updated in timer_bh. lost_ticks is
-        * nonzero if the timer bottom half hasnt executed yet.
+        * xtime is atomically updated in timer_bh. The difference
+        * between jiffies and wall_jiffies is nonzero if the timer
+        * bottom half hasnt executed yet.
         */
-       if (lost_ticks)
+       if ((jiffies - wall_jiffies) != 0)
                tv->tv_usec += USECS_PER_JIFFY;
 
        restore_flags(flags);
index dd5d636b93f0d5058c5d8b85fca692dbb1075cb3..857658391527d8ee05551f7fcf37e71387958711 100644 (file)
@@ -1,4 +1,4 @@
-/*  $Id: process.c,v 1.148 2000/07/10 23:22:32 anton Exp $
+/*  $Id: process.c,v 1.150 2000/07/11 18:49:22 anton Exp $
  *  linux/arch/sparc/kernel/process.c
  *
  *  Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
@@ -126,9 +126,10 @@ int cpu_idle(void)
 
 extern char reboot_command [];
 
+extern int serial_console;
+
 #ifdef CONFIG_SUN_CONSOLE
 extern void (*prom_palette)(int);
-extern int serial_console;
 #endif
 
 void machine_halt(void)
@@ -169,7 +170,7 @@ void machine_restart(char * cmd)
 void machine_power_off(void)
 {
 #ifdef CONFIG_SUN_AUXIO
-       if (auxio_power_register)
+       if (auxio_power_register && !serial_console)
                *auxio_power_register |= AUXIO_POWER_OFF;
 #endif
        machine_halt();
index 01363d42f05f6a2f68acf7342e3d062ca5665bf4..3195d3e75d9f5bc2d180740adf4dff2595aa6711 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: entry.S,v 1.116 2000/06/19 06:24:37 davem Exp $
+/* $Id: entry.S,v 1.117 2000/07/11 02:21:12 davem Exp $
  * arch/sparc64/kernel/entry.S:  Sparc64 trap low-level entry points.
  *
  * Copyright (C) 1995,1997 David S. Miller (davem@caip.rutgers.edu)
@@ -1094,3 +1094,58 @@ __flushw_user:
         restore        %g0, %g0, %g0
 2:     retl
         nop
+
+/* This need not obtain the xtime_lock as it is coded in
+ * an implicitly SMP safe way already.
+ */
+       .align          64
+       .globl          do_gettimeofday
+do_gettimeofday:       /* %o0 = timevalp */
+       /* Load doubles must be used on xtime so that what we get
+        * is guarenteed to be atomic, this is why we can run this
+        * with interrupts on full blast.  Don't touch this... -DaveM
+        *
+        * Note with time_t changes to the timeval type, I must now use
+        * nucleus atomic quad 128-bit loads.
+        */
+       sethi   %hi(timer_tick_offset), %g3
+       sethi   %hi(xtime), %g2
+       sethi   %hi(timer_tick_compare), %g1
+       ldx     [%g3 + %lo(timer_tick_offset)], %g3
+       or      %g2, %lo(xtime), %g2
+       or      %g1, %lo(timer_tick_compare), %g1
+1:     ldda    [%g2] ASI_NUCLEUS_QUAD_LDD, %o4
+       rd      %tick, %o1
+       ldx     [%g1], %g7
+       ldda    [%g2] ASI_NUCLEUS_QUAD_LDD, %o2
+       xor     %o4, %o2, %o2
+       xor     %o5, %o3, %o3
+       orcc    %o2, %o3, %g0
+       bne,pn  %xcc, 1b
+        sethi  %hi(wall_jiffies), %o2
+       sethi   %hi(jiffies), %o3
+       ldx     [%o2 + %lo(wall_jiffies)], %o2
+       ldx     [%o3 + %lo(jiffies)], %o3
+       sub     %o3, %o2, %o2
+       sethi   %hi(timer_ticks_per_usec_quotient), %o3
+       add     %g3, %o1, %o1
+       ldx     [%o3 + %lo(timer_ticks_per_usec_quotient)], %o3
+       sub     %o1, %g7, %o1
+       mulx    %o3, %o1, %o1
+       brz,pt  %o2, 1f
+        srlx   %o1, 32, %o1
+       sethi   %hi(10000), %g2
+       or      %g2, %lo(10000), %g2
+       add     %o1, %g2, %o1
+1:     sethi   %hi(1000000), %o2
+       srlx    %o5, 32, %o5
+       or      %o2, %lo(1000000), %o2
+       add     %o5, %o1, %o5
+       cmp     %o5, %o2
+       bl,a,pn %xcc, 1f
+        stx    %o4, [%o0 + 0x0]
+       add     %o4, 0x1, %o4
+       sub     %o5, %o2, %o5
+       stx     %o4, [%o0 + 0x0]
+1:     retl
+        st     %o5, [%o0 + 0x8]
index ccf0c03bf35a06e042fcde37d0118a62c5b2a7cc..ff111278f55a07c193e9465e2ea11009a2414d3e 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: power.c,v 1.6 2000/04/13 00:59:59 davem Exp $
+/* $Id: power.c,v 1.8 2000/07/11 22:41:33 davem Exp $
  * power.c: Power management driver.
  *
  * Copyright (C) 1999 David S. Miller (davem@redhat.com)
@@ -35,10 +35,12 @@ static void power_handler(int irq, void *dev_id, struct pt_regs *regs)
 
 extern void machine_halt(void);
 
+extern int serial_console;
+
 void machine_power_off(void)
 {
 #ifdef CONFIG_PCI
-       if (power_reg != 0UL) {
+       if (power_reg != 0UL && !serial_console) {
                /* Both register bits seem to have the
                 * same effect, so until I figure out
                 * what the difference is...
@@ -53,7 +55,7 @@ void machine_power_off(void)
 static int powerd(void *__unused)
 {
        static char *envp[] = { "HOME=/", "TERM=linux", "PATH=/sbin:/usr/sbin:/bin:/usr/bin", NULL };
-       char *argv[] = { "/usr/bin/shutdown", "-h", "now", NULL };
+       char *argv[] = { "/sbin/shutdown", "-h", "now", NULL };
 
        daemonize();
        sprintf(current->comm, "powerd");
@@ -67,7 +69,7 @@ again:
        }
 
        /* Ok, down we go... */
-       if (execve("/usr/bin/shutdown", argv, envp) < 0) {
+       if (execve("/sbin/shutdown", argv, envp) < 0) {
                printk("powerd: shutdown execution failed\n");
                button_pressed = 0;
                goto again;
index a092882157eb981b521c16b0798c8e23a3323057..2d5d8145282c7b67286760fa00f5fd49f60da31b 100644 (file)
@@ -1,4 +1,4 @@
-/*  $Id: process.c,v 1.108 2000/06/30 10:18:38 davem Exp $
+/*  $Id: process.c,v 1.109 2000/07/11 01:38:57 davem Exp $
  *  arch/sparc64/kernel/process.c
  *
  *  Copyright (C) 1995, 1996 David S. Miller (davem@caip.rutgers.edu)
index 6a84d4c29bc40c4379c49fd8ecdedea20e721d62..f229ea9889b868ed38b17fa71ee419dad704d13a 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: time.c,v 1.26 2000/05/09 17:40:14 davem Exp $
+/* $Id: time.c,v 1.28 2000/07/11 02:21:12 davem Exp $
  * time.c: UltraSparc timer and TOD clock support.
  *
  * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
@@ -46,8 +46,8 @@ static int set_rtc_mmss(unsigned long);
  *       interrupts, one at level14 and one with softint bit 0.
  */
 unsigned long timer_tick_offset;
-static unsigned long timer_tick_compare;
-static unsigned long timer_ticks_per_usec_quotient;
+unsigned long timer_tick_compare;
+unsigned long timer_ticks_per_usec_quotient;
 
 static __inline__ void timer_check_rtc(void)
 {
@@ -502,58 +502,6 @@ static __inline__ unsigned long do_gettimeoffset(void)
        return (ticks * timer_ticks_per_usec_quotient) >> 32UL;
 }
 
-/* This need not obtain the xtime_lock as it is coded in
- * an implicitly SMP safe way already.
- */
-void do_gettimeofday(struct timeval *tv)
-{
-       /* Load doubles must be used on xtime so that what we get
-        * is guarenteed to be atomic, this is why we can run this
-        * with interrupts on full blast.  Don't touch this... -DaveM
-        *
-        * Note with time_t changes to the timeval type, I must now use
-        * nucleus atomic quad 128-bit loads.
-        */
-       __asm__ __volatile__("
-       sethi   %hi(timer_tick_offset), %g3
-       sethi   %hi(xtime), %g2
-       sethi   %hi(timer_tick_compare), %g1
-       ldx     [%g3 + %lo(timer_tick_offset)], %g3
-       or      %g2, %lo(xtime), %g2
-       or      %g1, %lo(timer_tick_compare), %g1
-1:     ldda    [%g2] 0x24, %o4
-       rd      %tick, %o1
-       ldx     [%g1], %g7
-       ldda    [%g2] 0x24, %o2
-       xor     %o4, %o2, %o2
-       xor     %o5, %o3, %o3
-       orcc    %o2, %o3, %g0
-       bne,pn  %xcc, 1b
-        sethi  %hi(lost_ticks), %o2
-       sethi   %hi(timer_ticks_per_usec_quotient), %o3
-       ldx     [%o2 + %lo(lost_ticks)], %o2
-       add     %g3, %o1, %o1
-       ldx     [%o3 + %lo(timer_ticks_per_usec_quotient)], %o3
-       sub     %o1, %g7, %o1
-       mulx    %o3, %o1, %o1
-       brz,pt  %o2, 1f
-        srlx   %o1, 32, %o1
-       sethi   %hi(10000), %g2
-       or      %g2, %lo(10000), %g2
-       add     %o1, %g2, %o1
-1:     sethi   %hi(1000000), %o2
-       srlx    %o5, 32, %o5
-       or      %o2, %lo(1000000), %o2
-       add     %o5, %o1, %o5
-       cmp     %o5, %o2
-       bl,a,pn %xcc, 1f
-        stx    %o4, [%o0 + 0x0]
-       add     %o4, 0x1, %o4
-       sub     %o5, %o2, %o5
-       stx     %o4, [%o0 + 0x0]
-1:     st      %o5, [%o0 + 0x8]");
-}
-
 void do_settimeofday(struct timeval *tv)
 {
        write_lock_irq(&xtime_lock);
index e559928f557875b1144334de0c165d0462ae42fa..dfabcdb949ded092115d60ba8821fc9ea58be427 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: ptifddi.c,v 1.12 2000/06/19 06:24:46 davem Exp $
+/* $Id: ptifddi.c,v 1.13 2000/07/11 22:35:22 davem Exp $
  * ptifddi.c: Network driver for Performance Technologies single-attach
  *            and dual-attach FDDI sbus cards.
  *
index b7fe862d0d99c85f3e348dd0772e34affeafdc59..b89c4ec2e7deff3900fa5414047be780ee17a1c4 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: sunbmac.c,v 1.19 2000/06/19 06:24:46 davem Exp $
+/* $Id: sunbmac.c,v 1.20 2000/07/11 22:35:22 davem Exp $
  * sunbmac.c: Driver for Sparc BigMAC 100baseT ethernet adapters.
  *
  * Copyright (C) 1997, 1998, 1999 David S. Miller (davem@redhat.com)
index 6a668a9c588693946d8b5b2f8532ba6222226bbf..b4c5309b38e3d608a3f55d52adcf0767e24519aa 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: sunbmac.h,v 1.6 2000/02/09 11:15:36 davem Exp $
+/* $Id: sunbmac.h,v 1.7 2000/07/11 22:35:22 davem Exp $
  * sunbmac.h: Defines for the Sun "Big MAC" 100baseT ethernet cards.
  *
  * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
index 52ab1a6976828eb3305e661a9cf4e0d0d31a44cf..82aedaf0f8b6de7d1244fb7892598d30a48f84a4 100644 (file)
@@ -30,7 +30,7 @@ static struct fbcon_font_desc *fbcon_fonts[] = {
     &font_vga_8x16,
 #endif
 #ifdef CONFIG_FONT_6x11
-#if defined(CONFIG_MAC) || defined(CONFIG_FB_SBUS)
+#if defined(CONFIG_FBCON_MAC) || defined(CONFIG_FB_SBUS)
 #undef NO_FONTS
 #endif
     &font_vga_6x11,
index d24db3010e1e8a226d517feeb9db478bbd1beefc..100c3d195070fc5577756b35de3c5a15488d92ac 100644 (file)
@@ -220,7 +220,7 @@ static unsigned long load_elf_interp(struct elfhdr * interp_elf_ex,
        if (interp_elf_ex->e_type != ET_EXEC &&
            interp_elf_ex->e_type != ET_DYN)
                goto out;
-       if (!elf_check_arch(interp_elf_ex->e_machine))
+       if (!elf_check_arch(interp_elf_ex))
                goto out;
        if (!interpreter->f_op->mmap)
                goto out;
@@ -405,23 +405,8 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs)
 
        if (elf_ex.e_type != ET_EXEC && elf_ex.e_type != ET_DYN)
                goto out;
-       if (!elf_check_arch(elf_ex.e_machine))
+       if (!elf_check_arch(&elf_ex))
                goto out;
-#if defined(__mips__) && !defined(__mips64)
-       /* IRIX5 binaries handled elsewhere.  */
-       if (elf_ex.e_flags & EF_MIPS_ARCH) {
-               retval = -ENOEXEC;
-               goto out;
-       }
-#endif
-#if defined(__mips__) && defined(__mips64)
-       /* Linux/MIPS 32-bit binaries handled elsewhere.  */
-       if (sizeof(elf_caddr_t) == 8 &&
-           elf_ex.e_ident[EI_CLASS] == ELFCLASS32) {
-               retval = -ENOEXEC;
-               goto out;
-       }
-#endif
        if (!bprm->file->f_op||!bprm->file->f_op->mmap)
                goto out;
 
@@ -794,7 +779,7 @@ static int load_elf_library(struct file *file)
 
        /* First of all, some simple consistency checks */
        if (elf_ex.e_type != ET_EXEC || elf_ex.e_phnum > 2 ||
-          !elf_check_arch(elf_ex.e_machine) || !file->f_op->mmap)
+          !elf_check_arch(&elf_ex) || !file->f_op->mmap)
                goto out;
 
        /* Now read in all of the header information */
index 26b2b27a7e9b8f9214b2a268d03810d7a2fbc926..d031ef3c23c81cf94dc3c2d86df8ec6fc88b7311 100644 (file)
@@ -22,7 +22,7 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
 /*
  * This is used to ensure we don't load something for the wrong architecture.
  */
-#define elf_check_arch(x) ((x) == EM_ALPHA)
+#define elf_check_arch(x) ((x)->e_machine == EM_ALPHA)
 
 /*
  * These are used to set parameters in the core dumps.
index 5bf5ec1c84b9dcbf0319edb6c602c3342b06bc70..de59b793a5c66a5d26bd42590ceabf13afe11de3 100644 (file)
@@ -19,7 +19,8 @@ typedef struct user_fxsr_struct elf_fpxregset_t;
 /*
  * This is used to ensure we don't load something for the wrong architecture.
  */
-#define elf_check_arch(x) ( ((x) == EM_386) || ((x) == EM_486) )
+#define elf_check_arch(x) \
+       (((x)->e_machine == EM_386) || ((x)->e_machine == EM_486))
 
 /*
  * These are used to set parameters in the core dumps.
index c0ae62524ce66903053b182a705ebf5df33051d4..149437e8c2e5967f79f2d8f62bb6ca8013227a1c 100644 (file)
@@ -14,7 +14,7 @@
 /*
  * This is used to ensure we don't load something for the wrong architecture.
  */
-#define elf_check_arch(x) ((x) == EM_IA_64)
+#define elf_check_arch(x) ((x)->e_machine == EM_IA_64)
 
 /*
  * These are used to set parameters in the core dumps.
index 7456c3114a5803a841b21b585c445d2a59b968f7..e2743983c3bada52c79eba8923f248ddf083736c 100644 (file)
@@ -19,7 +19,7 @@ typedef struct user_m68kfp_struct elf_fpregset_t;
 /*
  * This is used to ensure we don't load something for the wrong architecture.
  */
-#define elf_check_arch(x) ((x) == EM_68K)
+#define elf_check_arch(x) ((x)->e_machine == EM_68K)
 
 /*
  * These are used to set parameters in the core dumps.
index 31f455d9df239e522eff5bcd9387b349325dacbd..732ea22eab466df1faebbd82b671945272544a9b 100644 (file)
@@ -15,9 +15,33 @@ typedef double elf_fpreg_t;
 typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
 
 /*
- * This is used to ensure we don't load something for the wrong architecture.
+ * This is used to ensure we don't load something for the wrong architecture
+ * and also rejects IRIX binaries.
  */
-#define elf_check_arch(x) ((x) == EM_MIPS || (x) == EM_MIPS_RS4_BE)
+#define elf_check_arch(hdr)                                            \
+({                                                                     \
+       int __res = 0;                                                  \
+       struct elfhdr *__h = (hdr);                                     \
+                                                                       \
+       if ((__h->e_machine != EM_MIPS) && (__h->e_machine != EM_MIPS)) \
+               __res = -ENOEXEC;                                       \
+       if (__h->e_flags & EF_MIPS_ARCH)                                \
+               __res = -ENOEXEC;                                       \
+                                                                       \
+       __res;                                                          \
+})
+
+/* This one accepts IRIX binaries.  */
+#define irix_elf_check_arch(hdr)                                       \
+({                                                                     \
+       int __res = 0;                                                  \
+       struct elfhdr *__h = (hdr);                                     \
+                                                                       \
+       if ((__h->e_machine != EM_MIPS) && (__h->e_machine != EM_MIPS)) \
+               __res = -ENOEXEC;                                       \
+                                                                       \
+       __res;                                                          \
+})
 
 /*
  * These are used to set parameters in the core dumps.
index 0c549baf03cbfec945ff85f0a273f842b17e810d..429c805610d46b34207cdb2a49cc34b682f49c83 100644 (file)
@@ -1,5 +1,4 @@
-/* $Id: elf.h,v 1.3 2000/01/17 23:32:47 ralf Exp $
- *
+/*
  * This file is subject to the terms and conditions of the GNU General Public
  * License.  See the file "COPYING" in the main directory of this archive
  * for more details.
@@ -22,9 +21,22 @@ typedef double elf_fpreg_t;
 typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
 
 /*
- * This is used to ensure we don't load something for the wrong architecture.
+ * This is used to ensure we don't load something for the wrong 
+ * architecture or OS.
  */
-#define elf_check_arch(x) ((x) == EM_MIPS || (x) == EM_MIPS_RS4_BE)
+#define elf_check_arch(hdr)                                            \
+({                                                                     \
+       int __res = 0;                                                  \
+       struct elfhdr *__h = (hdr);                                     \
+                                                                       \
+       if ((__h->e_machine != EM_MIPS) && (__h->e_machine != EM_MIPS)) \
+               __res = -ENOEXEC;                                       \
+       if (sizeof(elf_caddr_t) == 8 &&                                 \
+           __h->e_ident[EI_CLASS] == ELFCLASS32)                       \
+               __res = -ENOEXEC;                                       \
+                                                                       \
+       __res;                                                          \
+})
 
 /*
  * These are used to set parameters in the core dumps.
index a175e8061f52c7f1bfe809549417cc6255afbb36..75b515e18c501d6358bce954e1a5b24a6777628f 100644 (file)
@@ -13,7 +13,7 @@
 /*
  * This is used to ensure we don't load something for the wrong architecture.
  */
-#define elf_check_arch(x) ((x) == EM_PPC)
+#define elf_check_arch(x) ((x)->e_machine == EM_PPC)
 
 /*
  * These are used to set parameters in the core dumps.
index 60a08aaae64a106de60f4001570db7c577271fad..eea4560fc2246be9f8bf04f6126d2de12a2c5a99 100644 (file)
@@ -22,7 +22,7 @@ typedef s390_regs elf_gregset_t;
 /*
  * This is used to ensure we don't load something for the wrong architecture.
  */
-#define elf_check_arch(x) ((x) == EM_S390) 
+#define elf_check_arch(x) ((x)->elf_machine == EM_S390) 
 
 /*
  * These are used to set parameters in the core dumps.
index 22a6f4c0c0555867686a097de95eb18a79ce8918..be4858639d31d80b0d0d6d19aac11c1c55d263f3 100644 (file)
@@ -19,7 +19,7 @@ typedef struct user_fpu_struct elf_fpregset_t;
 /*
  * This is used to ensure we don't load something for the wrong architecture.
  */
-#define elf_check_arch(x) ( (x) == EM_SH )
+#define elf_check_arch(x) ( (x)->e_machine == EM_SH )
 
 /*
  * These are used to set parameters in the core dumps.
index 44d4c371eba68f6bb252040c64240da77ff661f2..d6c868ff097aeebc36e6776e9c4d66b4bc367228 100644 (file)
 #define ASIZ_task_exec_domain  0x00000004
 #define AOFF_task_need_resched 0x00000014
 #define ASIZ_task_need_resched 0x00000004
-#define AOFF_task_lock_depth   0x00000018
+#define AOFF_task_ptrace       0x00000018
+#define ASIZ_task_ptrace       0x00000004
+#define AOFF_task_lock_depth   0x0000001c
 #define ASIZ_task_lock_depth   0x00000004
-#define AOFF_task_counter      0x0000001c
+#define AOFF_task_counter      0x00000020
 #define ASIZ_task_counter      0x00000004
-#define AOFF_task_priority     0x00000020
-#define ASIZ_task_priority     0x00000004
-#define AOFF_task_policy       0x00000024
+#define AOFF_task_nice 0x00000024
+#define ASIZ_task_nice 0x00000004
+#define AOFF_task_policy       0x00000028
 #define ASIZ_task_policy       0x00000004
-#define AOFF_task_mm   0x00000028
+#define AOFF_task_mm   0x0000002c
 #define ASIZ_task_mm   0x00000004
-#define AOFF_task_active_mm    0x0000002c
-#define ASIZ_task_active_mm    0x00000004
 #define AOFF_task_has_cpu      0x00000030
 #define ASIZ_task_has_cpu      0x00000004
 #define AOFF_task_processor    0x00000034
 #define ASIZ_task_processor    0x00000004
 #define AOFF_task_cpus_allowed 0x00000038
 #define ASIZ_task_cpus_allowed 0x00000004
-#define AOFF_task_ptrace       0x0000003c
-#define ASIZ_task_ptrace       0x00000004
-#define AOFF_task_run_list     0x00000040
+#define AOFF_task_run_list     0x0000003c
 #define ASIZ_task_run_list     0x00000008
-#define AOFF_task_next_task    0x00000048
+#define AOFF_task_next_task    0x00000044
 #define ASIZ_task_next_task    0x00000004
-#define AOFF_task_prev_task    0x0000004c
+#define AOFF_task_prev_task    0x00000048
 #define ASIZ_task_prev_task    0x00000004
-#define AOFF_task_last_processor       0x00000050
-#define ASIZ_task_last_processor       0x00000004
-#define AOFF_task_binfmt       0x00000054
+#define AOFF_task_active_mm    0x0000004c
+#define ASIZ_task_active_mm    0x00000004
+#define AOFF_task_binfmt       0x00000050
 #define ASIZ_task_binfmt       0x00000004
-#define AOFF_task_exit_code    0x00000058
+#define AOFF_task_exit_code    0x00000054
 #define ASIZ_task_exit_code    0x00000004
-#define AOFF_task_exit_signal  0x0000005c
+#define AOFF_task_exit_signal  0x00000058
 #define ASIZ_task_exit_signal  0x00000004
-#define AOFF_task_pdeath_signal        0x00000060
+#define AOFF_task_pdeath_signal        0x0000005c
 #define ASIZ_task_pdeath_signal        0x00000004
-#define AOFF_task_personality  0x00000064
+#define AOFF_task_personality  0x00000060
 #define ASIZ_task_personality  0x00000004
-#define AOFF_task_pid  0x0000006c
+#define AOFF_task_pid  0x00000068
 #define ASIZ_task_pid  0x00000004
-#define AOFF_task_pgrp 0x00000070
+#define AOFF_task_pgrp 0x0000006c
 #define ASIZ_task_pgrp 0x00000004
-#define AOFF_task_tty_old_pgrp 0x00000074
+#define AOFF_task_tty_old_pgrp 0x00000070
 #define ASIZ_task_tty_old_pgrp 0x00000004
-#define AOFF_task_session      0x00000078
+#define AOFF_task_session      0x00000074
 #define ASIZ_task_session      0x00000004
-#define AOFF_task_leader       0x0000007c
+#define AOFF_task_leader       0x00000078
 #define ASIZ_task_leader       0x00000004
-#define AOFF_task_p_opptr      0x00000080
+#define AOFF_task_p_opptr      0x0000007c
 #define ASIZ_task_p_opptr      0x00000004
-#define AOFF_task_p_pptr       0x00000084
+#define AOFF_task_p_pptr       0x00000080
 #define ASIZ_task_p_pptr       0x00000004
-#define AOFF_task_p_cptr       0x00000088
+#define AOFF_task_p_cptr       0x00000084
 #define ASIZ_task_p_cptr       0x00000004
-#define AOFF_task_p_ysptr      0x0000008c
+#define AOFF_task_p_ysptr      0x00000088
 #define ASIZ_task_p_ysptr      0x00000004
-#define AOFF_task_p_osptr      0x00000090
+#define AOFF_task_p_osptr      0x0000008c
 #define ASIZ_task_p_osptr      0x00000004
-#define AOFF_task_pidhash_next 0x00000094
+#define AOFF_task_pidhash_next 0x00000090
 #define ASIZ_task_pidhash_next 0x00000004
-#define AOFF_task_pidhash_pprev        0x00000098
+#define AOFF_task_pidhash_pprev        0x00000094
 #define ASIZ_task_pidhash_pprev        0x00000004
-#define AOFF_task_wait_chldexit        0x0000009c
+#define AOFF_task_wait_chldexit        0x00000098
 #define ASIZ_task_wait_chldexit        0x00000014
-#define AOFF_task_vfork_sem    0x000000b0
+#define AOFF_task_vfork_sem    0x000000ac
 #define ASIZ_task_vfork_sem    0x00000004
-#define AOFF_task_rt_priority  0x000000b4
+#define AOFF_task_rt_priority  0x000000b0
 #define ASIZ_task_rt_priority  0x00000004
-#define AOFF_task_it_real_value        0x000000b8
+#define AOFF_task_it_real_value        0x000000b4
 #define ASIZ_task_it_real_value        0x00000004
-#define AOFF_task_it_prof_value        0x000000bc
+#define AOFF_task_it_prof_value        0x000000b8
 #define ASIZ_task_it_prof_value        0x00000004
-#define AOFF_task_it_virt_value        0x000000c0
+#define AOFF_task_it_virt_value        0x000000bc
 #define ASIZ_task_it_virt_value        0x00000004
-#define AOFF_task_it_real_incr 0x000000c4
+#define AOFF_task_it_real_incr 0x000000c0
 #define ASIZ_task_it_real_incr 0x00000004
-#define AOFF_task_it_prof_incr 0x000000c8
+#define AOFF_task_it_prof_incr 0x000000c4
 #define ASIZ_task_it_prof_incr 0x00000004
-#define AOFF_task_it_virt_incr 0x000000cc
+#define AOFF_task_it_virt_incr 0x000000c8
 #define ASIZ_task_it_virt_incr 0x00000004
-#define AOFF_task_real_timer   0x000000d0
+#define AOFF_task_real_timer   0x000000cc
 #define ASIZ_task_real_timer   0x00000014
-#define AOFF_task_times        0x000000e4
+#define AOFF_task_times        0x000000e0
 #define ASIZ_task_times        0x00000010
-#define AOFF_task_start_time   0x000000f4
+#define AOFF_task_start_time   0x000000f0
 #define ASIZ_task_start_time   0x00000004
-#define AOFF_task_per_cpu_utime        0x000000f8
+#define AOFF_task_per_cpu_utime        0x000000f4
 #define ASIZ_task_per_cpu_utime        0x00000004
-#define AOFF_task_min_flt      0x00000100
+#define AOFF_task_min_flt      0x000000fc
 #define ASIZ_task_min_flt      0x00000004
-#define AOFF_task_maj_flt      0x00000104
+#define AOFF_task_maj_flt      0x00000100
 #define ASIZ_task_maj_flt      0x00000004
-#define AOFF_task_nswap        0x00000108
+#define AOFF_task_nswap        0x00000104
 #define ASIZ_task_nswap        0x00000004
-#define AOFF_task_cmin_flt     0x0000010c
+#define AOFF_task_cmin_flt     0x00000108
 #define ASIZ_task_cmin_flt     0x00000004
-#define AOFF_task_cmaj_flt     0x00000110
+#define AOFF_task_cmaj_flt     0x0000010c
 #define ASIZ_task_cmaj_flt     0x00000004
-#define AOFF_task_cnswap       0x00000114
+#define AOFF_task_cnswap       0x00000110
 #define ASIZ_task_cnswap       0x00000004
-#define AOFF_task_uid  0x0000011c
+#define AOFF_task_uid  0x00000118
 #define ASIZ_task_uid  0x00000004
-#define AOFF_task_euid 0x00000120
+#define AOFF_task_euid 0x0000011c
 #define ASIZ_task_euid 0x00000004
-#define AOFF_task_suid 0x00000124
+#define AOFF_task_suid 0x00000120
 #define ASIZ_task_suid 0x00000004
-#define AOFF_task_fsuid        0x00000128
+#define AOFF_task_fsuid        0x00000124
 #define ASIZ_task_fsuid        0x00000004
-#define AOFF_task_gid  0x0000012c
+#define AOFF_task_gid  0x00000128
 #define ASIZ_task_gid  0x00000004
-#define AOFF_task_egid 0x00000130
+#define AOFF_task_egid 0x0000012c
 #define ASIZ_task_egid 0x00000004
-#define AOFF_task_sgid 0x00000134
+#define AOFF_task_sgid 0x00000130
 #define ASIZ_task_sgid 0x00000004
-#define AOFF_task_fsgid        0x00000138
+#define AOFF_task_fsgid        0x00000134
 #define ASIZ_task_fsgid        0x00000004
-#define AOFF_task_ngroups      0x0000013c
+#define AOFF_task_ngroups      0x00000138
 #define ASIZ_task_ngroups      0x00000004
-#define AOFF_task_groups       0x00000140
+#define AOFF_task_groups       0x0000013c
 #define ASIZ_task_groups       0x00000080
-#define AOFF_task_cap_effective        0x000001c0
+#define AOFF_task_cap_effective        0x000001bc
 #define ASIZ_task_cap_effective        0x00000004
-#define AOFF_task_cap_inheritable      0x000001c4
+#define AOFF_task_cap_inheritable      0x000001c0
 #define ASIZ_task_cap_inheritable      0x00000004
-#define AOFF_task_cap_permitted        0x000001c8
+#define AOFF_task_cap_permitted        0x000001c4
 #define ASIZ_task_cap_permitted        0x00000004
-#define AOFF_task_user 0x000001d0
+#define AOFF_task_user 0x000001cc
 #define ASIZ_task_user 0x00000004
-#define AOFF_task_rlim 0x000001d4
+#define AOFF_task_rlim 0x000001d0
 #define ASIZ_task_rlim 0x00000050
-#define AOFF_task_used_math    0x00000224
+#define AOFF_task_used_math    0x00000220
 #define ASIZ_task_used_math    0x00000002
-#define AOFF_task_comm 0x00000226
+#define AOFF_task_comm 0x00000222
 #define ASIZ_task_comm 0x00000010
-#define AOFF_task_link_count   0x00000238
+#define AOFF_task_link_count   0x00000234
 #define ASIZ_task_link_count   0x00000004
-#define AOFF_task_tty  0x0000023c
+#define AOFF_task_tty  0x00000238
 #define ASIZ_task_tty  0x00000004
-#define AOFF_task_semundo      0x00000240
+#define AOFF_task_semundo      0x0000023c
 #define ASIZ_task_semundo      0x00000004
-#define AOFF_task_semsleeping  0x00000244
+#define AOFF_task_semsleeping  0x00000240
 #define ASIZ_task_semsleeping  0x00000004
 #define AOFF_task_thread       0x00000248
 #define ASIZ_task_thread       0x00000380
 #define ASIZ_task_exec_domain  0x00000004
 #define AOFF_task_need_resched 0x00000014
 #define ASIZ_task_need_resched 0x00000004
-#define AOFF_task_lock_depth   0x00000018
+#define AOFF_task_ptrace       0x00000018
+#define ASIZ_task_ptrace       0x00000004
+#define AOFF_task_lock_depth   0x0000001c
 #define ASIZ_task_lock_depth   0x00000004
-#define AOFF_task_counter      0x0000001c
+#define AOFF_task_counter      0x00000020
 #define ASIZ_task_counter      0x00000004
-#define AOFF_task_priority     0x00000020
-#define ASIZ_task_priority     0x00000004
-#define AOFF_task_policy       0x00000024
+#define AOFF_task_nice 0x00000024
+#define ASIZ_task_nice 0x00000004
+#define AOFF_task_policy       0x00000028
 #define ASIZ_task_policy       0x00000004
-#define AOFF_task_mm   0x00000028
+#define AOFF_task_mm   0x0000002c
 #define ASIZ_task_mm   0x00000004
-#define AOFF_task_active_mm    0x0000002c
-#define ASIZ_task_active_mm    0x00000004
 #define AOFF_task_has_cpu      0x00000030
 #define ASIZ_task_has_cpu      0x00000004
 #define AOFF_task_processor    0x00000034
 #define ASIZ_task_processor    0x00000004
 #define AOFF_task_cpus_allowed 0x00000038
 #define ASIZ_task_cpus_allowed 0x00000004
-#define AOFF_task_ptrace       0x0000003c
-#define ASIZ_task_ptrace       0x00000004
-#define AOFF_task_run_list     0x00000040
+#define AOFF_task_run_list     0x0000003c
 #define ASIZ_task_run_list     0x00000008
-#define AOFF_task_next_task    0x00000048
+#define AOFF_task_next_task    0x00000044
 #define ASIZ_task_next_task    0x00000004
-#define AOFF_task_prev_task    0x0000004c
+#define AOFF_task_prev_task    0x00000048
 #define ASIZ_task_prev_task    0x00000004
-#define AOFF_task_last_processor       0x00000050
-#define ASIZ_task_last_processor       0x00000004
-#define AOFF_task_binfmt       0x00000054
+#define AOFF_task_active_mm    0x0000004c
+#define ASIZ_task_active_mm    0x00000004
+#define AOFF_task_binfmt       0x00000050
 #define ASIZ_task_binfmt       0x00000004
-#define AOFF_task_exit_code    0x00000058
+#define AOFF_task_exit_code    0x00000054
 #define ASIZ_task_exit_code    0x00000004
-#define AOFF_task_exit_signal  0x0000005c
+#define AOFF_task_exit_signal  0x00000058
 #define ASIZ_task_exit_signal  0x00000004
-#define AOFF_task_pdeath_signal        0x00000060
+#define AOFF_task_pdeath_signal        0x0000005c
 #define ASIZ_task_pdeath_signal        0x00000004
-#define AOFF_task_personality  0x00000064
+#define AOFF_task_personality  0x00000060
 #define ASIZ_task_personality  0x00000004
-#define AOFF_task_pid  0x0000006c
+#define AOFF_task_pid  0x00000068
 #define ASIZ_task_pid  0x00000004
-#define AOFF_task_pgrp 0x00000070
+#define AOFF_task_pgrp 0x0000006c
 #define ASIZ_task_pgrp 0x00000004
-#define AOFF_task_tty_old_pgrp 0x00000074
+#define AOFF_task_tty_old_pgrp 0x00000070
 #define ASIZ_task_tty_old_pgrp 0x00000004
-#define AOFF_task_session      0x00000078
+#define AOFF_task_session      0x00000074
 #define ASIZ_task_session      0x00000004
-#define AOFF_task_leader       0x0000007c
+#define AOFF_task_leader       0x00000078
 #define ASIZ_task_leader       0x00000004
-#define AOFF_task_p_opptr      0x00000080
+#define AOFF_task_p_opptr      0x0000007c
 #define ASIZ_task_p_opptr      0x00000004
-#define AOFF_task_p_pptr       0x00000084
+#define AOFF_task_p_pptr       0x00000080
 #define ASIZ_task_p_pptr       0x00000004
-#define AOFF_task_p_cptr       0x00000088
+#define AOFF_task_p_cptr       0x00000084
 #define ASIZ_task_p_cptr       0x00000004
-#define AOFF_task_p_ysptr      0x0000008c
+#define AOFF_task_p_ysptr      0x00000088
 #define ASIZ_task_p_ysptr      0x00000004
-#define AOFF_task_p_osptr      0x00000090
+#define AOFF_task_p_osptr      0x0000008c
 #define ASIZ_task_p_osptr      0x00000004
-#define AOFF_task_pidhash_next 0x00000094
+#define AOFF_task_pidhash_next 0x00000090
 #define ASIZ_task_pidhash_next 0x00000004
-#define AOFF_task_pidhash_pprev        0x00000098
+#define AOFF_task_pidhash_pprev        0x00000094
 #define ASIZ_task_pidhash_pprev        0x00000004
-#define AOFF_task_wait_chldexit        0x0000009c
+#define AOFF_task_wait_chldexit        0x00000098
 #define ASIZ_task_wait_chldexit        0x00000018
-#define AOFF_task_vfork_sem    0x000000b4
+#define AOFF_task_vfork_sem    0x000000b0
 #define ASIZ_task_vfork_sem    0x00000004
-#define AOFF_task_rt_priority  0x000000b8
+#define AOFF_task_rt_priority  0x000000b4
 #define ASIZ_task_rt_priority  0x00000004
-#define AOFF_task_it_real_value        0x000000bc
+#define AOFF_task_it_real_value        0x000000b8
 #define ASIZ_task_it_real_value        0x00000004
-#define AOFF_task_it_prof_value        0x000000c0
+#define AOFF_task_it_prof_value        0x000000bc
 #define ASIZ_task_it_prof_value        0x00000004
-#define AOFF_task_it_virt_value        0x000000c4
+#define AOFF_task_it_virt_value        0x000000c0
 #define ASIZ_task_it_virt_value        0x00000004
-#define AOFF_task_it_real_incr 0x000000c8
+#define AOFF_task_it_real_incr 0x000000c4
 #define ASIZ_task_it_real_incr 0x00000004
-#define AOFF_task_it_prof_incr 0x000000cc
+#define AOFF_task_it_prof_incr 0x000000c8
 #define ASIZ_task_it_prof_incr 0x00000004
-#define AOFF_task_it_virt_incr 0x000000d0
+#define AOFF_task_it_virt_incr 0x000000cc
 #define ASIZ_task_it_virt_incr 0x00000004
-#define AOFF_task_real_timer   0x000000d4
+#define AOFF_task_real_timer   0x000000d0
 #define ASIZ_task_real_timer   0x00000014
-#define AOFF_task_times        0x000000e8
+#define AOFF_task_times        0x000000e4
 #define ASIZ_task_times        0x00000010
-#define AOFF_task_start_time   0x000000f8
+#define AOFF_task_start_time   0x000000f4
 #define ASIZ_task_start_time   0x00000004
-#define AOFF_task_per_cpu_utime        0x000000fc
+#define AOFF_task_per_cpu_utime        0x000000f8
 #define ASIZ_task_per_cpu_utime        0x00000080
-#define AOFF_task_min_flt      0x000001fc
+#define AOFF_task_min_flt      0x000001f8
 #define ASIZ_task_min_flt      0x00000004
-#define AOFF_task_maj_flt      0x00000200
+#define AOFF_task_maj_flt      0x000001fc
 #define ASIZ_task_maj_flt      0x00000004
-#define AOFF_task_nswap        0x00000204
+#define AOFF_task_nswap        0x00000200
 #define ASIZ_task_nswap        0x00000004
-#define AOFF_task_cmin_flt     0x00000208
+#define AOFF_task_cmin_flt     0x00000204
 #define ASIZ_task_cmin_flt     0x00000004
-#define AOFF_task_cmaj_flt     0x0000020c
+#define AOFF_task_cmaj_flt     0x00000208
 #define ASIZ_task_cmaj_flt     0x00000004
-#define AOFF_task_cnswap       0x00000210
+#define AOFF_task_cnswap       0x0000020c
 #define ASIZ_task_cnswap       0x00000004
-#define AOFF_task_uid  0x00000218
+#define AOFF_task_uid  0x00000214
 #define ASIZ_task_uid  0x00000004
-#define AOFF_task_euid 0x0000021c
+#define AOFF_task_euid 0x00000218
 #define ASIZ_task_euid 0x00000004
-#define AOFF_task_suid 0x00000220
+#define AOFF_task_suid 0x0000021c
 #define ASIZ_task_suid 0x00000004
-#define AOFF_task_fsuid        0x00000224
+#define AOFF_task_fsuid        0x00000220
 #define ASIZ_task_fsuid        0x00000004
-#define AOFF_task_gid  0x00000228
+#define AOFF_task_gid  0x00000224
 #define ASIZ_task_gid  0x00000004
-#define AOFF_task_egid 0x0000022c
+#define AOFF_task_egid 0x00000228
 #define ASIZ_task_egid 0x00000004
-#define AOFF_task_sgid 0x00000230
+#define AOFF_task_sgid 0x0000022c
 #define ASIZ_task_sgid 0x00000004
-#define AOFF_task_fsgid        0x00000234
+#define AOFF_task_fsgid        0x00000230
 #define ASIZ_task_fsgid        0x00000004
-#define AOFF_task_ngroups      0x00000238
+#define AOFF_task_ngroups      0x00000234
 #define ASIZ_task_ngroups      0x00000004
-#define AOFF_task_groups       0x0000023c
+#define AOFF_task_groups       0x00000238
 #define ASIZ_task_groups       0x00000080
-#define AOFF_task_cap_effective        0x000002bc
+#define AOFF_task_cap_effective        0x000002b8
 #define ASIZ_task_cap_effective        0x00000004
-#define AOFF_task_cap_inheritable      0x000002c0
+#define AOFF_task_cap_inheritable      0x000002bc
 #define ASIZ_task_cap_inheritable      0x00000004
-#define AOFF_task_cap_permitted        0x000002c4
+#define AOFF_task_cap_permitted        0x000002c0
 #define ASIZ_task_cap_permitted        0x00000004
-#define AOFF_task_user 0x000002cc
+#define AOFF_task_user 0x000002c8
 #define ASIZ_task_user 0x00000004
-#define AOFF_task_rlim 0x000002d0
+#define AOFF_task_rlim 0x000002cc
 #define ASIZ_task_rlim 0x00000050
-#define AOFF_task_used_math    0x00000320
+#define AOFF_task_used_math    0x0000031c
 #define ASIZ_task_used_math    0x00000002
-#define AOFF_task_comm 0x00000322
+#define AOFF_task_comm 0x0000031e
 #define ASIZ_task_comm 0x00000010
-#define AOFF_task_link_count   0x00000334
+#define AOFF_task_link_count   0x00000330
 #define ASIZ_task_link_count   0x00000004
-#define AOFF_task_tty  0x00000338
+#define AOFF_task_tty  0x00000334
 #define ASIZ_task_tty  0x00000004
-#define AOFF_task_semundo      0x0000033c
+#define AOFF_task_semundo      0x00000338
 #define ASIZ_task_semundo      0x00000004
-#define AOFF_task_semsleeping  0x00000340
+#define AOFF_task_semsleeping  0x0000033c
 #define ASIZ_task_semsleeping  0x00000004
-#define AOFF_task_thread       0x00000348
+#define AOFF_task_thread       0x00000340
 #define ASIZ_task_thread       0x00000380
-#define AOFF_task_fs   0x000006c8
+#define AOFF_task_fs   0x000006c0
 #define ASIZ_task_fs   0x00000004
-#define AOFF_task_files        0x000006cc
+#define AOFF_task_files        0x000006c4
 #define ASIZ_task_files        0x00000004
-#define AOFF_task_sigmask_lock 0x000006d0
+#define AOFF_task_sigmask_lock 0x000006c8
 #define ASIZ_task_sigmask_lock 0x00000008
-#define AOFF_task_sig  0x000006d8
+#define AOFF_task_sig  0x000006d0
 #define ASIZ_task_sig  0x00000004
-#define AOFF_task_signal       0x000006dc
+#define AOFF_task_signal       0x000006d4
 #define ASIZ_task_signal       0x00000008
-#define AOFF_task_blocked      0x000006e4
+#define AOFF_task_blocked      0x000006dc
 #define ASIZ_task_blocked      0x00000008
-#define AOFF_task_sigqueue     0x000006ec
+#define AOFF_task_sigqueue     0x000006e4
 #define ASIZ_task_sigqueue     0x00000004
-#define AOFF_task_sigqueue_tail        0x000006f0
+#define AOFF_task_sigqueue_tail        0x000006e8
 #define ASIZ_task_sigqueue_tail        0x00000004
-#define AOFF_task_sas_ss_sp    0x000006f4
+#define AOFF_task_sas_ss_sp    0x000006ec
 #define ASIZ_task_sas_ss_sp    0x00000004
-#define AOFF_task_sas_ss_size  0x000006f8
+#define AOFF_task_sas_ss_size  0x000006f0
 #define ASIZ_task_sas_ss_size  0x00000004
-#define AOFF_task_parent_exec_id       0x000006fc
+#define AOFF_task_parent_exec_id       0x000006f4
 #define ASIZ_task_parent_exec_id       0x00000004
-#define AOFF_task_self_exec_id 0x00000700
+#define AOFF_task_self_exec_id 0x000006f8
 #define ASIZ_task_self_exec_id 0x00000004
-#define AOFF_task_alloc_lock   0x00000704
+#define AOFF_task_alloc_lock   0x000006fc
 #define ASIZ_task_alloc_lock   0x00000008
 #define AOFF_mm_mmap   0x00000000
 #define ASIZ_mm_mmap   0x00000004
index c2f54c1508a512ca92e947fef7702676567c5954..fbeaebf2ea37290147f6db9d8a23b8f9e0dcff7c 100644 (file)
@@ -59,7 +59,7 @@ typedef struct {
 /*
  * This is used to ensure we don't load something for the wrong architecture.
  */
-#define elf_check_arch(x) ((x) == EM_SPARC)
+#define elf_check_arch(x) ((x)->e_machine == EM_SPARC)
 
 /*
  * These are used to set parameters in the core dumps.
index ca5f0b6261d408089e67094f555552ecb5172893..4218148633ad3669ccbd3847cc22e2c32390ac56 100644 (file)
 #define ASIZ_task_exec_domain  0x00000008
 #define AOFF_task_need_resched 0x00000020
 #define ASIZ_task_need_resched 0x00000008
-#define AOFF_task_lock_depth   0x00000028
+#define AOFF_task_ptrace       0x00000028
+#define ASIZ_task_ptrace       0x00000008
+#define AOFF_task_lock_depth   0x00000030
 #define ASIZ_task_lock_depth   0x00000004
-#define AOFF_task_counter      0x00000030
+#define AOFF_task_counter      0x00000038
 #define ASIZ_task_counter      0x00000008
-#define AOFF_task_priority     0x00000038
-#define ASIZ_task_priority     0x00000008
-#define AOFF_task_policy       0x00000040
+#define AOFF_task_nice 0x00000040
+#define ASIZ_task_nice 0x00000008
+#define AOFF_task_policy       0x00000048
 #define ASIZ_task_policy       0x00000008
-#define AOFF_task_mm   0x00000048
+#define AOFF_task_mm   0x00000050
 #define ASIZ_task_mm   0x00000008
-#define AOFF_task_active_mm    0x00000050
-#define ASIZ_task_active_mm    0x00000008
 #define AOFF_task_has_cpu      0x00000058
 #define ASIZ_task_has_cpu      0x00000004
 #define AOFF_task_processor    0x0000005c
 #define ASIZ_task_processor    0x00000004
 #define AOFF_task_cpus_allowed 0x00000060
 #define ASIZ_task_cpus_allowed 0x00000008
-#define AOFF_task_ptrace       0x00000068
-#define ASIZ_task_ptrace       0x00000008
-#define AOFF_task_run_list     0x00000070
+#define AOFF_task_run_list     0x00000068
 #define ASIZ_task_run_list     0x00000010
-#define AOFF_task_next_task    0x00000080
+#define AOFF_task_next_task    0x00000078
 #define ASIZ_task_next_task    0x00000008
-#define AOFF_task_prev_task    0x00000088
+#define AOFF_task_prev_task    0x00000080
 #define ASIZ_task_prev_task    0x00000008
-#define AOFF_task_last_processor       0x00000090
-#define ASIZ_task_last_processor       0x00000004
-#define AOFF_task_binfmt       0x00000098
+#define AOFF_task_active_mm    0x00000088
+#define ASIZ_task_active_mm    0x00000008
+#define AOFF_task_binfmt       0x00000090
 #define ASIZ_task_binfmt       0x00000008
-#define AOFF_task_exit_code    0x000000a0
+#define AOFF_task_exit_code    0x00000098
 #define ASIZ_task_exit_code    0x00000004
-#define AOFF_task_exit_signal  0x000000a4
+#define AOFF_task_exit_signal  0x0000009c
 #define ASIZ_task_exit_signal  0x00000004
-#define AOFF_task_pdeath_signal        0x000000a8
+#define AOFF_task_pdeath_signal        0x000000a0
 #define ASIZ_task_pdeath_signal        0x00000004
-#define AOFF_task_personality  0x000000b0
+#define AOFF_task_personality  0x000000a8
 #define ASIZ_task_personality  0x00000008
-#define AOFF_task_pid  0x000000bc
+#define AOFF_task_pid  0x000000b4
 #define ASIZ_task_pid  0x00000004
-#define AOFF_task_pgrp 0x000000c0
+#define AOFF_task_pgrp 0x000000b8
 #define ASIZ_task_pgrp 0x00000004
-#define AOFF_task_tty_old_pgrp 0x000000c4
+#define AOFF_task_tty_old_pgrp 0x000000bc
 #define ASIZ_task_tty_old_pgrp 0x00000004
-#define AOFF_task_session      0x000000c8
+#define AOFF_task_session      0x000000c0
 #define ASIZ_task_session      0x00000004
-#define AOFF_task_leader       0x000000cc
+#define AOFF_task_leader       0x000000c4
 #define ASIZ_task_leader       0x00000004
-#define AOFF_task_p_opptr      0x000000d0
+#define AOFF_task_p_opptr      0x000000c8
 #define ASIZ_task_p_opptr      0x00000008
-#define AOFF_task_p_pptr       0x000000d8
+#define AOFF_task_p_pptr       0x000000d0
 #define ASIZ_task_p_pptr       0x00000008
-#define AOFF_task_p_cptr       0x000000e0
+#define AOFF_task_p_cptr       0x000000d8
 #define ASIZ_task_p_cptr       0x00000008
-#define AOFF_task_p_ysptr      0x000000e8
+#define AOFF_task_p_ysptr      0x000000e0
 #define ASIZ_task_p_ysptr      0x00000008
-#define AOFF_task_p_osptr      0x000000f0
+#define AOFF_task_p_osptr      0x000000e8
 #define ASIZ_task_p_osptr      0x00000008
-#define AOFF_task_pidhash_next 0x000000f8
+#define AOFF_task_pidhash_next 0x000000f0
 #define ASIZ_task_pidhash_next 0x00000008
-#define AOFF_task_pidhash_pprev        0x00000100
+#define AOFF_task_pidhash_pprev        0x000000f8
 #define ASIZ_task_pidhash_pprev        0x00000008
-#define AOFF_task_wait_chldexit        0x00000108
+#define AOFF_task_wait_chldexit        0x00000100
 #define ASIZ_task_wait_chldexit        0x00000028
-#define AOFF_task_vfork_sem    0x00000130
+#define AOFF_task_vfork_sem    0x00000128
 #define ASIZ_task_vfork_sem    0x00000008
-#define AOFF_task_rt_priority  0x00000138
+#define AOFF_task_rt_priority  0x00000130
 #define ASIZ_task_rt_priority  0x00000008
-#define AOFF_task_it_real_value        0x00000140
+#define AOFF_task_it_real_value        0x00000138
 #define ASIZ_task_it_real_value        0x00000008
-#define AOFF_task_it_prof_value        0x00000148
+#define AOFF_task_it_prof_value        0x00000140
 #define ASIZ_task_it_prof_value        0x00000008
-#define AOFF_task_it_virt_value        0x00000150
+#define AOFF_task_it_virt_value        0x00000148
 #define ASIZ_task_it_virt_value        0x00000008
-#define AOFF_task_it_real_incr 0x00000158
+#define AOFF_task_it_real_incr 0x00000150
 #define ASIZ_task_it_real_incr 0x00000008
-#define AOFF_task_it_prof_incr 0x00000160
+#define AOFF_task_it_prof_incr 0x00000158
 #define ASIZ_task_it_prof_incr 0x00000008
-#define AOFF_task_it_virt_incr 0x00000168
+#define AOFF_task_it_virt_incr 0x00000160
 #define ASIZ_task_it_virt_incr 0x00000008
-#define AOFF_task_real_timer   0x00000170
+#define AOFF_task_real_timer   0x00000168
 #define ASIZ_task_real_timer   0x00000028
-#define AOFF_task_times        0x00000198
+#define AOFF_task_times        0x00000190
 #define ASIZ_task_times        0x00000020
-#define AOFF_task_start_time   0x000001b8
+#define AOFF_task_start_time   0x000001b0
 #define ASIZ_task_start_time   0x00000008
-#define AOFF_task_per_cpu_utime        0x000001c0
+#define AOFF_task_per_cpu_utime        0x000001b8
 #define ASIZ_task_per_cpu_utime        0x00000008
-#define AOFF_task_min_flt      0x000001d0
+#define AOFF_task_min_flt      0x000001c8
 #define ASIZ_task_min_flt      0x00000008
-#define AOFF_task_maj_flt      0x000001d8
+#define AOFF_task_maj_flt      0x000001d0
 #define ASIZ_task_maj_flt      0x00000008
-#define AOFF_task_nswap        0x000001e0
+#define AOFF_task_nswap        0x000001d8
 #define ASIZ_task_nswap        0x00000008
-#define AOFF_task_cmin_flt     0x000001e8
+#define AOFF_task_cmin_flt     0x000001e0
 #define ASIZ_task_cmin_flt     0x00000008
-#define AOFF_task_cmaj_flt     0x000001f0
+#define AOFF_task_cmaj_flt     0x000001e8
 #define ASIZ_task_cmaj_flt     0x00000008
-#define AOFF_task_cnswap       0x000001f8
+#define AOFF_task_cnswap       0x000001f0
 #define ASIZ_task_cnswap       0x00000008
-#define AOFF_task_uid  0x00000204
+#define AOFF_task_uid  0x000001fc
 #define ASIZ_task_uid  0x00000004
-#define AOFF_task_euid 0x00000208
+#define AOFF_task_euid 0x00000200
 #define ASIZ_task_euid 0x00000004
-#define AOFF_task_suid 0x0000020c
+#define AOFF_task_suid 0x00000204
 #define ASIZ_task_suid 0x00000004
-#define AOFF_task_fsuid        0x00000210
+#define AOFF_task_fsuid        0x00000208
 #define ASIZ_task_fsuid        0x00000004
-#define AOFF_task_gid  0x00000214
+#define AOFF_task_gid  0x0000020c
 #define ASIZ_task_gid  0x00000004
-#define AOFF_task_egid 0x00000218
+#define AOFF_task_egid 0x00000210
 #define ASIZ_task_egid 0x00000004
-#define AOFF_task_sgid 0x0000021c
+#define AOFF_task_sgid 0x00000214
 #define ASIZ_task_sgid 0x00000004
-#define AOFF_task_fsgid        0x00000220
+#define AOFF_task_fsgid        0x00000218
 #define ASIZ_task_fsgid        0x00000004
-#define AOFF_task_ngroups      0x00000224
+#define AOFF_task_ngroups      0x0000021c
 #define ASIZ_task_ngroups      0x00000004
-#define AOFF_task_groups       0x00000228
+#define AOFF_task_groups       0x00000220
 #define ASIZ_task_groups       0x00000080
-#define AOFF_task_cap_effective        0x000002a8
+#define AOFF_task_cap_effective        0x000002a0
 #define ASIZ_task_cap_effective        0x00000004
-#define AOFF_task_cap_inheritable      0x000002ac
+#define AOFF_task_cap_inheritable      0x000002a4
 #define ASIZ_task_cap_inheritable      0x00000004
-#define AOFF_task_cap_permitted        0x000002b0
+#define AOFF_task_cap_permitted        0x000002a8
 #define ASIZ_task_cap_permitted        0x00000004
-#define AOFF_task_user 0x000002b8
+#define AOFF_task_user 0x000002b0
 #define ASIZ_task_user 0x00000008
-#define AOFF_task_rlim 0x000002c0
+#define AOFF_task_rlim 0x000002b8
 #define ASIZ_task_rlim 0x000000a0
-#define AOFF_task_used_math    0x00000360
+#define AOFF_task_used_math    0x00000358
 #define ASIZ_task_used_math    0x00000002
-#define AOFF_task_comm 0x00000362
+#define AOFF_task_comm 0x0000035a
 #define ASIZ_task_comm 0x00000010
-#define AOFF_task_link_count   0x00000374
+#define AOFF_task_link_count   0x0000036c
 #define ASIZ_task_link_count   0x00000004
-#define AOFF_task_tty  0x00000378
+#define AOFF_task_tty  0x00000370
 #define ASIZ_task_tty  0x00000008
-#define AOFF_task_semundo      0x00000380
+#define AOFF_task_semundo      0x00000378
 #define ASIZ_task_semundo      0x00000008
-#define AOFF_task_semsleeping  0x00000388
+#define AOFF_task_semsleeping  0x00000380
 #define ASIZ_task_semsleeping  0x00000008
 #define AOFF_task_thread       0x00000390
 #define ASIZ_task_thread       0x00000450
 #define ASIZ_task_exec_domain  0x00000008
 #define AOFF_task_need_resched 0x00000020
 #define ASIZ_task_need_resched 0x00000008
-#define AOFF_task_lock_depth   0x00000028
+#define AOFF_task_ptrace       0x00000028
+#define ASIZ_task_ptrace       0x00000008
+#define AOFF_task_lock_depth   0x00000030
 #define ASIZ_task_lock_depth   0x00000004
-#define AOFF_task_counter      0x00000030
+#define AOFF_task_counter      0x00000038
 #define ASIZ_task_counter      0x00000008
-#define AOFF_task_priority     0x00000038
-#define ASIZ_task_priority     0x00000008
-#define AOFF_task_policy       0x00000040
+#define AOFF_task_nice 0x00000040
+#define ASIZ_task_nice 0x00000008
+#define AOFF_task_policy       0x00000048
 #define ASIZ_task_policy       0x00000008
-#define AOFF_task_mm   0x00000048
+#define AOFF_task_mm   0x00000050
 #define ASIZ_task_mm   0x00000008
-#define AOFF_task_active_mm    0x00000050
-#define ASIZ_task_active_mm    0x00000008
 #define AOFF_task_has_cpu      0x00000058
 #define ASIZ_task_has_cpu      0x00000004
 #define AOFF_task_processor    0x0000005c
 #define ASIZ_task_processor    0x00000004
 #define AOFF_task_cpus_allowed 0x00000060
 #define ASIZ_task_cpus_allowed 0x00000008
-#define AOFF_task_ptrace       0x00000068
-#define ASIZ_task_ptrace       0x00000008
-#define AOFF_task_run_list     0x00000070
+#define AOFF_task_run_list     0x00000068
 #define ASIZ_task_run_list     0x00000010
-#define AOFF_task_next_task    0x00000080
+#define AOFF_task_next_task    0x00000078
 #define ASIZ_task_next_task    0x00000008
-#define AOFF_task_prev_task    0x00000088
+#define AOFF_task_prev_task    0x00000080
 #define ASIZ_task_prev_task    0x00000008
-#define AOFF_task_last_processor       0x00000090
-#define ASIZ_task_last_processor       0x00000004
-#define AOFF_task_binfmt       0x00000098
+#define AOFF_task_active_mm    0x00000088
+#define ASIZ_task_active_mm    0x00000008
+#define AOFF_task_binfmt       0x00000090
 #define ASIZ_task_binfmt       0x00000008
-#define AOFF_task_exit_code    0x000000a0
+#define AOFF_task_exit_code    0x00000098
 #define ASIZ_task_exit_code    0x00000004
-#define AOFF_task_exit_signal  0x000000a4
+#define AOFF_task_exit_signal  0x0000009c
 #define ASIZ_task_exit_signal  0x00000004
-#define AOFF_task_pdeath_signal        0x000000a8
+#define AOFF_task_pdeath_signal        0x000000a0
 #define ASIZ_task_pdeath_signal        0x00000004
-#define AOFF_task_personality  0x000000b0
+#define AOFF_task_personality  0x000000a8
 #define ASIZ_task_personality  0x00000008
-#define AOFF_task_pid  0x000000bc
+#define AOFF_task_pid  0x000000b4
 #define ASIZ_task_pid  0x00000004
-#define AOFF_task_pgrp 0x000000c0
+#define AOFF_task_pgrp 0x000000b8
 #define ASIZ_task_pgrp 0x00000004
-#define AOFF_task_tty_old_pgrp 0x000000c4
+#define AOFF_task_tty_old_pgrp 0x000000bc
 #define ASIZ_task_tty_old_pgrp 0x00000004
-#define AOFF_task_session      0x000000c8
+#define AOFF_task_session      0x000000c0
 #define ASIZ_task_session      0x00000004
-#define AOFF_task_leader       0x000000cc
+#define AOFF_task_leader       0x000000c4
 #define ASIZ_task_leader       0x00000004
-#define AOFF_task_p_opptr      0x000000d0
+#define AOFF_task_p_opptr      0x000000c8
 #define ASIZ_task_p_opptr      0x00000008
-#define AOFF_task_p_pptr       0x000000d8
+#define AOFF_task_p_pptr       0x000000d0
 #define ASIZ_task_p_pptr       0x00000008
-#define AOFF_task_p_cptr       0x000000e0
+#define AOFF_task_p_cptr       0x000000d8
 #define ASIZ_task_p_cptr       0x00000008
-#define AOFF_task_p_ysptr      0x000000e8
+#define AOFF_task_p_ysptr      0x000000e0
 #define ASIZ_task_p_ysptr      0x00000008
-#define AOFF_task_p_osptr      0x000000f0
+#define AOFF_task_p_osptr      0x000000e8
 #define ASIZ_task_p_osptr      0x00000008
-#define AOFF_task_pidhash_next 0x000000f8
+#define AOFF_task_pidhash_next 0x000000f0
 #define ASIZ_task_pidhash_next 0x00000008
-#define AOFF_task_pidhash_pprev        0x00000100
+#define AOFF_task_pidhash_pprev        0x000000f8
 #define ASIZ_task_pidhash_pprev        0x00000008
-#define AOFF_task_wait_chldexit        0x00000108
+#define AOFF_task_wait_chldexit        0x00000100
 #define ASIZ_task_wait_chldexit        0x00000028
-#define AOFF_task_vfork_sem    0x00000130
+#define AOFF_task_vfork_sem    0x00000128
 #define ASIZ_task_vfork_sem    0x00000008
-#define AOFF_task_rt_priority  0x00000138
+#define AOFF_task_rt_priority  0x00000130
 #define ASIZ_task_rt_priority  0x00000008
-#define AOFF_task_it_real_value        0x00000140
+#define AOFF_task_it_real_value        0x00000138
 #define ASIZ_task_it_real_value        0x00000008
-#define AOFF_task_it_prof_value        0x00000148
+#define AOFF_task_it_prof_value        0x00000140
 #define ASIZ_task_it_prof_value        0x00000008
-#define AOFF_task_it_virt_value        0x00000150
+#define AOFF_task_it_virt_value        0x00000148
 #define ASIZ_task_it_virt_value        0x00000008
-#define AOFF_task_it_real_incr 0x00000158
+#define AOFF_task_it_real_incr 0x00000150
 #define ASIZ_task_it_real_incr 0x00000008
-#define AOFF_task_it_prof_incr 0x00000160
+#define AOFF_task_it_prof_incr 0x00000158
 #define ASIZ_task_it_prof_incr 0x00000008
-#define AOFF_task_it_virt_incr 0x00000168
+#define AOFF_task_it_virt_incr 0x00000160
 #define ASIZ_task_it_virt_incr 0x00000008
-#define AOFF_task_real_timer   0x00000170
+#define AOFF_task_real_timer   0x00000168
 #define ASIZ_task_real_timer   0x00000028
-#define AOFF_task_times        0x00000198
+#define AOFF_task_times        0x00000190
 #define ASIZ_task_times        0x00000020
-#define AOFF_task_start_time   0x000001b8
+#define AOFF_task_start_time   0x000001b0
 #define ASIZ_task_start_time   0x00000008
-#define AOFF_task_per_cpu_utime        0x000001c0
+#define AOFF_task_per_cpu_utime        0x000001b8
 #define ASIZ_task_per_cpu_utime        0x00000100
-#define AOFF_task_min_flt      0x000003c0
+#define AOFF_task_min_flt      0x000003b8
 #define ASIZ_task_min_flt      0x00000008
-#define AOFF_task_maj_flt      0x000003c8
+#define AOFF_task_maj_flt      0x000003c0
 #define ASIZ_task_maj_flt      0x00000008
-#define AOFF_task_nswap        0x000003d0
+#define AOFF_task_nswap        0x000003c8
 #define ASIZ_task_nswap        0x00000008
-#define AOFF_task_cmin_flt     0x000003d8
+#define AOFF_task_cmin_flt     0x000003d0
 #define ASIZ_task_cmin_flt     0x00000008
-#define AOFF_task_cmaj_flt     0x000003e0
+#define AOFF_task_cmaj_flt     0x000003d8
 #define ASIZ_task_cmaj_flt     0x00000008
-#define AOFF_task_cnswap       0x000003e8
+#define AOFF_task_cnswap       0x000003e0
 #define ASIZ_task_cnswap       0x00000008
-#define AOFF_task_uid  0x000003f4
+#define AOFF_task_uid  0x000003ec
 #define ASIZ_task_uid  0x00000004
-#define AOFF_task_euid 0x000003f8
+#define AOFF_task_euid 0x000003f0
 #define ASIZ_task_euid 0x00000004
-#define AOFF_task_suid 0x000003fc
+#define AOFF_task_suid 0x000003f4
 #define ASIZ_task_suid 0x00000004
-#define AOFF_task_fsuid        0x00000400
+#define AOFF_task_fsuid        0x000003f8
 #define ASIZ_task_fsuid        0x00000004
-#define AOFF_task_gid  0x00000404
+#define AOFF_task_gid  0x000003fc
 #define ASIZ_task_gid  0x00000004
-#define AOFF_task_egid 0x00000408
+#define AOFF_task_egid 0x00000400
 #define ASIZ_task_egid 0x00000004
-#define AOFF_task_sgid 0x0000040c
+#define AOFF_task_sgid 0x00000404
 #define ASIZ_task_sgid 0x00000004
-#define AOFF_task_fsgid        0x00000410
+#define AOFF_task_fsgid        0x00000408
 #define ASIZ_task_fsgid        0x00000004
-#define AOFF_task_ngroups      0x00000414
+#define AOFF_task_ngroups      0x0000040c
 #define ASIZ_task_ngroups      0x00000004
-#define AOFF_task_groups       0x00000418
+#define AOFF_task_groups       0x00000410
 #define ASIZ_task_groups       0x00000080
-#define AOFF_task_cap_effective        0x00000498
+#define AOFF_task_cap_effective        0x00000490
 #define ASIZ_task_cap_effective        0x00000004
-#define AOFF_task_cap_inheritable      0x0000049c
+#define AOFF_task_cap_inheritable      0x00000494
 #define ASIZ_task_cap_inheritable      0x00000004
-#define AOFF_task_cap_permitted        0x000004a0
+#define AOFF_task_cap_permitted        0x00000498
 #define ASIZ_task_cap_permitted        0x00000004
-#define AOFF_task_user 0x000004a8
+#define AOFF_task_user 0x000004a0
 #define ASIZ_task_user 0x00000008
-#define AOFF_task_rlim 0x000004b0
+#define AOFF_task_rlim 0x000004a8
 #define ASIZ_task_rlim 0x000000a0
-#define AOFF_task_used_math    0x00000550
+#define AOFF_task_used_math    0x00000548
 #define ASIZ_task_used_math    0x00000002
-#define AOFF_task_comm 0x00000552
+#define AOFF_task_comm 0x0000054a
 #define ASIZ_task_comm 0x00000010
-#define AOFF_task_link_count   0x00000564
+#define AOFF_task_link_count   0x0000055c
 #define ASIZ_task_link_count   0x00000004
-#define AOFF_task_tty  0x00000568
+#define AOFF_task_tty  0x00000560
 #define ASIZ_task_tty  0x00000008
-#define AOFF_task_semundo      0x00000570
+#define AOFF_task_semundo      0x00000568
 #define ASIZ_task_semundo      0x00000008
-#define AOFF_task_semsleeping  0x00000578
+#define AOFF_task_semsleeping  0x00000570
 #define ASIZ_task_semsleeping  0x00000008
 #define AOFF_task_thread       0x00000580
 #define ASIZ_task_thread       0x00000450
 #define ASIZ_task_exec_domain  0x00000008
 #define AOFF_task_need_resched 0x00000020
 #define ASIZ_task_need_resched 0x00000008
-#define AOFF_task_lock_depth   0x00000028
+#define AOFF_task_ptrace       0x00000028
+#define ASIZ_task_ptrace       0x00000008
+#define AOFF_task_lock_depth   0x00000030
 #define ASIZ_task_lock_depth   0x00000004
-#define AOFF_task_counter      0x00000030
+#define AOFF_task_counter      0x00000038
 #define ASIZ_task_counter      0x00000008
-#define AOFF_task_priority     0x00000038
-#define ASIZ_task_priority     0x00000008
-#define AOFF_task_policy       0x00000040
+#define AOFF_task_nice 0x00000040
+#define ASIZ_task_nice 0x00000008
+#define AOFF_task_policy       0x00000048
 #define ASIZ_task_policy       0x00000008
-#define AOFF_task_mm   0x00000048
+#define AOFF_task_mm   0x00000050
 #define ASIZ_task_mm   0x00000008
-#define AOFF_task_active_mm    0x00000050
-#define ASIZ_task_active_mm    0x00000008
 #define AOFF_task_has_cpu      0x00000058
 #define ASIZ_task_has_cpu      0x00000004
 #define AOFF_task_processor    0x0000005c
 #define ASIZ_task_processor    0x00000004
 #define AOFF_task_cpus_allowed 0x00000060
 #define ASIZ_task_cpus_allowed 0x00000008
-#define AOFF_task_ptrace       0x00000068
-#define ASIZ_task_ptrace       0x00000008
-#define AOFF_task_run_list     0x00000070
+#define AOFF_task_run_list     0x00000068
 #define ASIZ_task_run_list     0x00000010
-#define AOFF_task_next_task    0x00000080
+#define AOFF_task_next_task    0x00000078
 #define ASIZ_task_next_task    0x00000008
-#define AOFF_task_prev_task    0x00000088
+#define AOFF_task_prev_task    0x00000080
 #define ASIZ_task_prev_task    0x00000008
-#define AOFF_task_last_processor       0x00000090
-#define ASIZ_task_last_processor       0x00000004
-#define AOFF_task_binfmt       0x00000098
+#define AOFF_task_active_mm    0x00000088
+#define ASIZ_task_active_mm    0x00000008
+#define AOFF_task_binfmt       0x00000090
 #define ASIZ_task_binfmt       0x00000008
-#define AOFF_task_exit_code    0x000000a0
+#define AOFF_task_exit_code    0x00000098
 #define ASIZ_task_exit_code    0x00000004
-#define AOFF_task_exit_signal  0x000000a4
+#define AOFF_task_exit_signal  0x0000009c
 #define ASIZ_task_exit_signal  0x00000004
-#define AOFF_task_pdeath_signal        0x000000a8
+#define AOFF_task_pdeath_signal        0x000000a0
 #define ASIZ_task_pdeath_signal        0x00000004
-#define AOFF_task_personality  0x000000b0
+#define AOFF_task_personality  0x000000a8
 #define ASIZ_task_personality  0x00000008
-#define AOFF_task_pid  0x000000bc
+#define AOFF_task_pid  0x000000b4
 #define ASIZ_task_pid  0x00000004
-#define AOFF_task_pgrp 0x000000c0
+#define AOFF_task_pgrp 0x000000b8
 #define ASIZ_task_pgrp 0x00000004
-#define AOFF_task_tty_old_pgrp 0x000000c4
+#define AOFF_task_tty_old_pgrp 0x000000bc
 #define ASIZ_task_tty_old_pgrp 0x00000004
-#define AOFF_task_session      0x000000c8
+#define AOFF_task_session      0x000000c0
 #define ASIZ_task_session      0x00000004
-#define AOFF_task_leader       0x000000cc
+#define AOFF_task_leader       0x000000c4
 #define ASIZ_task_leader       0x00000004
-#define AOFF_task_p_opptr      0x000000d0
+#define AOFF_task_p_opptr      0x000000c8
 #define ASIZ_task_p_opptr      0x00000008
-#define AOFF_task_p_pptr       0x000000d8
+#define AOFF_task_p_pptr       0x000000d0
 #define ASIZ_task_p_pptr       0x00000008
-#define AOFF_task_p_cptr       0x000000e0
+#define AOFF_task_p_cptr       0x000000d8
 #define ASIZ_task_p_cptr       0x00000008
-#define AOFF_task_p_ysptr      0x000000e8
+#define AOFF_task_p_ysptr      0x000000e0
 #define ASIZ_task_p_ysptr      0x00000008
-#define AOFF_task_p_osptr      0x000000f0
+#define AOFF_task_p_osptr      0x000000e8
 #define ASIZ_task_p_osptr      0x00000008
-#define AOFF_task_pidhash_next 0x000000f8
+#define AOFF_task_pidhash_next 0x000000f0
 #define ASIZ_task_pidhash_next 0x00000008
-#define AOFF_task_pidhash_pprev        0x00000100
+#define AOFF_task_pidhash_pprev        0x000000f8
 #define ASIZ_task_pidhash_pprev        0x00000008
-#define AOFF_task_wait_chldexit        0x00000108
+#define AOFF_task_wait_chldexit        0x00000100
 #define ASIZ_task_wait_chldexit        0x00000030
-#define AOFF_task_vfork_sem    0x00000138
+#define AOFF_task_vfork_sem    0x00000130
 #define ASIZ_task_vfork_sem    0x00000008
-#define AOFF_task_rt_priority  0x00000140
+#define AOFF_task_rt_priority  0x00000138
 #define ASIZ_task_rt_priority  0x00000008
-#define AOFF_task_it_real_value        0x00000148
+#define AOFF_task_it_real_value        0x00000140
 #define ASIZ_task_it_real_value        0x00000008
-#define AOFF_task_it_prof_value        0x00000150
+#define AOFF_task_it_prof_value        0x00000148
 #define ASIZ_task_it_prof_value        0x00000008
-#define AOFF_task_it_virt_value        0x00000158
+#define AOFF_task_it_virt_value        0x00000150
 #define ASIZ_task_it_virt_value        0x00000008
-#define AOFF_task_it_real_incr 0x00000160
+#define AOFF_task_it_real_incr 0x00000158
 #define ASIZ_task_it_real_incr 0x00000008
-#define AOFF_task_it_prof_incr 0x00000168
+#define AOFF_task_it_prof_incr 0x00000160
 #define ASIZ_task_it_prof_incr 0x00000008
-#define AOFF_task_it_virt_incr 0x00000170
+#define AOFF_task_it_virt_incr 0x00000168
 #define ASIZ_task_it_virt_incr 0x00000008
-#define AOFF_task_real_timer   0x00000178
+#define AOFF_task_real_timer   0x00000170
 #define ASIZ_task_real_timer   0x00000028
-#define AOFF_task_times        0x000001a0
+#define AOFF_task_times        0x00000198
 #define ASIZ_task_times        0x00000020
-#define AOFF_task_start_time   0x000001c0
+#define AOFF_task_start_time   0x000001b8
 #define ASIZ_task_start_time   0x00000008
-#define AOFF_task_per_cpu_utime        0x000001c8
+#define AOFF_task_per_cpu_utime        0x000001c0
 #define ASIZ_task_per_cpu_utime        0x00000100
-#define AOFF_task_min_flt      0x000003c8
+#define AOFF_task_min_flt      0x000003c0
 #define ASIZ_task_min_flt      0x00000008
-#define AOFF_task_maj_flt      0x000003d0
+#define AOFF_task_maj_flt      0x000003c8
 #define ASIZ_task_maj_flt      0x00000008
-#define AOFF_task_nswap        0x000003d8
+#define AOFF_task_nswap        0x000003d0
 #define ASIZ_task_nswap        0x00000008
-#define AOFF_task_cmin_flt     0x000003e0
+#define AOFF_task_cmin_flt     0x000003d8
 #define ASIZ_task_cmin_flt     0x00000008
-#define AOFF_task_cmaj_flt     0x000003e8
+#define AOFF_task_cmaj_flt     0x000003e0
 #define ASIZ_task_cmaj_flt     0x00000008
-#define AOFF_task_cnswap       0x000003f0
+#define AOFF_task_cnswap       0x000003e8
 #define ASIZ_task_cnswap       0x00000008
-#define AOFF_task_uid  0x000003fc
+#define AOFF_task_uid  0x000003f4
 #define ASIZ_task_uid  0x00000004
-#define AOFF_task_euid 0x00000400
+#define AOFF_task_euid 0x000003f8
 #define ASIZ_task_euid 0x00000004
-#define AOFF_task_suid 0x00000404
+#define AOFF_task_suid 0x000003fc
 #define ASIZ_task_suid 0x00000004
-#define AOFF_task_fsuid        0x00000408
+#define AOFF_task_fsuid        0x00000400
 #define ASIZ_task_fsuid        0x00000004
-#define AOFF_task_gid  0x0000040c
+#define AOFF_task_gid  0x00000404
 #define ASIZ_task_gid  0x00000004
-#define AOFF_task_egid 0x00000410
+#define AOFF_task_egid 0x00000408
 #define ASIZ_task_egid 0x00000004
-#define AOFF_task_sgid 0x00000414
+#define AOFF_task_sgid 0x0000040c
 #define ASIZ_task_sgid 0x00000004
-#define AOFF_task_fsgid        0x00000418
+#define AOFF_task_fsgid        0x00000410
 #define ASIZ_task_fsgid        0x00000004
-#define AOFF_task_ngroups      0x0000041c
+#define AOFF_task_ngroups      0x00000414
 #define ASIZ_task_ngroups      0x00000004
-#define AOFF_task_groups       0x00000420
+#define AOFF_task_groups       0x00000418
 #define ASIZ_task_groups       0x00000080
-#define AOFF_task_cap_effective        0x000004a0
+#define AOFF_task_cap_effective        0x00000498
 #define ASIZ_task_cap_effective        0x00000004
-#define AOFF_task_cap_inheritable      0x000004a4
+#define AOFF_task_cap_inheritable      0x0000049c
 #define ASIZ_task_cap_inheritable      0x00000004
-#define AOFF_task_cap_permitted        0x000004a8
+#define AOFF_task_cap_permitted        0x000004a0
 #define ASIZ_task_cap_permitted        0x00000004
-#define AOFF_task_user 0x000004b0
+#define AOFF_task_user 0x000004a8
 #define ASIZ_task_user 0x00000008
-#define AOFF_task_rlim 0x000004b8
+#define AOFF_task_rlim 0x000004b0
 #define ASIZ_task_rlim 0x000000a0
-#define AOFF_task_used_math    0x00000558
+#define AOFF_task_used_math    0x00000550
 #define ASIZ_task_used_math    0x00000002
-#define AOFF_task_comm 0x0000055a
+#define AOFF_task_comm 0x00000552
 #define ASIZ_task_comm 0x00000010
-#define AOFF_task_link_count   0x0000056c
+#define AOFF_task_link_count   0x00000564
 #define ASIZ_task_link_count   0x00000004
-#define AOFF_task_tty  0x00000570
+#define AOFF_task_tty  0x00000568
 #define ASIZ_task_tty  0x00000008
-#define AOFF_task_semundo      0x00000578
+#define AOFF_task_semundo      0x00000570
 #define ASIZ_task_semundo      0x00000008
-#define AOFF_task_semsleeping  0x00000580
+#define AOFF_task_semsleeping  0x00000578
 #define ASIZ_task_semsleeping  0x00000008
-#define AOFF_task_thread       0x00000590
+#define AOFF_task_thread       0x00000580
 #define ASIZ_task_thread       0x00000450
-#define AOFF_task_fs   0x000009e0
+#define AOFF_task_fs   0x000009d0
 #define ASIZ_task_fs   0x00000008
-#define AOFF_task_files        0x000009e8
+#define AOFF_task_files        0x000009d8
 #define ASIZ_task_files        0x00000008
-#define AOFF_task_sigmask_lock 0x000009f0
+#define AOFF_task_sigmask_lock 0x000009e0
 #define ASIZ_task_sigmask_lock 0x0000000c
-#define AOFF_task_sig  0x00000a00
+#define AOFF_task_sig  0x000009f0
 #define ASIZ_task_sig  0x00000008
-#define AOFF_task_signal       0x00000a08
+#define AOFF_task_signal       0x000009f8
 #define ASIZ_task_signal       0x00000008
-#define AOFF_task_blocked      0x00000a10
+#define AOFF_task_blocked      0x00000a00
 #define ASIZ_task_blocked      0x00000008
-#define AOFF_task_sigqueue     0x00000a18
+#define AOFF_task_sigqueue     0x00000a08
 #define ASIZ_task_sigqueue     0x00000008
-#define AOFF_task_sigqueue_tail        0x00000a20
+#define AOFF_task_sigqueue_tail        0x00000a10
 #define ASIZ_task_sigqueue_tail        0x00000008
-#define AOFF_task_sas_ss_sp    0x00000a28
+#define AOFF_task_sas_ss_sp    0x00000a18
 #define ASIZ_task_sas_ss_sp    0x00000008
-#define AOFF_task_sas_ss_size  0x00000a30
+#define AOFF_task_sas_ss_size  0x00000a20
 #define ASIZ_task_sas_ss_size  0x00000008
-#define AOFF_task_parent_exec_id       0x00000a38
+#define AOFF_task_parent_exec_id       0x00000a28
 #define ASIZ_task_parent_exec_id       0x00000004
-#define AOFF_task_self_exec_id 0x00000a3c
+#define AOFF_task_self_exec_id 0x00000a2c
 #define ASIZ_task_self_exec_id 0x00000004
-#define AOFF_task_alloc_lock   0x00000a40
+#define AOFF_task_alloc_lock   0x00000a30
 #define ASIZ_task_alloc_lock   0x0000000c
-#define ASIZ_task      0x00000a50
+#define ASIZ_task      0x00000a40
 #define AOFF_mm_mmap   0x00000000
 #define ASIZ_mm_mmap   0x00000008
 #define AOFF_mm_mmap_avl       0x00000008
index ec946e414f139c086269e44df373c25fe772a6f4..8a5404930b140ab02052dd15005117eb1d00b5aa 100644 (file)
@@ -36,7 +36,7 @@ typedef struct {
  * This is used to ensure we don't load something for the wrong architecture.
  */
 #ifndef elf_check_arch
-#define elf_check_arch(x) ((x) == ELF_ARCH)    /* Might be EM_SPARCV9 or EM_SPARC */
+#define elf_check_arch(x) ((x)->e_machine == ELF_ARCH) /* Might be EM_SPARCV9 or EM_SPARC */
 #endif
 
 #define USE_ELF_CORE_DUMP