diff options
60 files changed, 234 insertions, 155 deletions
@@ -1,3 +1,80 @@ +2013-02-13 Joseph Myers <joseph@codesourcery.com> + + [BZ #13550] + * misc/sys/cdefs.h [!__BOUNDED_POINTERS__]: Remove conditional + code. + * csu/libc-start.c (LIBC_START_MAIN): Do not use __unbounded in + prototype or function definition. Rename ubp_* variables and + parameters. Remove argv definitions conditional on + [__BOUNDED_POINTERS__]. + * debug/backtrace.c (__backtrace): Do not use __unbounded. + * elf/dl-runtime.c (_dl_fixup): Likewise. + * include/set-hooks.h (RUN_HOOK): Likewise. + * stdio-common/vfprintf.c (JUMP): Do not use __unbounded in either + definition. + * string/strcpy.c (strcpy): Do not use __unbounded. + * sysdeps/generic/frame.h (struct layout): Likewise. + * sysdeps/gnu/bits/msq.h (struct msqid_ds): Likewise. + * sysdeps/i386/dl-machine.h (_dl_fixup): Likewise. + * sysdeps/powerpc/powerpc32/backtrace.c (struct layout): Likewise. + * sysdeps/powerpc/powerpc64/backtrace.c (struct layout): Likewise. + * sysdeps/sparc/backtrace.c (struct layout): Likewise. + (__backtrace): Likewise. + * sysdeps/unix/sysv/linux/aio_sigqueue.c (__aio_sigqueue): Do not + use __ptrvalue. + * sysdeps/unix/sysv/linux/fxstat.c (__fxstat): Likewise. + * sysdeps/unix/sysv/linux/fxstatat.c (__fxstatat): Likewise. + * sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue): + Likewise. + * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Likewise. + * sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Likewise. + * sysdeps/unix/sysv/linux/i386/fxstatat.c (__fxstatat): Likewise. + * sysdeps/unix/sysv/linux/i386/lxstat.c (__lxstat): Likewise. + * sysdeps/unix/sysv/linux/i386/msgctl.c (struct __old_msqid_ds): + Do not use __unbounded. + * sysdeps/unix/sysv/linux/i386/setrlimit.c (__new_setrlimit): + Rename __unboundedrlimits parameter to rlimits in prototype. + * sysdeps/unix/sysv/linux/i386/shmctl.c (struct __old_shmid_ds): + Do not use __unbounded. + * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): Do + not use __ptrvalue. + * sysdeps/unix/sysv/linux/i386/xstat.c (__xstat): Likewise. + * sysdeps/unix/sysv/linux/llseek.c (__llseek): Likewise. + * sysdeps/unix/sysv/linux/lxstat.c (__lxstat): Likewise. + * sysdeps/unix/sysv/linux/mmap64.c (__mmap64): Do not use + __ptrvalue or __unbounded. + (__mmap64) [__BOUNDED_POINTERS__]: Remove conditional code. + * sysdeps/unix/sysv/linux/msgctl.c (struct __old_msqid_ds): Do not + use __unbounded. + (__new_msgctl): Do not use __ptrvalue. + * sysdeps/unix/sysv/linux/msgrcv.c (struct ipc_kludge): Do not use + __unbounded. + (__libc_msgrcv): Do not use __ptrvalue. + * sysdeps/unix/sysv/linux/powerpc/libc-start.c (struct + startup_info): Do not use __unbounded. + (__libc_start_main): Likewise. Rename ubp_* variables and + parameters. Remove argv definitions conditional on + [__BOUNDED_POINTERS__]. + * sysdeps/unix/sysv/linux/ptrace.c (ptrace): Do not use + __ptrvalue. + * sysdeps/unix/sysv/linux/semctl.c (struct __old_semid_ds): Do not + use __unbounded. + * sysdeps/unix/sysv/linux/shmat.c (shmat): Do not use __unbounded + or __ptrvalue. + * sysdeps/unix/sysv/linux/shmctl.c (struct __old_shmid_ds): Do not + use __unbounded. + (__new_shmctl): Do not use __ptrvalue. + * sysdeps/unix/sysv/linux/shmdt.c (shmdt): Likewise. + * sysdeps/unix/sysv/linux/sigaction.c (__libc_sigaction): + Likewise. + * sysdeps/unix/sysv/linux/sigqueue.c (__sigqueue): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c + (__libc_sigaction): Likewise. + * sysdeps/unix/sysv/linux/sysctl.c (__sysctl): Likewise. + * sysdeps/unix/sysv/linux/x86_64/sigaction.c (__libc_sigaction): + Likewise. + * sysdeps/unix/sysv/linux/xstat.c (__xstat): Likewise. + 2013-02-13 Ondřej Bílka <neleai@seznam.cz> * stdlib/Makefile (headers): Add bits/stdlib-bsearch.h. diff --git a/csu/libc-start.c b/csu/libc-start.c index d4a135f..4f2a336 100644 --- a/csu/libc-start.c +++ b/csu/libc-start.c @@ -101,14 +101,14 @@ apply_irel (void) STATIC int LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), int argc, - char *__unbounded *__unbounded ubp_av, + char **argv, #ifdef LIBC_START_MAIN_AUXVEC_ARG - ElfW(auxv_t) *__unbounded auxvec, + ElfW(auxv_t) *auxvec, #endif __typeof (main) init, void (*fini) (void), void (*rtld_fini) (void), - void *__unbounded stack_end) + void *stack_end) __attribute__ ((noreturn)); @@ -117,29 +117,23 @@ STATIC int LIBC_START_MAIN (int (*main) (int, char **, char ** finalizers were called in more than one place. */ STATIC int LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), - int argc, char *__unbounded *__unbounded ubp_av, + int argc, char **argv, #ifdef LIBC_START_MAIN_AUXVEC_ARG - ElfW(auxv_t) *__unbounded auxvec, + ElfW(auxv_t) *auxvec, #endif __typeof (main) init, void (*fini) (void), - void (*rtld_fini) (void), void *__unbounded stack_end) + void (*rtld_fini) (void), void *stack_end) { -#if __BOUNDED_POINTERS__ - char **argv; -#else -# define argv ubp_av -#endif - /* Result of the 'main' function. */ int result; __libc_multiple_libcs = &_dl_starting_up && !_dl_starting_up; #ifndef SHARED - char *__unbounded *__unbounded ubp_ev = &ubp_av[argc + 1]; + char **ev = &argv[argc + 1]; - __environ = ubp_ev; + __environ = ev; /* Store the lowest stack address. This is done in ld.so if this is the code for the DSO. */ @@ -149,12 +143,12 @@ LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), /* First process the auxiliary vector since we need to find the program header to locate an eventually present PT_TLS entry. */ # ifndef LIBC_START_MAIN_AUXVEC_ARG - ElfW(auxv_t) *__unbounded auxvec; + ElfW(auxv_t) *auxvec; { - char *__unbounded *__unbounded evp = ubp_ev; + char **evp = ev; while (*evp++ != NULL) ; - auxvec = (ElfW(auxv_t) *__unbounded) evp; + auxvec = (ElfW(auxv_t) *) evp; } # endif _dl_aux_init (auxvec); diff --git a/debug/backtrace.c b/debug/backtrace.c index ca80797..8459498 100644 --- a/debug/backtrace.c +++ b/debug/backtrace.c @@ -63,8 +63,8 @@ __backtrace (array, size) int size; { struct layout *current; - void *__unbounded top_frame; - void *__unbounded top_stack; + void *top_frame; + void *top_stack; int cnt = 0; top_frame = FIRST_FRAME_POINTER; diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c index 9ac2726..3ca02f5 100644 --- a/elf/dl-runtime.c +++ b/elf/dl-runtime.c @@ -62,9 +62,7 @@ _dl_fixup ( # ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS ELF_MACHINE_RUNTIME_FIXUP_ARGS, # endif - /* GKM FIXME: Fix trampoline to pass bounds so we can do - without the `__unbounded' qualifier. */ - struct link_map *__unbounded l, ElfW(Word) reloc_arg) + struct link_map *l, ElfW(Word) reloc_arg) { const ElfW(Sym) *const symtab = (const void *) D_PTR (l, l_info[DT_SYMTAB]); diff --git a/include/set-hooks.h b/include/set-hooks.h index 5c751ee..e58f444 100644 --- a/include/set-hooks.h +++ b/include/set-hooks.h @@ -41,7 +41,7 @@ # define RUN_HOOK(NAME, ARGS) \ do { \ - void *const *__unbounded ptr; \ + void *const *ptr; \ for (ptr = (void *const *) symbol_set_first_element (NAME); \ ! symbol_set_end_p (NAME, ptr); ++ptr) \ (*(__##NAME##_hook_function_t *) *ptr) ARGS; \ diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h index 81ab318..7794e4e 100644 --- a/misc/sys/cdefs.h +++ b/misc/sys/cdefs.h @@ -128,14 +128,6 @@ #endif -/* Support for bounded pointers. */ -#ifndef __BOUNDED_POINTERS__ -# define __bounded /* nothing */ -# define __unbounded /* nothing */ -# define __ptrvalue /* nothing */ -#endif - - /* Fortify support. */ #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) #define __bos0(ptr) __builtin_object_size (ptr, 0) diff --git a/ports/ChangeLog.aarch64 b/ports/ChangeLog.aarch64 index 767e1f1..bfd73c5 100644 --- a/ports/ChangeLog.aarch64 +++ b/ports/ChangeLog.aarch64 @@ -1,3 +1,9 @@ +2013-02-13 Joseph Myers <joseph@codesourcery.com> + + [BZ #13550] + * sysdeps/unix/sysv/linux/aarch64/sigaction.c (__libc_sigaction): + Do not use __ptrvalue. + 2013-02-08 Joseph Myers <joseph@codesourcery.com> [BZ #13550] diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha index 38c41dc..352a76e 100644 --- a/ports/ChangeLog.alpha +++ b/ports/ChangeLog.alpha @@ -1,3 +1,9 @@ +2013-02-13 Joseph Myers <joseph@codesourcery.com> + + [BZ #13550] + * sysdeps/unix/sysv/linux/alpha/sigaction.c + (__syscall_rt_sigaction): Do not use __unbounded in prototype. + 2013-02-08 Joseph Myers <joseph@codesourcery.com> [BZ #13550] diff --git a/ports/ChangeLog.am33 b/ports/ChangeLog.am33 index 015fa90..15138e3 100644 --- a/ports/ChangeLog.am33 +++ b/ports/ChangeLog.am33 @@ -1,3 +1,10 @@ +2013-02-13 Joseph Myers <joseph@codesourcery.com> + + [BZ #13550] + * sysdeps/am33/dl-machine.h (fixup): Do not use __unbounded. + * sysdeps/unix/sysv/linux/am33/brk.c (__brk): Do not use + __ptrvalue. + 2013-01-02 Joseph Myers <joseph@codesourcery.com> * All files with FSF copyright notices: Update copyright dates diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm index 23b9075..2596b8d 100644 --- a/ports/ChangeLog.arm +++ b/ports/ChangeLog.arm @@ -1,3 +1,10 @@ +2013-02-13 Joseph Myers <joseph@codesourcery.com> + + [BZ #13550] + * sysdeps/arm/frame.h (struct layout): Do not use __unbounded. + * sysdeps/unix/sysv/linux/arm/sigaction.c (__libc_sigaction): Do + not use __ptrvalue. + 2013-02-08 Joseph Myers <joseph@codesourcery.com> [BZ #13550] diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips index 3dcac85..b91a1a8 100644 --- a/ports/ChangeLog.mips +++ b/ports/ChangeLog.mips @@ -1,3 +1,17 @@ +2013-02-13 Joseph Myers <joseph@codesourcery.com> + + [BZ #13550] + * sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c (__fxstat64): Do + not use __ptrvalue. + * sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c (__fxstatat64): + Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c (__lxstat64): + Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/xstat64.c (__xstat64): + Likewise. + * sysdeps/unix/sysv/linux/mips/sigaction.c (__libc_sigaction): + Likewise. + 2013-02-11 Joseph Myers <joseph@codesourcery.com> * sysdeps/mips/include/sys/asm.h: New file. diff --git a/ports/sysdeps/am33/dl-machine.h b/ports/sysdeps/am33/dl-machine.h index 2db2737..f22fee8 100644 --- a/ports/sysdeps/am33/dl-machine.h +++ b/ports/sysdeps/am33/dl-machine.h @@ -62,9 +62,7 @@ elf_machine_load_address (void) We cannot use this scheme for profiling because the _mcount call destroys the passed register information. */ -/* GKM FIXME: Fix trampoline to pass bounds so we can do - without the `__unbounded' qualifier. */ -static ElfW(Addr) fixup (struct link_map *__unbounded l, ElfW(Word) reloc_offset) +static ElfW(Addr) fixup (struct link_map *l, ElfW(Word) reloc_offset) __attribute__ ((unused)); static ElfW(Addr) profile_fixup (struct link_map *l, ElfW(Word) reloc_offset, ElfW(Addr) retaddr) diff --git a/ports/sysdeps/arm/frame.h b/ports/sysdeps/arm/frame.h index c5a8ed1..db35299 100644 --- a/ports/sysdeps/arm/frame.h +++ b/ports/sysdeps/arm/frame.h @@ -19,9 +19,9 @@ /* This is the APCS stack backtrace structure. */ struct layout { - struct layout *__unbounded next; - void *__unbounded sp; - void *__unbounded return_address; + struct layout *next; + void *sp; + void *return_address; }; #define FIRST_FRAME_POINTER ADVANCE_STACK_FRAME (__builtin_frame_address (0)) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/sigaction.c b/ports/sysdeps/unix/sysv/linux/aarch64/sigaction.c index 74b6675..dbaa224 100644 --- a/ports/sysdeps/unix/sysv/linux/aarch64/sigaction.c +++ b/ports/sysdeps/unix/sysv/linux/aarch64/sigaction.c @@ -51,8 +51,8 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact) } result = INLINE_SYSCALL (rt_sigaction, 4, sig, - act ? __ptrvalue (&kact) : NULL, - oact ? __ptrvalue (&koact) : NULL, _NSIG / 8); + act ? &kact : NULL, + oact ? &koact : NULL, _NSIG / 8); if (result >= 0 || errno != ENOSYS) { if (oact && result >= 0) diff --git a/ports/sysdeps/unix/sysv/linux/alpha/sigaction.c b/ports/sysdeps/unix/sysv/linux/alpha/sigaction.c index 77c0115..ad3860d 100644 --- a/ports/sysdeps/unix/sysv/linux/alpha/sigaction.c +++ b/ports/sysdeps/unix/sysv/linux/alpha/sigaction.c @@ -32,7 +32,7 @@ : INLINE_SYSCALL1(name, nr, args)) struct kernel_sigaction; -extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *__unbounded, - struct kernel_sigaction *__unbounded, size_t); +extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *, + struct kernel_sigaction *, size_t); #include <sysdeps/unix/sysv/linux/sigaction.c> diff --git a/ports/sysdeps/unix/sysv/linux/am33/brk.c b/ports/sysdeps/unix/sysv/linux/am33/brk.c index 51b59ad..8fd2ff0 100644 --- a/ports/sysdeps/unix/sysv/linux/am33/brk.c +++ b/ports/sysdeps/unix/sysv/linux/am33/brk.c @@ -30,7 +30,7 @@ __brk (void *addr) { void *newbrk; - newbrk = INLINE_SYSCALL (brk, 1, __ptrvalue (addr)); + newbrk = INLINE_SYSCALL (brk, 1, addr); __curbrk = newbrk; diff --git a/ports/sysdeps/unix/sysv/linux/arm/sigaction.c b/ports/sysdeps/unix/sysv/linux/arm/sigaction.c index c039b85..21bf506 100644 --- a/ports/sysdeps/unix/sysv/linux/arm/sigaction.c +++ b/ports/sysdeps/unix/sysv/linux/arm/sigaction.c @@ -83,8 +83,8 @@ __libc_sigaction (sig, act, oact) /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ result = INLINE_SYSCALL (rt_sigaction, 4, sig, - act ? __ptrvalue (&kact) : NULL, - oact ? __ptrvalue (&koact) : NULL, _NSIG / 8); + act ? &kact : NULL, + oact ? &koact : NULL, _NSIG / 8); if (oact && result >= 0) { diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c index 434c7cd..6249940 100644 --- a/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c +++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c @@ -34,7 +34,7 @@ __fxstat64 (int vers, int fd, struct stat64 *buf) int result; struct kernel_stat kbuf; - result = INLINE_SYSCALL (fstat, 2, fd, __ptrvalue (&kbuf)); + result = INLINE_SYSCALL (fstat, 2, fd, &kbuf); if (result == 0) result = __xstat64_conv (vers, &kbuf, buf); diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c index 42c9f5c..ca2f2f6 100644 --- a/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c +++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c @@ -95,9 +95,9 @@ __fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag) } if (flag & AT_SYMLINK_NOFOLLOW) - result = INTERNAL_SYSCALL (lstat, err, 2, file, __ptrvalue (&kst)); + result = INTERNAL_SYSCALL (lstat, err, 2, file, &kst); else - result = INTERNAL_SYSCALL (stat, err, 2, file, __ptrvalue (&kst)); + result = INTERNAL_SYSCALL (stat, err, 2, file, &kst); if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) return __xstat64_conv (vers, &kst, st); diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c index fdaa755..b01204d 100644 --- a/ports/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c +++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c @@ -33,7 +33,7 @@ __lxstat64 (int vers, const char *name, struct stat64 *buf) int result; struct kernel_stat kbuf; - result = INLINE_SYSCALL (lstat, 2, name, __ptrvalue (&kbuf)); + result = INLINE_SYSCALL (lstat, 2, name, &kbuf); if (result == 0) result = __xstat64_conv (vers, &kbuf, buf); diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c index c6d8b5e..89cde2b 100644 --- a/ports/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c +++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c @@ -34,7 +34,7 @@ __xstat64 (int vers, const char *name, struct stat64 *buf) int result; struct kernel_stat kbuf; - result = INLINE_SYSCALL (stat, 2, name, __ptrvalue (&kbuf)); + result = INLINE_SYSCALL (stat, 2, name, &kbuf); if (result == 0) result = __xstat64_conv (vers, &kbuf, buf); diff --git a/ports/sysdeps/unix/sysv/linux/mips/sigaction.c b/ports/sysdeps/unix/sysv/linux/mips/sigaction.c index c490dd1..9d8ee76 100644 --- a/ports/sysdeps/unix/sysv/linux/mips/sigaction.c +++ b/ports/sysdeps/unix/sysv/linux/mips/sigaction.c @@ -71,8 +71,8 @@ __libc_sigaction (sig, act, oact) /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ result = INLINE_SYSCALL (rt_sigaction, 4, sig, - act ? __ptrvalue (&kact) : NULL, - oact ? __ptrvalue (&koact) : NULL, + act ? &kact : NULL, + oact ? &koact : NULL, sizeof (kernel_sigset_t)); if (oact && result >= 0) diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c index df4bc47..89126d2 100644 --- a/stdio-common/vfprintf.c +++ b/stdio-common/vfprintf.c @@ -302,7 +302,7 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap) do \ { \ int offset; \ - void *__unbounded ptr; \ + void *ptr; \ spec = (ChExpr); \ offset = NOT_IN_JUMP_RANGE (spec) ? REF (form_unknown) \ : table[CHAR_CLASS (spec)]; \ @@ -315,7 +315,7 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap) # define JUMP(ChExpr, table) \ do \ { \ - const void *__unbounded ptr; \ + const void *ptr; \ spec = (ChExpr); \ ptr = NOT_IN_JUMP_RANGE (spec) ? REF (form_unknown) \ : table[CHAR_CLASS (spec)]; \ diff --git a/string/strcpy.c b/string/strcpy.c index 64e030d..b71f753 100644 --- a/string/strcpy.c +++ b/string/strcpy.c @@ -28,7 +28,7 @@ strcpy (dest, src) const char *src; { char c; - char *__unbounded s = (char *__unbounded) src; + char *s = (char *) src; const ptrdiff_t off = dest - s - 1; do diff --git a/sysdeps/generic/frame.h b/sysdeps/generic/frame.h index e6dfc72..cae84ef 100644 --- a/sysdeps/generic/frame.h +++ b/sysdeps/generic/frame.h @@ -18,6 +18,6 @@ struct layout { - void *__unbounded next; - void *__unbounded return_address; + void *next; + void *return_address; }; diff --git a/sysdeps/gnu/bits/msq.h b/sysdeps/gnu/bits/msq.h index 33f16a5..ca70acd 100644 --- a/sysdeps/gnu/bits/msq.h +++ b/sysdeps/gnu/bits/msq.h @@ -38,13 +38,13 @@ typedef unsigned short int msglen_t; struct msqid_ds { struct ipc_perm msg_perm; /* structure describing operation permission */ - struct msg *__unbounded __msg_first; /* pointer to first message on queue */ - struct msg *__unbounded __msg_last; /* pointer to last message on queue */ + struct msg *__msg_first; /* pointer to first message on queue */ + struct msg *__msg_last; /* pointer to last message on queue */ __time_t msg_stime; /* time of last msgsnd command */ __time_t msg_rtime; /* time of last msgrcv command */ __time_t msg_ctime; /* time of last change */ - struct wait_queue *__unbounded __wwait; /* ??? */ - struct wait_queue *__unbounded __rwait; /* ??? */ + struct wait_queue *__wwait; /* ??? */ + struct wait_queue *__rwait; /* ??? */ unsigned short int __msg_cbytes;/* current number of bytes on queue */ msgqnum_t msg_qnum; /* number of messages currently on queue */ msglen_t msg_qbytes; /* max number of bytes allowed on queue */ diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h index a1e40d8..1f2cb60 100644 --- a/sysdeps/i386/dl-machine.h +++ b/sysdeps/i386/dl-machine.h @@ -151,11 +151,9 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) We cannot use this scheme for profiling because the _mcount call destroys the passed register information. */ -/* GKM FIXME: Fix trampoline to pass bounds so we can do - without the `__unbounded' qualifier. */ #define ARCH_FIXUP_ATTRIBUTE __attribute__ ((regparm (3), stdcall, unused)) -extern ElfW(Addr) _dl_fixup (struct link_map *__unbounded l, +extern ElfW(Addr) _dl_fixup (struct link_map *l, ElfW(Word) reloc_offset) ARCH_FIXUP_ATTRIBUTE; extern ElfW(Addr) _dl_profile_fixup (struct link_map *l, diff --git a/sysdeps/powerpc/powerpc32/backtrace.c b/sysdeps/powerpc/powerpc32/backtrace.c index cd04450..b4b11dd 100644 --- a/sysdeps/powerpc/powerpc32/backtrace.c +++ b/sysdeps/powerpc/powerpc32/backtrace.c @@ -31,8 +31,8 @@ */ struct layout { - struct layout *__unbounded next; - void *__unbounded return_address; + struct layout *next; + void *return_address; }; int diff --git a/sysdeps/powerpc/powerpc64/backtrace.c b/sysdeps/powerpc/powerpc64/backtrace.c index ca04a6f..2d3e051 100644 --- a/sysdeps/powerpc/powerpc64/backtrace.c +++ b/sysdeps/powerpc/powerpc64/backtrace.c @@ -33,9 +33,9 @@ */ struct layout { - struct layout *__unbounded next; + struct layout *next; long condition_register; - void *__unbounded return_address; + void *return_address; }; int diff --git a/sysdeps/sparc/backtrace.c b/sysdeps/sparc/backtrace.c index a0ba1fd..48f3cf6 100644 --- a/sysdeps/sparc/backtrace.c +++ b/sysdeps/sparc/backtrace.c @@ -30,7 +30,7 @@ struct layout unsigned long locals[8]; unsigned long ins[6]; unsigned long next; - void *__unbounded return_address; + void *return_address; }; struct trace_arg @@ -127,9 +127,9 @@ __backtrace (void **array, int size) asm volatile ("mov %%fp, %0" : "=r"(fp)); asm volatile ("mov %%i7, %0" : "=r"(i7)); - current = (struct layout *__unbounded) (fp + BACKTRACE_STACK_BIAS); + current = (struct layout *) (fp + BACKTRACE_STACK_BIAS); - array[0] = (void *__unbounded) i7; + array[0] = (void *) i7; if (size == 1) return 1; @@ -140,8 +140,7 @@ __backtrace (void **array, int size) array[count] = current->return_address; if (!current->next) break; - current = (struct layout *__unbounded) (current->next - + BACKTRACE_STACK_BIAS); + current = (struct layout *) (current->next + BACKTRACE_STACK_BIAS); } } else diff --git a/sysdeps/unix/sysv/linux/aio_sigqueue.c b/sysdeps/unix/sysv/linux/aio_sigqueue.c index 1cd5802..9af05e8 100644 --- a/sysdeps/unix/sysv/linux/aio_sigqueue.c +++ b/sysdeps/unix/sysv/linux/aio_sigqueue.c @@ -47,8 +47,7 @@ __aio_sigqueue (sig, val, caller_pid) info.si_uid = getuid (); info.si_value = val; - return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, - sig, __ptrvalue (&info)); + return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info); } #else # include <rt/aio_sigqueue.c> diff --git a/sysdeps/unix/sysv/linux/fxstat.c b/sysdeps/unix/sysv/linux/fxstat.c index 06a7fc0..3623fdf 100644 --- a/sysdeps/unix/sysv/linux/fxstat.c +++ b/sysdeps/unix/sysv/linux/fxstat.c @@ -45,7 +45,7 @@ __fxstat (int vers, int fd, struct stat *buf) struct kernel_stat kbuf; int result; - result = INLINE_SYSCALL (fstat, 2, fd, __ptrvalue (&kbuf)); + result = INLINE_SYSCALL (fstat, 2, fd, &kbuf); if (result == 0) result = __xstat_conv (vers, &kbuf, buf); diff --git a/sysdeps/unix/sysv/linux/fxstatat.c b/sysdeps/unix/sysv/linux/fxstatat.c index 2578eea..b8bd8a5 100644 --- a/sysdeps/unix/sysv/linux/fxstatat.c +++ b/sysdeps/unix/sysv/linux/fxstatat.c @@ -125,9 +125,9 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag) } #else if (flag & AT_SYMLINK_NOFOLLOW) - result = INTERNAL_SYSCALL (lstat, err, 2, file, __ptrvalue (&kst)); + result = INTERNAL_SYSCALL (lstat, err, 2, file, &kst); else - result = INTERNAL_SYSCALL (stat, err, 2, file, __ptrvalue (&kst)); + result = INTERNAL_SYSCALL (stat, err, 2, file, &kst); if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) return __xstat_conv (vers, &kst, st); diff --git a/sysdeps/unix/sysv/linux/gai_sigqueue.c b/sysdeps/unix/sysv/linux/gai_sigqueue.c index 5097dc7..5c8cb44 100644 --- a/sysdeps/unix/sysv/linux/gai_sigqueue.c +++ b/sysdeps/unix/sysv/linux/gai_sigqueue.c @@ -47,8 +47,7 @@ __gai_sigqueue (sig, val, caller_pid) info.si_uid = __getuid (); info.si_value = val; - return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, - sig, __ptrvalue (&info)); + return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info); } #else # include <resolv/gai_sigqueue.c> diff --git a/sysdeps/unix/sysv/linux/i386/brk.c b/sysdeps/unix/sysv/linux/i386/brk.c index 47bb01d..880542a 100644 --- a/sysdeps/unix/sysv/linux/i386/brk.c +++ b/sysdeps/unix/sysv/linux/i386/brk.c @@ -31,11 +31,10 @@ weak_alias (__curbrk, ___brk_addr) int __brk (void *addr) { - void *__unbounded newbrk; + void *newbrk; INTERNAL_SYSCALL_DECL (err); - newbrk = (void *__unbounded) INTERNAL_SYSCALL (brk, err, 1, - __ptrvalue (addr)); + newbrk = (void *) INTERNAL_SYSCALL (brk, err, 1, addr); __curbrk = newbrk; diff --git a/sysdeps/unix/sysv/linux/i386/fxstat.c b/sysdeps/unix/sysv/linux/i386/fxstat.c index 8ceb269..4f34a4c 100644 --- a/sysdeps/unix/sysv/linux/i386/fxstat.c +++ b/sysdeps/unix/sysv/linux/i386/fxstat.c @@ -44,7 +44,7 @@ __fxstat (int vers, int fd, struct stat *buf) { struct stat64 buf64; - result = INLINE_SYSCALL (fstat64, 2, fd, __ptrvalue (&buf64)); + result = INLINE_SYSCALL (fstat64, 2, fd, &buf64); if (result == 0) result = __xstat32_conv (vers, &buf64, buf); return result; diff --git a/sysdeps/unix/sysv/linux/i386/fxstatat.c b/sysdeps/unix/sysv/linux/i386/fxstatat.c index a98c6c8..7ecbbe0 100644 --- a/sysdeps/unix/sysv/linux/i386/fxstatat.c +++ b/sysdeps/unix/sysv/linux/i386/fxstatat.c @@ -110,9 +110,9 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag) } if (flag & AT_SYMLINK_NOFOLLOW) - result = INTERNAL_SYSCALL (lstat64, err, 2, file, __ptrvalue (&st64)); + result = INTERNAL_SYSCALL (lstat64, err, 2, file, &st64); else - result = INTERNAL_SYSCALL (stat64, err, 2, file, __ptrvalue (&st64)); + result = INTERNAL_SYSCALL (stat64, err, 2, file, &st64); if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) return __xstat32_conv (vers, &st64, st); diff --git a/sysdeps/unix/sysv/linux/i386/lxstat.c b/sysdeps/unix/sysv/linux/i386/lxstat.c index a10f403..8e595b1 100644 --- a/sysdeps/unix/sysv/linux/i386/lxstat.c +++ b/sysdeps/unix/sysv/linux/i386/lxstat.c @@ -45,7 +45,7 @@ __lxstat (int vers, const char *name, struct stat *buf) { struct stat64 buf64; - result = INLINE_SYSCALL (lstat64, 2, name, __ptrvalue (&buf64)); + result = INLINE_SYSCALL (lstat64, 2, name, &buf64); if (result == 0) result = __xstat32_conv (vers, &buf64, buf); return result; diff --git a/sysdeps/unix/sysv/linux/i386/msgctl.c b/sysdeps/unix/sysv/linux/i386/msgctl.c index f48d8e2..e0af4e3 100644 --- a/sysdeps/unix/sysv/linux/i386/msgctl.c +++ b/sysdeps/unix/sysv/linux/i386/msgctl.c @@ -29,13 +29,13 @@ struct __old_msqid_ds { struct __old_ipc_perm msg_perm; /* structure describing operation permission */ - struct msg *__unbounded __msg_first; /* pointer to first message on queue */ - struct msg *__unbounded __msg_last; /* pointer to last message on queue */ + struct msg *__msg_first; /* pointer to first message on queue */ + struct msg *__msg_last; /* pointer to last message on queue */ __time_t msg_stime; /* time of last msgsnd command */ __time_t msg_rtime; /* time of last msgrcv command */ __time_t msg_ctime; /* time of last change */ - struct wait_queue *__unbounded __wwait; /* ??? */ - struct wait_queue *__unbounded __rwait; /* ??? */ + struct wait_queue *__wwait; /* ??? */ + struct wait_queue *__rwait; /* ??? */ unsigned short int __msg_cbytes; /* current number of bytes on queue */ unsigned short int msg_qnum; /* number of messages currently on queue */ unsigned short int msg_qbytes; /* max number of bytes allowed on queue */ diff --git a/sysdeps/unix/sysv/linux/i386/setrlimit.c b/sysdeps/unix/sysv/linux/i386/setrlimit.c index 05ccb1c..0fe31e1 100644 --- a/sysdeps/unix/sysv/linux/i386/setrlimit.c +++ b/sysdeps/unix/sysv/linux/i386/setrlimit.c @@ -24,7 +24,7 @@ #include <shlib-compat.h> extern int __new_setrlimit (enum __rlimit_resource resource, - const struct rlimit *__unboundedrlimits); + const struct rlimit *rlimits); /* Consider moving to syscalls.list. */ diff --git a/sysdeps/unix/sysv/linux/i386/shmctl.c b/sysdeps/unix/sysv/linux/i386/shmctl.c index cb1539a..8459dff 100644 --- a/sysdeps/unix/sysv/linux/i386/shmctl.c +++ b/sysdeps/unix/sysv/linux/i386/shmctl.c @@ -38,8 +38,8 @@ struct __old_shmid_ds __ipc_pid_t shm_lpid; /* pid of last shmop */ unsigned short int shm_nattch; /* number of current attaches */ unsigned short int __shm_npages; /* size of segment (pages) */ - unsigned long int *__unbounded __shm_pages; /* array of ptrs to frames -> SHMMAX */ - struct vm_area_struct *__unbounded __attaches; /* descriptors for attaches */ + unsigned long int *__shm_pages; /* array of ptrs to frames -> SHMMAX */ + struct vm_area_struct *__attaches; /* descriptors for attaches */ }; struct __old_shminfo diff --git a/sysdeps/unix/sysv/linux/i386/sigaction.c b/sysdeps/unix/sysv/linux/i386/sigaction.c index 6b70b15..d2bac91 100644 --- a/sysdeps/unix/sysv/linux/i386/sigaction.c +++ b/sysdeps/unix/sysv/linux/i386/sigaction.c @@ -72,8 +72,8 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact) /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ result = INLINE_SYSCALL (rt_sigaction, 4, - sig, act ? __ptrvalue (&kact) : NULL, - oact ? __ptrvalue (&koact) : NULL, _NSIG / 8); + sig, act ? &kact : NULL, + oact ? &koact : NULL, _NSIG / 8); if (oact && result >= 0) { diff --git a/sysdeps/unix/sysv/linux/i386/xstat.c b/sysdeps/unix/sysv/linux/i386/xstat.c index 26dc00a..e2abe8b 100644 --- a/sysdeps/unix/sysv/linux/i386/xstat.c +++ b/sysdeps/unix/sysv/linux/i386/xstat.c @@ -45,7 +45,7 @@ __xstat (int vers, const char *name, struct stat *buf) { struct stat64 buf64; - result = INLINE_SYSCALL (stat64, 2, name, __ptrvalue (&buf64)); + result = INLINE_SYSCALL (stat64, 2, name, &buf64); if (result == 0) result = __xstat32_conv (vers, &buf64, buf); return result; diff --git a/sysdeps/unix/sysv/linux/llseek.c b/sysdeps/unix/sysv/linux/llseek.c index 4580b87..a15be30 100644 --- a/sysdeps/unix/sysv/linux/llseek.c +++ b/sysdeps/unix/sysv/linux/llseek.c @@ -32,7 +32,7 @@ __llseek (int fd, loff_t offset, int whence) return (loff_t) (INLINE_SYSCALL (_llseek, 5, fd, (off_t) (offset >> 32), (off_t) (offset & 0xffffffff), - __ptrvalue (&retval), whence) ?: retval); + &retval, whence) ?: retval); } weak_alias (__llseek, llseek) strong_alias (__llseek, __libc_lseek64) diff --git a/sysdeps/unix/sysv/linux/lxstat.c b/sysdeps/unix/sysv/linux/lxstat.c index 5f7bce2..3a83891 100644 --- a/sysdeps/unix/sysv/linux/lxstat.c +++ b/sysdeps/unix/sysv/linux/lxstat.c @@ -44,7 +44,7 @@ __lxstat (int vers, const char *name, struct stat *buf) struct kernel_stat kbuf; int result; - result = INLINE_SYSCALL (lstat, 2, name, __ptrvalue (&kbuf)); + result = INLINE_SYSCALL (lstat, 2, name, &kbuf); if (result == 0) result = __xstat_conv (vers, &kbuf, buf); diff --git a/sysdeps/unix/sysv/linux/mmap64.c b/sysdeps/unix/sysv/linux/mmap64.c index a424092..175e4ab 100644 --- a/sysdeps/unix/sysv/linux/mmap64.c +++ b/sysdeps/unix/sysv/linux/mmap64.c @@ -53,14 +53,10 @@ __mmap64 (void *addr, size_t len, int prot, int flags, int fd, off64_t offset) return MAP_FAILED; } void *result; - __ptrvalue (result) = (void *__unbounded) - INLINE_SYSCALL (mmap2, 6, __ptrvalue (addr), + result = (void *) + INLINE_SYSCALL (mmap2, 6, addr, len, prot, flags, fd, (off_t) (offset >> MMAP2_PAGE_SHIFT)); -#if __BOUNDED_POINTERS__ - __ptrlow (result) = __ptrvalue (result); - __ptrhigh (result) = __ptrvalue (result) + len; -#endif return result; } weak_alias (__mmap64, mmap64) diff --git a/sysdeps/unix/sysv/linux/msgctl.c b/sysdeps/unix/sysv/linux/msgctl.c index 2483ebb..0bbaf08 100644 --- a/sysdeps/unix/sysv/linux/msgctl.c +++ b/sysdeps/unix/sysv/linux/msgctl.c @@ -30,13 +30,13 @@ struct __old_msqid_ds { struct __old_ipc_perm msg_perm; /* structure describing operation permission */ - struct msg *__unbounded __msg_first; /* pointer to first message on queue */ - struct msg *__unbounded __msg_last; /* pointer to last message on queue */ + struct msg *__msg_first; /* pointer to first message on queue */ + struct msg *__msg_last; /* pointer to last message on queue */ __time_t msg_stime; /* time of last msgsnd command */ __time_t msg_rtime; /* time of last msgrcv command */ __time_t msg_ctime; /* time of last change */ - struct wait_queue *__unbounded __wwait; /* ??? */ - struct wait_queue *__unbounded __rwait; /* ??? */ + struct wait_queue *__wwait; /* ??? */ + struct wait_queue *__rwait; /* ??? */ unsigned short int __msg_cbytes; /* current number of bytes on queue */ unsigned short int msg_qnum; /* number of messages currently on queue */ unsigned short int msg_qbytes; /* max number of bytes allowed on queue */ @@ -103,8 +103,7 @@ __new_msgctl (int msqid, int cmd, struct msqid_ds *buf) return -1; } } - result = INLINE_SYSCALL (ipc, 5, IPCOP_msgctl, - msqid, cmd, 0, __ptrvalue (&old)); + result = INLINE_SYSCALL (ipc, 5, IPCOP_msgctl, msqid, cmd, 0, &old); if (result != -1 && cmd != IPC_SET) { memset(buf, 0, sizeof(*buf)); diff --git a/sysdeps/unix/sysv/linux/msgrcv.c b/sysdeps/unix/sysv/linux/msgrcv.c index edf81a5..7ec9b25 100644 --- a/sysdeps/unix/sysv/linux/msgrcv.c +++ b/sysdeps/unix/sysv/linux/msgrcv.c @@ -27,7 +27,7 @@ arguments to a system call. */ struct ipc_kludge { - void *__unbounded msgp; + void *msgp; long int msgtyp; }; @@ -48,13 +48,12 @@ __libc_msgrcv (msqid, msgp, msgsz, msgtyp, msgflg) tmp.msgtyp = msgtyp; if (SINGLE_THREAD_P) - return INLINE_SYSCALL (ipc, 5, IPCOP_msgrcv, msqid, msgsz, msgflg, - __ptrvalue (&tmp)); + return INLINE_SYSCALL (ipc, 5, IPCOP_msgrcv, msqid, msgsz, msgflg, &tmp); int oldtype = LIBC_CANCEL_ASYNC (); ssize_t result = INLINE_SYSCALL (ipc, 5, IPCOP_msgrcv, msqid, msgsz, msgflg, - __ptrvalue (&tmp)); + &tmp); LIBC_CANCEL_RESET (oldtype); diff --git a/sysdeps/unix/sysv/linux/powerpc/libc-start.c b/sysdeps/unix/sysv/linux/powerpc/libc-start.c index fb1f9a4..07d0ef8 100644 --- a/sysdeps/unix/sysv/linux/powerpc/libc-start.c +++ b/sysdeps/unix/sysv/linux/powerpc/libc-start.c @@ -33,7 +33,7 @@ int __cache_line_size attribute_hidden; struct startup_info { - void *__unbounded sda_base; + void *sda_base; int (*main) (int, char **, char **, void *); int (*init) (int, char **, char **, void *); void (*fini) (void); @@ -42,34 +42,28 @@ struct startup_info int /* GKM FIXME: GCC: this should get __BP_ prefix by virtue of the BPs in the arglist of startup_info.main and startup_info.init. */ - BP_SYM (__libc_start_main) (int argc, char *__unbounded *__unbounded ubp_av, - char *__unbounded *__unbounded ubp_ev, - ElfW (auxv_t) * __unbounded auxvec, + BP_SYM (__libc_start_main) (int argc, char **argv, + char **ev, + ElfW (auxv_t) * auxvec, void (*rtld_fini) (void), - struct startup_info *__unbounded stinfo, - char *__unbounded *__unbounded stack_on_entry) + struct startup_info *stinfo, + char **stack_on_entry) { -#if __BOUNDED_POINTERS__ - char **argv; -#else -# define argv ubp_av -#endif - /* the PPC SVR4 ABI says that the top thing on the stack will be a NULL pointer, so if not we assume that we're being called as a statically-linked program by Linux... */ if (*stack_on_entry != NULL) { - char *__unbounded * __unbounded temp; + char **temp; /* ...in which case, we have argc as the top thing on the stack, followed by argv (NULL-terminated), envp (likewise), and the auxilary vector. */ /* 32/64-bit agnostic load from stack */ - argc = *(long int *__unbounded) stack_on_entry; - ubp_av = stack_on_entry + 1; - ubp_ev = ubp_av + argc + 1; + argc = *(long int *) stack_on_entry; + argv = stack_on_entry + 1; + ev = argv + argc + 1; #ifdef HAVE_AUX_VECTOR - temp = ubp_ev; + temp = ev; while (*temp != NULL) ++temp; auxvec = (ElfW (auxv_t) *)++ temp; @@ -86,7 +80,7 @@ int break; } - return generic_start_main (stinfo->main, argc, ubp_av, auxvec, + return generic_start_main (stinfo->main, argc, argv, auxvec, stinfo->init, stinfo->fini, rtld_fini, stack_on_entry); } diff --git a/sysdeps/unix/sysv/linux/ptrace.c b/sysdeps/unix/sysv/linux/ptrace.c index e94cbd5..3a6ca6c 100644 --- a/sysdeps/unix/sysv/linux/ptrace.c +++ b/sysdeps/unix/sysv/linux/ptrace.c @@ -42,8 +42,7 @@ ptrace (enum __ptrace_request request, ...) if (request > 0 && request < 4) data = &ret; - res = INLINE_SYSCALL (ptrace, 4, request, pid, - __ptrvalue (addr), __ptrvalue (data)); + res = INLINE_SYSCALL (ptrace, 4, request, pid, addr, data); if (res >= 0 && request > 0 && request < 4) { __set_errno (0); diff --git a/sysdeps/unix/sysv/linux/semctl.c b/sysdeps/unix/sysv/linux/semctl.c index 6c5c51e..b28861d 100644 --- a/sysdeps/unix/sysv/linux/semctl.c +++ b/sysdeps/unix/sysv/linux/semctl.c @@ -33,10 +33,10 @@ struct __old_semid_ds struct __old_ipc_perm sem_perm; /* operation permission struct */ __time_t sem_otime; /* last semop() time */ __time_t sem_ctime; /* last time changed by semctl() */ - struct sem *__unbounded __sembase; /* ptr to first semaphore in array */ - struct sem_queue *__unbounded __sem_pending; /* pending operations */ - struct sem_queue *__unbounded __sem_pending_last; /* last pending operation */ - struct sem_undo *__unbounded __undo; /* ondo requests on this array */ + struct sem *__sembase; /* ptr to first semaphore in array */ + struct sem_queue *__sem_pending; /* pending operations */ + struct sem_queue *__sem_pending_last; /* last pending operation */ + struct sem_undo *__undo; /* ondo requests on this array */ unsigned short int sem_nsems; /* number of semaphores in set */ }; diff --git a/sysdeps/unix/sysv/linux/shmat.c b/sysdeps/unix/sysv/linux/shmat.c index 91d9443..45f0dea 100644 --- a/sysdeps/unix/sysv/linux/shmat.c +++ b/sysdeps/unix/sysv/linux/shmat.c @@ -36,7 +36,7 @@ shmat (shmid, shmaddr, shmflg) { INTERNAL_SYSCALL_DECL(err); unsigned long resultvar; - void *__unbounded raddr; + void *raddr; #if __BOUNDED_POINTERS__ size_t length = ~0; @@ -49,8 +49,8 @@ shmat (shmid, shmaddr, shmflg) resultvar = INTERNAL_SYSCALL (ipc, err, 5, IPCOP_shmat, shmid, shmflg, - (long int) __ptrvalue (&raddr), - __ptrvalue ((void *) shmaddr)); + (long int) &raddr, + (void *) shmaddr); if (INTERNAL_SYSCALL_ERROR_P (resultvar, err)) { __set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, err)); diff --git a/sysdeps/unix/sysv/linux/shmctl.c b/sysdeps/unix/sysv/linux/shmctl.c index 10b0ccd..34806fb 100644 --- a/sysdeps/unix/sysv/linux/shmctl.c +++ b/sysdeps/unix/sysv/linux/shmctl.c @@ -39,8 +39,8 @@ struct __old_shmid_ds __ipc_pid_t shm_lpid; /* pid of last shmop */ unsigned short int shm_nattch; /* number of current attaches */ unsigned short int __shm_npages; /* size of segment (pages) */ - unsigned long int *__unbounded __shm_pages; /* array of ptrs to frames -> SHMMAX */ - struct vm_area_struct *__unbounded __attaches; /* descriptors for attaches */ + unsigned long int *__shm_pages; /* array of ptrs to frames -> SHMMAX */ + struct vm_area_struct *__attaches; /* descriptors for attaches */ }; struct __old_shminfo @@ -115,8 +115,7 @@ __new_shmctl (int shmid, int cmd, struct shmid_ds *buf) return -1; } } - result = INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid, cmd, 0, - __ptrvalue (&old.ds)); + result = INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid, cmd, 0, &old.ds); if (result != -1 && (cmd == SHM_STAT || cmd == IPC_STAT)) { memset(buf, 0, sizeof(*buf)); diff --git a/sysdeps/unix/sysv/linux/shmdt.c b/sysdeps/unix/sysv/linux/shmdt.c index aac6619..260526b 100644 --- a/sysdeps/unix/sysv/linux/shmdt.c +++ b/sysdeps/unix/sysv/linux/shmdt.c @@ -30,5 +30,5 @@ int shmdt (shmaddr) const void *shmaddr; { - return INLINE_SYSCALL (ipc, 5, IPCOP_shmdt, 0, 0, 0, __ptrvalue ((void *) shmaddr)); + return INLINE_SYSCALL (ipc, 5, IPCOP_shmdt, 0, 0, 0, (void *) shmaddr); } diff --git a/sysdeps/unix/sysv/linux/sigaction.c b/sysdeps/unix/sysv/linux/sigaction.c index 3fe882e..336975c 100644 --- a/sysdeps/unix/sysv/linux/sigaction.c +++ b/sysdeps/unix/sysv/linux/sigaction.c @@ -55,8 +55,8 @@ __libc_sigaction (sig, act, oact) /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ result = INLINE_SYSCALL (rt_sigaction, 4, sig, - act ? __ptrvalue (&kact) : NULL, - oact ? __ptrvalue (&koact) : NULL, _NSIG / 8); + act ? &kact : NULL, + oact ? &koact : NULL, _NSIG / 8); if (oact && result >= 0) { diff --git a/sysdeps/unix/sysv/linux/sigqueue.c b/sysdeps/unix/sysv/linux/sigqueue.c index eb056f3..37d61c8 100644 --- a/sysdeps/unix/sysv/linux/sigqueue.c +++ b/sysdeps/unix/sysv/linux/sigqueue.c @@ -43,7 +43,7 @@ __sigqueue (pid, sig, val) info.si_uid = __getuid (); info.si_value = val; - return INLINE_SYSCALL (rt_sigqueueinfo, 3, pid, sig, __ptrvalue (&info)); + return INLINE_SYSCALL (rt_sigqueueinfo, 3, pid, sig, &info); } weak_alias (__sigqueue, sigqueue) #else diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c index 988d266..d5e7087 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c @@ -48,8 +48,8 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact) /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ ret = INLINE_SYSCALL (rt_sigaction, 5, sig, - act ? __ptrvalue (&kact) : 0, - oact ? __ptrvalue (&koact) : 0, stub, _NSIG / 8); + act ? &kact : 0, + oact ? &koact : 0, stub, _NSIG / 8); if (oact && ret >= 0) { diff --git a/sysdeps/unix/sysv/linux/sysctl.c b/sysdeps/unix/sysv/linux/sysctl.c index 2d37de7..4ff1bf37 100644 --- a/sysdeps/unix/sysv/linux/sysctl.c +++ b/sysdeps/unix/sysv/linux/sysctl.c @@ -37,7 +37,7 @@ __sysctl (int *name, int nlen, void *oldval, size_t *oldlenp, .newlen = newlen }; - return INLINE_SYSCALL (_sysctl, 1, __ptrvalue (&args)); + return INLINE_SYSCALL (_sysctl, 1, &args); } libc_hidden_def (__sysctl) weak_alias (__sysctl, sysctl) diff --git a/sysdeps/unix/sysv/linux/x86_64/sigaction.c b/sysdeps/unix/sysv/linux/x86_64/sigaction.c index 0fcb754..4b5d1e1 100644 --- a/sysdeps/unix/sysv/linux/x86_64/sigaction.c +++ b/sysdeps/unix/sysv/linux/x86_64/sigaction.c @@ -62,8 +62,8 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact) /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ result = INLINE_SYSCALL (rt_sigaction, 4, - sig, act ? __ptrvalue (&kact) : NULL, - oact ? __ptrvalue (&koact) : NULL, _NSIG / 8); + sig, act ? &kact : NULL, + oact ? &koact : NULL, _NSIG / 8); if (oact && result >= 0) { oact->sa_handler = koact.k_sa_handler; diff --git a/sysdeps/unix/sysv/linux/xstat.c b/sysdeps/unix/sysv/linux/xstat.c index 2eaf380..ac342ce 100644 --- a/sysdeps/unix/sysv/linux/xstat.c +++ b/sysdeps/unix/sysv/linux/xstat.c @@ -44,7 +44,7 @@ __xstat (int vers, const char *name, struct stat *buf) struct kernel_stat kbuf; int result; - result = INLINE_SYSCALL (stat, 2, name, __ptrvalue (&kbuf)); + result = INLINE_SYSCALL (stat, 2, name, &kbuf); if (result == 0) result = __xstat_conv (vers, &kbuf, buf); |