patches/glibc/ports-2.10.1/420-alpha-no-asm-elf-header.patch
author Johannes Stezenbach <js@sig21.net>
Thu Jul 29 19:47:16 2010 +0200 (2010-07-29)
changeset 2045 fdaa6c7f6dea
permissions -rw-r--r--
cc/gcc: add option to compile against static libstdc++, for gcc-4.4 and newer

Idea and know-how taken from CodeSourcery build script.

Normal build:
$ ldd arm-unknown-linux-uclibcgnueabi-gcc
linux-gate.so.1 => (0xb77f3000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb76e8000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb75a1000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb757a000)
/lib/ld-linux.so.2 (0xb77f4000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb755c000)

CC_STATIC_LIBSTDCXX=y:
$ ldd arm-unknown-linux-uclibcgnueabi-gcc
linux-gate.so.1 => (0xb7843000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb76e6000)
/lib/ld-linux.so.2 (0xb7844000)

I made CC_STATIC_LIBSTDCXX default=y since I think
it is always desirable.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
yann@1625
     1
2007-03-13  Mike Frysinger  <vapier@gentoo.org>
yann@1625
     2
yann@1625
     3
	* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some defines
yann@1625
     4
	from alpha's asm/elf.h
yann@1625
     5
yann@1625
     6
diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/procfs.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
yann@1625
     7
--- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/procfs.h	2009-05-16 10:36:20.000000000 +0200
yann@1625
     8
+++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/procfs.h	2009-11-13 00:50:49.000000000 +0100
yann@1625
     9
@@ -29,10 +29,23 @@
yann@1625
    10
 #include <sys/types.h>
yann@1625
    11
 #include <sys/ucontext.h>
yann@1625
    12
 #include <sys/user.h>
yann@1625
    13
-#include <asm/elf.h>
yann@1625
    14
 
yann@1625
    15
 __BEGIN_DECLS
yann@1625
    16
 
yann@1625
    17
+/*
yann@1625
    18
+ * The OSF/1 version of <sys/procfs.h> makes gregset_t 46 entries long.
yann@1625
    19
+ * I have no idea why that is so.  For now, we just leave it at 33
yann@1625
    20
+ * (32 general regs + processor status word). 
yann@1625
    21
+ */
yann@1625
    22
+#define ELF_NGREG	33
yann@1625
    23
+#define ELF_NFPREG	32
yann@1625
    24
+
yann@1625
    25
+typedef unsigned long elf_greg_t;
yann@1625
    26
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
yann@1625
    27
+
yann@1625
    28
+typedef double elf_fpreg_t;
yann@1625
    29
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
yann@1625
    30
+
yann@1625
    31
 struct elf_siginfo
yann@1625
    32
   {
yann@1625
    33
     int si_signo;			/* Signal number.  */
yann@1625
    34
diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/sys/procfs.h glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/sys/procfs.h