37 lines · plain
1# REQUIRES: x862# RUN: split-file %s %t3# RUN: llvm-mc -filetype=obj -triple=x86_64 %t/a.s -o %t/a.o4# RUN: llvm-mc -filetype=obj -triple=x86_64 %t/b.s -o %t/b.o5 6## Non-empty local symbol names are not deduplicated. This helps parallel7## .symtab write. We used to perform deduplication at -O2.8# RUN: ld.lld %t/a.o %t/b.o -o %t/a9# RUN: llvm-readelf -p .strtab %t/a | FileCheck %s --check-prefix=NODEDUP10# RUN: ld.lld -r -O2 %t/a.o %t/b.o -o %t/a.ro11# RUN: llvm-readelf -p .strtab %t/a.ro | FileCheck %s --check-prefix=NODEDUP12 13# NODEDUP: [ 1] local14# NODEDUP-NEXT: [ 7] local15# NODEDUP-NEXT: [ d] foo16# NODEDUP-EMPTY:17 18# RUN: llvm-readelf -s %t/a.ro | FileCheck %s --check-prefix=SYMTAB19 20# SYMTAB: 0: {{0+}} 0 NOTYPE LOCAL DEFAULT UND21# SYMTAB-NEXT: NOTYPE LOCAL DEFAULT [[#]] local22# SYMTAB-NEXT: SECTION LOCAL DEFAULT [[#]] .text23# SYMTAB-NEXT: NOTYPE LOCAL DEFAULT [[#]] local24# SYMTAB-NEXT: NOTYPE GLOBAL DEFAULT [[#]] foo25 26#--- a.s27.global foo28foo:29local:30 ret31 32#--- b.s33.weak foo34foo:35local:36 ret37