# REQUIRES: x86 # RUN: llvm-mc %s -filetype=obj -triple=x86_64-windows-msvc -o %t.obj # RUN: lld-link %t.obj -export:foo -export:bar -dll -noentry -out:%t.dll -verbose 2>&1 | FileCheck %s # RUN: llvm-readobj --sections %t.dll | FileCheck %s --check-prefix=TEXT # The order of the pdata and xdata sections here shouldn't matter. We should # still replace bar with foo. # CHECK: ICF needed {{.*}} iterations # CHECK: Selected foo # CHECK: Removed bar # We should only have five bytes of text. # TEXT: Name: .text # TEXT-NEXT: Size: 0x5 .section .text,"xr",discard,foo .globl foo foo: pushq %rbx pushq %rdi popq %rdi popq %rbx retq .section .pdata,"r",associative,foo .long foo .long 5 .long foo_xdata@IMGREL .section .xdata,"r",associative,foo foo_xdata: .long 42 .section .text,"xr",discard,bar .globl bar bar: pushq %rbx pushq %rdi popq %rdi popq %rbx retq .section .xdata,"r",associative,bar bar_xdata: .long 42 .section .pdata,"r",associative,bar .long bar .long 5 .long bar_xdata@IMGREL