diff options
author | Jesper Nilsson <jesper.nilsson@axis.com> | 2008-01-28 12:11:29 -0500 |
---|---|---|
committer | Jesper Nilsson <jesper.nilsson@axis.com> | 2008-02-08 05:06:39 -0500 |
commit | 57e6f9646ccf52d14c57bf4886fc0edb5a47d82b (patch) | |
tree | 8c368db98d2acb90c233ecc1e36170f4360fe9db | |
parent | 12e1b1e7909484cfa538159adf87227ad23d8d94 (diff) |
CRIS v32: Let compiler know that memory is clobbered after a break op.
-rw-r--r-- | include/asm-cris/arch-v32/unistd.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/include/asm-cris/arch-v32/unistd.h b/include/asm-cris/arch-v32/unistd.h index 5d369d4439d9..0051114c63c7 100644 --- a/include/asm-cris/arch-v32/unistd.h +++ b/include/asm-cris/arch-v32/unistd.h | |||
@@ -16,7 +16,8 @@ type name(void) \ | |||
16 | ".endif\n\t" \ | 16 | ".endif\n\t" \ |
17 | "break 13" \ | 17 | "break 13" \ |
18 | : "=r" (__a) \ | 18 | : "=r" (__a) \ |
19 | : "r" (__n_)); \ | 19 | : "r" (__n_) \ |
20 | : "memory"); \ | ||
20 | if (__a >= 0) \ | 21 | if (__a >= 0) \ |
21 | return (type) __a; \ | 22 | return (type) __a; \ |
22 | errno = -__a; \ | 23 | errno = -__a; \ |
@@ -33,7 +34,8 @@ type name(type1 arg1) \ | |||
33 | ".endif\n\t" \ | 34 | ".endif\n\t" \ |
34 | "break 13" \ | 35 | "break 13" \ |
35 | : "=r" (__a) \ | 36 | : "=r" (__a) \ |
36 | : "r" (__n_), "0" (__a)); \ | 37 | : "r" (__n_), "0" (__a) \ |
38 | : "memory"); \ | ||
37 | if (__a >= 0) \ | 39 | if (__a >= 0) \ |
38 | return (type) __a; \ | 40 | return (type) __a; \ |
39 | errno = -__a; \ | 41 | errno = -__a; \ |
@@ -51,7 +53,8 @@ type name(type1 arg1,type2 arg2) \ | |||
51 | ".endif\n\t" \ | 53 | ".endif\n\t" \ |
52 | "break 13" \ | 54 | "break 13" \ |
53 | : "=r" (__a) \ | 55 | : "=r" (__a) \ |
54 | : "r" (__n_), "0" (__a), "r" (__b)); \ | 56 | : "r" (__n_), "0" (__a), "r" (__b) \ |
57 | : "memory"); \ | ||
55 | if (__a >= 0) \ | 58 | if (__a >= 0) \ |
56 | return (type) __a; \ | 59 | return (type) __a; \ |
57 | errno = -__a; \ | 60 | errno = -__a; \ |
@@ -70,7 +73,8 @@ type name(type1 arg1,type2 arg2,type3 arg3) \ | |||
70 | ".endif\n\t" \ | 73 | ".endif\n\t" \ |
71 | "break 13" \ | 74 | "break 13" \ |
72 | : "=r" (__a) \ | 75 | : "=r" (__a) \ |
73 | : "r" (__n_), "0" (__a), "r" (__b), "r" (__c)); \ | 76 | : "r" (__n_), "0" (__a), "r" (__b), "r" (__c) \ |
77 | : "memory"); \ | ||
74 | if (__a >= 0) \ | 78 | if (__a >= 0) \ |
75 | return (type) __a; \ | 79 | return (type) __a; \ |
76 | errno = -__a; \ | 80 | errno = -__a; \ |
@@ -91,7 +95,8 @@ type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ | |||
91 | "break 13" \ | 95 | "break 13" \ |
92 | : "=r" (__a) \ | 96 | : "=r" (__a) \ |
93 | : "r" (__n_), "0" (__a), "r" (__b), \ | 97 | : "r" (__n_), "0" (__a), "r" (__b), \ |
94 | "r" (__c), "r" (__d)); \ | 98 | "r" (__c), "r" (__d)\ |
99 | : "memory"); \ | ||
95 | if (__a >= 0) \ | 100 | if (__a >= 0) \ |
96 | return (type) __a; \ | 101 | return (type) __a; \ |
97 | errno = -__a; \ | 102 | errno = -__a; \ |
@@ -114,7 +119,8 @@ type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ | |||
114 | "break 13" \ | 119 | "break 13" \ |
115 | : "=r" (__a) \ | 120 | : "=r" (__a) \ |
116 | : "r" (__n_), "0" (__a), "r" (__b), \ | 121 | : "r" (__n_), "0" (__a), "r" (__b), \ |
117 | "r" (__c), "r" (__d), "h" (__e)); \ | 122 | "r" (__c), "r" (__d), "h" (__e) \ |
123 | : "memory"); \ | ||
118 | if (__a >= 0) \ | 124 | if (__a >= 0) \ |
119 | return (type) __a; \ | 125 | return (type) __a; \ |
120 | errno = -__a; \ | 126 | errno = -__a; \ |
@@ -138,7 +144,8 @@ type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 arg6) \ | |||
138 | "break 13" \ | 144 | "break 13" \ |
139 | : "=r" (__a) \ | 145 | : "=r" (__a) \ |
140 | : "r" (__n_), "0" (__a), "r" (__b), \ | 146 | : "r" (__n_), "0" (__a), "r" (__b), \ |
141 | "r" (__c), "r" (__d), "h" (__e), "x" (__f)); \ | 147 | "r" (__c), "r" (__d), "h" (__e), "x" (__f) \ |
148 | : "memory"); \ | ||
142 | if (__a >= 0) \ | 149 | if (__a >= 0) \ |
143 | return (type) __a; \ | 150 | return (type) __a; \ |
144 | errno = -__a; \ | 151 | errno = -__a; \ |