Blame SOURCES/glibc-rh1505492-bounded-10.patch

00db10
commit 70d9946a44ba381f81eb08c71cc150315cc112ad
00db10
Author: Joseph Myers <joseph@codesourcery.com>
00db10
Date:   Wed Feb 13 23:30:40 2013 +0000
00db10
00db10
    Remove __ptrvalue, __bounded and __unbounded.
00db10
00db10
Conflicts:
00db10
	sysdeps/sparc/backtrace.c
00db10
00db10
The changes to that file have been applied to
00db10
sysdeps/sparc/sparc64/backtrace.c instead.
00db10
00db10
The installed header <sys/cdefs.h> is not changed, so the
00db10
misc/sys/cdefs.h change is excluded from the backport.
00db10
00db10
diff --git a/csu/libc-start.c b/csu/libc-start.c
00db10
index 2fab8556a5e2cb26..63757062c730c81a 100644
00db10
--- a/csu/libc-start.c
00db10
+++ b/csu/libc-start.c
00db10
@@ -107,14 +107,14 @@ apply_irel (void)
00db10
 STATIC int LIBC_START_MAIN (int (*main) (int, char **, char **
00db10
 					 MAIN_AUXVEC_DECL),
00db10
 			    int argc,
00db10
-			    char *__unbounded *__unbounded ubp_av,
00db10
+			    char **argv,
00db10
 #ifdef LIBC_START_MAIN_AUXVEC_ARG
00db10
-			    ElfW(auxv_t) *__unbounded auxvec,
00db10
+			    ElfW(auxv_t) *auxvec,
00db10
 #endif
00db10
 			    __typeof (main) init,
00db10
 			    void (*fini) (void),
00db10
 			    void (*rtld_fini) (void),
00db10
-			    void *__unbounded stack_end)
00db10
+			    void *stack_end)
00db10
      __attribute__ ((noreturn));
00db10
 
00db10
 
00db10
@@ -123,29 +123,23 @@ STATIC int LIBC_START_MAIN (int (*main) (int, char **, char **
00db10
    finalizers were called in more than one place.  */
00db10
 STATIC int
00db10
 LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL),
00db10
-		 int argc, char *__unbounded *__unbounded ubp_av,
00db10
+		 int argc, char **argv,
00db10
 #ifdef LIBC_START_MAIN_AUXVEC_ARG
00db10
-		 ElfW(auxv_t) *__unbounded auxvec,
00db10
+		 ElfW(auxv_t) *auxvec,
00db10
 #endif
00db10
 		 __typeof (main) init,
00db10
 		 void (*fini) (void),
00db10
-		 void (*rtld_fini) (void), void *__unbounded stack_end)
00db10
+		 void (*rtld_fini) (void), void *stack_end)
00db10
 {
00db10
-#if __BOUNDED_POINTERS__
00db10
-  char **argv;
00db10
-#else
00db10
-# define argv ubp_av
00db10
-#endif
00db10
-
00db10
   /* Result of the 'main' function.  */
00db10
   int result;
00db10
 
00db10
   __libc_multiple_libcs = &_dl_starting_up && !_dl_starting_up;
00db10
 
00db10
 #ifndef SHARED
00db10
-  char *__unbounded *__unbounded ubp_ev = &ubp_av[argc + 1];
00db10
+  char **ev = &argv[argc + 1];
00db10
 
00db10
-  __environ = ubp_ev;
00db10
+  __environ = ev;
00db10
 
00db10
   /* Store the lowest stack address.  This is done in ld.so if this is
00db10
      the code for the DSO.  */
00db10
@@ -155,12 +149,12 @@ LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL),
00db10
   /* First process the auxiliary vector since we need to find the
00db10
      program header to locate an eventually present PT_TLS entry.  */
00db10
 #  ifndef LIBC_START_MAIN_AUXVEC_ARG
00db10
-  ElfW(auxv_t) *__unbounded auxvec;
00db10
+  ElfW(auxv_t) *auxvec;
00db10
   {
00db10
-    char *__unbounded *__unbounded evp = ubp_ev;
00db10
+    char **evp = ev;
00db10
     while (*evp++ != NULL)
00db10
       ;
00db10
-    auxvec = (ElfW(auxv_t) *__unbounded) evp;
00db10
+    auxvec = (ElfW(auxv_t) *) evp;
00db10
   }
00db10
 #  endif
00db10
   _dl_aux_init (auxvec);
00db10
diff --git a/debug/backtrace.c b/debug/backtrace.c
00db10
index d0785329a2514e20..0537f6655e62be49 100644
00db10
--- a/debug/backtrace.c
00db10
+++ b/debug/backtrace.c
00db10
@@ -63,8 +63,8 @@ __backtrace (array, size)
00db10
      int size;
