This is the mail archive of the glibc-cvs@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]

GNU C Library master sources branch master updated. glibc-2.17-178-gf3499f9


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  f3499f95c8610364264479d42d455a79f15c4c86 (commit)
       via  32a45bea390b39e3be3cfa81c68a5892eaa539d2 (commit)
       via  2e8a5c8c46f0a897a2629131eb86d1cae8321234 (commit)
       via  c2d549290d24aeae30a328a6b4061f60f095dea2 (commit)
      from  8cf28c5ebe7b02e769a3f3082fd390e6d8c11542 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=f3499f95c8610364264479d42d455a79f15c4c86

commit f3499f95c8610364264479d42d455a79f15c4c86
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Jan 31 23:01:01 2013 +0000

    Remove CHECK_IOCTL, CHECK_FCNTL and CHECK_N_PAGES.

diff --git a/ChangeLog b/ChangeLog
index 6ae0960..226606a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,12 @@
 2013-01-31  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #13550]
+	* sysdeps/generic/bp-checks.h (CHECK_IOCTL): Remove both
+	definitions.
+	(CHECK_FCNTL): Likewise.
+	(CHECK_N_PAGES): Likewise.
+
+	[BZ #13550]
 	* sysdeps/generic/bp-checks.h (CHECK_SIGSET): Remove both
 	definitions.
 	(CHECK_SIGSET_NULL_OK): Likewise.
diff --git a/sysdeps/generic/bp-checks.h b/sysdeps/generic/bp-checks.h
index 8933778..9bfa433 100644
--- a/sysdeps/generic/bp-checks.h
+++ b/sysdeps/generic/bp-checks.h
@@ -66,30 +66,6 @@ extern void *__unbounded __ubp_memchr (const void *__unbounded, int, unsigned);
 /* Same as CHECK_STRING, but tolerate ARG == NULL.  */
 # define CHECK_STRING_NULL_OK(ARG) _CHECK_STRING ((ARG), __ptrvalue (ARG))
 
-# if defined (_IOC_SIZESHIFT) && defined (_IOC_SIZEBITS)
-/* Extract the size of the ioctl data and check its bounds.  */
-#  define CHECK_IOCTL(ARG, CMD)						\
-  CHECK_N ((const char *) (ARG),					\
-	   (((CMD) >> _IOC_SIZESHIFT) & ((1 << _IOC_SIZEBITS) - 1)))
-# else
-/* We don't know the size of the ioctl data, so the best we can do
-   is check that the first byte is within bounds.  */
-#  define CHECK_IOCTL(ARG, CMD) CHECK_1 ((const char *) ARG)
-# endif
-
-/* Check bounds of `struct flock *' for the locking fcntl commands.  */
-# define CHECK_FCNTL(ARG, CMD)					\
-  (((CMD) == F_GETLK || (CMD) == F_SETLK || (CMD) == F_SETLKW)	\
-   ? CHECK_1 ((struct flock *) ARG) : (unsigned long) (ARG))
-
-/* Check bounds of an array of mincore residency-status flags that
-   cover a region of NBYTES.  Such a vector occupies one byte per page
-   of memory.  */
-# define CHECK_N_PAGES(ARG, NBYTES)				\
-  ({ int _page_size_ = sysconf (_SC_PAGE_SIZE);			\
-     CHECK_N ((const char *) (ARG),				\
-	      ((NBYTES) + _page_size_ - 1) / _page_size_); })
-
 /* Return a bounded pointer with value PTR that satisfies CHECK_N (PTR, N).  */
 # define BOUNDED_N(PTR, N) 				\
   ({ __typeof (PTR) __bounded _p_;			\
@@ -109,9 +85,6 @@ extern void *__unbounded __ubp_memchr (const void *__unbounded, int, unsigned);
 # define CHECK_N(ARG, N) (ARG)
 # define CHECK_N_NULL_OK(ARG, N) (ARG)
 # define CHECK_STRING(ARG) (ARG)
-# define CHECK_IOCTL(ARG, CMD) (ARG)
-# define CHECK_FCNTL(ARG, CMD) (ARG)
-# define CHECK_N_PAGES(ARG, NBYTES) (ARG)
 # define BOUNDED_N(PTR, N) (PTR)
 
 #endif /* !__BOUNDED_POINTERS__ */

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=32a45bea390b39e3be3cfa81c68a5892eaa539d2

commit 32a45bea390b39e3be3cfa81c68a5892eaa539d2
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Jan 31 23:00:15 2013 +0000

    Remove CHECK_SIGSET and CHECK_SIGSET_NULL_OK.

diff --git a/ChangeLog b/ChangeLog
index 5f7bf54..6ae0960 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,38 @@
 2013-01-31  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #13550]
+	* sysdeps/generic/bp-checks.h (CHECK_SIGSET): Remove both
+	definitions.
+	(CHECK_SIGSET_NULL_OK): Likewise.
+	* sysdeps/unix/sysv/linux/sigpending.c: Don't include
+	<bp-checks.h>.
+	(sigpending): Don't use CHECK_SIGSET.
+	* sysdeps/unix/sysv/linux/sigprocmask.c: Don't include
+	<bp-checks.h>.
+	(__sigprocmask): Don't use CHECK_SIGSET and CHECK_SIGSET_NULL_OK.
+	* sysdeps/unix/sysv/linux/sigsuspend.c: Don't include
+	<bp-checks.h>.
+	(do_sigsuspend): Don't use CHECK_SIGSET.
+	* sysdeps/unix/sysv/linux/sigtimedwait.c (do_sigtimedwait): Don't
+	use CHECK_SIGSET.
+	* sysdeps/unix/sysv/linux/sigwait.c: Don't include <bp-checks.h>.
+	(do_sigwait): Don't use CHECK_SIGSET.
+	* sysdeps/unix/sysv/linux/sigwaitinfo.c (do_sigwaitinfo): Don't
+	use CHECK_SIGSET.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c: Don't
+	include <bp-checks.h>.
+	(sigpending): Don't use CHECK_SIGSET.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: Don't
+	include <bp-checks.h>.
+	(__sigprocmask): Don't use CHECK_SIGSET and CHECK_SIGSET_NULL_OK.
+	* sysdeps/unix/sysv/linux/x86_64/sigpending.c: Don't include
+	<bp-checks.h>.
+	(sigpending): Don't use CHECK_SIGSET.
+	* sysdeps/unix/sysv/linux/x86_64/sigprocmask.c: Don't include
+	<bp-checks.h>.
+	(__sigprocmask): Don't use CHECK_SIGSET and CHECK_SIGSET_NULL_OK.
+
+	[BZ #13550]
 	* sysdeps/generic/bp-semctl.h: Remove file.
 	* sysdeps/unix/sysv/linux/i386/semctl.c: Don't include
 	<bp-checks.h> and <bp-semctl.h>.
diff --git a/ports/ChangeLog.ia64 b/ports/ChangeLog.ia64
index 28d5076..4b76b4f 100644
--- a/ports/ChangeLog.ia64
+++ b/ports/ChangeLog.ia64
@@ -1,3 +1,13 @@
+2013-01-31  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #13550]
+	* sysdeps/unix/sysv/linux/ia64/sigpending.c: Don't include
+	<bp-checks.h>.
+	(sigpending): Don't use CHECK_SIGSET.
+	* sysdeps/unix/sysv/linux/ia64/sigprocmask.c: Don't include
+	<bp-checks.h>.
+	(__sigprocmask): Don't use CHECK_SIGSET and CHECK_SIGSET_NULL_OK.
+
 2013-01-02  Joseph Myers  <joseph@codesourcery.com>
 
 	* All files with FSF copyright notices: Update copyright dates
diff --git a/ports/sysdeps/unix/sysv/linux/ia64/sigpending.c b/ports/sysdeps/unix/sysv/linux/ia64/sigpending.c
index 9aac2b7..42fce50 100644
--- a/ports/sysdeps/unix/sysv/linux/ia64/sigpending.c
+++ b/ports/sysdeps/unix/sysv/linux/ia64/sigpending.c
@@ -24,7 +24,6 @@
 
 #include <sysdep.h>
 #include <sys/syscall.h>
-#include <bp-checks.h>
 
 /* Change the set of blocked signals to SET,
    wait until a signal arrives, and restore the set of blocked signals.  */
@@ -34,5 +33,5 @@ sigpending (set)
 {
   /* XXX The size argument hopefully will have to be changed to the
      real size of the user-level sigset_t.  */
-  return INLINE_SYSCALL (rt_sigpending, 2, CHECK_SIGSET (set), _NSIG / 8);
+  return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8);
 }
diff --git a/ports/sysdeps/unix/sysv/linux/ia64/sigprocmask.c b/ports/sysdeps/unix/sysv/linux/ia64/sigprocmask.c
index f074abc..53b8580 100644
--- a/ports/sysdeps/unix/sysv/linux/ia64/sigprocmask.c
+++ b/ports/sysdeps/unix/sysv/linux/ia64/sigprocmask.c
@@ -26,7 +26,6 @@
 
 #include <sysdep.h>
 #include <sys/syscall.h>
-#include <bp-checks.h>
 
 /* Get and/or change the set of blocked signals.  */
 int
@@ -38,7 +37,6 @@ __sigprocmask (how, set, oset)
 
   /* XXX The size argument hopefully will have to be changed to the
      real size of the user-level sigset_t.  */
-  return INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET (set),
-			 CHECK_SIGSET_NULL_OK (oset), _NSIG / 8);
+  return INLINE_SYSCALL (rt_sigprocmask, 4, how, set, oset, _NSIG / 8);
 }
 weak_alias (__sigprocmask, sigprocmask)
diff --git a/sysdeps/generic/bp-checks.h b/sysdeps/generic/bp-checks.h
index a6bfbaa..8933778 100644
--- a/sysdeps/generic/bp-checks.h
+++ b/sysdeps/generic/bp-checks.h
@@ -66,11 +66,6 @@ extern void *__unbounded __ubp_memchr (const void *__unbounded, int, unsigned);
 /* Same as CHECK_STRING, but tolerate ARG == NULL.  */
 # define CHECK_STRING_NULL_OK(ARG) _CHECK_STRING ((ARG), __ptrvalue (ARG))
 
-/* Check bounds of signal syscall args with type sigset_t.  */
-# define CHECK_SIGSET(SET) CHECK_N ((SET), _NSIG / (8 * sizeof *(SET)))
-/* Same as CHECK_SIGSET, but tolerate SET == NULL.  */
-# define CHECK_SIGSET_NULL_OK(SET) CHECK_N_NULL_OK ((SET), _NSIG / (8 * sizeof *(SET)))
-
 # if defined (_IOC_SIZESHIFT) && defined (_IOC_SIZEBITS)
 /* Extract the size of the ioctl data and check its bounds.  */
 #  define CHECK_IOCTL(ARG, CMD)						\
@@ -114,8 +109,6 @@ extern void *__unbounded __ubp_memchr (const void *__unbounded, int, unsigned);
 # define CHECK_N(ARG, N) (ARG)
 # define CHECK_N_NULL_OK(ARG, N) (ARG)
 # define CHECK_STRING(ARG) (ARG)
-# define CHECK_SIGSET(SET) (SET)
-# define CHECK_SIGSET_NULL_OK(SET) (SET)
 # define CHECK_IOCTL(ARG, CMD) (ARG)
 # define CHECK_FCNTL(ARG, CMD) (ARG)
 # define CHECK_N_PAGES(ARG, NBYTES) (ARG)
diff --git a/sysdeps/unix/sysv/linux/sigpending.c b/sysdeps/unix/sysv/linux/sigpending.c
index 74bb909..56f581e 100644
--- a/sysdeps/unix/sysv/linux/sigpending.c
+++ b/sysdeps/unix/sysv/linux/sigpending.c
@@ -21,7 +21,6 @@
 
 #include <sysdep.h>
 #include <sys/syscall.h>
-#include <bp-checks.h>
 
 #include <kernel-features.h>
 
@@ -32,5 +31,5 @@ int
 sigpending (set)
      sigset_t *set;
 {
-  return INLINE_SYSCALL (rt_sigpending, 2, CHECK_SIGSET (set), _NSIG / 8);
+  return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8);
 }
