31 lines
860 B
ArmAsm
31 lines
860 B
ArmAsm
# REQUIRES: x86
|
|
|
|
# RUN: llvm-mc -triple=x86_64-windows-gnu %s -filetype=obj -o %t.obj
|
|
|
|
# RUN: lld-link %t.obj -out:%t.exe -debug:symtab -subsystem:console
|
|
# RUN: llvm-readobj --coff-exports %t.exe | FileCheck %s
|
|
|
|
# CHECK: Name: exportedFunc
|
|
|
|
## This assembly snippet has been reduced from what Clang generates from
|
|
## this C snippet, with -fsanitize=address. Normally, the .drectve
|
|
## section would be a regular section - but when compiled with
|
|
## -fsanitize=address, it becomes a comdat section.
|
|
##
|
|
# void exportedFunc(void) {}
|
|
# void mainCRTStartup(void) {}
|
|
# static __attribute__((section(".drectve"), used)) const char export_chkstk[] =
|
|
# "-export:exportedFunc";
|
|
|
|
.text
|
|
.globl exportedFunc
|
|
exportedFunc:
|
|
retq
|
|
|
|
.globl mainCRTStartup
|
|
mainCRTStartup:
|
|
retq
|
|
|
|
.section .drectve,"dr",one_only,export_chkstk
|
|
export_chkstk:
|
|
.asciz "-export:exportedFunc"
|