patches/glibc/2.9/460-alpha-glibc-2.5-no-asm-elf-header.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 22:43:07 2011 +0200 (2011-07-17)
changeset 2893 a8a65758664f
parent 1201 c9967a6e3b25
permissions -rw-r--r--
cc/gcc: do not use the core pass-2 to build the baremetal compiler

In case we build a baremetal compiler, use the standard passes:
- core_cc is used to build the C library;
- as such, it is meant to run on build, not host;
- the final compiler is meant to run on host;

As the current final compiler step can not build a baremetal compiler,
call the core backend from the final step.

NB: Currently, newlib is built during the start_files pass, so we have
to have a core compiler by then... Once we can build the baremetal
compiler from the final cc step, then we can move the newlib build to
the proper step, and then get rid of the core pass-1 static compiler...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@1201
     1
Original patch from: gentoo/src/patchsets/glibc/2.9/6016_all_alpha-glibc-2.5-no-asm-elf-header.patch
yann@1201
     2
yann@1201
     3
-= BEGIN original header =-
yann@1201
     4
2007-03-13  Mike Frysinger  <vapier@gentoo.org>
yann@1201
     5
yann@1201
     6
	* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some defines
yann@1201
     7
	from alpha's asm/elf.h
yann@1201
     8
yann@1201
     9
-= END original header =-
yann@1201
    10
yann@1201
    11
diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/sys/procfs.h glibc-2_9/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
yann@1201
    12
--- glibc-2_9.orig/sysdeps/unix/sysv/linux/alpha/sys/procfs.h	2001-07-06 06:56:13.000000000 +0200
yann@1201
    13
+++ glibc-2_9/sysdeps/unix/sysv/linux/alpha/sys/procfs.h	2009-02-02 22:01:33.000000000 +0100
yann@1201
    14
@@ -29,10 +29,23 @@
yann@1201
    15
 #include <sys/types.h>
yann@1201
    16
 #include <sys/ucontext.h>
yann@1201
    17
 #include <sys/user.h>
yann@1201
    18
-#include <asm/elf.h>
yann@1201
    19
 
yann@1201
    20
 __BEGIN_DECLS
yann@1201
    21
 
yann@1201
    22
+/*
yann@1201
    23
+ * The OSF/1 version of <sys/procfs.h> makes gregset_t 46 entries long.
yann@1201
    24
+ * I have no idea why that is so.  For now, we just leave it at 33
yann@1201
    25
+ * (32 general regs + processor status word). 
yann@1201
    26
+ */
yann@1201
    27
+#define ELF_NGREG	33
yann@1201
    28
+#define ELF_NFPREG	32
yann@1201
    29
+
yann@1201
    30
+typedef unsigned long elf_greg_t;
yann@1201
    31
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
yann@1201
    32
+
yann@1201
    33
+typedef double elf_fpreg_t;
yann@1201
    34
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
yann@1201
    35
+
yann@1201
    36
 struct elf_siginfo
yann@1201
    37
   {
yann@1201
    38
     int si_signo;			/* Signal number.  */