summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2013-10-29 01:06:17 +0000
committerJoerg Sonnenberger <joerg@bec.de>2013-10-29 01:06:17 +0000
commitfc184734009df551eb36e80396875cc9a2ec4acf (patch)
tree1243a1f280d31e97aadc96ab2a083a8b76639eda /llvm/test
parent4a841a86bd8ad8f9af8320bcbb1beeedb5c443c1 (diff)
downloadbcm5719-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.s47
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: }
OpenPOWER on IntegriCloud