llvm-mirror/test/MC/MachO
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
..
AArch64 CodeGen: Use PLT relocations for relative references to unnamed_addr functions. 2016-04-22 20:40:10 +00:00
ARM [macho] save the SDK version stored in module metadata into the version min and 2018-12-14 01:14:10 +00:00
PowerPC [MachO] Stop generating *coal* sections. 2015-10-15 05:28:38 +00:00
absolute.s [MachO] Add MachO alt-entry directive support. 2016-03-15 01:43:05 +00:00
absolutize.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
alias.s [MachO] Fix codegen of alias of alias. 2017-06-08 20:49:03 +00:00
altentry.s [MachO] Extend the alt_entry support for aliases added in r263521 to 2016-03-15 04:20:49 +00:00
bad-darwin-x86_64-32-bit-abs-addr.s
bad-darwin-x86_64-diff-relocs.s [Assembler] Make fatal assembler errors non-fatal 2015-11-17 10:00:43 +00:00
bad-darwin-x86_64-reloc-expr.s
bad-dollar.s
bad-indirect-symbols.s
bad-macro.s
bss.s
build-version-with-sdk-version.s [macho] save the SDK version stored in module metadata into the version min and 2018-12-14 01:14:10 +00:00
coal-sections-x86_64.s [MachO] Stop generating *coal* sections. 2015-10-15 05:28:38 +00:00
comm-1.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
cstexpr-gotpcrel-32.ll [MachO][TLOF] Add support for local symbols in the indirect symbol table 2018-12-13 17:23:30 +00:00
cstexpr-gotpcrel-64.ll [AsmPrinter] Check for valid constants in handleIndirectSymViaGOTPCRel 2015-07-21 21:45:42 +00:00
darwin-complex-difference.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
darwin-sdk-version.ll [macho] save the SDK version stored in module metadata into the version min and 2018-12-14 01:14:10 +00:00
darwin-version-min-load-command.s Add LC_BUILD_VERSION load command 2017-01-23 20:07:55 +00:00
darwin-x86_64-diff-reloc-assign-2.s Improve the --expand-relocs handling of MachO. 2015-06-18 22:38:20 +00:00
darwin-x86_64-diff-reloc-assign.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
darwin-x86_64-diff-relocs.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
darwin-x86_64-nobase-relocs.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
darwin-x86_64-reloc-offsets.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
darwin-x86_64-reloc.s Improve the --expand-relocs handling of MachO. 2015-06-18 22:38:20 +00:00
data.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
debug_frame.s [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
diff-with-two-sections.s MC/AsmPrinter: Reduce code duplication. 2017-12-14 03:59:24 +00:00
direction_labels.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
eh_symbol.s
eh-frame-reloc.s
empty-twice.ll Add missing emissionKind flags to the DICompileUnits of several old testcases. 2016-04-01 22:18:43 +00:00
file-single.s [MC] Enable .file support on COFF and diagnose it on unsupported targets 2018-12-21 23:35:48 +00:00
file.s [MC/Dwarf] Unclamp DWARF linetables format on Darwin. 2018-09-13 13:13:50 +00:00
gen-dwarf-cpp.s [DebugInfo] Support DWARF v5 source code embedding extension 2018-02-23 23:01:06 +00:00
gen-dwarf-macro-cpp.s [DebugInfo] Support DWARF v5 source code embedding extension 2018-02-23 23:01:06 +00:00
gen-dwarf-producer.s llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
gen-dwarf.s [MC/Dwarf] Unclamp DWARF linetables format on Darwin. 2018-09-13 13:13:50 +00:00
i386-large-relocations.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
indirect-symbols.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
jcc.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
lcomm-attributes.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
linker-option-1.s
linker-option-2.s [llvm-readobj] MachO -- dump LinkerOptions load command. 2015-09-09 00:21:18 +00:00
linker-options.ll IR: Replace the "Linker Options" module flag with "llvm.linker.options" named metadata. 2017-06-12 20:10:48 +00:00
lit.local.cfg
loc.s [MC/Dwarf] Unclamp DWARF linetables format on Darwin. 2018-09-13 13:13:50 +00:00
osx-version-min-load-command-with-sdk-errors.s [macho] save the SDK version stored in module metadata into the version min and 2018-12-14 01:14:10 +00:00
osx-version-min-load-command-with-sdk.s [macho] save the SDK version stored in module metadata into the version min and 2018-12-14 01:14:10 +00:00
osx-version-min-load-command.s [MC] Convert tests to use llvm-readobj --macho-version-min. 2015-08-28 12:40:05 +00:00
pcrel-to-other-section.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
pr19185.s
previous.s
pushsection.s
relax-jumps.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
relax-recompute-align.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
reloc-diff.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
reloc-pcrel-offset.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
reloc-pcrel.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
reloc.s Improve the --expand-relocs handling of MachO. 2015-06-18 22:38:20 +00:00
section-align-1.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
section-align-2.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
section-attributes.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
section-flags.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
string-table.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
symbol-diff.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
symbol-flags.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
symbol-indirect.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
symbols-1.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
tbss.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
tdata.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
temp-labels.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
thread_init_func.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
tls.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
tlv-bss.ll [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
tlv-reloc.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
tlv.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
undefined-directional.s AsmParser: record "# line file" context to calculate location for diag 2016-04-13 19:46:54 +00:00
values.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
variable-errors.s
variable-exprs.s [MachO] Fix codegen of alias of alias. 2017-06-08 20:49:03 +00:00
weakdef.s [MC] Convert all the remaining tests from macho-dump to llvm-readobj. 2015-09-10 01:50:00 +00:00
x86_32-optimal_nop.s [X86] Emit 11-byte or 15-byte NOPs on recent AMD targets, else default to 10-byte NOPs (PR22965) 2018-01-29 21:24:31 +00:00
x86_32-scattered-reloc-fallback.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
x86_32-sections.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
x86_32-symbols.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
x86_64-mergeable.s Revert r240302 ("Bring r240130 back."). 2015-06-23 11:31:32 +00:00
x86_64-reloc-arithmetic.s [MachO] Add MachO alt-entry directive support. 2016-03-15 01:43:05 +00:00
x86_64-sections.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
x86_64-symbols.s Revert r240302 ("Bring r240130 back."). 2015-06-23 11:31:32 +00:00
x86-data-in-code.s MachO: enable .data_region directives everywhere 2016-04-21 23:00:17 +00:00
zero-space.s [MC] Error on a .zerofill directive in a non-virtual section 2018-07-02 17:29:43 +00:00
zerofill-1.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
zerofill-2.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
zerofill-3.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
zerofill-4.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
zerofill-5.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
zerofill-sect-align.s [MC] Convert other MachO tests from macho-dump to llvm-readobj. 2015-09-05 01:02:05 +00:00
zerofill-text.s [MC] Error on a .zerofill directive in a non-virtual section 2018-07-02 17:29:43 +00:00