diff --git a/sysdeps/unix/sysv/linux/sigprocmask.c b/sysdeps/unix/sysv/linux/sigprocmask.c
index a40caf6..1af03c3 100644
--- a/sysdeps/unix/sysv/linux/sigprocmask.c
+++ b/sysdeps/unix/sysv/linux/sigprocmask.c
@@ -22,7 +22,6 @@
 
 #include <sysdep.h>
 #include <sys/syscall.h>
-#include <bp-checks.h>
 
 #include <kernel-features.h>
 
@@ -55,7 +54,6 @@ __sigprocmask (how, set, oset)
     }
 #endif
 
-  return INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET_NULL_OK (set),
-			 CHECK_SIGSET_NULL_OK (oset), _NSIG / 8);
+  return INLINE_SYSCALL (rt_sigprocmask, 4, how, set, oset, _NSIG / 8);
 }
 weak_alias (__sigprocmask, sigprocmask)
diff --git a/sysdeps/unix/sysv/linux/sigsuspend.c b/sysdeps/unix/sysv/linux/sigsuspend.c
index 667ba41..992a422 100644
--- a/sysdeps/unix/sysv/linux/sigsuspend.c
+++ b/sysdeps/unix/sysv/linux/sigsuspend.c
@@ -21,7 +21,6 @@
 
 #include <sysdep-cancel.h>
 #include <sys/syscall.h>
