patches/glibc/2.7/190-alpha-asm_elf.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed Jun 25 23:33:01 2014 +0200 (2014-06-25)
changeset 3325 069f43a215cc
parent 747 d3e603e7c17c
permissions -rw-r--r--
all: fix wildcard to work with make-4.x

In make-3.8x, the $(wildacrd) function would sort the entries,
while in make-4.x, it would just return the entries in any
unpredictable order [*]

Use the $(sort) function to get reproducible behaviour.

[*] Well, most probably the roder the entries appear when read
from readdir()

Reported-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
     1 since the kernel no longer provides asm/elf.h, the sys/procfs.h from the 
     2 common code, alpha, and sh fail when used.  this should things up.
     3 -mike
     4 
     5 2008-06-07  Mike Frysinger  <vapier@gentoo.org>
     6 
     7 	* sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub.
     8 	* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h
     9 	definitions from the kernel header to sys/procfs.h and remove the
    10 	#include of asm/elf.h.
    11 	* sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise.
    12 
    13 *Attachment: signature.asc <msg00012/signature.asc>*
    14 /Description:/ This is a digitally signed message part.
    15 
    16 2008-06-07  Mike Frysinger  <vapier@gentoo.org>
    17 
    18 	* sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub.
    19 	* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h
    20 	definitions from the kernel header to sys/procfs.h and remove the
    21 	#include of asm/elf.h.
    22 	* sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise.
    23 
    24 --- a/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
    25 +++ b/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
    26 @@ -29,10 +29,23 @@
    27  #include <sys/types.h>
    28  #include <sys/ucontext.h>
    29  #include <sys/user.h>
    30 -#include <asm/elf.h>
    31  
    32  __BEGIN_DECLS
    33  
    34 +/*
    35 + * The OSF/1 version of <sys/procfs.h> makes gregset_t 46 entries long.
    36 + * I have no idea why that is so.  For now, we just leave it at 33
    37 + * (32 general regs + processor status word).
    38 + */
    39 +#define ELF_NGREG  33
    40 +#define ELF_NFPREG 32
    41 +
    42 +typedef unsigned long elf_greg_t;
    43 +typedef elf_greg_t elf_gregset_t[ELF_NGREG];
    44 +
    45 +typedef double elf_fpreg_t;
    46 +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
    47 +
    48  struct elf_siginfo
    49    {
    50      int si_signo;			/* Signal number.  */
    51 --- a/sysdeps/unix/sysv/linux/sys/procfs.h
    52 +++ b/sysdeps/unix/sysv/linux/sys/procfs.h
    53 @@ -1,115 +1,2 @@
    54 -/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
    55 -   This file is part of the GNU C Library.
    56 -
    57 -   The GNU C Library is free software; you can redistribute it and/or
    58 -   modify it under the terms of the GNU Lesser General Public
    59 -   License as published by the Free Software Foundation; either
    60 -   version 2.1 of the License, or (at your option) any later version.
    61 -
    62 -   The GNU C Library is distributed in the hope that it will be useful,
    63 -   but WITHOUT ANY WARRANTY; without even the implied warranty of
    64 -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    65 -   Lesser General Public License for more details.
    66 -
    67 -   You should have received a copy of the GNU Lesser General Public
    68 -   License along with the GNU C Library; if not, write to the Free
    69 -   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    70 -   02111-1307 USA.  */
    71 -
    72 -#ifndef _SYS_PROCFS_H
    73 -#define _SYS_PROCFS_H	1
    74 -
    75 -/* This is somehow modelled after the file of the same name on SysVr4
    76 -   systems.  It provides a definition of the core file format for ELF
    77 -   used on Linux.  */
    78 -
    79 -#include <features.h>
    80 -#include <signal.h>
    81 -#include <sys/time.h>
    82 -#include <sys/types.h>
    83 -#include <sys/ucontext.h>
    84 -#include <sys/user.h>
    85 -#include <asm/elf.h>
    86 -
    87 -__BEGIN_DECLS
    88 -
    89 -struct elf_siginfo
    90 -  {
    91 -    int si_signo;			/* Signal number.  */
    92 -    int si_code;			/* Extra code.  */
    93 -    int si_errno;			/* Errno.  */
    94 -  };
    95 -
    96 -/* Definitions to generate Intel SVR4-like core files.  These mostly
    97 -   have the same names as the SVR4 types with "elf_" tacked on the
    98 -   front to prevent clashes with linux definitions, and the typedef
    99 -   forms have been avoided.  This is mostly like the SVR4 structure,
   100 -   but more Linuxy, with things that Linux does not support and which
   101 -   gdb doesn't really use excluded.  Fields present but not used are
   102 -   marked with "XXX".  */
   103 -struct elf_prstatus
   104 -  {
   105 -#if 0
   106 -    long int pr_flags;			/* XXX Process flags.  */
   107 -    short int pr_why;			/* XXX Reason for process halt.  */
   108 -    short int pr_what;			/* XXX More detailed reason.  */
   109 -#endif
   110 -    struct elf_siginfo pr_info;		/* Info associated with signal.  */
   111 -    short int pr_cursig;		/* Current signal.  */
   112 -    unsigned long int pr_sigpend;	/* Set of pending signals.  */
   113 -    unsigned long int pr_sighold;	/* Set of held signals.  */
   114 -#if 0
   115 -    struct sigaltstack pr_altstack;	/* Alternate stack info.  */
   116 -    struct sigaction pr_action;		/* Signal action for current sig.  */
   117 -#endif
   118 -    __pid_t pr_pid;
   119 -    __pid_t pr_ppid;
   120 -    __pid_t pr_pgrp;
   121 -    __pid_t pr_sid;
   122 -    struct timeval pr_utime;		/* User time.  */
   123 -    struct timeval pr_stime;		/* System time.  */
   124 -    struct timeval pr_cutime;		/* Cumulative user time.  */
   125 -    struct timeval pr_cstime;		/* Cumulative system time.  */
   126 -#if 0
   127 -    long int pr_instr;			/* Current instruction.  */
   128 -#endif
   129 -    elf_gregset_t pr_reg;		/* GP registers.  */
   130 -    int pr_fpvalid;			/* True if math copro being used.  */
   131 -  };
   132 -
   133 -
   134 -#define ELF_PRARGSZ     (80)    /* Number of chars for args */
   135 -
   136 -struct elf_prpsinfo
   137 -  {
   138 -    char pr_state;			/* Numeric process state.  */
   139 -    char pr_sname;			/* Char for pr_state.  */
   140 -    char pr_zomb;			/* Zombie.  */
   141 -    char pr_nice;			/* Nice val.  */
   142 -    unsigned long int pr_flag;		/* Flags.  */
   143 -    unsigned short int pr_uid;
   144 -    unsigned short int pr_gid;
   145 -    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
   146 -    /* Lots missing */
   147 -    char pr_fname[16];			/* Filename of executable.  */
   148 -    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
   149 -  };
   150 -
   151 -/* Addresses.  */
   152 -typedef void *psaddr_t;
   153 -
   154 -/* Register sets.  Linux has different names.  */
   155 -typedef gregset_t prgregset_t;
   156 -typedef fpregset_t prfpregset_t;
   157 -
   158 -/* We don't have any differences between processes and threads,
   159 -   therefore habe only ine PID type.  */
   160 -typedef __pid_t lwpid_t;
   161 -
   162 -
   163 -typedef struct elf_prstatus prstatus_t;
   164 -typedef struct elf_prpsinfo prpsinfo_t;
   165 -
   166 -__END_DECLS
   167 -
   168 -#endif	/* sys/procfs.h */
   169 +/* sys/procfs.h is architecture specific.  */
   170 +#error "This file must be supplied by every Linux architecture."
   171