diff options
author | Joerg Sonnenberger <joerg@bec.de> | 2013-10-29 01:06:17 +0000 |
---|---|---|
committer | Joerg Sonnenberger <joerg@bec.de> | 2013-10-29 01:06:17 +0000 |
commit | fc184734009df551eb36e80396875cc9a2ec4acf (patch) | |
tree | 1243a1f280d31e97aadc96ab2a083a8b76639eda /llvm/test | |
parent | 4a841a86bd8ad8f9af8320bcbb1beeedb5c443c1 (diff) | |
download | bcm5719-llvm-fc184734009df551eb36e80396875cc9a2ec4acf.tar.gz bcm5719-llvm-fc184734009df551eb36e80396875cc9a2ec4acf.zip |
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".
llvm-svn: 193569
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/MC/ELF/file-double.s | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/llvm/test/MC/ELF/file-double.s b/llvm/test/MC/ELF/file-double.s new file mode 100644 index 00000000000..b0731e67ed0 --- /dev/null +++ b/llvm/test/MC/ELF/file-double.s @@ -0,0 +1,47 @@ +// 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: } |