-#include <bp-checks.h>
 
 #include <kernel-features.h>
 
@@ -29,7 +28,7 @@
 static inline int __attribute__ ((always_inline))
 do_sigsuspend (const sigset_t *set)
 {
-  return INLINE_SYSCALL (rt_sigsuspend, 2, CHECK_SIGSET (set), _NSIG / 8);
+  return INLINE_SYSCALL (rt_sigsuspend, 2, set, _NSIG / 8);
 }
 
 /* Change the set of blocked signals to SET,
diff --git a/sysdeps/unix/sysv/linux/sigtimedwait.c b/sysdeps/unix/sysv/linux/sigtimedwait.c
index 283215e..df14c2b 100644
--- a/sysdeps/unix/sysv/linux/sigtimedwait.c
+++ b/sysdeps/unix/sysv/linux/sigtimedwait.c
@@ -51,7 +51,7 @@ do_sigtimedwait (const sigset_t *set, siginfo_t *info,
 
     /* XXX The size argument hopefully will have to be changed to the
        real size of the user-level sigset_t.  */
-  int result = INLINE_SYSCALL (rt_sigtimedwait, 4, CHECK_SIGSET (set),
+  int result = INLINE_SYSCALL (rt_sigtimedwait, 4, set,
 			       CHECK_1 (info), timeout, _NSIG / 8);
 
   /* The kernel generates a SI_TKILL code in si_code in case tkill is
diff --git a/sysdeps/unix/sysv/linux/sigwait.c b/sysdeps/unix/sysv/linux/sigwait.c
index aaea9d6..9ea21d0 100644
--- a/sysdeps/unix/sysv/linux/sigwait.c
+++ b/sysdeps/unix/sysv/linux/sigwait.c
@@ -23,7 +23,6 @@
 
 #include <sysdep-cancel.h>
 #include <sys/syscall.h>
-#include <bp-checks.h>
 
 #ifdef __NR_rt_sigtimedwait
 
@@ -58,7 +57,7 @@ do_sigwait (const sigset_t *set, int *sig)
 #ifdef INTERNAL_SYSCALL
   INTERNAL_SYSCALL_DECL (err);
   do
-    ret = INTERNAL_SYSCALL (rt_sigtimedwait, err, 4, CHECK_SIGSET (set),
+    ret = INTERNAL_SYSCALL (rt_sigtimedwait, err, 4, set,
 			    NULL, NULL, _NSIG / 8);
   while (INTERNAL_SYSCALL_ERROR_P (ret, err)
 	 && INTERNAL_SYSCALL_ERRNO (ret, err) == EINTR);
@@ -71,8 +70,7 @@ do_sigwait (const sigset_t *set, int *sig)
     ret = INTERNAL_SYSCALL_ERRNO (ret, err);
 #else
   do
-    ret = INLINE_SYSCALL (rt_sigtimedwait, 4, CHECK_SIGSET (set),
-			  NULL, NULL, _NSIG / 8);
+    ret = INLINE_SYSCALL (rt_sigtimedwait, 4, set, NULL, NULL, _NSIG / 8);
   while (ret == -1 && errno == EINTR);
   if (ret != -1)
     {
diff --git a/sysdeps/unix/sysv/linux/sigwaitinfo.c b/sysdeps/unix/sysv/linux/sigwaitinfo.c
index bd85e95..46afb46 100644
--- a/sysdeps/unix/sysv/linux/sigwaitinfo.c
+++ b/sysdeps/unix/sysv/linux/sigwaitinfo.c
@@ -52,7 +52,7 @@ do_sigwaitinfo (const sigset_t *set, siginfo_t *info)
 
   /* XXX The size argument hopefully will have to be changed to the
      real size of the user-level sigset_t.  */
-  int result = INLINE_SYSCALL (rt_sigtimedwait, 4, CHECK_SIGSET (set),
+  int result = INLINE_SYSCALL (rt_sigtimedwait, 4, set,
 			       CHECK_1 (info), NULL, _NSIG / 8);
 
   /* The kernel generates a SI_TKILL code in si_code in case tkill is
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c
index ca6ff69..57d172d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c
@@ -21,7 +21,6 @@
 
 #include <sysdep.h>
 #include <sys/syscall.h>
-#include <bp-checks.h>
 
 /* Change the set of blocked signals to SET,
    wait until a signal arrives, and restore the set of blocked signals.  */
@@ -31,5 +30,5 @@ sigpending (set)
 {
   /* XXX The size argument hopefully will have to be changed to the
      real size of the user-level sigset_t.  */
-  return INLINE_SYSCALL (rt_sigpending, 2, CHECK_SIGSET (set), _NSIG / 8);
+  return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8);
 }
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c
index 14cda4d..c7a3060 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c
@@ -21,7 +21,6 @@
 
 #include <sysdep.h>
 #include <sys/syscall.h>
-#include <bp-checks.h>
 
 /* Get and/or change the set of blocked signals.  */
 int
@@ -32,7 +31,6 @@ __sigprocmask (how, set, oset)
 {
   /* XXX The size argument hopefully will have to be changed to the
      real size of the user-level sigset_t.  */
-  return INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET (set),
-			 CHECK_SIGSET_NULL_OK (oset), _NSIG / 8);
+  return INLINE_SYSCALL (rt_sigprocmask, 4, how, set, oset, _NSIG / 8);
 }
 weak_alias (__sigprocmask, sigprocmask)
