1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
llvm-mirror/test/CodeGen/X86/file-directive.ll
Taewook Oh e08e7b0362 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
2017-08-10 18:17:11 +00:00

14 lines
480 B
LLVM

; 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"