1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-01 10:06:57 +03:00

Remove BOUNDED_N and BOUNDED_1.

This commit is contained in:
Joseph Myers
2013-02-01 06:35:29 +00:00
parent 3a7ac8a0f5
commit e782a927c2
7 changed files with 24 additions and 24 deletions

View File

@ -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> 2013-01-31 Joseph Myers <joseph@codesourcery.com>
[BZ #13550] [BZ #13550]

View File

@ -21,7 +21,6 @@
#include <signal.h> #include <signal.h>
#include <frame.h> #include <frame.h>
#include <sigcontextinfo.h> #include <sigcontextinfo.h>
#include <bp-checks.h>
#include <ldsodefs.h> #include <ldsodefs.h>
/* This implementation assumes a stack layout that matches the defaults /* 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 /* By default assume the `next' pointer in struct layout points to the
next struct layout. */ next struct layout. */
#ifndef ADVANCE_STACK_FRAME #ifndef ADVANCE_STACK_FRAME
# define ADVANCE_STACK_FRAME(next) BOUNDED_1 ((struct layout *) (next)) # define ADVANCE_STACK_FRAME(next) ((struct layout *) (next))
#endif #endif
/* By default, the frame pointer is just what we get from gcc. */ /* By default, the frame pointer is just what we get from gcc. */
@ -72,7 +71,7 @@ __backtrace (array, size)
top_stack = CURRENT_STACK_FRAME; top_stack = CURRENT_STACK_FRAME;
/* We skip the call to this function, it makes no sense to record it. */ /* 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) while (cnt < size)
{ {
if ((void *) current INNER_THAN top_stack if ((void *) current INNER_THAN top_stack

View File

@ -66,13 +66,6 @@ extern void *__unbounded __ubp_memchr (const void *__unbounded, int, unsigned);
/* Same as CHECK_STRING, but tolerate ARG == NULL. */ /* Same as CHECK_STRING, but tolerate ARG == NULL. */
# define CHECK_STRING_NULL_OK(ARG) _CHECK_STRING ((ARG), __ptrvalue (ARG)) # 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__ */ #else /* !__BOUNDED_POINTERS__ */
/* Do nothing if not compiling with -fbounded-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(ARG, N) (ARG)
# define CHECK_N_NULL_OK(ARG, N) (ARG) # define CHECK_N_NULL_OK(ARG, N) (ARG)
# define CHECK_STRING(ARG) (ARG) # define CHECK_STRING(ARG) (ARG)
# define BOUNDED_N(PTR, N) (PTR)
#endif /* !__BOUNDED_POINTERS__ */ #endif /* !__BOUNDED_POINTERS__ */
#define BOUNDED_1(PTR) BOUNDED_N (PTR, 1)
#endif /* _bp_checks_h_ */ #endif /* _bp_checks_h_ */

View File

@ -18,7 +18,6 @@
#include <execinfo.h> #include <execinfo.h>
#include <stddef.h> #include <stddef.h>
#include <bp-checks.h>
/* This is the stack layout we see with every stack frame. /* 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 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. */ /* Get the address on top-of-stack. */
asm volatile ("lwz %0,0(1)" : "=r"(current)); asm volatile ("lwz %0,0(1)" : "=r"(current));
current = BOUNDED_1 (current);
for ( count = 0; for ( count = 0;
current != NULL && count < size; current != NULL && count < size;
current = BOUNDED_1 (current->next), count++) current = current->next, count++)
array[count] = current->return_address; array[count] = current->return_address;
/* It's possible the second-last stack frame can't return /* It's possible the second-last stack frame can't return

View File

@ -18,7 +18,6 @@
#include <execinfo.h> #include <execinfo.h>
#include <stddef.h> #include <stddef.h>
#include <bp-checks.h>
/* This is the stack layout we see with every stack frame. /* 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 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. */ /* Get the address on top-of-stack. */
asm volatile ("ld %0,0(1)" : "=r"(current)); asm volatile ("ld %0,0(1)" : "=r"(current));
current = BOUNDED_1 (current);
for ( count = 0; for ( count = 0;
current != NULL && count < size; current != NULL && count < size;
current = BOUNDED_1 (current->next), count++) current = current->next, count++)
array[count] = current->return_address; array[count] = current->return_address;
/* It's possible the second-last stack frame can't return /* It's possible the second-last stack frame can't return

View File

@ -19,7 +19,6 @@
#include <execinfo.h> #include <execinfo.h>
#include <stddef.h> #include <stddef.h>
#include <bp-checks.h>
#include <sysdep.h> #include <sysdep.h>
#include <sys/trap.h> #include <sys/trap.h>
#include <dlfcn.h> #include <dlfcn.h>
@ -129,7 +128,6 @@ __backtrace (void **array, int size)
asm volatile ("mov %%fp, %0" : "=r"(fp)); asm volatile ("mov %%fp, %0" : "=r"(fp));
asm volatile ("mov %%i7, %0" : "=r"(i7)); asm volatile ("mov %%i7, %0" : "=r"(i7));
current = (struct layout *__unbounded) (fp + BACKTRACE_STACK_BIAS); current = (struct layout *__unbounded) (fp + BACKTRACE_STACK_BIAS);
current = BOUNDED_1 (current);
array[0] = (void *__unbounded) i7; array[0] = (void *__unbounded) i7;
@ -144,7 +142,6 @@ __backtrace (void **array, int size)
break; break;
current = (struct layout *__unbounded) (current->next current = (struct layout *__unbounded) (current->next
+ BACKTRACE_STACK_BIAS); + BACKTRACE_STACK_BIAS);
current = BOUNDED_1 (current);
} }
} }
else else

View File

@ -23,7 +23,6 @@
#include <sysdep.h> #include <sysdep.h>
#include <unistd.h> #include <unistd.h>
#include <sys/syscall.h> #include <sys/syscall.h>
#include <bp-checks.h>
/* Attach the shared memory segment associated with SHMID to the data /* Attach the shared memory segment associated with SHMID to the data
segment of the calling process. SHMADDR and SHMFLG determine how segment of the calling process. SHMADDR and SHMFLG determine how
@ -58,5 +57,5 @@ shmat (shmid, shmaddr, shmflg)
return (void *) -1l; return (void *) -1l;
} }
return BOUNDED_N (raddr, length); return raddr;
} }