diff --git a/sysdeps/unix/sysv/linux/x86_64/sigpending.c b/sysdeps/unix/sysv/linux/x86_64/sigpending.c
index 523fb39..e68f776 100644
--- a/sysdeps/unix/sysv/linux/x86_64/sigpending.c
+++ b/sysdeps/unix/sysv/linux/x86_64/sigpending.c
@@ -24,7 +24,6 @@
 
 #include <sysdep.h>
 #include <sys/syscall.h>
-#include <bp-checks.h>
 
 /* Change the set of blocked signals to SET,
    wait until a signal arrives, and restore the set of blocked signals.  */
@@ -34,5 +33,5 @@ sigpending (set)
 {
   /* XXX The size argument hopefully will have to be changed to the
      real size of the user-level sigset_t.  */
-  return INLINE_SYSCALL (rt_sigpending, 2, CHECK_SIGSET (set), _NSIG / 8);
+  return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8);
 }
diff --git a/sysdeps/unix/sysv/linux/x86_64/sigprocmask.c b/sysdeps/unix/sysv/linux/x86_64/sigprocmask.c
index f755049..6d12326 100644
--- a/sysdeps/unix/sysv/linux/x86_64/sigprocmask.c
+++ b/sysdeps/unix/sysv/linux/x86_64/sigprocmask.c
@@ -25,7 +25,6 @@
 
 #include <sysdep.h>
 #include <sys/syscall.h>
-#include <bp-checks.h>
 
 /* Get and/or change the set of blocked signals.  */
 int
@@ -37,7 +36,6 @@ __sigprocmask (how, set, oset)
 
   /* XXX The size argument hopefully will have to be changed to the
      real size of the user-level sigset_t.  */
-  return INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET (set),
-			CHECK_SIGSET_NULL_OK (oset), _NSIG / 8);
+  return INLINE_SYSCALL (rt_sigprocmask, 4, how, set, oset, _NSIG / 8);
 }
 weak_alias (__sigprocmask, sigprocmask)

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=2e8a5c8c46f0a897a2629131eb86d1cae8321234

commit 2e8a5c8c46f0a897a2629131eb86d1cae8321234
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Jan 31 22:59:04 2013 +0000

    Remove bp-semctl.h and CHECK_SEMCTL.

diff --git a/ChangeLog b/ChangeLog
index f5b0bc7..5f7bf54 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,24 @@
 2013-01-31  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #13550]
+	* sysdeps/generic/bp-semctl.h: Remove file.
+	* sysdeps/unix/sysv/linux/i386/semctl.c: Don't include
+	<bp-checks.h> and <bp-semctl.h>.
+	(__old_semctl): Don't use CHECK_SEMCTL.
+	(__new_semctl): Likewise.
+	* sysdeps/unix/sysv/linux/semctl.c: Don't include <bp-checks.h>
+	and <bp-semctl.h>.
+	(__old_semctl): Don't use CHECK_SEMCTL.
+	(__new_semctl): Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c: Don't include
+	<bp-checks.h> and <bp-semctl.h>.
+	(__old_semctl): Don't use CHECK_SEMCTL.
+	(__new_semctl): Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: Don't include
+	<bp-checks.h> and <bp-semctl.h>.
+	(semctl): Don't use CHECK_SEMCTL.
+
+	[BZ #13550]
 	* Makerules (elide-bp-thunks): Remove variable.
 	(elide-routines.oS): Don't use $(elide-bp-thunks).
 	(elide-routines.os): Likewise.
diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha
index 2284ae3..758e97c 100644
--- a/ports/ChangeLog.alpha
+++ b/ports/ChangeLog.alpha
@@ -1,3 +1,10 @@
+2013-01-31  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #13550]
+	* sysdeps/unix/sysv/linux/alpha/semctl.c: Don't include
+	<bp-checks.h> and <bp-semctl.h>.
+	(__new_semctl): Don't use CHECK_SEMCTL.
+
 2013-01-08  Andreas Jaeger  <aj@suse.de>
 
 	[BZ# 14985]
diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips
index 92553e7..49a3938 100644
--- a/ports/ChangeLog.mips
+++ b/ports/ChangeLog.mips
@@ -1,3 +1,10 @@
+2013-01-31  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #13550]
+	* sysdeps/unix/sysv/linux/mips/mips64/semctl.c: Don't include
+	<bp-checks.h> and <bp-semctl.h>.
+	(__semctl): Don't use CHECK_SEMCTL.
+
 2013-01-29  Maciej W. Rozycki  <macro@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Correct
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/semctl.c b/ports/sysdeps/unix/sysv/linux/alpha/semctl.c
index c18c695..31278a0 100644
--- a/ports/sysdeps/unix/sysv/linux/alpha/semctl.c
+++ b/ports/sysdeps/unix/sysv/linux/alpha/semctl.c
@@ -33,10 +33,6 @@ union semun
   struct seminfo *__buf;	/* buffer for IPC_INFO */
 };
 
-#include <bp-checks.h>
-#include <bp-semctl.h>
-
-
 int
 __new_semctl (int semid, int semnum, int cmd, ...)
 {
@@ -51,7 +47,7 @@ __new_semctl (int semid, int semnum, int cmd, ...)
   va_end (ap);
 
   return INLINE_SYSCALL (semctl, 4, semid, semnum, cmd | __IPC_64,
-			 CHECK_SEMCTL (&arg, semid, cmd | __IPC_64)->array);
+			 arg.array);
 }
 
 #include <shlib-compat.h>
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/semctl.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/semctl.c
index 7e5488d..e43e893 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/mips64/semctl.c
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/semctl.c
@@ -30,9 +30,6 @@ union semun
   struct seminfo *__buf;	/* buffer for IPC_INFO */
 };
 
-#include <bp-checks.h>
-#include <bp-semctl.h>		/* definition of CHECK_SEMCTL needs union semum */
-
 int __semctl (int semid, int semnum, int cmd, ...);
 
 int
