From 2626ed6c9cb5aba9766af934ac4f2568d0e69d9c Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 20 Apr 2003 08:25:06 +0000 Subject: [PATCH] Update. * sysdeps/i386/useldt.h (DO_SET_THREAD_AREA): Make sure the compiler knows we use the ldt_entry variable and that the syscall modifies the memory. --- linuxthreads/ChangeLog | 4 ++++ linuxthreads/sysdeps/i386/useldt.h | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 093cce8..cf59f3c 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,5 +1,9 @@ 2003-04-20 Ulrich Drepper + * sysdeps/i386/useldt.h (DO_SET_THREAD_AREA): Make sure the + compiler knows we use the ldt_entry variable and that the syscall + modifies the memory. + * internals.h: Split pthread_functions definition into... * sysdeps/pthread/pthread-functions.h: ...new file. diff --git a/linuxthreads/sysdeps/i386/useldt.h b/linuxthreads/sysdeps/i386/useldt.h index a4d4fd2..4ac82f1 100644 --- a/linuxthreads/sysdeps/i386/useldt.h +++ b/linuxthreads/sysdeps/i386/useldt.h @@ -110,7 +110,9 @@ extern int __modify_ldt (int, struct modify_ldt_ldt_s *, size_t); "int $0x80\n\t" \ USETLS_LOAD_EBX \ : "=&a" (__result) \ - : USETLS_EBX_ARG (&ldt_entry), "i" (__NR_set_thread_area)); \ + : USETLS_EBX_ARG (&ldt_entry), "i" (__NR_set_thread_area), \ + "m" (ldt_entry) \ + : "memory"); \ if (__result == 0) \ asm ("movw %w0, %%gs" :: "q" (__gs)); \ else \ @@ -128,7 +130,9 @@ extern int __modify_ldt (int, struct modify_ldt_ldt_s *, size_t); "int $0x80\n\t" \ USETLS_LOAD_EBX \ : "=&a" (__result) \ - : USETLS_EBX_ARG (&ldt_entry), "i" (__NR_set_thread_area)); \ + : USETLS_EBX_ARG (&ldt_entry), "i" (__NR_set_thread_area), \ + "m" (ldt_entry) \ + : "memory"); \ if (__result == 0) \ { \ __gs = (ldt_entry.entry_number << 3) + 3; \ -- 2.7.4