about summary refs log tree commit diff
path: root/sysdeps/mach
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-10-11 07:22:18 +0000
committerRoland McGrath <roland@gnu.org>2002-10-11 07:22:18 +0000
commit679e4c434f755644cc2093c9940ac58d0c2b51cf (patch)
tree9b854f1c5d1bb85bdb6698b6051e77dfd877147e /sysdeps/mach
parent704bb2fd8e613322b308ed53c98b3d0d1bd98526 (diff)
downloadglibc-679e4c434f755644cc2093c9940ac58d0c2b51cf.tar.gz
glibc-679e4c434f755644cc2093c9940ac58d0c2b51cf.tar.xz
glibc-679e4c434f755644cc2093c9940ac58d0c2b51cf.zip
* locale/newlocale.c (__newlocale): If setting all categories to "C",
	just return &_nl_C_locobj instead of copying it.
	* locale/freelocale.c (__freelocale): Check for &_nl_C_locobj.
	* locale/duplocale.c (__duplocale): Likewise.

2002-10-07  Roland McGrath  <roland@frob.com>

	* config.h.in (HAVE_I386_SET_GDT): New #undef.
	* sysdeps/mach/configure.in: Define it with new check for i386_set_gdt.
	* sysdeps/mach/configure: Regenerated.

2002-10-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
	Add all necessary register outputs for syscall-clobbered registers.

2002-10-02  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/ia64/bzero.S: Rewritten by Sverre Jarp to tune for
	Itanium 2 (and Itanium).
	Fix unwind directives and make it fit in 80 columns.
	* sysdeps/ia64/memset.S: Ditto.
	* sysdeps/ia64/memcpy.S: Ditto.
	Move jump table to .rodata section.

2002-10-03  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Add
	clobbers to asm.
Diffstat (limited to 'sysdeps/mach')
-rw-r--r--sysdeps/mach/configure30
-rw-r--r--sysdeps/mach/configure.in9
-rw-r--r--sysdeps/mach/hurd/i386/init-first.c2
3 files changed, 40 insertions, 1 deletions
diff --git a/sysdeps/mach/configure b/sysdeps/mach/configure
index 6f1013236a..d255328188 100644
--- a/sysdeps/mach/configure
+++ b/sysdeps/mach/configure
@@ -338,3 +338,33 @@ if test $libc_cv_mach_i386_ioports = yes; then
 EOF
 
 fi
+
+echo $ac_n "checking for i386_set_gdt in mach_i386.defs""... $ac_c" 1>&6
+echo "configure:344: checking for i386_set_gdt in mach_i386.defs" >&5
+if eval "test \"`echo '$''{'libc_cv_mach_i386_gdt'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 349 "configure"
+#include "confdefs.h"
+#include <mach/i386/mach_i386.defs>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  egrep "i386_set_gdt" >/dev/null 2>&1; then
+  rm -rf conftest*
+  libc_cv_mach_i386_gdt=yes
+else
+  rm -rf conftest*
+  libc_cv_mach_i386_gdt=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$libc_cv_mach_i386_gdt" 1>&6
+if test $libc_cv_mach_i386_gdt = yes; then
+  cat >> confdefs.h <<\EOF
+#define HAVE_I386_SET_GDT 1
+EOF
+
+fi
diff --git a/sysdeps/mach/configure.in b/sysdeps/mach/configure.in
index 6efd39f58d..92b7777304 100644
--- a/sysdeps/mach/configure.in
+++ b/sysdeps/mach/configure.in
@@ -89,3 +89,12 @@ AC_EGREP_HEADER(i386_io_perm_modify, mach/i386/mach_i386.defs,
 if test $libc_cv_mach_i386_ioports = yes; then
   AC_DEFINE([HAVE_I386_IO_PERM_MODIFY])
 fi
+
+AC_CACHE_CHECK(for i386_set_gdt in mach_i386.defs,
+	       libc_cv_mach_i386_gdt, [dnl
+AC_EGREP_HEADER(i386_set_gdt, mach/i386/mach_i386.defs,
+		libc_cv_mach_i386_gdt=yes,
+		libc_cv_mach_i386_gdt=no)])
+if test $libc_cv_mach_i386_gdt = yes; then
+  AC_DEFINE([HAVE_I386_SET_GDT])
+fi
diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c
index 47edae5086..b3804cba92 100644
--- a/sysdeps/mach/hurd/i386/init-first.c
+++ b/sysdeps/mach/hurd/i386/init-first.c
@@ -336,7 +336,7 @@ _hurd_stack_setup (volatile int argc, ...)
       *--data = (&argc)[-1];
       asm volatile ("movl %0, %%esp\n" /* Switch to new outermost stack.  */
 		    "movl $0, %%ebp\n" /* Clear outermost frame pointer.  */
-		    "jmp *%1" : : "r" (data), "r" (&doinit1));
+		    "jmp *%1" : : "r" (data), "r" (&doinit1) : "sp", "bp");
       /* NOTREACHED */
     }