00db10
 {
00db10
   struct layout *current;
00db10
-  void *__unbounded top_frame;
00db10
-  void *__unbounded top_stack;
00db10
+  void *top_frame;
00db10
+  void *top_stack;
00db10
   int cnt = 0;
00db10
 
00db10
   top_frame = FIRST_FRAME_POINTER;
00db10
diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c
00db10
index 19543aa44b84cac2..de55b2676fc80645 100644
00db10
--- a/elf/dl-runtime.c
00db10
+++ b/elf/dl-runtime.c
00db10
@@ -62,9 +62,7 @@ _dl_fixup (
00db10
 # ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
00db10
 	   ELF_MACHINE_RUNTIME_FIXUP_ARGS,
00db10
 # endif
00db10
-	   /* GKM FIXME: Fix trampoline to pass bounds so we can do
00db10
-	      without the `__unbounded' qualifier.  */
00db10
-	   struct link_map *__unbounded l, ElfW(Word) reloc_arg)
00db10
+	   struct link_map *l, ElfW(Word) reloc_arg)
00db10
 {
00db10
   const ElfW(Sym) *const symtab
00db10
     = (const void *) D_PTR (l, l_info[DT_SYMTAB]);
00db10
diff --git a/include/set-hooks.h b/include/set-hooks.h
00db10
index 74c03acb0d81acdc..8c902fa18195fa46 100644
00db10
--- a/include/set-hooks.h
00db10
+++ b/include/set-hooks.h
00db10
@@ -41,7 +41,7 @@
00db10
 
00db10
 # define RUN_HOOK(NAME, ARGS)						      \
00db10
 do {									      \
00db10
-  void *const *__unbounded ptr;						      \
00db10
+  void *const *ptr;						      \
00db10
   for (ptr = (void *const *) symbol_set_first_element (NAME);		      \
00db10
        ! symbol_set_end_p (NAME, ptr); ++ptr)				      \
00db10
     (*(__##NAME##_hook_function_t *) *ptr) ARGS;			      \
00db10
diff --git a/ports/sysdeps/am33/dl-machine.h b/ports/sysdeps/am33/dl-machine.h
00db10
index 52278c0a4e006563..90083c7dc45fc602 100644
00db10
--- a/ports/sysdeps/am33/dl-machine.h
00db10
+++ b/ports/sysdeps/am33/dl-machine.h
00db10
@@ -63,9 +63,7 @@ elf_machine_load_address (void)
00db10
 
00db10
    We cannot use this scheme for profiling because the _mcount call
00db10
    destroys the passed register information.  */
00db10
-/* GKM FIXME: Fix trampoline to pass bounds so we can do
00db10
-   without the `__unbounded' qualifier.  */
00db10
-static ElfW(Addr) fixup (struct link_map *__unbounded l, ElfW(Word) reloc_offset)
00db10
+static ElfW(Addr) fixup (struct link_map *l, ElfW(Word) reloc_offset)
00db10
      __attribute__ ((unused));
00db10
 static ElfW(Addr) profile_fixup (struct link_map *l, ElfW(Word) reloc_offset,
00db10
 				 ElfW(Addr) retaddr)
00db10
diff --git a/ports/sysdeps/arm/frame.h b/ports/sysdeps/arm/frame.h
00db10
index a98729b6887722ed..268f8b250f033f0f 100644
00db10
--- a/ports/sysdeps/arm/frame.h
00db10
+++ b/ports/sysdeps/arm/frame.h
00db10
@@ -19,9 +19,9 @@
00db10
 /* This is the APCS stack backtrace structure.  */
00db10
 struct layout
00db10
 {
00db10
-  struct layout *__unbounded next;
00db10
-  void *__unbounded sp;
00db10
-  void *__unbounded return_address;
00db10
+  struct layout *next;
00db10
+  void *sp;
00db10
+  void *return_address;
00db10
 };
00db10
 
00db10
 #define FIRST_FRAME_POINTER ADVANCE_STACK_FRAME (__builtin_frame_address (0))
00db10
diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/sigaction.c b/ports/sysdeps/unix/sysv/linux/aarch64/sigaction.c
00db10
index 811230a1fdec983f..1db848f06e9fb072 100644
00db10
--- a/ports/sysdeps/unix/sysv/linux/aarch64/sigaction.c
00db10
+++ b/ports/sysdeps/unix/sysv/linux/aarch64/sigaction.c
00db10
@@ -51,8 +51,8 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
00db10
     }
00db10
 
00db10
   result = INLINE_SYSCALL (rt_sigaction, 4, sig,
00db10
-			   act ? __ptrvalue (&kact) : NULL,
00db10
-			   oact ? __ptrvalue (&koact) : NULL, _NSIG / 8);
00db10
+			   act ? &kact : NULL,
00db10
+			   oact ? &koact : NULL, _NSIG / 8);
00db10
   if (result >= 0 || errno != ENOSYS)
00db10
     {
00db10
       if (oact && result >= 0)
00db10
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/sigaction.c b/ports/sysdeps/unix/sysv/linux/alpha/sigaction.c
00db10
index 2dcb133442a4636a..14b47feee06c43b0 100644
00db10
--- a/ports/sysdeps/unix/sysv/linux/alpha/sigaction.c
00db10
+++ b/ports/sysdeps/unix/sysv/linux/alpha/sigaction.c
00db10
@@ -32,7 +32,7 @@
00db10
          : INLINE_SYSCALL1(name, nr, args))
00db10
 
00db10
 struct kernel_sigaction;
00db10
-extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *__unbounded,
00db10
-				   struct kernel_sigaction *__unbounded, size_t);
00db10
+extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *,
00db10
+				   struct kernel_sigaction *, size_t);
00db10
 
00db10
 #include <sysdeps/unix/sysv/linux/sigaction.c>
00db10
diff --git a/ports/sysdeps/unix/sysv/linux/am33/brk.c b/ports/sysdeps/unix/sysv/linux/am33/brk.c
00db10
index a06495cf29d5d67b..dc7ec639b3a558c0 100644
00db10
--- a/ports/sysdeps/unix/sysv/linux/am33/brk.c
00db10
+++ b/ports/sysdeps/unix/sysv/linux/am33/brk.c
00db10
@@ -30,7 +30,7 @@ __brk (void *addr)
00db10
 {
00db10
   void *newbrk;
00db10
 
00db10
-  newbrk = INLINE_SYSCALL (brk, 1, __ptrvalue (addr));
00db10
+  newbrk = INLINE_SYSCALL (brk, 1, addr);
00db10
 
00db10
   __curbrk = newbrk;
00db10
 
00db10
diff --git a/ports/sysdeps/unix/sysv/linux/arm/sigaction.c b/ports/sysdeps/unix/sysv/linux/arm/sigaction.c
00db10
index fe036c1bdc6660b0..02b47e79e2139e0e 100644
00db10
--- a/ports/sysdeps/unix/sysv/linux/arm/sigaction.c
00db10
+++ b/ports/sysdeps/unix/sysv/linux/arm/sigaction.c
00db10
@@ -83,8 +83,8 @@ __libc_sigaction (sig, act, oact)
00db10
   /* XXX The size argument hopefully will have to be changed to the
00db10
      real size of the user-level sigset_t.  */
00db10
   result = INLINE_SYSCALL (rt_sigaction, 4, sig,
00db10
-			   act ? __ptrvalue (&kact) : NULL,
00db10
-			   oact ? __ptrvalue (&koact) : NULL, _NSIG / 8);
00db10
+			   act ? &kact : NULL,
00db10
+			   oact ? &koact : NULL, _NSIG / 8);
00db10
 
00db10
   if (oact && result >= 0)
00db10
     {
00db10
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c
00db10
index dda02b14442d5cb5..2006bc69d80720ba 100644
00db10
--- a/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c
00db10
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c
00db10
@@ -34,7 +34,7 @@ __fxstat64 (int vers, int fd, struct stat64 *buf)
00db10
   int result;
00db10
   struct kernel_stat kbuf;
00db10
 
00db10
-  result = INLINE_SYSCALL (fstat, 2, fd, __ptrvalue (&kbuf));
00db10
+  result = INLINE_SYSCALL (fstat, 2, fd, &kbuf);
00db10
   if (result == 0)
00db10
     result = __xstat64_conv (vers, &kbuf, buf);
00db10
 
00db10
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c
00db10
index 645ffa122ea62de6..5c795e47a977baaa 100644
00db10
--- a/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c
00db10
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c
00db10
@@ -95,9 +95,9 @@ __fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
00db10
     }
00db10
 
00db10
   if (flag & AT_SYMLINK_NOFOLLOW)
