diff options
-rw-r--r-- | ChangeLog | 19 | ||||
-rw-r--r-- | debug/backtrace.c | 5 | ||||
-rw-r--r-- | sysdeps/generic/bp-checks.h | 10 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/backtrace.c | 4 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/backtrace.c | 4 | ||||
-rw-r--r-- | sysdeps/sparc/backtrace.c | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/shmat.c | 3 |
7 files changed, 24 insertions, 24 deletions
@@ -1,3 +1,22 @@ +2013-02-01 Joseph Myers <joseph@codesourcery.com> + + [BZ #13550] + * sysdeps/generic/bp-checks.h (BOUNDED_N): Remove all definitions. + (BOUNDED_1): Remove macro. + * debug/backtrace.c: Don't include <bp-checks.h>. + (ADVANCE_STACK_FRAME): Don't use BOUNDED_1. + (__backtrace): Likewise. + * sysdeps/powerpc/powerpc32/backtrace.c: Don't include + <bp-checks.h>. + (__backtrace): Don't use BOUNDED_1. + * sysdeps/powerpc/powerpc64/backtrace.c: Don't include + <bp-checks.h>. + (__backtrace): Don't use BOUNDED_1. + * sysdeps/sparc/backtrace.c: Don't include <bp-checks.h>. + (__backtrace): Don't use BOUNDED_1. + * sysdeps/unix/sysv/linux/shmat.c: Don't include <bp-checks.h>. + (shmat): Don't use BOUNDED_N. + 2013-01-31 Joseph Myers <joseph@codesourcery.com> [BZ #13550] diff --git a/debug/backtrace.c b/debug/backtrace.c index bd60c04..ca80797 100644 --- a/debug/backtrace.c +++ b/debug/backtrace.c @@ -21,7 +21,6 @@ #include <signal.h> #include <frame.h> #include <sigcontextinfo.h> -#include <bp-checks.h> #include <ldsodefs.h> /* This implementation assumes a stack layout that matches the defaults @@ -50,7 +49,7 @@ /* By default assume the `next' pointer in struct layout points to the next struct layout. */ #ifndef ADVANCE_STACK_FRAME -# define ADVANCE_STACK_FRAME(next) BOUNDED_1 ((struct layout *) (next)) +# define ADVANCE_STACK_FRAME(next) ((struct layout *) (next)) #endif /* By default, the frame pointer is just what we get from gcc. */ @@ -72,7 +71,7 @@ __backtrace (array, size) top_stack = CURRENT_STACK_FRAME; /* We skip the call to this function, it makes no sense to record it. */ - current = BOUNDED_1 ((struct layout *) top_frame); + current = ((struct layout *) top_frame); while (cnt < size) { if ((void *) current INNER_THAN top_stack diff --git a/sysdeps/generic/bp-checks.h b/sysdeps/generic/bp-checks.h index 9bfa433..cfff915 100644 --- a/sysdeps/generic/bp-checks.h +++ b/sysdeps/generic/bp-checks.h @@ -66,13 +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)) -/* Return a bounded pointer with value PTR that satisfies CHECK_N (PTR, N). */ -# define BOUNDED_N(PTR, N) \ - ({ __typeof (PTR) __bounded _p_; \ - __ptrvalue _p_ = __ptrlow _p_ = __ptrvalue (PTR); \ - __ptrhigh _p_ = __ptrvalue _p_ + (N); \ - _p_; }) - #else /* !__BOUNDED_POINTERS__ */ /* Do nothing if not compiling with -fbounded-pointers. */ @@ -85,10 +78,7 @@ 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 BOUNDED_N(PTR, N) (PTR) #endif /* !__BOUNDED_POINTERS__ */ -#define BOUNDED_1(PTR) BOUNDED_N (PTR, 1) - #endif /* _bp_checks_h_ */ diff --git a/sysdeps/powerpc/powerpc32/backtrace.c b/sysdeps/powerpc/powerpc32/backtrace.c index b1b4b8e..cd04450 100644 --- a/sysdeps/powerpc/powerpc32/backtrace.c +++ b/sysdeps/powerpc/powerpc32/backtrace.c @@ -18,7 +18,6 @@ #include <execinfo.h> #include <stddef.h> -#include <bp-checks.h> /* This is the stack layout we see with every stack frame. Note that every routine is required by the ABI to lay out the stack @@ -47,11 +46,10 @@ __backtrace (void **array, int size) /* Get the address on top-of-stack. */ asm volatile ("lwz %0,0(1)" : "=r"(current)); - current = BOUNDED_1 (current); for ( count = 0; current != NULL && count < size; - current = BOUNDED_1 (current->next), count++) + current = current->next, count++) array[count] = current->return_address; /* It's possible the second-last stack frame can't return diff --git a/sysdeps/powerpc/powerpc64/backtrace.c b/sysdeps/powerpc/powerpc64/backtrace.c index b52bb14..ca04a6f 100644 --- a/sysdeps/powerpc/powerpc64/backtrace.c +++ b/sysdeps/powerpc/powerpc64/backtrace.c @@ -18,7 +18,6 @@ #include <execinfo.h> #include <stddef.h> -#include <bp-checks.h> /* This is the stack layout we see with every stack frame. Note that every routine is required by the ABI to lay out the stack @@ -50,11 +49,10 @@ __backtrace (void **array, int size) /* Get the address on top-of-stack. */ asm volatile ("ld %0,0(1)" : "=r"(current)); - current = BOUNDED_1 (current); for ( count = 0; current != NULL && count < size; - current = BOUNDED_1 (current->next), count++) + current = current->next, count++) array[count] = current->return_address; /* It's possible the second-last stack frame can't return diff --git a/sysdeps/sparc/backtrace.c b/sysdeps/sparc/backtrace.c index 89f976b..a0ba1fd 100644 --- a/sysdeps/sparc/backtrace.c +++ b/sysdeps/sparc/backtrace.c @@ -19,7 +19,6 @@ #include <execinfo.h> #include <stddef.h> -#include <bp-checks.h> #include <sysdep.h> #include <sys/trap.h> #include <dlfcn.h> @@ -129,7 +128,6 @@ __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 = BOUNDED_1 (current); array[0] = (void *__unbounded) i7; @@ -144,7 +142,6 @@ __backtrace (void **array, int size) break; current = (struct layout *__unbounded) (current->next + BACKTRACE_STACK_BIAS); - current = BOUNDED_1 (current); } } else diff --git a/sysdeps/unix/sysv/linux/shmat.c b/sysdeps/unix/sysv/linux/shmat.c index cb5aa50..91d9443 100644 --- a/sysdeps/unix/sysv/linux/shmat.c +++ b/sysdeps/unix/sysv/linux/shmat.c @@ -23,7 +23,6 @@ #include <sysdep.h> #include <unistd.h> #include <sys/syscall.h> -#include <bp-checks.h> /* Attach the shared memory segment associated with SHMID to the data segment of the calling process. SHMADDR and SHMFLG determine how @@ -58,5 +57,5 @@ shmat (shmid, shmaddr, shmflg) return (void *) -1l; } - return BOUNDED_N (raddr, length); + return raddr; } |