mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-22 20:43:44 +02:00
e08e7b0362
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
14 lines
480 B
LLVM
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"
|