00db10
-    result = INTERNAL_SYSCALL (lstat, err, 2, file, __ptrvalue (&kst));
00db10
+    result = INTERNAL_SYSCALL (lstat, err, 2, file, &kst;;
00db10
   else
00db10
-    result = INTERNAL_SYSCALL (stat, err, 2, file, __ptrvalue (&kst));
00db10
+    result = INTERNAL_SYSCALL (stat, err, 2, file, &kst;;
00db10
 
00db10
   if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
00db10
     return __xstat64_conv (vers, &kst, st);
00db10
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c
00db10
index f698d9298a3855e6..a59e2bb389238751 100644
00db10
--- a/ports/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c
00db10
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c
00db10
@@ -33,7 +33,7 @@ __lxstat64 (int vers, const char *name, struct stat64 *buf)
00db10
   int result;
00db10
   struct kernel_stat kbuf;
00db10
 
00db10
-  result = INLINE_SYSCALL (lstat, 2, name, __ptrvalue (&kbuf));
00db10
+  result = INLINE_SYSCALL (lstat, 2, name, &kbuf);
00db10
   if (result == 0)
00db10
     result = __xstat64_conv (vers, &kbuf, buf);
00db10
 
00db10
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c
00db10
index 623299c6b8db85c4..e08c177d256108a0 100644
00db10
--- a/ports/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c
00db10
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c
00db10
@@ -34,7 +34,7 @@ __xstat64 (int vers, const char *name, struct stat64 *buf)
00db10
   int result;
00db10
   struct kernel_stat kbuf;
00db10
 
00db10
-  result = INLINE_SYSCALL (stat, 2, name, __ptrvalue (&kbuf));
00db10
+  result = INLINE_SYSCALL (stat, 2, name, &kbuf);
00db10
   if (result == 0)
00db10
     result = __xstat64_conv (vers, &kbuf, buf);
00db10
 
00db10
diff --git a/ports/sysdeps/unix/sysv/linux/mips/sigaction.c b/ports/sysdeps/unix/sysv/linux/mips/sigaction.c
00db10
index d646af3f22928ef7..b6e6811a271344a3 100644
00db10
--- a/ports/sysdeps/unix/sysv/linux/mips/sigaction.c
00db10
+++ b/ports/sysdeps/unix/sysv/linux/mips/sigaction.c
00db10
@@ -71,8 +71,8 @@ __libc_sigaction (sig, act, oact)
00db10
   /* XXX The size argument hopefully will have to be changed to the
00db10
      real size of the user-level sigset_t.	*/
00db10
   result = INLINE_SYSCALL (rt_sigaction, 4, sig,
00db10
-			   act ? __ptrvalue (&kact) : NULL,
00db10
-			   oact ? __ptrvalue (&koact) : NULL,
00db10
+			   act ? &kact : NULL,
00db10
+			   oact ? &koact : NULL,
00db10
 			   sizeof (kernel_sigset_t));
00db10
 
00db10
   if (oact && result >= 0)
00db10
diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
00db10
index 3e88b2c4dd513909..97805989f6db70bf 100644
00db10
--- a/stdio-common/vfprintf.c
00db10
+++ b/stdio-common/vfprintf.c
00db10
@@ -308,7 +308,7 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
00db10
       do								      \
00db10
 	{								      \
00db10
 	  int offset;							      \
00db10
-	  void *__unbounded ptr;					      \
00db10
+	  void *ptr;							      \
00db10
 	  spec = (ChExpr);						      \
00db10
 	  offset = NOT_IN_JUMP_RANGE (spec) ? REF (form_unknown)	      \
00db10
 	    : table[CHAR_CLASS (spec)];					      \
00db10
@@ -321,7 +321,7 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
00db10
 # define JUMP(ChExpr, table)						      \
00db10
       do								      \
00db10
 	{								      \
00db10
-	  const void *__unbounded ptr;					      \
00db10
+	  const void *ptr;						      \
00db10
 	  spec = (ChExpr);						      \
00db10
 	  ptr = NOT_IN_JUMP_RANGE (spec) ? REF (form_unknown)		      \
00db10
 	    : table[CHAR_CLASS (spec)];					      \
00db10
diff --git a/string/strcpy.c b/string/strcpy.c
00db10
index bf624947cc780328..22467bb88dc8cef8 100644
00db10
--- a/string/strcpy.c
00db10
+++ b/string/strcpy.c
00db10
@@ -28,7 +28,7 @@ strcpy (dest, src)
00db10
      const char *src;
00db10
 {
00db10
   char c;
00db10
-  char *__unbounded s = (char *__unbounded) src;
00db10
+  char *s = (char *) src;
00db10
   const ptrdiff_t off = dest - s - 1;
00db10
 
00db10
   do
00db10
diff --git a/sysdeps/generic/frame.h b/sysdeps/generic/frame.h
00db10
index 0f24b85913aa9694..1772f8c05b6f0fa9 100644
00db10
--- a/sysdeps/generic/frame.h
00db10
+++ b/sysdeps/generic/frame.h
00db10
@@ -18,6 +18,6 @@
00db10
 
00db10
 struct layout
00db10
 {
00db10
-  void *__unbounded next;
00db10
-  void *__unbounded return_address;
00db10
+  void *next;
00db10
+  void *return_address;
00db10
 };
00db10
diff --git a/sysdeps/gnu/bits/msq.h b/sysdeps/gnu/bits/msq.h
00db10
index 6cfc7d76e54a3742..ee9812ae111db277 100644
00db10
--- a/sysdeps/gnu/bits/msq.h
00db10
+++ b/sysdeps/gnu/bits/msq.h
00db10
@@ -38,13 +38,13 @@ typedef unsigned short int msglen_t;
00db10
 struct msqid_ds
00db10
 {
00db10
   struct ipc_perm msg_perm;	/* structure describing operation permission */
00db10
-  struct msg *__unbounded __msg_first; /* pointer to first message on queue */
00db10
-  struct msg *__unbounded __msg_last; /* pointer to last message on queue */
00db10
+  struct msg *__msg_first;	/* pointer to first message on queue */
00db10
+  struct msg *__msg_last;	/* pointer to last message on queue */
00db10
   __time_t msg_stime;		/* time of last msgsnd command */
00db10
   __time_t msg_rtime;		/* time of last msgrcv command */
00db10
   __time_t msg_ctime;		/* time of last change */
00db10
-  struct wait_queue *__unbounded __wwait; /* ??? */
00db10
-  struct wait_queue *__unbounded __rwait; /* ??? */
00db10
+  struct wait_queue *__wwait;	/* ??? */
00db10
+  struct wait_queue *__rwait;	/* ??? */
00db10
   unsigned short int __msg_cbytes;/* current number of bytes on queue */
00db10
   msgqnum_t msg_qnum;		/* number of messages currently on queue */
00db10
   msglen_t msg_qbytes;		/* max number of bytes allowed on queue */
00db10
diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h
00db10
index 2f6dd4fae200c016..fc2b976651e20ca7 100644
00db10
--- a/sysdeps/i386/dl-machine.h
00db10
+++ b/sysdeps/i386/dl-machine.h
00db10
@@ -152,11 +152,9 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
00db10
 
00db10
    We cannot use this scheme for profiling because the _mcount call
00db10
    destroys the passed register information.  */
00db10
-/* GKM FIXME: Fix trampoline to pass bounds so we can do
00db10
-   without the `__unbounded' qualifier.  */
00db10
 #define ARCH_FIXUP_ATTRIBUTE __attribute__ ((regparm (3), stdcall, unused))
00db10
 
00db10
-extern ElfW(Addr) _dl_fixup (struct link_map *__unbounded l,
00db10
+extern ElfW(Addr) _dl_fixup (struct link_map *l,
00db10
 			     ElfW(Word) reloc_offset)
00db10
      ARCH_FIXUP_ATTRIBUTE;
00db10
 extern ElfW(Addr) _dl_profile_fixup (struct link_map *l,
00db10
diff --git a/sysdeps/powerpc/powerpc32/backtrace.c b/sysdeps/powerpc/powerpc32/backtrace.c
00db10
index 0e2e5c296876444e..6fab3b586aee06d5 100644
00db10
--- a/sysdeps/powerpc/powerpc32/backtrace.c
00db10
+++ b/sysdeps/powerpc/powerpc32/backtrace.c
00db10
@@ -31,8 +31,8 @@
00db10
 */
00db10
 struct layout
00db10
 {
00db10
-  struct layout *__unbounded next;
00db10
-  void *__unbounded return_address;
00db10
+  struct layout *next;
00db10
+  void *return_address;
00db10
 };
00db10
 
00db10
 int
00db10
diff --git a/sysdeps/powerpc/powerpc64/backtrace.c b/sysdeps/powerpc/powerpc64/backtrace.c
00db10
index 08e535585ef2a104..dcdd51cb454e8fa2 100644
00db10
--- a/sysdeps/powerpc/powerpc64/backtrace.c
00db10
+++ b/sysdeps/powerpc/powerpc64/backtrace.c
00db10
@@ -33,9 +33,9 @@
00db10
 */
00db10
 struct layout
00db10
 {
00db10
-  struct layout *__unbounded next;
00db10
+  struct layout *next;
00db10
   long condition_register;
00db10
-  void *__unbounded return_address;
00db10
+  void *return_address;
00db10
 };
00db10
 
00db10
 int
00db10
diff --git a/sysdeps/sparc/sparc64/backtrace.c b/sysdeps/sparc/sparc64/backtrace.c
00db10
index d5a1ebec000ce91e..f45e2b8b63ad00ed 100644
00db10
--- a/sysdeps/sparc/sparc64/backtrace.c
00db10
+++ b/sysdeps/sparc/sparc64/backtrace.c
00db10
@@ -26,7 +26,7 @@ struct layout
00db10
   unsigned long locals[8];
00db10
   unsigned long ins[6];
00db10
   unsigned long next;
00db10
-  void *__unbounded return_address;
00db10
+  void *return_address;
00db10
 };
00db10
 
00db10
 int
00db10
@@ -38,14 +38,14 @@ __backtrace (void **array, int size)
00db10
 
00db10
   asm volatile ("flushw");
00db10
   asm volatile ("mov %%fp, %0" : "=r"(fp));
00db10
-  current = (struct layout *__unbounded) (fp + STACK_BIAS);
00db10
+  current = (struct layout *) (fp + STACK_BIAS);
00db10
 
00db10
   for (count = 0; count < size; count++)
00db10
     {
00db10
       array[count] = current->return_address;
00db10
       if (!current->next)
00db10
 	break;
00db10
-      current = (struct layout *__unbounded) (current->next + STACK_BIAS);
00db10
+      current = (struct layout *) (current->next + STACK_BIAS);
00db10
     }
00db10
 
00db10
   return count;
00db10
diff --git a/sysdeps/unix/sysv/linux/aio_sigqueue.c b/sysdeps/unix/sysv/linux/aio_sigqueue.c
00db10
index 91785e545f18c843..9ad149fe32fb214b 100644
00db10
--- a/sysdeps/unix/sysv/linux/aio_sigqueue.c
00db10
+++ b/sysdeps/unix/sysv/linux/aio_sigqueue.c
00db10
@@ -48,8 +48,7 @@ __aio_sigqueue (sig, val, caller_pid)
00db10
   info.si_uid = getuid ();
00db10
   info.si_value = val;
00db10
 
00db10
-  return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid,
00db10
-			 sig, __ptrvalue (&info));
00db10
+  return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info;;
00db10
 }
00db10
 #else
00db10
 # include <rt/aio_sigqueue.c>
00db10
diff --git a/sysdeps/unix/sysv/linux/fxstat.c b/sysdeps/unix/sysv/linux/fxstat.c
00db10
index 369ceb818267086c..e3cf3d8e284beb65 100644
00db10
--- a/sysdeps/unix/sysv/linux/fxstat.c
00db10
+++ b/sysdeps/unix/sysv/linux/fxstat.c
00db10
@@ -45,7 +45,7 @@ __fxstat (int vers, int fd, struct stat *buf)
00db10
   struct kernel_stat kbuf;
00db10
   int result;
00db10
 
00db10
-  result = INLINE_SYSCALL (fstat, 2, fd, __ptrvalue (&kbuf));
00db10
+  result = INLINE_SYSCALL (fstat, 2, fd, &kbuf);
00db10
   if (result == 0)
00db10
     result = __xstat_conv (vers, &kbuf, buf);
00db10
 
00db10
diff --git a/sysdeps/unix/sysv/linux/fxstatat.c b/sysdeps/unix/sysv/linux/fxstatat.c
00db10
index 127f979adf050b45..b4397b54ada455f0 100644
00db10
--- a/sysdeps/unix/sysv/linux/fxstatat.c
00db10
+++ b/sysdeps/unix/sysv/linux/fxstatat.c
00db10
@@ -125,9 +125,9 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
00db10
     }
00db10
 #else
00db10
   if (flag & AT_SYMLINK_NOFOLLOW)
00db10
-    result = INTERNAL_SYSCALL (lstat, err, 2, file, __ptrvalue (&kst));
00db10
+    result = INTERNAL_SYSCALL (lstat, err, 2, file, &kst;;
00db10
   else
00db10
-    result = INTERNAL_SYSCALL (stat, err, 2, file, __ptrvalue (&kst));
00db10
+    result = INTERNAL_SYSCALL (stat, err, 2, file, &kst;;
00db10
 
00db10
   if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
00db10
     return __xstat_conv (vers, &kst, st);
00db10
diff --git a/sysdeps/unix/sysv/linux/gai_sigqueue.c b/sysdeps/unix/sysv/linux/gai_sigqueue.c
00db10
index f517f9c850069cab..3896df0cd345bc8b 100644
00db10
--- a/sysdeps/unix/sysv/linux/gai_sigqueue.c
00db10
+++ b/sysdeps/unix/sysv/linux/gai_sigqueue.c
00db10
@@ -47,8 +47,7 @@ __gai_sigqueue (sig, val, caller_pid)
00db10
   info.si_uid = __getuid ();
00db10
   info.si_value = val;
00db10
 
00db10
-  return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid,
00db10
-			 sig, __ptrvalue (&info));
00db10
+  return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info;;
00db10
 }
00db10
 #else
00db10
 # include <resolv/gai_sigqueue.c>
00db10
diff --git a/sysdeps/unix/sysv/linux/i386/brk.c b/sysdeps/unix/sysv/linux/i386/brk.c
00db10
index 0b367096f47007ce..c785b68b5fc2c6b5 100644
00db10
--- a/sysdeps/unix/sysv/linux/i386/brk.c
00db10
+++ b/sysdeps/unix/sysv/linux/i386/brk.c
00db10
@@ -31,11 +31,10 @@ weak_alias (__curbrk, ___brk_addr)
00db10
 int
00db10
 __brk (void *addr)
00db10
 {
00db10
-  void *__unbounded newbrk;
00db10
+  void *newbrk;
00db10
 
00db10
   INTERNAL_SYSCALL_DECL (err);
00db10
-  newbrk = (void *__unbounded) INTERNAL_SYSCALL (brk, err, 1,
00db10
-						 __ptrvalue (addr));
00db10
+  newbrk = (void *) INTERNAL_SYSCALL (brk, err, 1, addr);
00db10
 
00db10
   __curbrk = newbrk;
00db10
 
00db10
diff --git a/sysdeps/unix/sysv/linux/i386/fxstat.c b/sysdeps/unix/sysv/linux/i386/fxstat.c
00db10
index 323039927e1687a3..64cf4c0f75c3bd8b 100644
00db10
--- a/sysdeps/unix/sysv/linux/i386/fxstat.c
00db10
+++ b/sysdeps/unix/sysv/linux/i386/fxstat.c
00db10
@@ -44,7 +44,7 @@ __fxstat (int vers, int fd, struct stat *buf)
00db10
   {
00db10
     struct stat64 buf64;
00db10
 
00db10
-    result = INLINE_SYSCALL (fstat64, 2, fd, __ptrvalue (&buf64));
00db10
+    result = INLINE_SYSCALL (fstat64, 2, fd, &buf64);
00db10
     if (result == 0)
00db10
       result = __xstat32_conv (vers, &buf64, buf);
00db10
     return result;
00db10
diff --git a/sysdeps/unix/sysv/linux/i386/fxstatat.c b/sysdeps/unix/sysv/linux/i386/fxstatat.c
00db10
index ad3a386864f8b04b..2125ce7d7673c841 100644
00db10
--- a/sysdeps/unix/sysv/linux/i386/fxstatat.c
00db10
+++ b/sysdeps/unix/sysv/linux/i386/fxstatat.c
00db10
@@ -110,9 +110,9 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
00db10
     }
00db10
 
00db10
   if (flag & AT_SYMLINK_NOFOLLOW)
00db10
-    result = INTERNAL_SYSCALL (lstat64, err, 2, file, __ptrvalue (&st64));
00db10
+    result = INTERNAL_SYSCALL (lstat64, err, 2, file, &st64);
00db10
   else
00db10
-    result = INTERNAL_SYSCALL (stat64, err, 2, file, __ptrvalue (&st64));
00db10
+    result = INTERNAL_SYSCALL (stat64, err, 2, file, &st64);
00db10
   if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
00db10
     return __xstat32_conv (vers, &st64, st);
00db10
 
00db10
diff --git a/sysdeps/unix/sysv/linux/i386/lxstat.c b/sysdeps/unix/sysv/linux/i386/lxstat.c
00db10
index 97b237404f8c8822..bc2d27a1739ca3c2 100644
00db10
--- a/sysdeps/unix/sysv/linux/i386/lxstat.c
00db10
+++ b/sysdeps/unix/sysv/linux/i386/lxstat.c
00db10
@@ -45,7 +45,7 @@ __lxstat (int vers, const char *name, struct stat *buf)
00db10
   {
00db10
     struct stat64 buf64;
00db10
 
00db10
-    result = INLINE_SYSCALL (lstat64, 2, name, __ptrvalue (&buf64));
00db10
+    result = INLINE_SYSCALL (lstat64, 2, name, &buf64);
00db10
     if (result == 0)
00db10
       result = __xstat32_conv (vers, &buf64, buf);
00db10
     return result;
00db10
diff --git a/sysdeps/unix/sysv/linux/i386/msgctl.c b/sysdeps/unix/sysv/linux/i386/msgctl.c
00db10
index 7d009801b16fbdba..d63b0b4b46134185 100644
00db10
--- a/sysdeps/unix/sysv/linux/i386/msgctl.c
00db10
+++ b/sysdeps/unix/sysv/linux/i386/msgctl.c
00db10
@@ -29,13 +29,13 @@
00db10
 struct __old_msqid_ds
00db10
 {
00db10
   struct __old_ipc_perm msg_perm;	/* structure describing operation permission */
00db10
-  struct msg *__unbounded __msg_first;	/* pointer to first message on queue */
00db10
-  struct msg *__unbounded __msg_last;	/* pointer to last message on queue */
00db10
+  struct msg *__msg_first;		/* pointer to first message on queue */
00db10
+  struct msg *__msg_last;		/* pointer to last message on queue */
00db10
   __time_t msg_stime;			/* time of last msgsnd command */
00db10
   __time_t msg_rtime;			/* time of last msgrcv command */
00db10
   __time_t msg_ctime;			/* time of last change */
00db10
-  struct wait_queue *__unbounded __wwait; /* ??? */
00db10
-  struct wait_queue *__unbounded __rwait; /* ??? */
00db10
+  struct wait_queue *__wwait;		/* ??? */
00db10
+  struct wait_queue *__rwait;		/* ??? */
00db10
   unsigned short int __msg_cbytes;	/* current number of bytes on queue */
00db10
   unsigned short int msg_qnum;		/* number of messages currently on queue */
00db10
   unsigned short int msg_qbytes;	/* max number of bytes allowed on queue */
00db10
diff --git a/sysdeps/unix/sysv/linux/i386/setrlimit.c b/sysdeps/unix/sysv/linux/i386/setrlimit.c
00db10
index 7d0840ded5fe3c70..9c6f5dd64ddf27cf 100644
00db10
--- a/sysdeps/unix/sysv/linux/i386/setrlimit.c
00db10
+++ b/sysdeps/unix/sysv/linux/i386/setrlimit.c
00db10
@@ -24,7 +24,7 @@
00db10
 #include <shlib-compat.h>
00db10
 
00db10
 extern int __new_setrlimit (enum __rlimit_resource resource,
00db10
-			    const struct rlimit *__unboundedrlimits);
00db10
+			    const struct rlimit *rlimits);
00db10
 
00db10
 /* Consider moving to syscalls.list.  */
00db10
 
00db10
diff --git a/sysdeps/unix/sysv/linux/i386/shmctl.c b/sysdeps/unix/sysv/linux/i386/shmctl.c
00db10
index a1f4feb3fe1c815c..59d07d7ee09579ef 100644
00db10
--- a/sysdeps/unix/sysv/linux/i386/shmctl.c
00db10
+++ b/sysdeps/unix/sysv/linux/i386/shmctl.c
00db10
@@ -38,8 +38,8 @@ struct __old_shmid_ds
00db10
   __ipc_pid_t shm_lpid;			/* pid of last shmop */
00db10
   unsigned short int shm_nattch;	/* number of current attaches */
00db10
   unsigned short int __shm_npages;	/* size of segment (pages) */
00db10
-  unsigned long int *__unbounded __shm_pages; /* array of ptrs to frames -> SHMMAX */
00db10
-  struct vm_area_struct *__unbounded __attaches; /* descriptors for attaches */
00db10
+  unsigned long int *__shm_pages;	/* array of ptrs to frames -> SHMMAX */
00db10
+  struct vm_area_struct *__attaches;	/* descriptors for attaches */
00db10
 };
00db10
 
00db10
 struct __old_shminfo
00db10
diff --git a/sysdeps/unix/sysv/linux/i386/sigaction.c b/sysdeps/unix/sysv/linux/i386/sigaction.c
00db10
index df5c235e5ac271dc..414ef759a97363c4 100644
00db10
--- a/sysdeps/unix/sysv/linux/i386/sigaction.c
00db10
+++ b/sysdeps/unix/sysv/linux/i386/sigaction.c
00db10
@@ -72,8 +72,8 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
00db10
   /* XXX The size argument hopefully will have to be changed to the
00db10
      real size of the user-level sigset_t.  */
00db10
   result = INLINE_SYSCALL (rt_sigaction, 4,
00db10
-			   sig, act ? __ptrvalue (&kact) : NULL,
00db10
-			   oact ? __ptrvalue (&koact) : NULL, _NSIG / 8);
00db10
+			   sig, act ? &kact : NULL,
00db10
+			   oact ? &koact : NULL, _NSIG / 8);
00db10
 
00db10
   if (oact && result >= 0)
00db10
     {
00db10
diff --git a/sysdeps/unix/sysv/linux/i386/xstat.c b/sysdeps/unix/sysv/linux/i386/xstat.c
00db10
index f063ac98d849ed7b..049e70fa7f007896 100644
00db10
--- a/sysdeps/unix/sysv/linux/i386/xstat.c
00db10
+++ b/sysdeps/unix/sysv/linux/i386/xstat.c
00db10
@@ -45,7 +45,7 @@ __xstat (int vers, const char *name, struct stat *buf)
00db10
   {
00db10
     struct stat64 buf64;
00db10
 
00db10
-    result = INLINE_SYSCALL (stat64, 2, name, __ptrvalue (&buf64));
00db10
+    result = INLINE_SYSCALL (stat64, 2, name, &buf64);
00db10
     if (result == 0)
00db10
       result = __xstat32_conv (vers, &buf64, buf);
00db10
     return result;
00db10
diff --git a/sysdeps/unix/sysv/linux/llseek.c b/sysdeps/unix/sysv/linux/llseek.c
00db10
index feef9aaaf9dcf853..6608a2145c680cb9 100644
00db10
--- a/sysdeps/unix/sysv/linux/llseek.c
00db10
+++ b/sysdeps/unix/sysv/linux/llseek.c
00db10
@@ -32,7 +32,7 @@ __llseek (int fd, loff_t offset, int whence)
00db10
 
00db10
   return (loff_t) (INLINE_SYSCALL (_llseek, 5, fd, (off_t) (offset >> 32),
00db10
 				   (off_t) (offset & 0xffffffff),
00db10
-				   __ptrvalue (&retval), whence) ?: retval);
00db10
+				   &retval, whence) ?: retval);
00db10
 }
00db10
 weak_alias (__llseek, llseek)
00db10
 strong_alias (__llseek, __libc_lseek64)
00db10
diff --git a/sysdeps/unix/sysv/linux/lxstat.c b/sysdeps/unix/sysv/linux/lxstat.c
00db10
index 15f93b09ec1661f1..1096b981f5560eb8 100644
00db10
--- a/sysdeps/unix/sysv/linux/lxstat.c
00db10
+++ b/sysdeps/unix/sysv/linux/lxstat.c
00db10
@@ -44,7 +44,7 @@ __lxstat (int vers, const char *name, struct stat *buf)
00db10
   struct kernel_stat kbuf;
00db10
   int result;
00db10
 
00db10
-  result = INLINE_SYSCALL (lstat, 2, name, __ptrvalue (&kbuf));
00db10
+  result = INLINE_SYSCALL (lstat, 2, name, &kbuf);
00db10
   if (result == 0)
00db10
     result = __xstat_conv (vers, &kbuf, buf);
00db10
 
00db10
diff --git a/sysdeps/unix/sysv/linux/mmap64.c b/sysdeps/unix/sysv/linux/mmap64.c
00db10
index 87bd532c5e350c56..2c8304d860f19d58 100644
00db10
--- a/sysdeps/unix/sysv/linux/mmap64.c
00db10
+++ b/sysdeps/unix/sysv/linux/mmap64.c
00db10
@@ -53,14 +53,10 @@ __mmap64 (void *addr, size_t len, int prot, int flags, int fd, off64_t offset)
00db10
       return MAP_FAILED;
00db10
     }
00db10
   void *result;
00db10
-  __ptrvalue (result) = (void *__unbounded)
00db10
-    INLINE_SYSCALL (mmap2, 6, __ptrvalue (addr),
00db10
+  result = (void *)
00db10
+    INLINE_SYSCALL (mmap2, 6, addr,
00db10
 		    len, prot, flags, fd,
00db10
 		    (off_t) (offset >> MMAP2_PAGE_SHIFT));
00db10
-#if __BOUNDED_POINTERS__
00db10
-  __ptrlow (result) = __ptrvalue (result);
00db10
-  __ptrhigh (result) = __ptrvalue (result) + len;
00db10
-#endif
00db10
   return result;
00db10
 }
00db10
 weak_alias (__mmap64, mmap64)
00db10
diff --git a/sysdeps/unix/sysv/linux/msgctl.c b/sysdeps/unix/sysv/linux/msgctl.c
00db10
index 00285a7103d70cea..09d4dc11f779a63f 100644
00db10
--- a/sysdeps/unix/sysv/linux/msgctl.c
00db10
+++ b/sysdeps/unix/sysv/linux/msgctl.c
00db10
@@ -31,13 +31,13 @@
00db10
 struct __old_msqid_ds
00db10
 {
00db10
   struct __old_ipc_perm msg_perm;	/* structure describing operation permission */
00db10
-  struct msg *__unbounded __msg_first;	/* pointer to first message on queue */
00db10
-  struct msg *__unbounded __msg_last;	/* pointer to last message on queue */
00db10
+  struct msg *__msg_first;		/* pointer to first message on queue */
00db10
+  struct msg *__msg_last;		/* pointer to last message on queue */
00db10
   __time_t msg_stime;			/* time of last msgsnd command */
00db10
   __time_t msg_rtime;			/* time of last msgrcv command */
00db10
   __time_t msg_ctime;			/* time of last change */
00db10
-  struct wait_queue *__unbounded __wwait; /* ??? */
00db10
-  struct wait_queue *__unbounded __rwait; /* ??? */
00db10
+  struct wait_queue *__wwait;		/* ??? */
00db10
+  struct wait_queue *__rwait;		/* ??? */
00db10
   unsigned short int __msg_cbytes;	/* current number of bytes on queue */
00db10
   unsigned short int msg_qnum;		/* number of messages currently on queue */
00db10
   unsigned short int msg_qbytes;	/* max number of bytes allowed on queue */
00db10
@@ -104,8 +104,7 @@ __new_msgctl (int msqid, int cmd, struct msqid_ds *buf)
00db10
 	    return -1;
00db10
 	  }
00db10
       }
00db10
-    result = INLINE_SYSCALL (ipc, 5, IPCOP_msgctl,
00db10
-			     msqid, cmd, 0, __ptrvalue (&old));
00db10
+    result = INLINE_SYSCALL (ipc, 5, IPCOP_msgctl, msqid, cmd, 0, &old;;
00db10
     if (result != -1 && cmd != IPC_SET)
00db10
       {
00db10
 	memset(buf, 0, sizeof(*buf));
00db10
diff --git a/sysdeps/unix/sysv/linux/msgrcv.c b/sysdeps/unix/sysv/linux/msgrcv.c
00db10
index dc0e34fe3d7f2ffd..a3085abda24d4512 100644
00db10
--- a/sysdeps/unix/sysv/linux/msgrcv.c
00db10
+++ b/sysdeps/unix/sysv/linux/msgrcv.c
00db10
@@ -27,7 +27,7 @@
00db10
    arguments to a system call.  */
00db10
 struct ipc_kludge
00db10
   {
00db10
-    void *__unbounded msgp;
00db10
+    void *msgp;
00db10
     long int msgtyp;
00db10
   };
00db10
 
00db10
@@ -48,13 +48,12 @@ __libc_msgrcv (msqid, msgp, msgsz, msgtyp, msgflg)
00db10
   tmp.msgtyp = msgtyp;
00db10
 
00db10
   if (SINGLE_THREAD_P)
00db10
-    return INLINE_SYSCALL (ipc, 5, IPCOP_msgrcv, msqid, msgsz, msgflg,
00db10
-			   __ptrvalue (&tmp));
00db10
+    return INLINE_SYSCALL (ipc, 5, IPCOP_msgrcv, msqid, msgsz, msgflg, &tmp);
00db10
 
00db10
   int oldtype = LIBC_CANCEL_ASYNC ();
00db10
 
00db10
   ssize_t result = INLINE_SYSCALL (ipc, 5, IPCOP_msgrcv, msqid, msgsz, msgflg,
00db10
-				   __ptrvalue (&tmp));
00db10
+				   &tmp);
00db10
 
00db10
    LIBC_CANCEL_RESET (oldtype);
00db10
 
00db10
diff --git a/sysdeps/unix/sysv/linux/powerpc/libc-start.c b/sysdeps/unix/sysv/linux/powerpc/libc-start.c
00db10
index 89de1aa7e6e1df59..078d6c7ca99c7203 100644
00db10
--- a/sysdeps/unix/sysv/linux/powerpc/libc-start.c
00db10
+++ b/sysdeps/unix/sysv/linux/powerpc/libc-start.c
00db10
@@ -34,7 +34,7 @@ int __cache_line_size attribute_hidden;
00db10
 
00db10
 struct startup_info
00db10
   {
00db10
-    void *__unbounded sda_base;
00db10
+    void *sda_base;
00db10
     int (*main) (int, char **, char **, void *);
00db10
     int (*init) (int, char **, char **, void *);
00db10
     void (*fini) (void);
00db10
@@ -43,34 +43,28 @@ struct startup_info
00db10
 int
00db10
 /* GKM FIXME: GCC: this should get __BP_ prefix by virtue of the
00db10
    BPs in the arglist of startup_info.main and startup_info.init. */
00db10
-  BP_SYM (__libc_start_main) (int argc, char *__unbounded *__unbounded ubp_av,
00db10
-			      char *__unbounded *__unbounded ubp_ev,
00db10
-			      ElfW (auxv_t) * __unbounded auxvec,
00db10
+  BP_SYM (__libc_start_main) (int argc, char **argv,
00db10
+			      char **ev,
00db10
+			      ElfW (auxv_t) * auxvec,
00db10
 			      void (*rtld_fini) (void),
00db10
-			      struct startup_info *__unbounded stinfo,
00db10
-			      char *__unbounded *__unbounded stack_on_entry)
00db10
+			      struct startup_info *stinfo,
00db10
+			      char **stack_on_entry)
00db10
 {
00db10
-#if __BOUNDED_POINTERS__
00db10
-  char **argv;
00db10
-#else
00db10
-# define argv ubp_av
00db10
-#endif
00db10
-
00db10
   /* the PPC SVR4 ABI says that the top thing on the stack will
00db10
      be a NULL pointer, so if not we assume that we're being called
00db10
      as a statically-linked program by Linux...  */
00db10
   if (*stack_on_entry != NULL)
00db10
     {
00db10
-      char *__unbounded * __unbounded temp;
00db10
+      char **temp;
00db10
       /* ...in which case, we have argc as the top thing on the
00db10
          stack, followed by argv (NULL-terminated), envp (likewise),
00db10
          and the auxilary vector.  */
00db10
       /* 32/64-bit agnostic load from stack */
00db10
-      argc = *(long int *__unbounded) stack_on_entry;
00db10
-      ubp_av = stack_on_entry + 1;
00db10
-      ubp_ev = ubp_av + argc + 1;
00db10
+      argc = *(long int *) stack_on_entry;
00db10
+      argv = stack_on_entry + 1;
00db10
+      ev = argv + argc + 1;
00db10
 #ifdef HAVE_AUX_VECTOR
00db10
-      temp = ubp_ev;
00db10
+      temp = ev;
00db10
       while (*temp != NULL)
00db10
 	++temp;
00db10
       auxvec = (ElfW (auxv_t) *)++ temp;
00db10
@@ -87,7 +81,7 @@ int
00db10
 	break;
00db10
       }
00db10
 
00db10
-  return generic_start_main (stinfo->main, argc, ubp_av, auxvec,
00db10
+  return generic_start_main (stinfo->main, argc, argv, auxvec,
00db10
 			     stinfo->init, stinfo->fini, rtld_fini,
00db10
 			     stack_on_entry);
00db10
 }
00db10
diff --git a/sysdeps/unix/sysv/linux/ptrace.c b/sysdeps/unix/sysv/linux/ptrace.c
00db10
index a75e5ba0a8ab6b53..b06a42ace08e38fa 100644
00db10
--- a/sysdeps/unix/sysv/linux/ptrace.c
00db10
+++ b/sysdeps/unix/sysv/linux/ptrace.c
00db10
@@ -42,8 +42,7 @@ ptrace (enum __ptrace_request request, ...)
00db10
   if (request > 0 && request < 4)
00db10
     data = &ret;
00db10
 
00db10
-  res = INLINE_SYSCALL (ptrace, 4, request, pid,
00db10
-			__ptrvalue (addr), __ptrvalue (data));
00db10
+  res = INLINE_SYSCALL (ptrace, 4, request, pid, addr, data);
00db10
   if (res >= 0 && request > 0 && request < 4)
00db10
     {
00db10
       __set_errno (0);
00db10
diff --git a/sysdeps/unix/sysv/linux/semctl.c b/sysdeps/unix/sysv/linux/semctl.c
00db10
index bae5a8d28306e653..3a2f1b39cea657e5 100644
00db10
--- a/sysdeps/unix/sysv/linux/semctl.c
00db10
+++ b/sysdeps/unix/sysv/linux/semctl.c
00db10
@@ -34,10 +34,10 @@ struct __old_semid_ds
00db10
   struct __old_ipc_perm sem_perm;	/* operation permission struct */
00db10
   __time_t sem_otime;			/* last semop() time */
00db10
   __time_t sem_ctime;			/* last time changed by semctl() */
00db10
-  struct sem *__unbounded __sembase;	/* ptr to first semaphore in array */
00db10
-  struct sem_queue *__unbounded __sem_pending; /* pending operations */
00db10
-  struct sem_queue *__unbounded __sem_pending_last; /* last pending operation */
00db10
-  struct sem_undo *__unbounded __undo;	/* ondo requests on this array */
00db10
+  struct sem *__sembase;		/* ptr to first semaphore in array */
00db10
+  struct sem_queue *__sem_pending;	/* pending operations */
00db10
+  struct sem_queue *__sem_pending_last; /* last pending operation */
00db10
+  struct sem_undo *__undo;		/* ondo requests on this array */
00db10
   unsigned short int sem_nsems;		/* number of semaphores in set */
00db10
 };
00db10
 
00db10
diff --git a/sysdeps/unix/sysv/linux/shmat.c b/sysdeps/unix/sysv/linux/shmat.c
00db10
index 21417f4ced70e778..5ac515bc023e6783 100644
00db10
--- a/sysdeps/unix/sysv/linux/shmat.c
00db10
+++ b/sysdeps/unix/sysv/linux/shmat.c
00db10
@@ -36,7 +36,7 @@ shmat (shmid, shmaddr, shmflg)
00db10
 {
00db10
   INTERNAL_SYSCALL_DECL(err);
00db10
   unsigned long resultvar;
00db10
-  void *__unbounded raddr;
00db10
+  void *raddr;
00db10
 
00db10
 #if __BOUNDED_POINTERS__
00db10
   size_t length = ~0;
00db10
@@ -49,8 +49,8 @@ shmat (shmid, shmaddr, shmflg)
00db10
 
00db10
   resultvar = INTERNAL_SYSCALL (ipc, err, 5, IPCOP_shmat,
00db10
 				shmid, shmflg,
00db10
-				(long int) __ptrvalue (&raddr),
00db10
-				__ptrvalue ((void *) shmaddr));
00db10
+				(long int) &raddr,
00db10
+				(void *) shmaddr);
00db10
   if (INTERNAL_SYSCALL_ERROR_P (resultvar, err))
00db10
     {
00db10
       __set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, err));
00db10
diff --git a/sysdeps/unix/sysv/linux/shmctl.c b/sysdeps/unix/sysv/linux/shmctl.c
00db10
index 3fb6b0c0f203db08..f99ee77f92878b1b 100644
00db10
--- a/sysdeps/unix/sysv/linux/shmctl.c
00db10
+++ b/sysdeps/unix/sysv/linux/shmctl.c
00db10
@@ -40,8 +40,8 @@ struct __old_shmid_ds
00db10
   __ipc_pid_t shm_lpid;			/* pid of last shmop */
00db10
   unsigned short int shm_nattch;	/* number of current attaches */
00db10
   unsigned short int __shm_npages;	/* size of segment (pages) */
00db10
-  unsigned long int *__unbounded __shm_pages; /* array of ptrs to frames -> SHMMAX */
00db10
-  struct vm_area_struct *__unbounded __attaches; /* descriptors for attaches */
00db10
+  unsigned long int *__shm_pages;	/* array of ptrs to frames -> SHMMAX */
00db10
+  struct vm_area_struct *__attaches;	/* descriptors for attaches */
00db10
 };
00db10
 
00db10
 struct __old_shminfo
00db10
@@ -116,8 +116,7 @@ __new_shmctl (int shmid, int cmd, struct shmid_ds *buf)
00db10
 	    return -1;
00db10
 	  }
00db10
       }
