mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-17 03:26:48 +00:00
38 lines
2.3 KiB
Plaintext
38 lines
2.3 KiB
Plaintext
// REQUIRES: x86
|
|
|
|
// ---- precomp-a.obj - x86_64, hotpatch
|
|
RUN: llvm-mc -triple x86_64-windows-msvc -filetype=obj %S/Inputs/loadconfig-cfg-x64.s -o %t.ldcfg.obj
|
|
|
|
RUN: lld-link %S/Inputs/precomp-a.obj %t.ldcfg.obj /out:%t.exe /nodefaultlib /force
|
|
RUN: llvm-readobj --coff-load-config %t.exe | FileCheck %s --check-prefix BASE
|
|
|
|
RUN: lld-link %S/Inputs/precomp-a.obj %t.ldcfg.obj /out:%t.exe /nodefaultlib /force /dependentloadflag:0x800
|
|
RUN: llvm-readobj --coff-load-config %t.exe | FileCheck %s --check-prefix FLAGS-800
|
|
|
|
// ---- Many arguments
|
|
RUN: lld-link %S/Inputs/precomp-a.obj %t.ldcfg.obj /out:%t.exe /nodefaultlib /force /dependentloadflag:0x400 /dependentloadflag:0x800
|
|
RUN: llvm-readobj --coff-load-config %t.exe | FileCheck %s --check-prefix FLAGS-800
|
|
|
|
RUN: lld-link %S/Inputs/precomp-a.obj %t.ldcfg.obj /out:%t.exe /nodefaultlib /force /dependentloadflag:0x800 /dependentloadflag:0x400
|
|
RUN: llvm-readobj --coff-load-config %t.exe | FileCheck %s --check-prefix FLAGS-400
|
|
|
|
RUN: not lld-link %S/Inputs/precomp-a.obj %t.ldcfg.obj /out:%t.exe /nodefaultlib /force /dependentloadflag 2>&1 | FileCheck %s --check-prefix FAIL-NOARG
|
|
RUN: not lld-link %S/Inputs/precomp-a.obj %t.ldcfg.obj /out:%t.exe /nodefaultlib /force /dependentloadflag:zz 2>&1 | FileCheck %s --check-prefix FAIL
|
|
RUN: not lld-link %S/Inputs/precomp-a.obj %t.ldcfg.obj /out:%t.exe /nodefaultlib /force /dependentloadflag:0xf0000 2>&1 | FileCheck %s --check-prefix FAIL-RANGE
|
|
|
|
// ---- Warn if _load_config_used is missing
|
|
RUN: llvm-lib %t.ldcfg.obj /out:%t.lib
|
|
RUN: lld-link %S/Inputs/precomp-a.obj /out:%t.exe /nodefaultlib /force /dependentloadflag:0x800 2>&1 | FileCheck %s --check-prefix WARN-NOBASE
|
|
RUN: lld-link %S/Inputs/precomp-a.obj %t.lib /out:%t.exe /nodefaultlib /force /dependentloadflag:0x800 2>&1 | FileCheck %s --allow-empty --check-prefix NO-WARN
|
|
|
|
BASE: DependentLoadFlags: 0x0
|
|
FLAGS-800: DependentLoadFlags: 0x800
|
|
FLAGS-400: DependentLoadFlags: 0x400
|
|
|
|
FAIL: lld-link: error: /dependentloadflag: invalid argument: zz
|
|
FAIL-RANGE: lld-link: error: /dependentloadflag: invalid argument: 0xf0000
|
|
FAIL-NOARG: lld-link: error: /dependentloadflag: no argument specified
|
|
|
|
WARN-NOBASE: lld-link: warning: _load_config_used not found, /dependentloadflag will have no effect
|
|
NO-WARN-NOT: lld-link: warning: _load_config_used not found, /dependentloadflag will have no effect
|