patch-2.4.18 linux/include/asm-i386/rwlock.h
Next file: linux/include/asm-i386/rwsem.h
Previous file: linux/include/asm-i386/pci.h
Back to the patch index
Back to the overall index
- Lines: 77
- Date:
Thu Jan 10 20:08:20 2002
- Orig file:
linux.orig/include/asm-i386/rwlock.h
- Orig date:
Mon Feb 18 20:18:40 2002
diff -Naur -X /home/marcelo/lib/dontdiff linux.orig/include/asm-i386/rwlock.h linux/include/asm-i386/rwlock.h
@@ -17,6 +17,8 @@
#ifndef _ASM_I386_RWLOCK_H
#define _ASM_I386_RWLOCK_H
+#include <linux/stringify.h>
+
#define RW_LOCK_BIAS 0x01000000
#define RW_LOCK_BIAS_STR "0x01000000"
@@ -24,23 +26,29 @@
asm volatile(LOCK "subl $1,(%0)\n\t" \
"js 2f\n" \
"1:\n" \
- ".section .text.lock,\"ax\"\n" \
+ ".subsection 1\n" \
+ ".ifndef _text_lock_" __stringify(KBUILD_BASENAME) "\n" \
+ "_text_lock_" __stringify(KBUILD_BASENAME) ":\n" \
+ ".endif\n" \
"2:\tcall " helper "\n\t" \
"jmp 1b\n" \
- ".previous" \
+ ".subsection 0\n" \
::"a" (rw) : "memory")
#define __build_read_lock_const(rw, helper) \
asm volatile(LOCK "subl $1,%0\n\t" \
"js 2f\n" \
"1:\n" \
- ".section .text.lock,\"ax\"\n" \
+ ".subsection 1\n" \
+ ".ifndef _text_lock_" __stringify(KBUILD_BASENAME) "\n" \
+ "_text_lock_" __stringify(KBUILD_BASENAME) ":\n" \
+ ".endif\n" \
"2:\tpushl %%eax\n\t" \
"leal %0,%%eax\n\t" \
"call " helper "\n\t" \
"popl %%eax\n\t" \
"jmp 1b\n" \
- ".previous" \
+ ".subsection 0\n" \
:"=m" (*(volatile int *)rw) : : "memory")
#define __build_read_lock(rw, helper) do { \
@@ -54,23 +62,29 @@
asm volatile(LOCK "subl $" RW_LOCK_BIAS_STR ",(%0)\n\t" \
"jnz 2f\n" \
"1:\n" \
- ".section .text.lock,\"ax\"\n" \
+ ".subsection 1\n" \
+ ".ifndef _text_lock_" __stringify(KBUILD_BASENAME) "\n" \
+ "_text_lock_" __stringify(KBUILD_BASENAME) ":\n" \
+ ".endif\n" \
"2:\tcall " helper "\n\t" \
"jmp 1b\n" \
- ".previous" \
+ ".subsection 0\n" \
::"a" (rw) : "memory")
#define __build_write_lock_const(rw, helper) \
asm volatile(LOCK "subl $" RW_LOCK_BIAS_STR ",(%0)\n\t" \
"jnz 2f\n" \
"1:\n" \
- ".section .text.lock,\"ax\"\n" \
+ ".subsection 1\n" \
+ ".ifndef _text_lock_" __stringify(KBUILD_BASENAME) "\n" \
+ "_text_lock_" __stringify(KBUILD_BASENAME) ":\n" \
+ ".endif\n" \
"2:\tpushl %%eax\n\t" \
"leal %0,%%eax\n\t" \
"call " helper "\n\t" \
"popl %%eax\n\t" \
"jmp 1b\n" \
- ".previous" \
+ ".subsection 0\n" \
:"=m" (*(volatile int *)rw) : : "memory")
#define __build_write_lock(rw, helper) do { \
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)