diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-04-20 08:25:06 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-04-20 08:25:06 +0000 |
commit | 2626ed6c9cb5aba9766af934ac4f2568d0e69d9c (patch) | |
tree | 01f1cb61af6d4326c40ab00a323ad4cfcc482547 /linuxthreads/sysdeps | |
parent | d63c3a705769aecf8ec9064a47c955f41a2e99a8 (diff) | |
download | glibc-2626ed6c9cb5aba9766af934ac4f2568d0e69d9c.tar glibc-2626ed6c9cb5aba9766af934ac4f2568d0e69d9c.tar.gz glibc-2626ed6c9cb5aba9766af934ac4f2568d0e69d9c.tar.bz2 glibc-2626ed6c9cb5aba9766af934ac4f2568d0e69d9c.zip |
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.
Diffstat (limited to 'linuxthreads/sysdeps')
-rw-r--r-- | linuxthreads/sysdeps/i386/useldt.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/linuxthreads/sysdeps/i386/useldt.h b/linuxthreads/sysdeps/i386/useldt.h index a4d4fd22c8..4ac82f1ab0 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; \ |