summaryrefslogtreecommitdiff
path: root/libpthread/linuxthreads/sysdeps/i386/useldt.h
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-11-15 03:02:51 +0000
committerMike Frysinger <vapier@gentoo.org>2005-11-15 03:02:51 +0000
commit5a69eba90b5b961ceb723d816ce8401582980477 (patch)
tree7d9cdbc2e9199c5f5dfc7ab34df0c89f18d38961 /libpthread/linuxthreads/sysdeps/i386/useldt.h
parent87601389ad2fbd9e0655ae0a391bf7edfdb771c2 (diff)
revert linuxthreads to pre rev 11377 (i.e. before the massive attempt to import glibc updates) while keeping the few bugfixes ... idea is to keep both old and new linuxthreads around so we can hack on the new version while delivering the old stable version to end users
Diffstat (limited to 'libpthread/linuxthreads/sysdeps/i386/useldt.h')
-rw-r--r--libpthread/linuxthreads/sysdeps/i386/useldt.h15
1 files changed, 5 insertions, 10 deletions
diff --git a/libpthread/linuxthreads/sysdeps/i386/useldt.h b/libpthread/linuxthreads/sysdeps/i386/useldt.h
index a5e8e6f18..16aee9989 100644
--- a/libpthread/linuxthreads/sysdeps/i386/useldt.h
+++ b/libpthread/linuxthreads/sysdeps/i386/useldt.h
@@ -24,7 +24,6 @@
#include <stdlib.h> /* For abort(). */
-
/* We don't want to include the kernel header. So duplicate the
information. */
@@ -77,7 +76,7 @@ extern int __modify_ldt (int, struct modify_ldt_ldt_s *, size_t);
#ifdef __PIC__
# define USETLS_EBX_ARG "r"
-# define USETLS_LOAD_EBX "xchgl %1, %%ebx\n\t"
+# define USETLS_LOAD_EBX "xchgl %3, %%ebx\n\t"
#else
# define USETLS_EBX_ARG "b"
# define USETLS_LOAD_EBX
@@ -109,10 +108,8 @@ extern int __modify_ldt (int, struct modify_ldt_ldt_s *, size_t);
"movl %2, %%eax\n\t" \
"int $0x80\n\t" \
USETLS_LOAD_EBX \
- : "=&a" (__result) \
- : USETLS_EBX_ARG (&ldt_entry), "i" (__NR_set_thread_area), \
- "m" (ldt_entry) \
- : "memory"); \
+ : "&a" (__result) \
+ : USETLS_EBX_ARG (&ldt_entry), "i" (__NR_set_thread_area)); \
if (__result == 0) \
asm ("movw %w0, %%gs" :: "q" (__gs)); \
else \
@@ -129,10 +126,8 @@ extern int __modify_ldt (int, struct modify_ldt_ldt_s *, size_t);
"movl %2, %%eax\n\t" \
"int $0x80\n\t" \
USETLS_LOAD_EBX \
- : "=&a" (__result) \
- : USETLS_EBX_ARG (&ldt_entry), "i" (__NR_set_thread_area), \
- "m" (ldt_entry) \
- : "memory"); \
+ : "&a" (__result) \
+ : USETLS_EBX_ARG (&ldt_entry), "i" (__NR_set_thread_area)); \
if (__result == 0) \
{ \
__gs = (ldt_entry.entry_number << 3) + 3; \