brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 56e1e99 Raw
32 lines · cpp
1// UNSUPPORTED: ios2// RUN: %clangxx_asan -O0 -g %s -o %t.executable3 4// Deliberately don't produce the module map and then check that offline symbolization fails5// when we try to look for it.6// RUN: %env_asan_opts="symbolize=0,print_module_map=0" not %run %t.executable > %t_no_module_map.log 2>&17// RUN: not %asan_symbolize --module-map %t_no_module_map.log --force-system-symbolizer < %t_no_module_map.log 2>&1 | FileCheck -check-prefix=CHECK-NO-MM %s8// CHECK-NO-MM: ERROR:{{.*}} Failed to find module map9 10// Now produce the module map and check we can symbolize.11// RUN: %env_asan_opts="symbolize=0,print_module_map=2" not %run %t.executable > %t_with_module_map.log 2>&112// RUN: %asan_symbolize --module-map %t_with_module_map.log --force-system-symbolizer < %t_with_module_map.log 2>&1 | FileCheck -check-prefix=CHECK-MM %s13 14#include <cstdlib>15 16// CHECK-MM: WRITE of size 417 18extern "C" void foo(int* a) {19  // CHECK-MM: #0 0x{{.+}} in foo {{.*}}asan-symbolize-with-module-map.cpp:[[@LINE+1]]20  *a = 5;21}22 23int main() {24  int* a = (int*) malloc(sizeof(int));25  if (!a)26    return 0;27  free(a);28  // CHECK-MM: #1 0x{{.+}} in main {{.*}}asan-symbolize-with-module-map.cpp:[[@LINE+1]]29  foo(a);30  return 0;31}32