diff options
Diffstat (limited to 'lld/test/ELF/cgprofile-obj-warn.s')
-rw-r--r-- | lld/test/ELF/cgprofile-obj-warn.s | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/lld/test/ELF/cgprofile-obj-warn.s b/lld/test/ELF/cgprofile-obj-warn.s new file mode 100644 index 00000000000..188216091a6 --- /dev/null +++ b/lld/test/ELF/cgprofile-obj-warn.s @@ -0,0 +1,37 @@ +# REQUIRES: x86 + +# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t + +# RUN: ld.lld -e A %t -o /dev/null \ +# RUN: -noinhibit-exec -icf=all 2>&1 | FileCheck %s + + .section .text.C,"ax",@progbits + .globl C +C: + mov poppy, %rax + retq + +B = 0x1234 + + .section .text.A,"ax",@progbits + .globl A +A: + mov poppy, %rax + retq + + .cg_profile A, B, 100 + .cg_profile A, C, 40 + .cg_profile B, C, 30 + .cg_profile adena1, A, 30 + .cg_profile A, adena2, 30 + .cg_profile poppy, A, 30 + +# CHECK: unable to order absolute symbol: B +# CHECK: unable to order undefined symbol: adena1 +# CHECK: unable to order undefined symbol: adena2 +# CHECK: unable to order undefined symbol: poppy + +# RUN: ld.lld %t -o /dev/null \ +# RUN: -noinhibit-exec -icf=all --no-warn-symbol-ordering 2>&1 \ +# RUN: | FileCheck %s --check-prefix=NOWARN +# NOWARN-NOT: unable to order |