summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
authorTaewook Oh <twoh@fb.com>2017-08-10 18:17:11 +0000
committerTaewook Oh <twoh@fb.com>2017-08-10 18:17:11 +0000
commitf5040b9685a760e584c576e9185295e54635d51e (patch)
treef0a433df9b8d512f04e883798cdd3f7d14c12038 /llvm/test/CodeGen
parent2f529412e133d429f8e3b45397f435b7e164c501 (diff)
downloadbcm5719-llvm-f5040b9685a760e584c576e9185295e54635d51e.tar.gz
bcm5719-llvm-f5040b9685a760e584c576e9185295e54635d51e.zip
Make .file directive to have basename only
Summary: Currently LLVM puts directory along with the filename in .file directive, but this behavior doesn't match gcc. There's a no clear description about which one is right (https://sourceware.org/binutils/docs/as/File.html#File), but one document (https://sourceware.org/gdb/current/onlinedocs/stabs/ELF-Linker-Relocation.html) suggests that STT_FILE symbol in elf file is expected to have basename only, which should have a same sting file .file directive according to (https://docs.oracle.com/cd/E26502_01/html/E28388/eoiyg.html). This also affects badly on the build system that uses hashing, as the directory info could be differnt from developer to developer even when they're working on same file. Reviewers: pcc, mehdi_amini Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36018 llvm-svn: 310642
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/X86/file-directive.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/file-directive.ll b/llvm/test/CodeGen/X86/file-directive.ll
new file mode 100644
index 00000000000..4b25a0909ea
--- /dev/null
+++ b/llvm/test/CodeGen/X86/file-directive.ll
@@ -0,0 +1,13 @@
+; RUN: llc -mtriple=x86_64-linux-gnu -filetype=asm < %s | FileCheck %s --check-prefix=DIRECTIVE
+; RUN: llc -mtriple=x86_64-linux-gnu -filetype=obj < %s | llvm-readobj -symbols | FileCheck %s --check-prefix=STT-FILE
+
+; DIRECTIVE: .file "foobar"
+; STT-FILE: Name: foobar
+; STT-FILE-NEXT: Value: 0x0
+; STT-FILE-NEXT: Size: 0
+; STT-FILE-NEXT: Binding: Local
+; STT-FILE-NEXT: Type: File
+; STT-FILE-NEXT: Other: 0
+; STT-FILE-NEXT: Section: Absolute
+
+source_filename = "/path/to/foobar"
OpenPOWER on IntegriCloud