Mercurial > hg > CbC > CbC_llvm
view lld/test/COFF/safeseh-notable.s @ 192:d7606dcf6fce
Added tag llvm10 for changeset 0572611fdcc8
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 14 Dec 2020 18:01:34 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line source
# REQUIRES: x86 # RUN: llvm-mc -triple i686-windows-msvc %s -filetype=obj -o %t.obj # RUN: lld-link %t.obj -safeseh -out:%t.exe -entry:main # RUN: llvm-readobj --file-headers %t.exe | FileCheck %s # This object lacks a _load_config_used global, so we set # IMAGE_DLL_CHARACTERISTICS_NO_SEH even though there is an exception handler. # This is a more secure default. If someone wants to use a CRT without a load # config and they want to use 32-bit SEH, they will need to provide a # safeseh-compatible load config. # CHECK-LABEL: Characteristics [ # CHECK: IMAGE_DLL_CHARACTERISTICS_NO_SEH # CHECK: ] # CHECK-LABEL: DataDirectory { # CHECK: LoadConfigTableRVA: 0x0 # CHECK: LoadConfigTableSize: 0x0 # CHECK: } # CHECK-NOT: LoadConfig # CHECK-NOT: SEHTable .def @feat.00; .scl 3; .type 0; .endef .globl @feat.00 @feat.00 = 1 .text .def _main; .scl 2; .type 32; .endef .globl _main _main: pushl $_my_handler movl $42, %eax popl %ecx ret .def _my_handler; .scl 3; .type 32; .endef _my_handler: ret .safeseh _my_handler