patches/glibc/2.5.1/170-alpha-asm_elf.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Apr 19 16:17:11 2009 +0000 (2009-04-19)
branchnewlib
changeset 1365 c4d124ed9f8e
parent 665 313618c2c185
permissions -rw-r--r--
Update the newlib devel branch with stuf from /trunk.

-------- diffstat follows --------
/devel/newlib/configure | 8 4 4 0
/devel/newlib/scripts/build/kernel/linux.sh | 2 1 1 0
/devel/newlib/scripts/build/cc/gcc.sh | 34 22 12 0 +
/devel/newlib/scripts/build/debug/300-gdb.sh | 52 45 7 0 +
/devel/newlib/scripts/build/libc/uClibc.sh | 6 3 3 0
/devel/newlib/scripts/build/mpfr.sh | 2 1 1 0
/devel/newlib/scripts/crosstool-NG.sh.in | 20 18 2 0 +
/devel/newlib/scripts/functions | 44 34 10 0 +
/devel/newlib/patches/glibc/2_9/500-ppc-glibc-2.9-atomic.patch | 414 0 414 0 ----------
/devel/newlib/patches/glibc/2_9/140-regex-BZ9697.patch | 111 0 111 0 ---
/devel/newlib/patches/glibc/2_9/190-queue-header-updates.patch | 89 0 89 0 --
/devel/newlib/patches/glibc/2_9/370-hppa_glibc-2.7-hppa-nptl-carlos.patch | 249 0 249 0 ------
/devel/newlib/patches/glibc/2_9/450-alpha-glibc-2.5-no-page-header.patch | 32 0 32 0 -
/devel/newlib/patches/glibc/2_9/330-2.3.3-china.patch | 35 0 35 0 -
/devel/newlib/patches/glibc/2_9/270-ldbl-nexttowardf.patch | 68 0 68 0 --
/devel/newlib/patches/glibc/2_9/410-2.9-fnmatch.patch | 64 0 64 0 --
/devel/newlib/patches/glibc/2_9/340-new-valencian-locale.patch | 120 0 120 0 ---
/devel/newlib/patches/glibc/2_9/350-2.4-undefine-__i686.patch | 47 0 47 0 -
/devel/newlib/patches/glibc/2_9/160-i386-x86_64-revert-clone-cfi.patch | 53 0 53 0 -
/devel/newlib/patches/glibc/2_9/150-regex-BZ697.patch | 28 0 28 0 -
/devel/newlib/patches/glibc/2_9/420-dont-build-timezone.patch | 19 0 19 0 -
/devel/newlib/patches/glibc/2_9/290-no-inline-gmon.patch | 38 0 38 0 -
/devel/newlib/patches/glibc/2_9/280-section-comments.patch | 29 0 29 0 -
/devel/newlib/patches/glibc/2_9/180-math-tests.patch | 72 0 72 0 --
/devel/newlib/patches/glibc/2_9/250-resolv-dynamic.patch | 44 0 44 0 -
/devel/newlib/patches/glibc/2_9/120-_nss_dns_gethostbyaddr2_r-check-and-adjust-the-buffer-alignment.patch | 35 0 35 0 -
/devel/newlib/patches/glibc/2_9/300-2.9-check_native-headers.patch | 22 0 22 0 -
/devel/newlib/patches/glibc/2_9/130-add_prio-macros.patch | 26 0 26 0 -
/devel/newlib/patches/glibc/2_9/310-2.3.6-fix-pr631.patch | 50 0 50 0 -
/devel/newlib/patches/glibc/2_9/510-sh-no-asm-user-header.patch | 70 0 70 0 --
/devel/newlib/patches/glibc/2_9/260-fadvise64_64.patch | 30 0 30 0 -
/devel/newlib/patches/glibc/2_9/440-alpha-glibc-2.4-xstat.patch | 249 0 249 0 ------
/devel/newlib/patches/glibc/2_9/170-2.10-dns-no-gethostbyname4.patch | 35 0 35 0 -
/devel/newlib/patches/glibc/2_9/230-2.3.3-localedef-fix-trampoline.patch | 74 0 74 0 --
/devel/newlib/patches/glibc/2_9/480-alpha-glibc-2.8-cache-shape.patch | 18 0 18 0 -
/devel/newlib/patches/glibc/2_9/360-2.8-nscd-one-fork.patch | 45 0 45 0 -
/devel/newlib/patches/glibc/2_9/210-2.9-strlen-hack.patch | 109 0 109 0 ---
/devel/newlib/patches/glibc/2_9/320-2.9-assume-pipe2.patch | 59 0 59 0 -
/devel/newlib/patches/glibc/2_9/100-ssp-compat.patch | 193 0 193 0 -----
/devel/newlib/patches/glibc/2_9/110-respect-env-CPPFLAGS.patch | 30 0 30 0 -
/devel/newlib/patches/glibc/2_9/220-manual-no-perl.patch | 29 0 29 0 -
/devel/newlib/patches/glibc/2_9/390-2.3.3_pre20040117-pt_pax.patch | 35 0 35 0 -
/devel/newlib/patches/glibc/2_9/460-alpha-glibc-2.5-no-asm-elf-header.patch | 38 0 38 0 -
/devel/newlib/patches/glibc/2_9/400-tests-sandbox-libdl-paths.patch | 198 0 198 0 -----
/devel/newlib/patches/glibc/2_9/520-sh-no-asm-elf-header.patch | 27 0 27 0 -
/devel/newlib/patches/glibc/2_9/240-i386-LOAD_PIC_REG.patch | 23 0 23 0 -
/devel/newlib/patches/glibc/2_9/200-awk-in-C-locale.patch | 23 0 23 0 -
/devel/newlib/patches/glibc/2_9/430-2.7-cross-compile-nptl.patch | 57 0 57 0 -
/devel/newlib/patches/glibc/2_9/380-2.3.6-dl_execstack-PaX-support.patch | 71 0 71 0 --
/devel/newlib/patches/glibc/2_9/490-ptr-mangling.patch | 114 0 114 0 ---
/devel/newlib/patches/glibc/2_9/470-alpha-glibc-2.8-creat.patch | 19 0 19 0 -
/devel/newlib/patches/glibc/ports-2_9/100-arm_linux_tls.patch | 14 0 14 0 -
/devel/newlib/patches/uClibc/0.9.30.1/140-gnu89-inline.patch | 2 1 1 0
/devel/newlib/docs/known-issues.txt | 16 15 1 0 +
/devel/newlib/docs/overview.txt | 2 1 1 0
/devel/newlib/samples/armeb-unknown-linux-uclibc/uClibc-0.9.30.config | 243 0 243 0 ------
/devel/newlib/samples/armeb-unknown-linux-uclibc/crosstool.config | 78 55 23 0 +-
/devel/newlib/samples/sh4-unknown-linux-gnu/crosstool.config | 35 18 17 0 +
/devel/newlib/samples/x86_64-unknown-linux-gnu/crosstool.config | 104 68 36 0 +--
/devel/newlib/samples/arm-unknown-elf/crosstool.config | 54 47 7 0 +
/devel/newlib/samples/armeb-unknown-eabi/crosstool.config | 54 47 7 0 +
/devel/newlib/samples/arm-unknown-linux-gnueabi/crosstool.config | 113 73 40 0 +--
/devel/newlib/samples/ia64-unknown-linux-gnu/crosstool.config | 91 61 30 0 +-
/devel/newlib/samples/x86_64-unknown-linux-uclibc/uClibc-0.9.30.config | 245 0 245 0 ------
/devel/newlib/samples/x86_64-unknown-linux-uclibc/crosstool.config | 78 55 23 0 +-
/devel/newlib/samples/armeb-unknown-linux-gnueabi/crosstool.config | 105 69 36 0 +--
/devel/newlib/samples/powerpc-e500v2-linux-gnuspe/crosstool.config | 96 63 33 0 +-
/devel/newlib/samples/i686-nptl-linux-gnu/crosstool.config | 78 48 30 0 +-
/devel/newlib/samples/arm-unknown-linux-gnu/crosstool.config | 105 69 36 0 +--
/devel/newlib/samples/powerpc-unknown-linux-gnu/crosstool.config | 103 67 36 0 +-
/devel/newlib/samples/mips-unknown-linux-uclibc/uClibc-0.9.30.config | 254 0 254 0 ------
/devel/newlib/samples/mips-unknown-linux-uclibc/crosstool.config | 77 54 23 0 +-
/devel/newlib/samples/arm-unknown-linux-uclibcgnueabi/uClibc-0.9.30.config | 253 0 253 0 ------
/devel/newlib/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config | 78 55 23 0 +-
/devel/newlib/samples/arm-iphone-linux-gnueabi/crosstool.config | 84 57 27 0 +-
/devel/newlib/samples/armeb-unknown-linux-gnu/crosstool.config | 105 69 36 0 +--
/devel/newlib/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config | 104 68 36 0 +--
/devel/newlib/samples/i586-geode-linux-uclibc/uClibc-0.9.30.config | 263 0 263 0 ------
/devel/newlib/samples/i586-geode-linux-uclibc/crosstool.config | 78 55 23 0 +-
/devel/newlib/samples/arm-unknown-linux-uclibc/uClibc-0.9.30.config | 253 0 253 0 ------
/devel/newlib/samples/arm-unknown-linux-uclibc/crosstool.config | 78 55 23 0 +-
/devel/newlib/samples/powerpc-unknown-linux-uclibc/uClibc-0.9.30.config | 248 0 248 0 ------
/devel/newlib/samples/powerpc-unknown-linux-uclibc/crosstool.config | 77 54 23 0 +-
/devel/newlib/samples/mips-unknown-elf/crosstool.config | 54 47 7 0 +
/devel/newlib/samples/powerpc-405-linux-gnu/crosstool.config | 104 68 36 0 +--
/devel/newlib/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config | 26 13 13 0
/devel/newlib/samples/arm-unknown-eabi/crosstool.config | 54 47 7 0 +
/devel/newlib/samples/mipsel-unknown-linux-gnu/crosstool.config | 104 68 36 0 +--
/devel/newlib/samples/powerpc64-unknown-linux-gnu/crosstool.config | 75 49 26 0 +-
/devel/newlib/samples/alphaev56-unknown-linux-gnu/crosstool.config | 94 63 31 0 +-
/devel/newlib/samples/powerpc-860-linux-gnu/crosstool.config | 102 67 35 0 +-
/devel/newlib/config/kernel/linux.in | 87 46 41 0 +-
/devel/newlib/config/cc/gcc.in | 35 30 5 0 +
/devel/newlib/config/debug/gdb.in | 2 1 1 0
94 files changed, 1851 insertions(+), 5813 deletions(-)
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/sh/sys/procfs.h
yann@665
    52
