1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/test/MC/COFF
Reid Kleckner 67d921b9f5 [MC] Enable .file support on COFF and diagnose it on unsupported targets
Summary:
The "single parameter" .file directive appears to be an ELF-only feature
that is intended to insert the main source filename into the string
table table.

I noticed that if you assemble an ELF .s file for COFF, typically it
will assert right away on a .file directive near the top of the file. My
first change was to make this emit a proper error in the asm parser so
that we don't assert so easily.

However, COFF actually does have some support for this directive, and if
you emit an object file, llvm-mc does not assert. When emitting a COFF
object, MC will take those file names and create "debug" symbol table
entries for them. I'm not familiar with these kinds of symbol table
entries, and I'm not aware of any users of them, but @compnerd added
them a while ago. They don't introduce absolute paths, and most main
source file paths are short enough that this extra entry shouldn't cause
any problems, so I enabled the flag in MCAsmInfoCOFF that indicates that
it's supported.

This has the side effect of adding an extra debug symbol to every object
produced by clang, which is a pretty big functional change. My question
is, should we keep the functionality or remove it in the name of symbol
table minimalism?

Reviewers: mstorsjo, compnerd

Subscribers: hiraditya, compnerd, llvm-commits

Differential Revision: https://reviews.llvm.org/D55900

llvm-svn: 349976
2018-12-21 23:35:48 +00:00
..
ARM
addrsig.s MC: Teach the COFF object writer to write address-significance tables. 2018-08-22 23:58:16 +00:00
alias.s
align-nops.s [X86] Don't use NOPL when the assembler is passed an empty CPU string. Update tests to force a CPU with NOPL 2017-12-18 21:37:27 +00:00
assoc-private.s [MC] Improve COFF associative section lookup 2018-08-16 21:34:41 +00:00
assoc-undef.s [MC] Improve COFF associative section lookup 2018-08-16 21:34:41 +00:00
bad-expr.s Use @LINE in two more tests. 2017-07-06 21:33:23 +00:00
basic-coff-64.s [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
basic-coff.s [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
bigobj.py
bss_section.ll
bss.s
comm-align.s
comm.ll
comm.s
const-gv-with-rel-init.ll
cross-section-relative-err.s COFF: Produce an error on invalid pcrel relocs. 2017-06-23 04:07:44 +00:00
cross-section-relative.ll
cross-section-relative.s COFF: Produce an error on invalid pcrel relocs. 2017-06-23 04:07:44 +00:00
cv-compiler-info.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
cv-def-range-align.s [codeview] Flush labels before S_DEFRANGE* fragments 2018-12-17 21:49:35 +00:00
cv-def-range-gap.s [codeview] Use push_macro to avoid conflicts instead of a prefix 2018-08-16 17:34:31 +00:00
cv-def-range.s [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
cv-empty-file-table.s
cv-empty-linetable.s [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
cv-errors.s
cv-fpo-csrs.s [codeview] Improve readobj FPO dumper and pdbutil register names 2018-09-07 18:48:27 +00:00
cv-fpo-errors.s [codeview] Implement FPO data assembler directives 2017-10-11 21:24:33 +00:00
cv-fpo-realign.s [codeview] Fix 32-bit x86 variable locations in realigned stack frames 2018-10-02 16:43:52 +00:00
cv-fpo-setframe.s [codeview] Improve readobj FPO dumper and pdbutil register names 2018-09-07 18:48:27 +00:00
cv-inline-linetable-infloop.s [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
cv-inline-linetable-unlikely.s [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
cv-inline-linetable-unreachable.s [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
cv-inline-linetable.s [CodeView] Add line numbers for inlined call sites 2018-01-18 22:55:43 +00:00
cv-loc-cross-section.s
cv-loc-unreachable-2.s [codeview] Emit labels for .cv_loc immediately 2018-08-28 22:29:12 +00:00
cv-loc-unreachable.s [codeview] Emit labels for .cv_loc immediately 2018-08-28 22:29:12 +00:00
cv-loc.s
cv-string.s [codeview] Add .cv_string directive for testing purposes 2018-09-07 21:30:52 +00:00
diff.s [MC] Always emit relocations for same-section function references 2018-03-14 19:24:32 +00:00
directive-section-characteristics.ll MC: Don't align COFF section contents. 2018-08-23 05:39:36 +00:00
early-dce.s
eh-frame.s [COFF] Don't mark mingw .eh_frame sections writable 2018-12-03 20:02:05 +00:00
feat00.s
file.s [MC] Enable .file support on COFF and diagnose it on unsupported targets 2018-12-21 23:35:48 +00:00
global_ctors_dtors.ll
initialised-data.ll
invalid-def.s
invalid-endef.s
invalid-scl-range.s
invalid-scl.s
invalid-type-range.s
invalid-type.s
ir-to-imgrel.ll
label-undefined.s
linker-options.ll
linkonce-invalid.s
linkonce.s
lit.local.cfg
lset0.s
module-asm.ll
offset.s
pr23025.s
pr28462.s
rdata.ll
relax-reloc.s
relocation-imgrel.s [MC] Add support for the .rva assembler directive for COFF targets 2018-07-26 20:11:26 +00:00
safeseh.s
secidx.s
secrel32-undef.s [MC] Allow assembling .secidx and .secrel32 for undefined symbols 2017-06-22 21:02:14 +00:00
secrel32.s
secrel-variant.s
section-comdat-conflict2.s
section-comdat-conflict.s
section-comdat.s [MC] Improve COFF associative section lookup 2018-08-16 21:34:41 +00:00
section-invalid-flags.s
section-name-encoding.s
section-passthru-flags.s
section.s
seh-align1.s
seh-align2.s
seh-align3.s
seh-linkonce.s [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
seh-section-2.s [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
seh-section.s
seh-stackalloc-zero.s [SEH] Use reportError instead of report_fatal_error for bad directives 2017-10-10 01:26:25 +00:00
seh.s
simple-fixups.s [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
stdin.s
switch-relocations.ll
symbol-alias.s [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
symbol-fragment-offset-64.s [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
symbol-fragment-offset.s [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
symidx.s Reland "Emit Function IDs table for Control Flow Guard" 2018-01-09 23:49:30 +00:00
temporary-alias.s
timestamp.s
tricky-names.ll MC intel asm parser: Allow @ at the start of function names. 2018-03-12 12:47:27 +00:00
unsupported-relocations.s [COFF] [X86] Don't use llvm_unreachable for unsupported relocation types 2018-10-04 20:43:38 +00:00
weak-alias-local.s
weak-val.s
weak.s [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00