llvm-project/lld/test/COFF
Alexandre Ganea aba5b91b69 Re-land [CodeView] Add full repro to LF_BUILDINFO record
This patch writes the full -cc1 command into the resulting .OBJ, like MSVC does. This allows for external tools (Recode, Live++) to rebuild a source file without any external dependency but the .OBJ itself (other than the compiler) and without knowledge of the build system.

The LF_BUILDINFO record stores a full path to the compiler, the PWD (CWD at program startup), a relative or absolute path to the source, and the full CC1 command line. The stored command line is self-standing (does not depend on the environment). In the same way, MSVC doesn't exactly store the provided command-line, but an expanded version (a somehow equivalent of CC1) which is also self-standing.

For more information see PR36198 and D43002.

Differential Revision: https://reviews.llvm.org/D80833
2022-01-19 19:44:37 -05:00
..
Inputs Re-land [CodeView] Add full repro to LF_BUILDINFO record 2022-01-19 19:44:37 -05:00
alias-implib.s
align.s
allow-unknown-debug-info.test
alternatename.test
ar-comdat.test
arm-thumb-branch20-error.s
arm-thumb-thunks-multipass.s [ARMInstPrinter] Print the target address of a branch instruction 2021-06-30 16:35:28 +07:00
arm-thumb-thunks-pdb.s
arm-thumb-thunks.s [ARMInstPrinter] Print the target address of a branch instruction 2021-06-30 16:35:28 +07:00
arm64-delayimport.yaml
arm64-dynamicbase.s
arm64-import2.test
arm64-localimport-align.s
arm64-magic.yaml
arm64-relocs-imports.test [LLD] [COFF] Interpret the immediate in ARM64 adr/adrp relocations as signed 21 bit 2021-11-23 10:13:01 +02:00
arm64-thunks.s
armnt-blx23t.test [ARMInstPrinter] Print the target address of a branch instruction 2021-06-30 16:35:28 +07:00
armnt-branch24t.test [ARMInstPrinter] Print the target address of a branch instruction 2021-06-30 16:35:28 +07:00
armnt-dynamicbase.test
armnt-entry-point.test
armnt-imports.test
armnt-mov32t-exec.test
armnt-movt32t.test
armnt-rel32.yaml
associative-comdat-empty.test
associative-comdat-mingw-i386.s
associative-comdat-mingw-weak.s
associative-comdat-mingw.s
associative-comdat-order.test
associative-comdat.s
autoimport-arm-code.s
autoimport-arm-data.s
autoimport-arm64-code.s
autoimport-arm64-data.s
autoimport-gnu-implib.s
autoimport-list-ptrs.s
autoimport-lto.ll
autoimport-refptr.s
autoimport-x86.s
base.test
baserel.test
broken-arm-reloc.yaml
cgprofile-bad-clusters.s
cgprofile-err.s
cgprofile-icf.s
cgprofile-obj.s
cgprofile-print.s
cgprofile-txt.s
cl-gl.test
color-diagnostics.test
combined-resources.test
comdat-gcc-compatibility-size.test
comdat-gcc-compatibility.s
comdat-jumptable.s
comdat-selection-associative-largest.s
comdat-selection.s
comdat-weak.test
common-alignment.test
common-replacement.s
common.test
conflict-mangled.test
conflict.test
constant-export.test
constant.test
could-not-open.test
crt-chars.test
crt-dyn-initializer-order.test
ctors_dtors_priority.s
debug-dwarf.test
debug-fastlink.test
debug-reloc.s
debug.test
def-export-cpp.s Add regression test for maybeMangle issue 2021-06-22 12:55:25 -07:00
def-export-stdcall.s
def-name.test
default-alignment.test
defparser.test
delayimports-armnt.yaml [ARMInstPrinter] Print the target address of a branch instruction 2021-06-30 16:35:28 +07:00
delayimports-error.test
delayimports.test
delayimports32.test
delayimporttables.yaml
directives.s
dll.test
dllexport-mingw.s
dllexport.s
dllimport-gc.test
driver-opt.s
driver-windows.test
driver.test [LLD] [COFF] Allow invoking lib.exe mode via -lib in addition to /lib 2021-02-24 11:16:12 +02:00
duplicate-absolute-same.s
duplicate-absolute.s
duplicate-cv.s
duplicate-dwarf.s
duplicate-imp-func.s
duplicate.test
edata.s
eh_frame_suffix_sorting.s
eh_frame_terminator.s
empty-subsection.s
entry-drectve.test
entry-inference-mingw.s
entry-inference.test
entry-inference2.test
entry-inference3.test
entry-inference4.test
entry-inference32.test
entry-inference332.test
entry-mangled.test
entrylib.ll
error-limit.test
exclude-all.s
export-all-lto.ll [LLD] [COFF] Fix autoexport from LTO objects with comdat symbols 2021-06-03 15:14:49 +03:00
export-all.s [LLD] [COFF] Make -export-all-symbols work as intended for EXEs 2021-07-22 23:34:03 +03:00
export-arm64.yaml
export-armnt.yaml
export-deleting-dtor.s [lld-link] Warn on exported deleting dtor 2021-04-20 14:06:31 -07:00
export-exe.test
export-limit.s
export-stdcall.s
export-tricky-names.s
export-weak-alias.s
export.test
export32.test
failifmismatch.test
filealign.test
filename-casing.s
filetype.test
fixed.test
force-multiple.test
force-multipleres.test
force.test
functionpadmin.test
gc-dwarf-eh.s [LLD] [COFF] Fix including the personality function for DWARF EH when linking with --gc-sections 2021-05-12 22:23:01 +03:00
gc-dwarf.s
gfids-corrupt.s [LLD] Implement /guard:[no]ehcont 2021-04-14 15:06:49 +08:00
gfids-export.s
gfids-fallback.s [LLD] Implement /guard:[no]ehcont 2021-04-14 15:06:49 +08:00
gfids-gc.s [LLD] Implement /guard:[no]ehcont 2021-04-14 15:06:49 +08:00
gfids-icf.s [LLD] Implement /guard:[no]ehcont 2021-04-14 15:06:49 +08:00
gfids-relocations32.s
gfids-relocations64.s
giats.s [LLD] Implement /guard:[no]ehcont 2021-04-14 15:06:49 +08:00
gnu-weak.test
guard-ehcont.s [LLD] Implement /guard:[no]ehcont 2021-04-14 15:06:49 +08:00
guard-longjmp.s [LLD] Implement /guard:[no]ehcont 2021-04-14 15:06:49 +08:00
guardcf-align.s
guardcf-lto.ll [LLD] Implement /guard:[no]ehcont 2021-04-14 15:06:49 +08:00
guardcf-thunk.s
guardcf.test
header-size.s
heap.test
hello32.test
help.test
icf-assoc-order.s [COFF] Simplify ICF associated comdat handling 2021-04-14 10:40:16 -07:00
icf-associative.test
icf-circular.test
icf-circular2.test
icf-data.test
icf-different-align.test
icf-executable.s
icf-local.test
icf-pdata.s
icf-safe.s [lld-link] Add safe icf mode to lld-link, which does safe icf for all sections. 2021-03-03 14:52:33 -08:00
icf-simple.test
icf-vtables.s
icf-xdata-last.s [COFF] Simplify ICF associated comdat handling 2021-04-14 10:40:16 -07:00
icf-xdata.s
ignore-many.test
ignore4217.yaml
implib-name-mingw.test
implib-name.test
imports-gnu-autoexport.s
imports-gnu-only.s
imports-gnu.test
imports-mangle.test
imports-ordinal-only.s
imports.test
include-lto.ll
include.test
include2.test
includeoptional.yaml
includeoptional2.yaml
incremental.test
internal.test
invalid-debug-type.test
invalid-debug.test
invalid-obj.test
invalid-section-number.test
largeaddressaware.test
lib-module-asm.ll
lib.test [LLD][COFF] Support GNU style == aliases 2022-01-19 14:22:13 +01:00
libcall-archive.ll Revert "[X86][LLD] Update datelayout in LLD tests. NFCI" 2022-01-15 10:54:37 +08:00
libname-mingw.test
libpath.test
line-error.yaml
link-dll-i386.s [LLD] [COFF] Support linking directly against DLLs in MinGW mode 2021-07-02 09:49:13 +03:00
link-dll-stdcall.s [LLD] [COFF] Fix up missing stdcall decorations in MinGW mode 2021-07-02 09:49:14 +03:00
link-dll.s [LLD] [COFF] Support linking directly against DLLs in MinGW mode 2021-07-02 09:49:13 +03:00
linkenv.test
linkrepro-manifest.test [lld/COFF] Improve handling of the /manifestdependency: flag 2021-08-25 14:36:32 -04:00
linkrepro-pdb.test
linkrepro-res.test
linkrepro.test
lit.local.cfg
loadcfg.ll
loadcfg.test
loadcfg32.test
locally-imported-arm64.test
locally-imported-warn-multiple.s
locally-imported.test
locally-imported32.test
long-section-name.test
lto-cache.ll
lto-chkstk.ll
lto-comdat-samesize.ll [LLD] [COFF] Fix handling of LTO comdats with nontrivial selection types after 728cc0075e 2021-06-25 09:39:56 +03:00
lto-comdat.ll
lto-cpu-string.ll
lto-debug-pass-arguments.ll
lto-icf.ll
lto-lazy-reference.ll Revert "[X86][LLD] Update datelayout in LLD tests. NFCI" 2022-01-15 10:54:37 +08:00
lto-linker-opts.ll
lto-new-pass-manager.ll [NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose 2021-05-07 21:51:47 -07:00
lto-new-symbol.ll
lto-obj-path.ll
lto-opt-level.ll
lto-parallel.ll
lto-reloc-model.ll Revert "[X86][LLD] Update datelayout in LLD tests. NFCI" 2022-01-15 10:54:37 +08:00
lto.ll
machine.test
manifest.test [lld/COFF] Improve handling of the /manifestdependency: flag 2021-08-25 14:36:32 -04:00
manifestinput-error.test
manifestinput-nowarning.test
manifestinput.test
map.test
merge-resource-manifest.test
merge.test
mixed-resource-obj.yaml
multiple-resource-objs.test
no-idata.s
no-ipi-stream.test
nodefaultlib.test
noentry.test
noseh.s
opt.test
options.test
order-i386.test
order.test
out.test
output-chars.test
pdata-arm64-bad.yaml
pdata-arm64.yaml
pdb-comdat.test
pdb-debug-f.s
pdb-exe-path-dots.test
pdb-file-static.test
pdb-framedata.yaml
pdb-global-constants.test
pdb-global-gc.yaml
pdb-global-hashes.test
pdb-globals-dia-func-collision3.test
pdb-globals-dia-vfunc-collision.test
pdb-globals-dia-vfunc-collision2.test
pdb-globals-dia-vfunc-simple.test
pdb-globals.test
pdb-heapsite.yaml
pdb-import-gc.yaml
pdb-inlinees-extrafiles.s
pdb-inlinees.s
pdb-invalid-func-type-2.yaml [PDB] Add missing test for b552adf8b3 2021-03-22 14:56:36 -07:00
pdb-invalid-func-type.yaml
pdb-lib.s
pdb-linker-module.test
pdb-natvis.test
pdb-none.test
pdb-options.test
pdb-procid-remapping.test
pdb-publics-import.test
pdb-relative-source-lines.test Re-land [CodeView] Add full repro to LF_BUILDINFO record 2022-01-19 19:44:37 -05:00
pdb-safeseh.yaml
pdb-same-name.test
pdb-scopes.test
pdb-secrel-absolute.yaml
pdb-source-lines.test
pdb-symbol-types.yaml
pdb-thinlto.ll
pdb-thunk.yaml
pdb-tpi-aligned-records.test
pdb-tpi-hash-size.test
pdb-type-server-invalid-signature.yaml [PDB] Check the type server guid when ghashing 2021-05-20 16:36:12 -07:00
pdb-type-server-missing.yaml [lld] Fixed CodeView GuidAdapter::format to handle GUID bytes in the right order. 2021-04-09 05:29:14 +04:00
pdb-type-server-native-errors.yaml [lld] Fixed CodeView GuidAdapter::format to handle GUID bytes in the right order. 2021-04-09 05:29:14 +04:00
pdb-type-server-simple.test [PDB] Enable parallel ghash type merging by default 2021-05-27 14:19:36 -07:00
pdb-unknown-subsection.s
pdb.test
pdbaltpath.test
pdbpagesize.test Enable pdbpagesize to allow support for PDB file sizes > 4GB 2021-12-06 18:22:08 -05:00
pdbstream.test
pdbstripped.test
pending-comdat.s
pgo-pubs.s [PDB] Do not record PGO or coverage public symbols 2021-05-19 12:41:31 -07:00
pgo-warn-mismatch.ll [LTO][lld] Add lto-pgo-warn-mismatch option 2021-08-11 09:45:55 -07:00
precomp-ghash.test
precomp-link-samename.test
precomp-link.test
precomp-summary-fail.test
reloc-arm.test
reloc-discarded-dwarf.s
reloc-discarded-early.s
reloc-discarded-early2.s
reloc-discarded.s
reloc-oob.yaml
reloc-x64-add32.s [LLD][COFF] PR49068: Include the IMAGE_REL_BASED_HIGHLOW relocation base type when the machine is 64 bits and the relocation type is ADDR32 2021-05-21 23:45:55 +03:00
reloc-x64.test
reloc-x86.test
resource-objs.test [test] Avoid llvm-readelf/llvm-readobj one-dash long options and deprecated aliases (e.g. --file-headers) 2021-07-15 10:26:21 -07:00
resource.test
responsefile.test
rsds.test
s_udt.s
safeseh-diag-feat.test
safeseh-md.s
safeseh-no.s
safeseh-notable.s
safeseh.s
savetemps.ll
secidx-absolute.s [COFF][test] Fix llvm-readobj tests 2021-07-16 13:28:46 -07:00
secrel-absolute.s
secrel-common.s [COFF][test] Fix llvm-readobj tests 2021-07-16 13:28:46 -07:00
section-order.test
section-size.s
section.test
seh-comdat.test
seh.test
sort-debug.test
stack-drectve.s Allow /STACK in #pragma comment(linker, ...) 2021-05-05 16:00:33 -07:00
stack.test
start-lib-cmd-diagnostics.ll
start-lib.ll
string-tail-merge.s
strtab-size.s [LLD] [COFF] Omit section symbols and IMAGE_SYM_CLASS_LABEL from the PE symbol table 2021-11-23 10:17:04 +02:00
subsystem-drectve.test
subsystem-inference-mingw.s
subsystem-inference.test
subsystem-inference2.test
subsystem-inference32.test
subsystem.test
symbolizer-inline.s
symbolizer-line-numbers.s
symtab-gc.s
symtab.test [LLD] [COFF] Omit section symbols and IMAGE_SYM_CLASS_LABEL from the PE symbol table 2021-11-23 10:17:04 +02:00
thin-archive.s
thinlto-archivecollision.ll
thinlto-archives.ll
thinlto-emit-imports.ll
thinlto-index-only.ll
thinlto-mangled.ll
thinlto-module-order.ll
thinlto-object-suffix-replace.ll
thinlto-prefix-replace.ll
thinlto-whole-archives.ll
thinlto.ll
thunk-replace.s
timestamp.test
tls-alignment-32.ll
tls-alignment-64.ll
tls.test
tls32.test
tls_suffix_sorting.s
undefined-symbol-cv.s
undefined-symbol-dwarf.s
undefined-symbol-itanium-i386.s
undefined-symbol-itanium.s
undefined-symbol-lto.test
undefined-symbol-multi.s
undefined-symbol.s
unresolved-lto-bitcode.ll
unresolved-lto.ll
unwind.test
used-lto.ll
version.test
weak-external.test
weak-external2.test
weak-external3.test
wholearchive.s
wrap-dllimport.s
wrap-i386.s
wrap-import.ll
wrap-lto-1.ll
wrap-lto-2.ll
wrap-real-missing.s
wrap-with-archive.s
wrap.s
wx.s