52 lines · plain
1# REQUIRES: x862 3# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1.o4# RUN: not ld.lld %t1.o %t1.o -o /dev/null 2>&1 | FileCheck -check-prefix=DEMANGLE %s5 6# DEMANGLE: duplicate symbol: mul(double, double)7# DEMANGLE-NEXT: >>> defined at {{.*}}:(.text+0x0)8# DEMANGLE-NEXT: >>> defined at {{.*}}:(.text+0x0)9# DEMANGLE: duplicate symbol: foo10# DEMANGLE-NEXT: >>> defined at {{.*}}:(.text+0x0)11# DEMANGLE-NEXT: >>> defined at {{.*}}:(.text+0x0)12 13# RUN: not ld.lld %t1.o %t1.o -o /dev/null --no-demangle 2>&1 | \14# RUN: FileCheck -check-prefix=NO_DEMANGLE %s15 16# NO_DEMANGLE: duplicate symbol: _Z3muldd17# NO_DEMANGLE-NEXT: >>> defined at {{.*}}:(.text+0x0)18# NO_DEMANGLE-NEXT: >>> defined at {{.*}}:(.text+0x0)19# NO_DEMANGLE: duplicate symbol: foo20# NO_DEMANGLE-NEXT: >>> defined at {{.*}}:(.text+0x0)21# NO_DEMANGLE-NEXT: >>> defined at {{.*}}:(.text+0x0)22 23# RUN: not ld.lld %t1.o %t1.o -o /dev/null --demangle --no-demangle 2>&1 | \24# RUN: FileCheck -check-prefix=NO_DEMANGLE %s25# RUN: not ld.lld %t1.o %t1.o -o /dev/null --no-demangle --demangle 2>&1 | \26# RUN: FileCheck -check-prefix=DEMANGLE %s27 28# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %S/Inputs/conflict.s -o %t2.o29# RUN: rm -f %t3.a30# RUN: llvm-ar rcs %t3.a %t2.o31# RUN: not ld.lld %t1.o %t3.a -u baz -o /dev/null 2>&1 | FileCheck -check-prefix=ARCHIVE %s32 33# ARCHIVE: duplicate symbol: foo34# ARCHIVE-NEXT: >>> defined at {{.*}}:(.text+0x0)35# ARCHIVE-NEXT: >>> defined at {{.*}}:(.text+0x0) in archive {{.*}}.a36 37# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/conflict-debug.s -o %t-dbg.o38# RUN: not ld.lld %t-dbg.o %t-dbg.o -o /dev/null 2>&1 | FileCheck -check-prefix=DBGINFO %s39 40# DBGINFO: duplicate symbol: zed41# DBGINFO-NEXT: >>> defined at conflict-debug.s:442# DBGINFO-NEXT: >>> {{.*}}:(.text+0x0)43# DBGINFO-NEXT: >>> defined at conflict-debug.s:444# DBGINFO-NEXT: >>> {{.*}}:(.text+0x0)45 46.globl _Z3muldd, foo47_Z3muldd:48foo:49 mov $60, %rax50 mov $42, %rdi51 syscall52