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:
19
ChangeLog
19
ChangeLog
@ -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]
|
||||||
|
@ -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
|
||||||
|
@ -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_ */
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user