llvm/test/MC/ELF/file-double.s
Joerg Sonnenberger 72580780a9 Move the STT_FILE symbols out of the normal symbol table processing for
ELF. They can overlap with the other symbols, e.g. if a source file
"foo.c" contains a function "foo" with a static variable "c".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193569 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-29 01:06:17 +00:00

48 lines
1.3 KiB
ArmAsm

// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s
// Test that a STT_FILE symbol and a symbol of the same name can coexist.
.file "foo.c"
.file "bar.c"
.globl foo.c
foo.c:
.globl bar.c
bar.c:
// CHECK: Symbol {
// CHECK: Name: foo.c (1)
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: File
// CHECK-NEXT: Other: 0
// CHECK-NEXT: Section: (0xFFF1)
// CHECK-NEXT: }
// CHECK: Name: bar.c (7)
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: File
// CHECK-NEXT: Other: 0
// CHECK-NEXT: Section: (0xFFF1)
// CHECK-NEXT: }
// CHECK: Symbol {
// CHECK: Name: bar.c (7)
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global
// CHECK-NEXT: Type: None
// CHECK-NEXT: Other: 0
// CHECK-NEXT: Section: .text (0x1)
// CHECK-NEXT: }
// CHECK: Symbol {
// CHECK: Name: foo.c (1)
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global
// CHECK-NEXT: Type: None
// CHECK-NEXT: Other: 0
// CHECK-NEXT: Section: .text (0x1)
// CHECK-NEXT: }