source: patches/glibc-2.5-alpha_ioperm_fix-1.patch@ a64a245

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since a64a245 was 7707cfa, checked in by Jim Gifford <clfs@…>, 18 years ago

Glibc 2.5 Patches

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

    Submitted By: Joe Ciccone <jciccone@linuxfromscratch.org>
    Date: 2006-06-25
    Initial Package Version: 2.4
    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.
    
    old new  
    173173static inline void
    174174stb_mb(unsigned char val, unsigned long addr)
    175175{
    176   __asm__("stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
     176  __asm__(".arch ev6; stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
    177177}
    178178
    179179static inline void
    180180stw_mb(unsigned short val, unsigned long addr)
    181181{
    182   __asm__("stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
     182  __asm__(".arch ev6; stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
    183183}
    184184
    185185static inline void
     
    351351  unsigned long int addr = dense_port_to_cpu_addr (port);
    352352  unsigned char r;
    353353
    354   __asm__ ("ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
     354  __asm__ (".arch ev6; ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
    355355  return r;
    356356}
    357357
     
    361361  unsigned long int addr = dense_port_to_cpu_addr (port);
    362362  unsigned short r;
    363363
    364   __asm__ ("ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
     364  __asm__ (".arch ev6; ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
    365365  return r;
    366366}
    367367
Note: See TracBrowser for help on using the repository browser.