9
9
*
10
10
*
11
11
* IDENTIFICATION
12
- * $PostgreSQL: pgsql/src/backend/storage/lmgr/s_lock.c,v 1.32 2004/08/30 23:47:20 tgl Exp $
12
+ * $PostgreSQL: pgsql/src/backend/storage/lmgr/s_lock.c,v 1.33 2004/12/18 22:12:52 momjian Exp $
13
13
*
14
14
*-------------------------------------------------------------------------
15
15
*/
@@ -136,12 +136,26 @@ s_lock(volatile slock_t *lock, const char *file, int line)
136
136
137
137
138
138
#if defined(__m68k__ )
139
+ /* really means: extern int tas(slock_t* **lock); */
139
140
static void
140
- tas_dummy ()/* really means: extern int tas(slock_t
141
- * **lock); */
141
+ tas_dummy ()
142
142
{
143
143
__asm____volatile__(
144
- "\
144
+ #if defined(__NetBSD__ )&& defined(__ELF__ )
145
+ /* no underscore for label and % for registers */
146
+ "\
147
+ .globaltas \n\
148
+ tas:\n\
149
+ movel%sp@(0x4),%a0\n\
150
+ tas %a0@\n\
151
+ beq _success\n\
152
+ moveq#-128,%d0\n\
153
+ rts \n\
154
+ _success:\n\
155
+ moveq#0,%d0\n\
156
+ rts \n"
157
+ #else
158
+ "\
145
159
.global_tas\n\
146
160
_tas:\n\
147
161
movelsp@(0x4),a0\n\
@@ -151,8 +165,9 @@ _tas:\n\
151
165
rts\n\
152
166
_success:\n\
153
167
moveq #0,d0\n\
154
- rts\n\
155
- " );
168
+ rts\n"
169
+ #endif /* __NetBSD__ && __ELF__ */
170
+ );
156
171
}
157
172
#endif /* __m68k__ */
158
173