Skip to content

Commit

Permalink
[asan][test][win] Port more tests to not use clang-cl on MinGW (3)
Browse files Browse the repository at this point in the history
This ports tests which requires additional link flags.

Differential Revision: https://reviews.llvm.org/D150268
  • Loading branch information
alvinhochun committed May 16, 2023
1 parent 5ad8bbe commit 6282315
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 17 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// UNSUPPORTED: target={{.*-windows-gnu}}

// RUN: %clang_cl -LD %s -Fe%t.dll -DHEAP_LIBRARY -MD
// RUN: %clang_cl %s %t.lib -Fe%t -fsanitize=address -MT
// RUN: %clang_cl %LD %s %Fe%t.dll -DHEAP_LIBRARY %MD \
// RUN: %if target={{.*-windows-gnu}} %{ -Wl,--out-implib,%t.lib %}
// RUN: %clang_cl %s %t.lib %Fe%t -fsanitize=address %MT
// RUN: %run %t 2>&1 | FileCheck %s

// Check that ASan does not fail when releasing allocations that occurred within
Expand All @@ -18,6 +17,7 @@ BOOL WINAPI DllMain(PVOID h, DWORD reason, PVOID reserved) {

#else

#include <cstdio>
#include <memory>
extern std::unique_ptr<int> __declspec(dllimport) myglobal;
int main(int argc, char **argv) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// UNSUPPORTED: target={{.*-windows-gnu}}

// RUN: %clang_cl_asan -LD -Od -DDLL %s -Fe%t.dll
// RUN: %clang_cl_asan -Od -DEXE %s %t.lib -Fe%te.exe
// RUN: %clang_cl_asan %LD %Od -DDLL %s %Fe%t.dll \
// RUN: %if target={{.*-windows-gnu}} %{ -Wl,--out-implib,%t.lib %}
// RUN: %clang_cl_asan %Od -DEXE %s %t.lib %Fe%te.exe
// RUN: %env_asan_opts=report_globals=2 %run %te.exe 2>&1 | FileCheck %s

// FIXME: Currently, the MT runtime build crashes on startup due to dbghelp.dll
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// UNSUPPORTED: target={{.*-windows-gnu}}

// Make sure everything works even if the main module doesn't have any stack
// variables, thus doesn't explicitly reference any symbol exported by the
// runtime thunk.
//
// RUN: %clang_cl_asan -LD -Od -DDLL1 %s -Fe%t1.dll
// RUN: %clang_cl_asan -LD -Od -DDLL2 %s -Fe%t2.dll
// RUN: %clang_cl_asan -Od -DEXE %s %t1.lib %t2.lib -Fe%t
// RUN: %clang_cl_asan %LD %Od -DDLL1 %s %Fe%t1.dll \
// RUN: %if target={{.*-windows-gnu}} %{ -Wl,--out-implib,%t1.lib %}
// RUN: %clang_cl_asan %LD %Od -DDLL2 %s %Fe%t2.dll \
// RUN: %if target={{.*-windows-gnu}} %{ -Wl,--out-implib,%t2.lib %}
// RUN: %clang_cl_asan %Od -DEXE %s %t1.lib %t2.lib %Fe%t
// RUN: not %run %t 2>&1 | FileCheck %s

#include <malloc.h>
Expand Down
10 changes: 6 additions & 4 deletions compiler-rt/test/asan/TestCases/Windows/shadow_conflict_32.cpp
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
// UNSUPPORTED: target={{.*-windows-gnu}}

// Load this DLL at the default 32-bit ASan shadow base, and test how we dump
// the process memory layout.
// REQUIRES: asan-32-bits
//
// RUN: %clang_cl_asan -DBUILD_DLL -LD %s -Fe%t_dll.dll -link -base:0x30000000 -fixed -dynamicbase:no
// RUN: %clang_cl_asan %s -Fe%t.exe -link %t_dll.lib
// RUN: %clang_cl_asan -DBUILD_DLL %LD %s %Fe%t_dll.dll \
// RUN: %if target={{.*-windows-gnu}} %{ \
// RUN: -Wl,--image-base,0x30000000,--disable-reloc-section \
// RUN: -Wl,--disable-dynamicbase,--out-implib,%t_dll.lib \
// RUN: %} %else %{ -link -base:0x30000000 -fixed -dynamicbase:no %}
// RUN: %clang_cl_asan %s %Fe%t.exe %t_dll.lib
// RUN: not %run %t.exe 2>&1 | FileCheck %s

#ifndef BUILD_DLL
Expand Down

0 comments on commit 6282315

Please sign in to comment.