r1120 - trunk/glibc-2.3-head/sysdeps/kfreebsd/i386
Author: rmh
Date: 2006-02-02 09:21:30 +0000 (Thu, 02 Feb 2006)
New Revision: 1120
Added:
trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/i386_get_ldt.c
trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/i386_set_ldt.c
Modified:
trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Makefile
trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Versions
Log:
sysdeps: Add i386_get_ldt and i386_set_ldt (needed by wine).
Modified: trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Makefile
===================================================================
--- trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Makefile 2006-02-01 09:26:20 UTC (rev 1119)
+++ trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Makefile 2006-02-02 09:21:30 UTC (rev 1120)
@@ -14,4 +14,6 @@
sysdep_routines += i386_get_ioperm i386_set_ioperm iopl
# For <sys/vm86.h>.
sysdep_routines += i386_vm86
+# For <machine/sysarch.h>.
+sysdep_routines += i386_get_ldt i386_set_ldt
endif
Modified: trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Versions
===================================================================
--- trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Versions 2006-02-01 09:26:20 UTC (rev 1119)
+++ trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Versions 2006-02-02 09:21:30 UTC (rev 1120)
@@ -2,5 +2,6 @@
GLIBC_2.2.6 {
i386_get_ioperm; i386_set_ioperm; i386_vm86;
ioperm; iopl;
+ i386_get_ldt; i386_set_ldt;
}
}
Added: trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/i386_get_ldt.c
===================================================================
--- trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/i386_get_ldt.c 2006-02-01 09:26:20 UTC (rev 1119)
+++ trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/i386_get_ldt.c 2006-02-02 09:21:30 UTC (rev 1120)
@@ -0,0 +1,38 @@
+/* Copyright (C) 2006 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ Contributed by Robert Millan <robertmh@gnu.org>
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <sys/cdefs.h>
+#include <machine/segments.h>
+#include <machine/sysarch.h>
+
+int
+i386_get_ldt (int from, union descriptor *descs, int num)
+{
+ struct i386_ldt_args args;
+
+ args.start = from;
+ args.descs = descs;
+ args.num = num;
+
+ if (__sysarch (I386_GET_LDT, &args) < 0)
+ return -1;
+
+ return 0;
+}
Added: trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/i386_set_ldt.c
===================================================================
--- trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/i386_set_ldt.c 2006-02-01 09:26:20 UTC (rev 1119)
+++ trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/i386_set_ldt.c 2006-02-02 09:21:30 UTC (rev 1120)
@@ -0,0 +1,38 @@
+/* Copyright (C) 2006 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ Contributed by Robert Millan <robertmh@gnu.org>
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <sys/cdefs.h>
+#include <machine/segments.h>
+#include <machine/sysarch.h>
+
+int
+i386_set_ldt (int from, union descriptor *descs, int num)
+{
+ struct i386_ldt_args args;
+
+ args.start = from;
+ args.descs = descs;
+ args.num = num;
+
+ if (__sysarch (I386_SET_LDT, &args) < 0)
+ return -1;
+
+ return 0;
+}
Reply to: