source: patches/glibc-2.6.1-alpha_ioperm_fix-1.patch@ c30178f

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since c30178f was 598efa5d, checked in by Joe Ciccone <jciccone@…>, 17 years ago

Update Patches

  • 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.