patches/glibc/2.7/190-alpha-asm_elf.patch
author Arnaud Lacombe <lacombar@gmail.com>
Thu Aug 05 17:59:51 2010 +0200 (2010-08-05)
changeset 2069 366bd2b22675
parent 747 d3e603e7c17c
permissions -rw-r--r--
complibs/mpc: fix MPC 0.8.1 build with MPFR 3.0.0

This is the change introduced by revision 734 of MPC repository.

Author: Paul Zimmermann <Paul.Zimmermann@loria.fr>
Revision log: [acos.c] fixed problem with GMP_RNDA (should be MPFR_RNDA, and code was wrong)

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