00db10
-    result = INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid, cmd, 0,
00db10
-			     __ptrvalue (&old.ds));
00db10
+    result = INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid, cmd, 0, &old.ds);
00db10
     if (result != -1 && (cmd == SHM_STAT || cmd == IPC_STAT))
00db10
       {
00db10
 	memset(buf, 0, sizeof(*buf));
00db10
diff --git a/sysdeps/unix/sysv/linux/shmdt.c b/sysdeps/unix/sysv/linux/shmdt.c
00db10
index 0791b37e1982eaa3..c7fd62d3c1c82ffb 100644
00db10
--- a/sysdeps/unix/sysv/linux/shmdt.c
00db10
+++ b/sysdeps/unix/sysv/linux/shmdt.c
00db10
@@ -30,5 +30,5 @@ int
00db10
 shmdt (shmaddr)
00db10
      const void *shmaddr;
00db10
 {
00db10
-  return INLINE_SYSCALL (ipc, 5, IPCOP_shmdt, 0, 0, 0, __ptrvalue ((void *) shmaddr));
00db10
+  return INLINE_SYSCALL (ipc, 5, IPCOP_shmdt, 0, 0, 0, (void *) shmaddr);
00db10
 }
00db10
diff --git a/sysdeps/unix/sysv/linux/sigaction.c b/sysdeps/unix/sysv/linux/sigaction.c
00db10
index 01fb16e5573491c5..0eee8e6b0322399a 100644
00db10
--- a/sysdeps/unix/sysv/linux/sigaction.c
00db10
+++ b/sysdeps/unix/sysv/linux/sigaction.c
00db10
@@ -55,8 +55,8 @@ __libc_sigaction (sig, act, oact)
00db10
   /* XXX The size argument hopefully will have to be changed to the
00db10
      real size of the user-level sigset_t.  */
00db10
   result = INLINE_SYSCALL (rt_sigaction, 4, sig,
00db10
-			   act ? __ptrvalue (&kact) : NULL,
00db10
-			   oact ? __ptrvalue (&koact) : NULL, _NSIG / 8);
00db10
+			   act ? &kact : NULL,
00db10
+			   oact ? &koact : NULL, _NSIG / 8);
00db10
 
