llvm-project
31 строка · 860.0 Байт
1# REQUIRES: x86
2
3# RUN: llvm-mc -triple=x86_64-windows-gnu %s -filetype=obj -o %t.obj
4
5# RUN: lld-link %t.obj -out:%t.exe -debug:symtab -subsystem:console
6# RUN: llvm-readobj --coff-exports %t.exe | FileCheck %s
7
8# CHECK: Name: exportedFunc
9
10## This assembly snippet has been reduced from what Clang generates from
11## this C snippet, with -fsanitize=address. Normally, the .drectve
12## section would be a regular section - but when compiled with
13## -fsanitize=address, it becomes a comdat section.
14##
15# void exportedFunc(void) {}
16# void mainCRTStartup(void) {}
17# static __attribute__((section(".drectve"), used)) const char export_chkstk[] =
18# "-export:exportedFunc";
19
20.text
21.globl exportedFunc
22exportedFunc:
23retq
24
25.globl mainCRTStartup
26mainCRTStartup:
27retq
28
29.section .drectve,"dr",one_only,export_chkstk
30export_chkstk:
31.asciz "-export:exportedFunc"
32