This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

vm86 system call update


Linux/i386 deprecated the old vm86 system call number and added a new one
that takes different parameters, a good while ago now I gather.  This adds
a new stub for it with the right prototype, while preserving binary
compatibility with the old stub.

Ok?


2003-12-02  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/i386/syscalls.list: Turn vm86 into vm86old
	for vm86@GLIBC_2.0 version.  Add new vm86@GLIBC_2.3.3.
	* sysdeps/unix/sysv/linux/i386/Versions (libc: GLIBC_2.3.3): Add vm86.
	* sysdeps/unix/sysv/linux/i386/sys/vm86.h: Update vm86 prototype.

Index: sysdeps/unix/sysv/linux/i386/Versions
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/i386/Versions,v
retrieving revision 1.15
diff -b -p -u -r1.15 Versions
--- sysdeps/unix/sysv/linux/i386/Versions	22 Aug 2003 18:10:45 -0000	1.15
+++ sysdeps/unix/sysv/linux/i386/Versions	2 Dec 2003 23:48:05 -0000
@@ -34,7 +34,11 @@ libc {
     versionsort64;
   }
   GLIBC_2.3.3 {
+    # p*
     posix_fadvise64; posix_fallocate64;
+
+    # v*
+    vm86;
   }
   GLIBC_PRIVATE {
     __modify_ldt;
Index: sysdeps/unix/sysv/linux/i386/syscalls.list
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/i386/syscalls.list,v
retrieving revision 1.17
diff -b -p -u -r1.17 syscalls.list
--- sysdeps/unix/sysv/linux/i386/syscalls.list	2 Sep 2003 08:41:12 -0000	1.17
+++ sysdeps/unix/sysv/linux/i386/syscalls.list	2 Dec 2003 23:48:05 -0000
@@ -1,7 +1,8 @@
 # File name	Caller	Syscall name	Args	Strong name	Weak names
 
 modify_ldt	EXTRA	modify_ldt	i:ipi	__modify_ldt	modify_ldt
-vm86		-	vm86		i:p	__vm86		vm86
+vm86old		EXTRA	vm86old		i:p	__vm86old	vm86@GLIBC_2.0
+vm86		-	vm86		i:ip	__vm86		vm86@GLIBC_2.3.3
 oldgetrlimit	EXTRA	getrlimit	i:ip	__old_getrlimit	getrlimit@GLIBC_2.0
 oldsetrlimit	EXTRA	setrlimit	i:ip	__old_setrlimit	setrlimit@GLIBC_2.0
 time		-	time		Ei:p	time
Index: sysdeps/unix/sysv/linux/i386/sys/vm86.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/i386/sys/vm86.h,v
retrieving revision 1.5
diff -b -p -u -r1.5 vm86.h
--- sysdeps/unix/sysv/linux/i386/sys/vm86.h	6 Jul 2001 04:56:17 -0000	1.5
+++ sysdeps/unix/sysv/linux/i386/sys/vm86.h	2 Dec 2003 23:48:05 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1999, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -27,7 +27,8 @@
 __BEGIN_DECLS
 
 /* Enter virtual 8086 mode.  */
-extern int vm86 (struct vm86_struct *__info) __THROW;
+extern int vm86 (unsigned long int __subfunction,
+		 struct vm86plus_struct *__info) __THROW;
 
 __END_DECLS
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]