00db10
   if (oact && result >= 0)
00db10
     {
00db10
diff --git a/sysdeps/unix/sysv/linux/sigqueue.c b/sysdeps/unix/sysv/linux/sigqueue.c
00db10
index d87c0da3af1a5070..e4470d4ca660f9b8 100644
00db10
--- a/sysdeps/unix/sysv/linux/sigqueue.c
00db10
+++ b/sysdeps/unix/sysv/linux/sigqueue.c
00db10
@@ -43,7 +43,7 @@ __sigqueue (pid, sig, val)
00db10
   info.si_uid = __getuid ();
00db10
   info.si_value = val;
00db10
 
00db10
-  return INLINE_SYSCALL (rt_sigqueueinfo, 3, pid, sig, __ptrvalue (&info));
00db10
+  return INLINE_SYSCALL (rt_sigqueueinfo, 3, pid, sig, &info;;
00db10
 }
00db10
 weak_alias (__sigqueue, sigqueue)
00db10
 #else
00db10
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c
00db10
index a7eb88afa4fc5309..33715e54aa5837f2 100644
00db10
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c
00db10
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c
00db10
@@ -48,8 +48,8 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
00db10
   /* XXX The size argument hopefully will have to be changed to the
00db10
      real size of the user-level sigset_t.  */
00db10
   ret = INLINE_SYSCALL (rt_sigaction, 5, sig,
00db10
-			act ? __ptrvalue (&kact) : 0,
00db10
-			oact ? __ptrvalue (&koact) : 0, stub, _NSIG / 8);
00db10
+			act ? &kact : 0,
00db10
+			oact ? &koact : 0, stub, _NSIG / 8);
00db10
 