+++ b/sysdeps/unix/sysv/linux/sh/sys/procfs.h
yann@665
    53
@@ -29,10 +29,19 @@
yann@665
    54
 #include <sys/types.h>
yann@665
    55
 #include <sys/ucontext.h>
yann@665
    56
 #include <sys/user.h>
yann@665
    57
-#include <asm/elf.h>
yann@665
    58
 
yann@665
    59
 __BEGIN_DECLS
yann@665
    60
 
yann@665
    61
+/*
yann@665
    62
+ * ELF register definitions...
yann@665
    63
+ */
yann@665
    64
+typedef unsigned long elf_greg_t;
yann@665
    65
+
yann@665
    66
+#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t))
yann@665
    67
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
yann@665
    68
+
yann@665
    69
+typedef struct user_fpu_struct elf_fpregset_t;
yann@665
    70
+
yann@665
    71
 struct elf_siginfo
yann@665
    72
   {
yann@665
    73
     int si_signo;			/* Signal number.  */
yann@665
    74
--- a/sysdeps/unix/sysv/linux/sys/procfs.h
yann@665
    75
+++ b/sysdeps/unix/sysv/linux/sys/procfs.h
yann@665
    76
@@ -1,115 +1,2 @@
yann@665
    77
-/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
yann@665
    78
-   This file is part of the GNU C Library.
yann@665
    79
-
yann@665
    80
-   The GNU C Library is free software; you can redistribute it and/or
yann@665
    81
-   modify it under the terms of the GNU Lesser General Public
yann@665
    82
-   License as published by the Free Software Foundation; either
yann@665
    83
-   version 2.1 of the License, or (at your option) any later version.
yann@665
    84
-
yann@665
    85
-   The GNU C Library is distributed in the hope that it will be useful,
yann@665
    86
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
yann@665
    87
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
yann@665
    88
-   Lesser General Public License for more details.
yann@665
    89
-
yann@665
    90
-   You should have received a copy of the GNU Lesser General Public
yann@665
    91
-   License along with the GNU C Library; if not, write to the Free
yann@665
    92
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
yann@665
    93
-   02111-1307 USA.  */
yann@665
    94
-
yann@665
    95
-#ifndef _SYS_PROCFS_H
yann@665
    96
-#define _SYS_PROCFS_H	1
yann@665
    97
-
yann@665
    98
-/* This is somehow modelled after the file of the same name on SysVr4
yann@665
    99
-   systems.  It provides a definition of the core file format for ELF
yann@665
   100
-   used on Linux.  */
yann@665
   101
-
yann@665
   102
-#include <features.h>
yann@665
   103
-#include <signal.h>
yann@665
   104
-#include <sys/time.h>
yann@665
   105
-#include <sys/types.h>
yann@665
   106
-#include <sys/ucontext.h>
yann@665
   107
-#include <sys/user.h>
yann@665
   108
-#include <asm/elf.h>
yann@665
   109
-
yann@665
   110
-__BEGIN_DECLS
yann@665
   111
-
yann@665
   112
-struct elf_siginfo
yann@665
   113
-  {
yann@665
   114
-    int si_signo;			/* Signal number.  */
yann@665
   115
-    int si_code;			/* Extra code.  */
yann@665
   116
-    int si_errno;			/* Errno.  */
yann@665
   117
-  };
yann@665
   118
-
yann@665
   119
-/* Definitions to generate Intel SVR4-like core files.  These mostly
yann@665
   120
-   have the same names as the SVR4 types with "elf_" tacked on the
yann@665
   121
-   front to prevent clashes with linux definitions, and the typedef
yann@665
   122
-   forms have been avoided.  This is mostly like the SVR4 structure,
yann@665
   123
-   but more Linuxy, with things that Linux does not support and which
yann@665
   124
-   gdb doesn't really use excluded.  Fields present but not used are
yann@665
   125
-   marked with "XXX".  */
yann@665
   126
-struct elf_prstatus
yann@665
   127
-  {
yann@665
   128
-#if 0
yann@665
   129
-    long int pr_flags;			/* XXX Process flags.  */
yann@665
   130
-    short int pr_why;			/* XXX Reason for process halt.  */
yann@665
   131
-    short int pr_what;			/* XXX More detailed reason.  */
yann@665
   132
-#endif
yann@665
   133
-    struct elf_siginfo pr_info;		/* Info associated with signal.  */
yann@665
   134
-    short int pr_cursig;		/* Current signal.  */
yann@665
   135
-    unsigned long int pr_sigpend;	/* Set of pending signals.  */
yann@665
   136
-    unsigned long int pr_sighold;	/* Set of held signals.  */
yann@665
   137
-#if 0
yann@665
   138
-    struct sigaltstack pr_altstack;	/* Alternate stack info.  */
yann@665
   139
-    struct sigaction pr_action;		/* Signal action for current sig.  */
yann@665
   140
-#endif
yann@665
   141
-    __pid_t pr_pid;
yann@665
   142
-    __pid_t pr_ppid;
yann@665
   143
-    __pid_t pr_pgrp;
yann@665
   144
-    __pid_t pr_sid;
yann@665
   145
-    struct timeval pr_utime;		/* User time.  */
yann@665
   146
-    struct timeval pr_stime;		/* System time.  */
yann@665
   147
-    struct timeval pr_cutime;		/* Cumulative user time.  */
yann@665
   148
-    struct timeval pr_cstime;		/* Cumulative system time.  */
yann@665
   149
-#if 0
yann@665
   150
-    long int pr_instr;			/* Current instruction.  */
yann@665
   151
-#endif
yann@665
   152
-    elf_gregset_t pr_reg;		/* GP registers.  */
yann@665
   153
-    int pr_fpvalid;			/* True if math copro being used.  */
yann@665
   154
-  };
yann@665
   155
-
yann@665
   156
-
yann@665
   157
-#define ELF_PRARGSZ     (80)    /* Number of chars for args */
yann@665
   158
-
yann@665
   159
-struct elf_prpsinfo
yann@665
   160
-  {
yann@665
   161
-    char pr_state;			/* Numeric process state.  */
yann@665
   162
-    char pr_sname;			/* Char for pr_state.  */
yann@665
   163
-    char pr_zomb;			/* Zombie.  */
yann@665
   164
-    char pr_nice;			/* Nice val.  */
yann@665
   165
-    unsigned long int pr_flag;		/* Flags.  */
yann@665
   166
-    unsigned short int pr_uid;
yann@665
   167
-    unsigned short int pr_gid;
yann@665
   168
-    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
yann@665
   169
-    /* Lots missing */
yann@665
   170
-    char pr_fname[16];			/* Filename of executable.  */
yann@665
   171
-    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
yann@665
   172
-  };
yann@665
   173
-
yann@665
   174
-/* Addresses.  */
yann@665
   175
-typedef void *psaddr_t;
yann@665
   176
-
yann@665
   177
-/* Register sets.  Linux has different names.  */
yann@665
   178
-typedef gregset_t prgregset_t;
yann@665
   179
-typedef fpregset_t prfpregset_t;
yann@665
   180
-
yann@665
   181
-/* We don't have any differences between processes and threads,
yann@665
   182
-   therefore habe only ine PID type.  */
yann@665
   183
-typedef __pid_t lwpid_t;
yann@665
   184
-
yann@665
   185
-
yann@665
   186
-typedef struct elf_prstatus prstatus_t;
yann@665
   187
-typedef struct elf_prpsinfo prpsinfo_t;
yann@665
   188
-
yann@665
   189
-__END_DECLS
yann@665
   190
-
yann@665
   191
-#endif	/* sys/procfs.h */
yann@665
   192
+/* sys/procfs.h is architecture specific.  */
yann@665
   193
+#error "This file must be supplied by every Linux architecture."
yann@665
   194