patches/glibc/ports-2.13/460-alpha-fix-gcc-4.1-warnings.patch
author Cody P Schafer <dev@codyps.com>
Mon May 12 00:02:13 2014 +0200 (2014-05-12)
changeset 3322 eb13867a034c
permissions -rw-r--r--
arch/powerpc: add powerpc64le support

Technically, I don't forbid powerpcle support either, but I'm not sure that
there is any library/compiler support for that at the moment (though the hw
technically makes it possible).

powerpc64le needs glibc 2.19 and gcc 4.9. I haven't looked into the support
tools, but at least gdb 7.5 is too old (7.7.1 definitely has support).

Also make powerpc64 non-experimental. It's practically old at this point.

Signed-off-by: Cody P Schafer <dev@codyps.com>
[yann.morin.1998@free.fr: use ${target_endian_le} and ${target_bits_64}]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <64bfbbced9dd8f62e0d6.1399801945@gun>
Patchwork-Id: 347775
     1 2006-05-30  Falk Hueffner <falk@debian.org>
     2 
     3 	* sysdeps/unix/sysv/linux/alpha/ioperm.c: force the architecture
     4 	  to ev6 in assembly code.
     5 
     6 {standard input}: Assembler messages:
     7 {standard input}:341: Error: macro requires $at register while noat in effect
     8 {standard input}:374: Error: macro requires $at register while noat in effect
     9 {standard input}:438: Error: macro requires $at register while noat in effect
    10 {standard input}:471: Error: macro requires $at register while noat in effect
    11 make[3]: *** [/tmp/buildd/glibc-2.3.6/build-tree/alpha-libc/misc/ioperm.o] Error 1
    12 
    13 Hrm. gcc puts .arch ev4 into the .s, and this overrides -mev6 for as.
    14 I cannot really think of anything better than
    15 
    16  ports/sysdeps/unix/sysv/linux/alpha/ioperm.c |    8 ++++----
    17  1 file changed, 4 insertions(+), 4 deletions(-)
    18 
    19 diff -durN glibc-2.13.orig/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/ioperm.c glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/ioperm.c
    20 --- glibc-2.13.orig/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/ioperm.c	2009-05-16 10:36:20.000000000 +0200
    21 +++ glibc-2.13/glibc-ports-2.13/sysdeps/unix/sysv/linux/alpha/ioperm.c	2009-11-13 00:50:57.000000000 +0100
    22 @@ -178,13 +178,13 @@
    23  static inline void
    24  stb_mb(unsigned char val, unsigned long addr)
    25  {
    26 -  __asm__("stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
    27 +  __asm__(".arch ev6; stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
    28  }
    29  
    30  static inline void
    31  stw_mb(unsigned short val, unsigned long addr)
    32  {
    33 -  __asm__("stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
    34 +  __asm__(".arch ev6; stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
    35  }
    36  
    37  static inline void
    38 @@ -356,7 +356,7 @@
    39    unsigned long int addr = dense_port_to_cpu_addr (port);
    40    unsigned char r;
    41  
    42 -  __asm__ ("ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
    43 +  __asm__ (".arch ev6; ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
    44    return r;
    45  }
    46  
    47 @@ -366,7 +366,7 @@
    48    unsigned long int addr = dense_port_to_cpu_addr (port);
    49    unsigned short r;
    50  
    51 -  __asm__ ("ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
    52 +  __asm__ (".arch ev6; ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
    53    return r;
    54  }
    55  
    56 diff -durN glibc-2.13.orig/ports/sysdeps/unix/sysv/linux/alpha/ioperm.c glibc-2.13/ports/sysdeps/unix/sysv/linux/alpha/ioperm.c