00db10
   if (oact && ret >= 0)
00db10
     {
00db10
diff --git a/sysdeps/unix/sysv/linux/sysctl.c b/sysdeps/unix/sysv/linux/sysctl.c
00db10
index e00ecfe85cfc0281..bcec384cb55f33ac 100644
00db10
--- a/sysdeps/unix/sysv/linux/sysctl.c
00db10
+++ b/sysdeps/unix/sysv/linux/sysctl.c
00db10
@@ -37,7 +37,7 @@ __sysctl (int *name, int nlen, void *oldval, size_t *oldlenp,
00db10
     .newlen = newlen
00db10
   };
00db10
 
00db10
-  return INLINE_SYSCALL (_sysctl, 1, __ptrvalue (&args));
00db10
+  return INLINE_SYSCALL (_sysctl, 1, &args);
00db10
 }
00db10
 libc_hidden_def (__sysctl)
00db10
 weak_alias (__sysctl, sysctl)
00db10
diff --git a/sysdeps/unix/sysv/linux/x86_64/sigaction.c b/sysdeps/unix/sysv/linux/x86_64/sigaction.c
00db10
index 5a3ad1830e67e38b..6e171dae6c429367 100644
00db10
--- a/sysdeps/unix/sysv/linux/x86_64/sigaction.c
00db10
+++ b/sysdeps/unix/sysv/linux/x86_64/sigaction.c
00db10
@@ -62,8 +62,8 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
00db10
   /* XXX The size argument hopefully will have to be changed to the
00db10
      real size of the user-level sigset_t.  */
