# REQUIRES: x86
# RUN: llvm-mc -triple i686-windows-msvc %s -filetype=obj -o %t.obj
# RUN: lld-link %t.obj -safeseh -out:%t.exe -opt:noref -entry:main
# RUN: llvm-readobj --coff-basereloc --coff-load-config --file-headers %t.exe | FileCheck %s --check-prefix=CHECK-NOGC
# RUN: lld-link %t.obj -safeseh -out:%t.exe -opt:noref -entry:main -debug:dwarf
# RUN: llvm-readobj --coff-basereloc --coff-load-config --file-headers %t.exe | FileCheck %s --check-prefix=CHECK-NOGC
# RUN: lld-link %t.obj -safeseh -out:%t.exe -opt:ref -entry:main
# RUN: llvm-readobj --coff-basereloc --coff-load-config --file-headers %t.exe | FileCheck %s --check-prefix=CHECK-GC

# __safe_se_handler_table needs to be relocated against ImageBase.
# check that the relocation is present.
#
# CHECK-NOGC-NOT: IMAGE_DLL_CHARACTERISTICS_NO_SEH
# CHECK-NOGC: BaseReloc [
# CHECK-NOGC:   Entry {
# CHECK-NOGC:     Type: HIGHLOW
# CHECK-NOGC: LoadConfig [
# CHECK-NOGC:   Size: 0x48
# CHECK-NOGC:   SEHandlerTable: 0x
# CHECK-NOGC:   SEHandlerCount: 1
# CHECK-NOGC: ]
# CHECK-NOGC: SEHTable [
# CHECK-NOGC-NEXT:   0x401006
# CHECK-NOGC-NEXT: ]

# If we enable GC, the exception handler should be removed, and we should add
# the DLL characteristic flag that indicates that there are no exception
# handlers in this DLL. The exception handler table in the load config should
# be empty and there should be no relocations for it.
#
# CHECK-GC: Characteristics [
# CHECK-GC:   IMAGE_DLL_CHARACTERISTICS_NO_SEH
# CHECK-GC: ]
# CHECK-GC: BaseReloc [
# CHECK-GC-NEXT: ]
# CHECK-GC: LoadConfig [
# CHECK-GC:   Size: 0x48
# CHECK-GC:   SEHandlerTable: 0x0
# CHECK-GC:   SEHandlerCount: 0
# CHECK-GC: ]
# CHECK-GC-NOT: SEHTable


        .def     @feat.00;
        .scl    3;
        .type   0;
        .endef
        .globl  @feat.00
@feat.00 = 1

        .def     _main;
        .scl    2;
        .type   32;
        .endef
        .section        .text,"xr",one_only,_main
        .globl  _main
_main:
        movl $42, %eax
        ret

# This handler can be GCd, which will make the safeseh table empty, so it should
# appear null.
        .def     _my_handler;
        .scl    3;
        .type   32;
        .endef
        .section        .text,"xr",one_only,_my_handler
_my_handler:
        ret

.safeseh _my_handler


        .section .rdata,"dr"
.globl __load_config_used
__load_config_used:
        .long 72
        .fill 60, 1, 0
        .long ___safe_se_handler_table
        .long ___safe_se_handler_count
