# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o - | llvm-readelf -s - | FileCheck %s # CHECK: 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND # CHECK-NEXT: 1: 0000000000000000 0 FILE LOCAL DEFAULT ABS foo.c # CHECK-NEXT: 2: 0000000000000000 0 SECTION LOCAL DEFAULT 2 .text # CHECK-NEXT: 3: 0000000000000000 0 SECTION LOCAL DEFAULT 4 foo # CHECK-NEXT: 4: 0000000000000000 0 NOTYPE LOCAL DEFAULT 4 local0 # CHECK-NEXT: 5: 0000000000000000 0 FILE LOCAL DEFAULT ABS bar.c # CHECK-NEXT: 6: 0000000000000000 0 SECTION LOCAL DEFAULT 6 bar0 # CHECK-NEXT: 7: 0000000000000000 0 NOTYPE LOCAL DEFAULT 6 local1 # CHECK-NEXT: 8: 0000000000000000 0 SECTION LOCAL DEFAULT 8 bar1 # CHECK-NEXT: 9: 0000000000000000 0 NOTYPE LOCAL DEFAULT 8 local2 # CHECK-NEXT: 10: 0000000000000000 0 FILE LOCAL DEFAULT ABS bar.c # CHECK-NEXT: 11: 0000000000000008 0 NOTYPE GLOBAL DEFAULT 2 foo.c # CHECK-NEXT: 12: 0000000000000000 0 NOTYPE GLOBAL DEFAULT 6 bar.c .quad .text ## A STT_FILE symbol and a symbol of the same name can coexist. .file "foo.c" .globl foo.c foo.c: .section foo,"a" local0: .quad foo ## STT_FILE "bar.c" precedes subsequently defined local symbols. .file "bar.c" .section bar0,"a" .globl bar.c bar.c: local1: .quad bar0 .section bar1,"a" local2: .quad bar1 ## STT_FILE symbols of the same name are not de-duplicated. .file "bar.c"