@@ -49,7 +46,7 @@ __semctl (int semid, int semnum, int cmd, ...)
   va_end (ap);
 
   return INLINE_SYSCALL (semctl, 4, semid, semnum, cmd | __IPC_64,
-			 CHECK_SEMCTL (&arg, semid, cmd | __IPC_64)->array);
+			 arg.array);
 }
 
 #include <shlib-compat.h>
diff --git a/sysdeps/generic/bp-semctl.h b/sysdeps/generic/bp-semctl.h
deleted file mode 100644
index 1f3ab92..0000000
--- a/sysdeps/generic/bp-semctl.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Bounded-pointer checking macros for C.
-   Copyright (C) 2000-2013 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Greg McGary <greg@mcgary.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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _bp_semctl_h_
-#define _bp_semctl_h_ 1
-
-#if __BOUNDED_POINTERS__
-
-# define CHECK_SEMCTL(ARGP, SEMID, CMD) check_semctl (ARGP, SEMID, CMD)
-
-union semun *__unbounded
-check_semctl (union semun *arg, int semid, int cmd)
-{
-  int ipc64 = (cmd & __IPC_64);
-
-  switch (cmd & ~__IPC_64)
-    {
-    case IPC_STAT:
-    case IPC_SET:
-      (void) CHECK_1 (arg->buf);
-      break;
-
-    case GETALL:
-    case SETALL:
-      {
-	struct semid_ds ds;
-	union semun un = { .buf = &ds };
-	unsigned int length = ~0;
-
-	/* It's unfortunate that we need to make a recursive
-	   system call to get the size of the semaphore set...  */
-	if (semctl (semid, 0, IPC_STAT | ipc64, un) == 0)
-	  length = ds.sem_nsems;
-	(void) CHECK_N (arg->array, length);
-	break;
-      }
-
-    case IPC_INFO:
-      (void) CHECK_1 (arg->__buf);
-      break;
-    }
-
-  return __ptrvalue (arg);
-}
-
-#else
-# define CHECK_SEMCTL(ARGP, SEMID, CMD) (ARGP)
-#endif
-
-#endif /* _bp_semctl_h_ */
diff --git a/sysdeps/unix/sysv/linux/i386/semctl.c b/sysdeps/unix/sysv/linux/i386/semctl.c
index f3299ea..67e75a1 100644
--- a/sysdeps/unix/sysv/linux/i386/semctl.c
+++ b/sysdeps/unix/sysv/linux/i386/semctl.c
@@ -49,9 +49,6 @@ union semun
   struct __old_semid_ds *__old_buf;
 };
 
-#include <bp-checks.h>
-#include <bp-semctl.h>		/* definition of CHECK_SEMCTL needs union semum */
-
 /* Return identifier for array of NSEMS semaphores associated with
    KEY.  */
 #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
@@ -75,7 +72,7 @@ __old_semctl (int semid, int semnum, int cmd, ...)
   va_end (ap);
 
   return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd,
-			 CHECK_SEMCTL (&arg, semid, cmd));
+			 &arg);
 }
 compat_symbol (libc, __old_semctl, semctl, GLIBC_2_0);
 #endif
@@ -94,7 +91,7 @@ __new_semctl (int semid, int semnum, int cmd, ...)
   va_end (ap);
 
   return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd | __IPC_64,
-			 CHECK_SEMCTL (&arg, semid, cmd | __IPC_64));
+			 &arg);
 }
 
 versioned_symbol (libc, __new_semctl, semctl, GLIBC_2_2);
diff --git a/sysdeps/unix/sysv/linux/semctl.c b/sysdeps/unix/sysv/linux/semctl.c
index 40d31f9..6c5c51e 100644
--- a/sysdeps/unix/sysv/linux/semctl.c
+++ b/sysdeps/unix/sysv/linux/semctl.c
@@ -50,9 +50,6 @@ union semun
   struct __old_semid_ds *__old_buf;
 };
 
-#include <bp-checks.h>
-#include <bp-semctl.h>		/* definition of CHECK_SEMCTL needs union semum */
-
 /* Return identifier for array of NSEMS semaphores associated with
    KEY.  */
 #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
@@ -91,7 +88,7 @@ __old_semctl (int semid, int semnum, int cmd, ...)
   va_end (ap);
 
   return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd,
-			 CHECK_SEMCTL (&arg, semid, cmd));
+			 &arg);
 }
 compat_symbol (libc, __old_semctl, semctl, GLIBC_2_0);
 #endif
@@ -126,7 +123,7 @@ __new_semctl (int semid, int semnum, int cmd, ...)
 
 #if __ASSUME_IPC64 > 0
   return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd | __IPC_64,
-			 CHECK_SEMCTL (&arg, semid, cmd | __IPC_64));
+			 &arg);
 #else
   switch (cmd)
     {
@@ -136,7 +133,7 @@ __new_semctl (int semid, int semnum, int cmd, ...)
       break;
     default:
       return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd,
-			     CHECK_SEMCTL (&arg, semid, cmd));
+			     &arg);
     }
 
   {
@@ -147,7 +144,7 @@ __new_semctl (int semid, int semnum, int cmd, ...)
     /* Unfortunately there is no way how to find out for sure whether
        we should use old or new semctl.  */
     result = INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd | __IPC_64,
-			     CHECK_SEMCTL (&arg, semid, cmd | __IPC_64));
+			     &arg);
     if (result != -1 || errno != EINVAL)
       return result;
 
@@ -167,7 +164,7 @@ __new_semctl (int semid, int semnum, int cmd, ...)
 	  }
       }
     result = INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd,
-			     CHECK_SEMCTL (&arg, semid, cmd));
+			     &arg);
     if (result != -1 && cmd != IPC_SET)
       {
 	memset(buf, 0, sizeof(*buf));
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c b/sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c
index ef93f8c..1a4bbac 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c
@@ -50,9 +50,6 @@ union semun
   struct __old_semid_ds *__old_buf;
 };
 
-#include <bp-checks.h>
-#include <bp-semctl.h>		/* definition of CHECK_SEMCTL needs union semum */
-
 /* Return identifier for array of NSEMS semaphores associated with
    KEY.  */
 #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
