2004-03-01  Roland McGrath  <roland@redhat.com>

	* configure.ac: Check for `struct user_desc' in <asm/ldt.h>.
	* process.c [HAVE_STRUCT_USER_DESC]: Use struct user_desc in place of
	struct modify_ldt_ldt_s.
	* mem.c [HAVE_STRUCT_USER_DESC]: Likewise.
diff --git a/configure.ac b/configure.ac
index b7cd49b..490cc05 100644
--- a/configure.ac
+++ b/configure.ac
@@ -210,6 +210,8 @@
 AC_CHECK_TYPES([struct pt_all_user_regs, struct ia64_fpreg],,,
 	       [#include <sys/ptrace.h>])
 
+AC_CHECK_TYPES([struct user_desc],,, [#include <asm/ldt.h>])
+
 AC_CHECK_DECLS([sys_errlist])
 AC_CHECK_DECLS([sys_siglist, _sys_siglist],,, [#include <signal.h>])
 
diff --git a/mem.c b/mem.c
index ee7a7df..7e8f9ba 100644
--- a/mem.c
+++ b/mem.c
@@ -41,6 +41,9 @@
 
 #if defined(LINUX) && defined(I386)
 #include <asm/ldt.h>
+# ifdef HAVE_STRUCT_USER_DESC
+#  define modify_ldt_ldt_s user_desc
+# endif
 #endif
 #if defined(LINUX) && defined(SH64)
 #include <asm/page.h>	    /* for PAGE_SHIFT */
diff --git a/process.c b/process.c
index 6d503af..ccd715e 100644
--- a/process.c
+++ b/process.c
@@ -542,6 +542,9 @@
 
 # ifdef I386
 #  include <asm/ldt.h>
+#   ifdef HAVE_STRUCT_USER_DESC
+#    define modify_ldt_ldt_s user_desc
+#   endif
 extern void print_ldt_entry();
 # endif