source: patches/glibc-2.6-alpha_ioperm_fix-1.patch @ 5f22e50

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since 5f22e50 was 44426cf, checked in by Joe Ciccone <jciccone@…>, 17 years ago

Updated to Glibc 2.6. This includes adding a sed to Coreutils and Gzip to rename their internal implementations of futimens which are incompatible with the implementation provided by Glibc. Added a target tripplet based optimization to glibc on x86 and 32bit build on x86_64 so that glibc will build properly now that i386 is no longer supported. Also added a note to the build variables page the i386-pc-linux-gnu is not supported by glibc.

  • Property mode set to 100644
File size: 1.5 KB
  • sysdeps/unix/sysv/linux/alpha/ioperm.c

    Submitted By: Joe Ciccone <jciccone@linuxfromscratch.org>
    Date: 2007-05-19
    Initial Package Version: 2.6
    Origin: Joe Ciccone
    Upstream Status: Unknown
    Description: Fixes a build issue with alpha on some processors. The
                 instructions being modified are specific to ev56/ev6.
    
    diff -Naur glibc-2.6.orig/sysdeps/unix/sysv/linux/alpha/ioperm.c glibc-2.6/sysdeps/unix/sysv/linux/alpha/ioperm.c
    old new  
    178178static inline void
    179179stb_mb(unsigned char val, unsigned long addr)
    180180{
    181   __asm__("stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
     181  __asm__(".arch ev6; stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
    182182}
    183183
    184184static inline void
    185185stw_mb(unsigned short val, unsigned long addr)
    186186{
    187   __asm__("stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
     187  __asm__(".arch ev6; stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
    188188}
    189189
    190190static inline void
     
    356356  unsigned long int addr = dense_port_to_cpu_addr (port);
    357357  unsigned char r;
    358358
    359   __asm__ ("ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
     359  __asm__ (".arch ev6; ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
    360360  return r;
    361361}
    362362
     
    366366  unsigned long int addr = dense_port_to_cpu_addr (port);
    367367  unsigned short r;
    368368
    369   __asm__ ("ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
     369  __asm__ (".arch ev6; ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
    370370  return r;
    371371}
    372372
Note: See TracBrowser for help on using the repository browser.