@@ -87,7 +84,7 @@ __old_semctl (int semid, int semnum, int cmd, ...)
     }
 
   return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd,
-			 CHECK_SEMCTL (&arg, semid, cmd));
+			 &arg);
 }
 compat_symbol (libc, __old_semctl, semctl, GLIBC_2_0);
 #endif
@@ -117,7 +114,7 @@ __new_semctl (int semid, int semnum, int cmd, ...)
     }
 
   return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd | __IPC_64,
-			 CHECK_SEMCTL (&arg, semid, cmd | __IPC_64));
+			 &arg);
 }
 
 versioned_symbol (libc, __new_semctl, semctl, GLIBC_2_2);
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c b/sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c
index 4303d10..9ada8e8 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c
@@ -33,9 +33,6 @@ union semun
   struct seminfo *__buf;	/* buffer for IPC_INFO */
 };
 
-#include <bp-checks.h>
-#include <bp-semctl.h>		/* definition of CHECK_SEMCTL needs union semum */
-
 /* Return identifier for array of NSEMS semaphores associated with
    KEY.  */
 
@@ -53,5 +50,5 @@ semctl (int semid, int semnum, int cmd, ...)
   va_end (ap);
 
   return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd,
-			 CHECK_SEMCTL (&arg, semid, cmd)->array);
+			 arg.array);
 }

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=c2d549290d24aeae30a328a6b4061f60f095dea2

commit c2d549290d24aeae30a328a6b4061f60f095dea2
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Jan 31 22:57:06 2013 +0000

    Remove bp-thunks code.

diff --git a/ChangeLog b/ChangeLog
index 89e47ab..f5b0bc7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,24 @@
 2013-01-31  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #13550]
+	* Makerules (elide-bp-thunks): Remove variable.
+	(elide-routines.oS): Don't use $(elide-bp-thunks).
+	(elide-routines.os): Likewise.
+	(elide-routines.o): Likewise.
+	(elide-routines.op): Likewise.
+	(elide-routines.og): Likewise.
+	(objects): Don't use $(bp-thunks).
+	* sysdeps/unix/Makefile ($(common-objpfx)s-proto-bp.d): Do not
+	include.
+	(common-generated): Do not add s-proto-bp.d.
+	* sysdeps/unix/make-syscalls.sh (ptr): Remove variable.
+	(int): Likewise.
+	(typ): Likewise.
+	Do not generate makefile rules for bounded-pointer thunks.
+	* sysdeps/generic/bp-thunks.h: Remove file.
+	* sysdeps/unix/sysv/linux/i386/bp-thunks.h: Likewise.
+	* sysdeps/unix/s-proto-bp.S: Likewise.
+
 	[BZ #15062]
 	* math/k_casinh.c (__kernel_casinh): Compute real and imaginary
 	parts of result separately when argument is not close to line from
diff --git a/Makerules b/Makerules
index ce86d50..5e7d205 100644
--- a/Makerules
+++ b/Makerules
@@ -409,19 +409,15 @@ static-only-routines =
 endif
 endif
 
-# Bounded pointer thunks are only built for *.ob
-elide-bp-thunks = $(addprefix $(bppfx),$(bp-thunks))
-
 elide-routines.oS += $(filter-out $(static-only-routines),\
-				  $(routines) $(aux) $(sysdep_routines)) \
-		     $(elide-bp-thunks)
-elide-routines.os += $(static-only-routines) $(elide-bp-thunks)
+				  $(routines) $(aux) $(sysdep_routines))
+elide-routines.os += $(static-only-routines)
 
 # If we have versioned code we don't need the old versions in any of the
 # static libraries.
-elide-routines.o  += $(shared-only-routines) $(elide-bp-thunks)
-elide-routines.op += $(shared-only-routines) $(elide-bp-thunks)
-elide-routines.og += $(shared-only-routines) $(elide-bp-thunks)
+elide-routines.o  += $(shared-only-routines)
+elide-routines.op += $(shared-only-routines)
+elide-routines.og += $(shared-only-routines)
 elide-routines.ob += $(shared-only-routines)
 
 # Shared library building.
@@ -601,11 +597,7 @@ headers := $(headers) $(sysdep_headers)
 
 # This is the list of all object files, gotten by
 # replacing every ".c" in `sources' with a ".o".
-# We also add bounded-pointer thunks, which are later
-# elided for all suffixes except for `.ob'.
-override objects := $(addprefix $(objpfx),$(sources:.c=.o) \
-		      $(patsubst %,$(bppfx)%.o,\
-			$(filter $(routines) $(sysdep_routines),$(bp-thunks))))
+override objects := $(addprefix $(objpfx),$(sources:.c=.o))
 
 
 # The makefile may define $(extra-libs) with `libfoo libbar'
diff --git a/sysdeps/generic/bp-thunks.h b/sysdeps/generic/bp-thunks.h
deleted file mode 100644
index 8e4e11d..0000000
--- a/sysdeps/generic/bp-thunks.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Bounded-pointer syscall thunk support.
-   Copyright (C) 2000-2013 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Greg McGary <greg@mcgary.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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _bpthunks_h_
-#define _bpthunks_h_
-
-#ifndef __ASSEMBLER__
-
-/* This header is included by the syscall BP thunks defined in
-   sysd-syscalls, as created by sysdeps/unix/make-syscalls.sh.  It
-   includes all headers that contain prototype declarations for system
-   call functions.  */
-
-#include <libc-symbols.h>
-#include <bp-sym.h>
-#include <bp-checks.h>
-
-/* Get `struct timeval' definition for select.  */
-#define __need_timeval
-#include <bits/time.h>
-
-#include <stddef.h>
-#include <unistd.h>
-#include <sched.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <time.h>
-#include <utime.h>
-#include <stdio.h>
-
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <sys/klog.h>
-#include <sys/mman.h>
-#include <sys/mount.h>
-#include <sys/quota.h>
-#include <sys/resource.h>
-#include <sys/select.h>
-#include <io/sys/sendfile.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <sys/statfs.h>
-#include <sys/swap.h>
-#include <sys/sysinfo.h>
-#include <sys/time.h>
-#include <sys/times.h>
-#include <sys/timex.h>
-#include <sys/utsname.h>
-#include <sys/wait.h>
-
-#endif /* Not __ASSEMBLER__.  */
-
-#endif /* _bpthunks_h_ */
diff --git a/sysdeps/unix/Makefile b/sysdeps/unix/Makefile
index 7fd0003..375561f 100644
--- a/sysdeps/unix/Makefile
+++ b/sysdeps/unix/Makefile
@@ -88,21 +88,10 @@ $(common-objpfx)sysd-syscalls: $(..)sysdeps/unix/make-syscalls.sh \
 	mv -f $@T $@
 endif
 
