(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
hwasan/
kernel-defaults.c
       1  /* { dg-do compile } */
       2  /* { dg-additional-options "-fno-sanitize=hwaddress -fsanitize=kernel-hwaddress" } */
       3  
       4  
       5  /* Defaults to check for kernel-hwaddress.
       6     1) No stack tagging => no calls to __hwasan_tag_memory.
       7     2) No block scope tagging (same again).
       8     3) Use sanitize-recover by default (everything ends in noabort). */
       9  int __attribute__ ((noinline))
      10  accessing_pointers (int *left, int *right)
      11  {
      12    int x = right[2];
      13    left[3] = right[1];
      14    return right[1] + left[2];
      15  }
      16  
      17  int __attribute__ ((noinline))
      18  using_stack (int num)
      19  {
      20    int big_array[10];
      21    int other_array[20];
      22    accessing_pointers(other_array, big_array);
      23    return big_array[num];
      24  }
      25  
      26  #ifndef ARG
      27  #define ARG 0
      28  #endif
      29  int __attribute__ ((noinline))
      30  main ()
      31  {
      32    using_stack (ARG);
      33    return 0;
      34  }
      35  
      36  /* { dg-final { scan-assembler-not "__hwasan_tag_memory" } } */
      37  /* { dg-final { scan-assembler-not "__hwasan_(load|store)\\d(?!_noabort)" } } */