This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


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

Merge sysdeps/unix/mman into sysdeps/unix


There's a separate sysdeps directory sysdeps/unix/mman that exists
only to define mmap and related syscalls.  These can nowadays be
considered standard for any Unix-like system and go straight in
sysdeps/unix rather than needing an extra sysdeps directory implied by
both sysdeps/unix/sysv/linux and sysdeps/unix/bsd/bsd4.4.

I propose this patch to eliminate that separate sysdeps subdirectory,
moving the syscalls to sysdeps/unix/syscalls.list.  Tested x86_64,
including making sure the compiled library binaries are identical
before and after the patch.

2012-04-21  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/syscalls.list (madvise): Add syscall from
	sysdeps/unix/mman/syscalls.list.
	(mmap): Likewise.
	(mprotect): Likewise.
	(msync): Likewise.
	(munmap): Likewise.
	* sysdeps/unix/bsd/bsd4.4/Implies: Remove.
	* sysdeps/unix/mman/syscalls.list: Remove.
	* sysdeps/unix/sysv/linux/Implies: Don't include unix/mman.

diff --git a/sysdeps/unix/bsd/bsd4.4/Implies b/sysdeps/unix/bsd/bsd4.4/Implies
deleted file mode 100644
index 3bdab54..0000000
--- a/sysdeps/unix/bsd/bsd4.4/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-# 4.4 BSD has the canonical set of <sys/mman.h> system calls.
-unix/mman
diff --git a/sysdeps/unix/mman/syscalls.list b/sysdeps/unix/mman/syscalls.list
deleted file mode 100644
index 7db8eb7..0000000
--- a/sysdeps/unix/mman/syscalls.list
+++ /dev/null
@@ -1,11 +0,0 @@
-# This interface desciption corresponds to the POSIX.1 description.  The
-# 4.4BSD interface is slightly different since the `msync' function takes
-# only 2 arguments.
-
-# File name	Caller	Syscall name	# args	Strong name	Weak names
-
-madvise		-	madvise		i:pii	madvise
-mmap		-	mmap		b:aniiii __mmap		mmap
-mprotect	-	mprotect	i:aii	__mprotect	mprotect
-msync		-	msync		Ci:aii	__libc_msync	msync
-munmap		-	munmap		i:ai	__munmap	munmap
diff --git a/sysdeps/unix/syscalls.list b/sysdeps/unix/syscalls.list
index 4512a4b..6f423bf 100644
--- a/sysdeps/unix/syscalls.list
+++ b/sysdeps/unix/syscalls.list
@@ -26,7 +26,12 @@ ioctl		-	ioctl		i:iiI	__ioctl		ioctl
 kill		-	kill		i:ii	__kill		kill
 link		-	link		i:ss	__link		link
 lseek		-	lseek		i:iii	__libc_lseek	__lseek lseek
+madvise		-	madvise		i:pii	madvise
 mkdir		-	mkdir		i:si	__mkdir		mkdir
+mmap		-	mmap		b:aniiii __mmap		mmap
+mprotect	-	mprotect	i:aii	__mprotect	mprotect
+msync		-	msync		Ci:aii	__libc_msync	msync
+munmap		-	munmap		i:ai	__munmap	munmap
 open		-	open		Ci:siv	__libc_open __open open
 profil		-	profil		i:piii	__profil	profil
 ptrace		-	ptrace		i:iiii	ptrace
diff --git a/sysdeps/unix/sysv/linux/Implies b/sysdeps/unix/sysv/linux/Implies
index 4deb1c6..ab04990 100644
--- a/sysdeps/unix/sysv/linux/Implies
+++ b/sysdeps/unix/sysv/linux/Implies
@@ -5,10 +5,5 @@ gnu
 # Linux shares most of the syscalls which are also common to BSD and SVR4.
 unix/common
 
-# Linux as of version 1.3.29 has all functions of the mmap family
-# which are described in POSIX.4.  Missing is only madvise() so
-# we define a stub here.
-unix/mman
-
 # Linux has network support in the kernel.
 unix/inet

-- 
Joseph S. Myers
joseph@codesourcery.com


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