-# The $(bppfx)syscall.ob objects depend on s-proto-bp.d, which are
-# generated to specify dependencies generated BP stubs have on headers.
-# These deps use file names relative to a subdir, so don't
-# include them in the parent directory.
-ifneq (,$(filter $(unix-syscalls),$(routines) $(sysdep_routines) $(aux)))
-ifndef no_deps
--include $(common-objpfx)s-proto-bp.d
-endif
-endif
-
 $(common-objpfx)s-%.d: $(..)sysdeps/unix/s-%.S \
 		       $(wildcard $(+sysdep_dirs:%=%/syscalls.list))
 	$(+make-deps)
 
-common-generated += s-proto-bp.d
 postclean-generated += sysd-syscalls
 
 endif
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index f7162e2..f04f2ab 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -36,10 +36,6 @@
 # W: wait status, optionally-NULL pointer to int (e.g., 2nd arg of wait4)
 #
 
-ptr='[abBfFINpPsSWV]'	# all pointer keyletters
-int='[inv]'		# all scalar keyletters
-typ='[ifnNpP]'		# typed-arg keyletters: we capture type for use in thunk
-
 ##############################################################################
 
 thisdir=$1; shift
@@ -313,114 +309,4 @@ while read file srcfile caller syscall args strong weak; do
  ;;
  esac
 