00db10
   result = INLINE_SYSCALL (rt_sigaction, 4,
00db10
-			   sig, act ? __ptrvalue (&kact) : NULL,
00db10
-			   oact ? __ptrvalue (&koact) : NULL, _NSIG / 8);
00db10
+			   sig, act ? &kact : NULL,
00db10
+			   oact ? &koact : NULL, _NSIG / 8);
00db10
   if (oact && result >= 0)
00db10
     {
00db10
       oact->sa_handler = koact.k_sa_handler;
00db10
diff --git a/sysdeps/unix/sysv/linux/xstat.c b/sysdeps/unix/sysv/linux/xstat.c
00db10
index a3c0c1ca42424830..bb4477bb89f65fb7 100644
00db10
--- a/sysdeps/unix/sysv/linux/xstat.c
00db10
+++ b/sysdeps/unix/sysv/linux/xstat.c
00db10
@@ -44,7 +44,7 @@ __xstat (int vers, const char *name, struct stat *buf)
00db10
   struct kernel_stat kbuf;
00db10
   int result;
00db10
 
00db10
-  result = INLINE_SYSCALL (stat, 2, name, __ptrvalue (&kbuf));
00db10
+  result = INLINE_SYSCALL (stat, 2, name, &kbuf);
00db10
   if (result == 0)
00db10
     result = __xstat_conv (vers, &kbuf, buf);
00db10