From 842b81d6113b45c9a10a93dd8415639c414df946 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Fri, 11 May 2012 13:58:41 -0700 Subject: [PATCH] Mark sparc %fsr load and store inline asms as volatile. * sysdeps/sparc/fpu/bits/fenv.h (__fenv_stfsr): Add __volatile__. * sysdeps/sparc/fpu/fpu_control.h (_FPU_GETCW): Likewise. (_FPU_SETCW): Likewise. --- ChangeLog | 6 ++++++ sysdeps/sparc/fpu/bits/fenv.h | 4 ++-- sysdeps/sparc/fpu/fpu_control.h | 8 ++++---- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index dcc28d5..d3a2a8e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-05-11 David S. Miller + + * sysdeps/sparc/fpu/bits/fenv.h (__fenv_stfsr): Add __volatile__. + * sysdeps/sparc/fpu/fpu_control.h (_FPU_GETCW): Likewise. + (_FPU_SETCW): Likewise. + 2012-05-10 H.J. Lu * sysdeps/x86_64/dl-trampoline.S: Check if RTLD_SAVESPACE_SSE diff --git a/sysdeps/sparc/fpu/bits/fenv.h b/sysdeps/sparc/fpu/bits/fenv.h index 2168de5..0e2a9b9 100644 --- a/sysdeps/sparc/fpu/bits/fenv.h +++ b/sysdeps/sparc/fpu/bits/fenv.h @@ -76,9 +76,9 @@ typedef unsigned long int fenv_t; /* For internal use only: access the fp state register. */ #if __WORDSIZE == 64 -# define __fenv_stfsr(X) __asm__ ("stx %%fsr,%0" : "=m" (X)) +# define __fenv_stfsr(X) __asm__ __volatile__ ("stx %%fsr,%0" : "=m" (X)) # define __fenv_ldfsr(X) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (X)) #else -# define __fenv_stfsr(X) __asm__ ("st %%fsr,%0" : "=m" (X)) +# define __fenv_stfsr(X) __asm__ __volatile__ ("st %%fsr,%0" : "=m" (X)) # define __fenv_ldfsr(X) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X)) #endif diff --git a/sysdeps/sparc/fpu/fpu_control.h b/sysdeps/sparc/fpu/fpu_control.h index c8bb503..26c08e9 100644 --- a/sysdeps/sparc/fpu/fpu_control.h +++ b/sysdeps/sparc/fpu/fpu_control.h @@ -59,11 +59,11 @@ typedef unsigned long int fpu_control_t; #if __WORDSIZE == 64 -# define _FPU_GETCW(cw) __asm__ ("stx %%fsr,%0" : "=m" (*&cw)) -# define _FPU_SETCW(cw) __asm__ ("ldx %0,%%fsr" : : "m" (*&cw)) +# define _FPU_GETCW(cw) __asm__ __volatile__ ("stx %%fsr,%0" : "=m" (*&cw)) +# define _FPU_SETCW(cw) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (*&cw)) #else -# define _FPU_GETCW(cw) __asm__ ("st %%fsr,%0" : "=m" (*&cw)) -# define _FPU_SETCW(cw) __asm__ ("ld %0,%%fsr" : : "m" (*&cw)) +# define _FPU_GETCW(cw) __asm__ __volatile__ ("st %%fsr,%0" : "=m" (*&cw)) +# define _FPU_SETCW(cw) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (*&cw)) #endif /* Default control word set at startup. */ -- 2.7.4