-  case x"$callnum",$srcfile,$args in
-  x[_-],-,* | x*,*.[sS],*V*) ;;
-  x*,-,*$ptr* | x*,*.[sS],*$ptr*)
-
-    nv_weak=`for name in $weak; do
-		case $name in
-		*@*) ;;
-		*) echo $name;;
-	        esac; done`
-
-    # choose the name with the fewest leading underscores, preferably none
-    set `echo $strong $nv_weak |tr '@ \t' ' \n\n' |sort -r`
-    callname=$1
-
-    # convert signature string to individual numbered arg names
-    # e.g., i:ipbN -> i0 i1 p2 b3 N4
-    set `echo $args |
-	sed -e 's/^\(.\):\(.*\)/\2 <\10>/' \
-	    -e 's/^\([^ ]\)\(.*\)/\2 <\11>/' \
-	    -e 's/^\([^ ]\)\(.*\)/\2 <\12>/' \
-	    -e 's/^\([^ ]\)\(.*\)/\2 <\13>/' \
-	    -e 's/^\([^ ]\)\(.*\)/\2 <\14>/' \
-	    -e 's/^\([^ ]\)\(.*\)/\2 <\15>/' \
-	    -e 's/^\([^ ]\)\(.*\)/\2 <\16>/' \
-	    -e 's/^\([^ ]\)\(.*\)/\2 <\17>/' \
-	    -e 's/^\([^ ]\)\(.*\)/\2 <\18>/' \
-	    -e 's/^\([^ ]\)\(.*\)/\2 <\19>/'`
-    rtn=$1; shift
-    args=$*
-    arglist=`echo $* |sed 's/ /, /g'`
-
-    # The best way to understand what's going on here is to examine
-    # the output in BUILDDIR/sysd-syscalls.
-
-    # generate makefile envelope & rule head
-    echo "ifeq (,\$(filter $file,\$(bp-thunks)))"
-    echo "bp-thunks += $file"
-    echo "\$(objpfx)\$(bppfx)$file.ob: \$(common-objpfx)s-proto-bp.d"
-
-    # generate macro head
-    echo "	(echo '#define $callname(`echo $arglist | \
-	    sed -e 's/[<>]//g'`) `echo $rtn | \
-	    sed -e 's/<\('$typ'0\)>/\1v;/g' \
-		-e 's/<\(b0\)>/x0; extern char \1v;/g'` \\'; \\"
-
-    # generate extern decls of dummy variables for each arg
-    echo "	 echo '`echo $args | \
-	    sed -e 's/<\('$typ'[1-9]\)>/extern \1, \1v;/g' \
-		-e 's/<\([abBFIsSV][1-9]\)>/extern char \1v;/g' \
-		-e 's/<\([Wv][1-9]\)>/extern int \1v;/g'` \\'; \\"
-
-    # generate bounded-pointer thunk declarator
-    echo "	 echo '`echo $rtn | \
-	    sed -e 's/<\('$ptr'0\)>/__typeof (\1v) *__bounded/g' \
-		-e 's/<\('$int'0\)>/__typeof (\1v)/g'` BP_SYM ($strong) (`echo $arglist | \
-	    sed -e 's/<\('$ptr'[1-9]\)>/__typeof (\1v) *__bounded \1a/g' \
-		-e 's/<\('$int'[1-9]\)>/__typeof (\1v) \1a/g'`) { \\'; \\"
-
-    # generate extern primitive syscall declaration
-    echo "	 echo '  extern `echo $rtn | \
-	    sed -e 's/<\('$ptr'0\)>/__typeof (\1v) *__unbounded/g' \
-		-e 's/<\('$int'0\)>/__typeof (\1v)/g'` ($callname) (`echo $arglist | \
-	    sed -e 's/<\('$ptr'[1-9]\)>/__typeof (\1v) *__unbounded/g' \
-		-e 's/<\('$int'[1-9]\)>/__typeof (\1v)/g'`); \\'; \\"
-
-    # generate call the primtive system call, optionally wrapping bounds
-    # around the result if the signature's return keyletter is `b'.
-    echo "	 echo '  return `echo $rtn |
-	    sed -e 's/<b0>/BOUNDED_N (/' \
-		-e 's/<.0>//'`($callname) (`echo $arglist | \
-	    sed -e 's/<\(a[1-9]\)>/__ptrvalue (\1a)/g' \
-		-e 's/<\(n[1-9]\)>, <\(V[1-9]\)>/\1a, CHECK_N_PAGES (\2a, \1a)/g' \
-		-e 's/<\(b[1-9]\)>, <\(n[1-9]\)>/CHECK_N (\1a, \2a), \2a/g' \
-		-e 's/<\(b[1-9]\)>, <\(N[1-9]\)>/CHECK_N (\1a, *CHECK_1 (\2a)), __ptrvalue (\2a)/g' \
-		-e 's/<\(B[1-9]\)>, <\(n[1-9]\)>/CHECK_N_NULL_OK (\1a, \2a), \2a/g' \
-		-e 's/<\(B[1-9]\)>, <\(N[1-9]\)>/CHECK_N_NULL_OK (\1a, *CHECK_1 (\2a)), __ptrvalue (\2a)/g' \
-		-e 's/<\(f[1-9]\)>/CHECK_N (\1a, 2)/g' \
-		-e 's/<\(i[1-9]\)>, <\(F[1-9]\)>/\1a, CHECK_FCNTL (\2a, \1a)/g' \
-		-e 's/<\(i[1-9]\)>, <\(I[1-9]\)>/\1a, CHECK_IOCTL (\2a, \1a)/g' \
-		-e 's/<\(p[1-9]\)>/CHECK_1 (\1a)/g' \
-		-e 's/<\([PW][1-9]\)>/CHECK_1_NULL_OK (\1a)/g' \
-		-e 's/<\(s[1-9]\)>/CHECK_STRING (\1a)/g' \
-		-e 's/<\(S[1-9]\)>/CHECK_STRING_NULL_OK (\1a)/g' \
-		-e 's/<\([ivn][1-9]\)>/\1a/g'`)`echo $rtn $args |
-	    sed -e 's/<b0>.*<\(n[1-9]\)>.*/, \1a)/' \
-		-e 's/<.0>.*//'`; \\'; \\"
-
-    echo "	 echo '} \\'; \\"
-
-    echo "	 echo 'libc_hidden_def (BP_SYM ($strong)) \\'; \\"
-
-    # generate thunk aliases
-    for name in $nv_weak; do
-      echo "	 echo 'weak_alias (BP_SYM ($strong), BP_SYM ($name)) \\'; \\"
-      echo "	 echo 'libc_hidden_weak (BP_SYM ($name)) \\'; \\"
-    done
-
-    # wrap up
-    echo "\
-	 echo ''; \\
-	 echo '#include <bp-thunks.h>'; \\
-	) | \$(COMPILE.c) -x c -o \$@ -"
-### Use this for debugging intermediate output:
-### 	) >\$(@:.ob=.c)
-### 	\$(subst -c,-E,\$(COMPILE.c)) -o \$(@:.ob=.ib) \$(@:.ob=.c)
-### 	\$(COMPILE.c) -x cpp-output -o \$@ \$(@:.ob=.ib)"
-    echo endif
-    ;;
-  esac
-
 done
diff --git a/sysdeps/unix/s-proto-bp.S b/sysdeps/unix/s-proto-bp.S
deleted file mode 100644
index ba0363e..0000000
--- a/sysdeps/unix/s-proto-bp.S
+++ /dev/null
@@ -1,4 +0,0 @@
-/* This file exists just to have its dependencies determined.
-   Those dependencies are then used for the bp thunk objects.  */
-
-#include <bp-thunks.h>
diff --git a/sysdeps/unix/sysv/linux/i386/bp-thunks.h b/sysdeps/unix/sysv/linux/i386/bp-thunks.h
deleted file mode 100644
index 59a42dd..0000000
--- a/sysdeps/unix/sysv/linux/i386/bp-thunks.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __ASSEMBLER__
-# include <sysdeps/generic/bp-thunks.h>
-# include <sys/vm86.h>
-#endif

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   75 +++++++++++++
 Makerules                                          |   20 +---
 ports/ChangeLog.alpha                              |    7 ++
 ports/ChangeLog.ia64                               |   10 ++
 ports/ChangeLog.mips                               |    7 ++
 ports/sysdeps/unix/sysv/linux/alpha/semctl.c       |    6 +-
 ports/sysdeps/unix/sysv/linux/ia64/sigpending.c    |    3 +-
 ports/sysdeps/unix/sysv/linux/ia64/sigprocmask.c   |    4 +-
 ports/sysdeps/unix/sysv/linux/mips/mips64/semctl.c |    5 +-
 sysdeps/generic/bp-checks.h                        |   34 ------
 sysdeps/generic/bp-semctl.h                        |   66 -----------
 sysdeps/generic/bp-thunks.h                        |   69 ------------
 sysdeps/unix/Makefile                              |   11 --
 sysdeps/unix/make-syscalls.sh                      |  114 --------------------
 sysdeps/unix/s-proto-bp.S                          |    4 -
 sysdeps/unix/sysv/linux/i386/bp-thunks.h           |    4 -
 sysdeps/unix/sysv/linux/i386/semctl.c              |    7 +-
 sysdeps/unix/sysv/linux/semctl.c                   |   13 +--
 sysdeps/unix/sysv/linux/sigpending.c               |    3 +-
 sysdeps/unix/sysv/linux/sigprocmask.c              |    4 +-
 sysdeps/unix/sysv/linux/sigsuspend.c               |    3 +-
 sysdeps/unix/sysv/linux/sigtimedwait.c             |    2 +-
 sysdeps/unix/sysv/linux/sigwait.c                  |    6 +-
 sysdeps/unix/sysv/linux/sigwaitinfo.c              |    2 +-
 sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c     |    7 +-
 sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c     |    5 +-
 sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c |    3 +-
 .../unix/sysv/linux/sparc/sparc64/sigprocmask.c    |    4 +-
 sysdeps/unix/sysv/linux/x86_64/sigpending.c        |    3 +-
 sysdeps/unix/sysv/linux/x86_64/sigprocmask.c       |    4 +-
 30 files changed, 130 insertions(+), 375 deletions(-)
 delete mode 100644 sysdeps/generic/bp-semctl.h
 delete mode 100644 sysdeps/generic/bp-thunks.h
 delete mode 100644 sysdeps/unix/s-proto-bp.S
 delete mode 100644 sysdeps/unix/sysv/linux/i386/bp-thunks.h


hooks/post-receive
-- 
GNU C Library master sources


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