about summary refs log tree commit diff
path: root/linuxthreads
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-11-04 09:18:22 +0000
committerUlrich Drepper <drepper@redhat.com>2002-11-04 09:18:22 +0000
commit8e96ae1a08f419829221ab7e31291606754f0a69 (patch)
treedebc115345fc77bd7938fe58480861fb3fa2533a /linuxthreads
parent80f6f981b9801b2164c472c3d6be57d96be50219 (diff)
downloadglibc-8e96ae1a08f419829221ab7e31291606754f0a69.tar.gz
glibc-8e96ae1a08f419829221ab7e31291606754f0a69.tar.xz
glibc-8e96ae1a08f419829221ab7e31291606754f0a69.zip
Update.
2002-11-04  Ulrich Drepper  <drepper@redhat.com>

	* manual/examples/dir.c: Don't include <stddef.h>.
	* manual/examples/select.c: Include <errno.h> for TEMP_FAILURE_RETRY.
	Reported by Frédéric Delanoy <delanoy_f@yahoo.com>.

2002-11-02  H.J. Lu  <hjl@gnu.org>

	* stdio-common/reg-printf.c: Include <stddef.h>.
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog6
-rw-r--r--linuxthreads/sysdeps/i386/useldt.h6
2 files changed, 9 insertions, 3 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 1e069044ee..8569a3713b 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,9 @@
+2002-11-04  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/i386/useldt.h [PIC] (USETLS_LOAD_EBX): Use correct input
+	register number.
+	(DO_SET_THREAD_AREA): Mark asm output specifiers correctly.
+
 2002-10-22  Jakub Jelinek  <jakub@redhat.com>
 
 	* manager.c (pthread_start_thread): Call __uselocale even
diff --git a/linuxthreads/sysdeps/i386/useldt.h b/linuxthreads/sysdeps/i386/useldt.h
index 16aee9989f..91eb6e0e2e 100644
--- a/linuxthreads/sysdeps/i386/useldt.h
+++ b/linuxthreads/sysdeps/i386/useldt.h
@@ -76,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 %3, %%ebx\n\t"
+# define USETLS_LOAD_EBX "xchgl %1, %%ebx\n\t"
 #else
 # define USETLS_EBX_ARG "b"
 # define USETLS_LOAD_EBX
@@ -108,7 +108,7 @@ 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)						      \
+	     : "=&a" (__result)						      \
 	     : USETLS_EBX_ARG (&ldt_entry), "i" (__NR_set_thread_area));      \
       if (__result == 0)						      \
 	asm ("movw %w0, %%gs" :: "q" (__gs));				      \
@@ -126,7 +126,7 @@ 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)						      \
+	     : "=&a" (__result)						      \
 	     : USETLS_EBX_ARG (&ldt_entry), "i" (__NR_set_thread_area));      \
       if (__result == 0)						      \
 	{								      \