This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, ARM, v2] Enable libsanitizer


On Mon, May 06, 2013 at 08:52:21PM +0200, Christophe Lyon wrote:
> --- a/gcc/config/arm/arm.c
> +++ b/gcc/config/arm/arm.c
> @@ -281,6 +281,8 @@ static unsigned arm_add_stmt_cost (void *data, int count,
> 
>  static void arm_canonicalize_comparison (int *code, rtx *op0, rtx *op1,
>                       bool op0_preserve_value);
> +static unsigned HOST_WIDE_INT arm_asan_shadow_offset (void);
> +

Unnecessary extra line?

> --- a/gcc/testsuite/c-c++-common/asan/heap-overflow-1.c
> +++ b/gcc/testsuite/c-c++-common/asan/heap-overflow-1.c
> @@ -25,7 +25,7 @@ int main(int argc, char **argv) {
> 
>  /* { dg-output "READ of size 1 at 0x\[0-9a-f\]+ thread T0.*(\n|\r\n|\r)" } */
>  /* { dg-output "    #0 0x\[0-9a-f\]+ (in _*main
> (\[^\n\r]*heap-overflow-1.c:21|\[^\n\r]*:0)|\[(\]).*(\n|\r\n|\r)" } */
> -/* { dg-output "0x\[0-9a-f\]+ is located 0 bytes to the right of
> 10-byte region\[^\n\r]*(\n|\r\n|\r)" } */
> -/* { dg-output "allocated by thread T0 here:\[^\n\r]*(\n|\r\n|\r)" } */
> +/* { dg-output ".*0x\[0-9a-f\]+ is located 0 bytes to the right of
> 10-byte region\[^\n\r]*(\n|\r\n|\r)" } */
> +/* { dg-output ".*allocated by thread T0 here:\[^\n\r]*(\n|\r\n|\r)" } */

Please avoid .* whenever possible, in dejagnu that includes newlines.
So, use \[^\n\r]* instead unless it prints extra lines.
Repeated many times through the patch.

> --- a/libsanitizer/sanitizer_common/sanitizer_stacktrace.cc
> +++ b/libsanitizer/sanitizer_common/sanitizer_stacktrace.cc
> @@ -27,7 +27,7 @@ const char *StripPathPrefix(const char *filepath,
>  uptr StackTrace::GetPreviousInstructionPc(uptr pc) {
>  #ifdef __arm__
>    // Cancel Thumb bit.
> -  pc = pc & (~1);
> +  return pc & (~1);
>  #endif
>  #if defined(__powerpc__) || defined(__powerpc64__)
>    // PCs are always 4 byte aligned.

And this change needs to be merged from upstream libsanitizer.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]