Date: Sat, 23 Jul 2016 20:48:51 +0000 (UTC) From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r303239 - in vendor/lld/dist: . COFF ELF docs include/lld/Core include/lld/Driver include/lld/ReaderWriter lib/Config lib/Core lib/Driver lib/ReaderWriter lib/ReaderWriter/ELF lib/Reade... Message-ID: <201607232048.u6NKmpYv012350@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dim Date: Sat Jul 23 20:48:50 2016 New Revision: 303239 URL: https://svnweb.freebsd.org/changeset/base/303239 Log: Vendor import of lld release_39 branch r276489: https://llvm.org/svn/llvm-project/lld/branches/release_39@276489 Added: vendor/lld/dist/COFF/Librarian.cpp (contents, props changed) vendor/lld/dist/ELF/EhFrame.cpp (contents, props changed) vendor/lld/dist/ELF/EhFrame.h (contents, props changed) vendor/lld/dist/ELF/ICF.cpp (contents, props changed) vendor/lld/dist/ELF/ICF.h (contents, props changed) vendor/lld/dist/ELF/LTO.cpp (contents, props changed) vendor/lld/dist/ELF/LTO.h (contents, props changed) vendor/lld/dist/ELF/LinkerScript.h (contents, props changed) vendor/lld/dist/ELF/Relocations.cpp (contents, props changed) vendor/lld/dist/ELF/Relocations.h (contents, props changed) vendor/lld/dist/ELF/ScriptParser.cpp (contents, props changed) vendor/lld/dist/ELF/ScriptParser.h (contents, props changed) vendor/lld/dist/ELF/Strings.cpp (contents, props changed) vendor/lld/dist/ELF/Strings.h (contents, props changed) vendor/lld/dist/ELF/SymbolListFile.cpp (contents, props changed) vendor/lld/dist/ELF/SymbolListFile.h (contents, props changed) vendor/lld/dist/ELF/Thunks.cpp (contents, props changed) vendor/lld/dist/ELF/Thunks.h (contents, props changed) vendor/lld/dist/docs/AtomLLD.rst vendor/lld/dist/docs/NewLLD.rst vendor/lld/dist/docs/ReleaseNotes.rst vendor/lld/dist/lib/ReaderWriter/MachO/ObjCPass.cpp (contents, props changed) vendor/lld/dist/test/COFF/Inputs/manifestinput.test vendor/lld/dist/test/COFF/manifestinput.test vendor/lld/dist/test/COFF/section.test vendor/lld/dist/test/ELF/Inputs/aarch64-copy2.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/aarch64-tls-gdie.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/abs-hidden.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/arm-plt-reloc.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/arm-thumb-blx-targets.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/arm-thumb-narrow-branch.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/conflict.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/copy-in-shared.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/copy-rel-corrupted.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/copy-rel-pie.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/ctors_dtors_priority1.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/ctors_dtors_priority2.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/ctors_dtors_priority3.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/duplicated-plt-entry.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/dynamic-reloc-weak.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/ehframe-relocation.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/empty-ver.ver vendor/lld/dist/test/ELF/Inputs/far-arm-abs.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/far-arm-thumb-abs.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/gc-sections-weak.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/gnu-ifunc-gotpcrel.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/gotpc-relax-und-dso.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/icf2.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/invalid-cie-version2.elf (contents, props changed) vendor/lld/dist/test/ELF/Inputs/mips-align-err.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/mips-nonalloc.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/mips-pic.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/mips-tls.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/plt-aarch64.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/ppc64-addr16-error.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/protected-shared.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/relocatable-ehframe.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/relocatable.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/relocatable2.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/relocation-copy-alias.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/relocation-copy-arm.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/resolution-shared.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/start-lib-comdat.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/start-lib1.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/start-lib2.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/symbol-override.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/tls-got-entry.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/tls-in-archive.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/trace-ar1.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/trace-ar2.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/trace-symbols-foo-strong.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/trace-symbols-foo-weak.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/undef-with-plt-addr.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/undef.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/unresolved-symbols.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/verdef-defaultver.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/verdef.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/verneed.so.sh (contents, props changed) vendor/lld/dist/test/ELF/Inputs/version-script-err.script vendor/lld/dist/test/ELF/Inputs/version-use.script vendor/lld/dist/test/ELF/Inputs/warn-common.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/warn-common2.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/x86-64-relax-offset.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/x86-64-reloc-error.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/x86-64-tls-gd-got.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-abs64-dyn.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-copy2.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-fpic-got.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-got-relocations.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-got.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-relative.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-tls-gdie.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-tls-gdle.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-tls-iele.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-tls-le.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-tls-pie.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-tls-static.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-tlsdesc.s (contents, props changed) vendor/lld/dist/test/ELF/abs-hidden.s (contents, props changed) vendor/lld/dist/test/ELF/amdgpu-relocs.s (contents, props changed) vendor/lld/dist/test/ELF/arm-abs32-dyn.s (contents, props changed) vendor/lld/dist/test/ELF/arm-attributes-remove.s (contents, props changed) vendor/lld/dist/test/ELF/arm-blx.s (contents, props changed) vendor/lld/dist/test/ELF/arm-branch-error.s (contents, props changed) vendor/lld/dist/test/ELF/arm-branch.s (contents, props changed) vendor/lld/dist/test/ELF/arm-copy.s (contents, props changed) vendor/lld/dist/test/ELF/arm-data-prel.s (contents, props changed) vendor/lld/dist/test/ELF/arm-data-relocs.s (contents, props changed) vendor/lld/dist/test/ELF/arm-fpic-got.s (contents, props changed) vendor/lld/dist/test/ELF/arm-gnu-ifunc-nosym.s (contents, props changed) vendor/lld/dist/test/ELF/arm-gnu-ifunc.s (contents, props changed) vendor/lld/dist/test/ELF/arm-got-relative.s (contents, props changed) vendor/lld/dist/test/ELF/arm-gotoff.s (contents, props changed) vendor/lld/dist/test/ELF/arm-mov-relocs.s (contents, props changed) vendor/lld/dist/test/ELF/arm-plt-reloc.s (contents, props changed) vendor/lld/dist/test/ELF/arm-thumb-blx.s (contents, props changed) vendor/lld/dist/test/ELF/arm-thumb-branch-error.s (contents, props changed) vendor/lld/dist/test/ELF/arm-thumb-branch.s (contents, props changed) vendor/lld/dist/test/ELF/arm-thumb-interwork-thunk.s (contents, props changed) vendor/lld/dist/test/ELF/arm-thumb-narrow-branch-check.s (contents, props changed) vendor/lld/dist/test/ELF/arm-thumb-plt-reloc.s (contents, props changed) vendor/lld/dist/test/ELF/as-needed-no-reloc.s (contents, props changed) vendor/lld/dist/test/ELF/avoid-empty-program-headers.s (contents, props changed) vendor/lld/dist/test/ELF/bsymbolic-undef.s (contents, props changed) vendor/lld/dist/test/ELF/bsymbolic.s (contents, props changed) vendor/lld/dist/test/ELF/build-id.s (contents, props changed) vendor/lld/dist/test/ELF/combrelocs.s (contents, props changed) vendor/lld/dist/test/ELF/compressed-debug-input.s (contents, props changed) vendor/lld/dist/test/ELF/conflict.s (contents, props changed) vendor/lld/dist/test/ELF/copy-errors.s (contents, props changed) vendor/lld/dist/test/ELF/copy-in-shared.s (contents, props changed) vendor/lld/dist/test/ELF/copy-rel-corrupted.s (contents, props changed) vendor/lld/dist/test/ELF/copy-rel-pie-error.s (contents, props changed) vendor/lld/dist/test/ELF/copy-rel-pie.s (contents, props changed) vendor/lld/dist/test/ELF/ctors_dtors_priority.s (contents, props changed) vendor/lld/dist/test/ELF/dont-export-hidden.s (contents, props changed) vendor/lld/dist/test/ELF/driver.test vendor/lld/dist/test/ELF/duplicated-plt-entry.s (contents, props changed) vendor/lld/dist/test/ELF/dynamic-list.s (contents, props changed) vendor/lld/dist/test/ELF/dynamic-reloc-in-ro.s (contents, props changed) vendor/lld/dist/test/ELF/dynamic.s (contents, props changed) vendor/lld/dist/test/ELF/dynsym-pie.s (contents, props changed) vendor/lld/dist/test/ELF/edata-etext.s (contents, props changed) vendor/lld/dist/test/ELF/eh-frame-dyn-rel.s (contents, props changed) vendor/lld/dist/test/ELF/eh-frame-gc.s (contents, props changed) vendor/lld/dist/test/ELF/eh-frame-hdr-abs-fde.s (contents, props changed) vendor/lld/dist/test/ELF/eh-frame-hdr-augmentation.s (contents, props changed) vendor/lld/dist/test/ELF/eh-frame-hdr-icf.s (contents, props changed) vendor/lld/dist/test/ELF/eh-frame-hdr-no-out.s (contents, props changed) vendor/lld/dist/test/ELF/eh-frame-hdr-no-out2.s (contents, props changed) vendor/lld/dist/test/ELF/eh-frame-hdr.s (contents, props changed) vendor/lld/dist/test/ELF/eh-frame-marker.s (contents, props changed) vendor/lld/dist/test/ELF/eh-frame-multilpe-cie.s (contents, props changed) vendor/lld/dist/test/ELF/empty-ver.s (contents, props changed) vendor/lld/dist/test/ELF/fatal-warnings.s (contents, props changed) vendor/lld/dist/test/ELF/file-sym.s (contents, props changed) vendor/lld/dist/test/ELF/gc-merge-local-sym.s (contents, props changed) vendor/lld/dist/test/ELF/gc-sections-local-sym.s (contents, props changed) vendor/lld/dist/test/ELF/gc-sections-lsda.s (contents, props changed) vendor/lld/dist/test/ELF/gc-sections-merge-addend.s (contents, props changed) vendor/lld/dist/test/ELF/gc-sections-merge-implicit-addend.s (contents, props changed) vendor/lld/dist/test/ELF/gc-sections-merge.s (contents, props changed) vendor/lld/dist/test/ELF/gc-sections-protected.s (contents, props changed) vendor/lld/dist/test/ELF/gc-sections-shared.s (contents, props changed) vendor/lld/dist/test/ELF/gc-sections-weak.s (contents, props changed) vendor/lld/dist/test/ELF/global_offset_table_shared.s (contents, props changed) vendor/lld/dist/test/ELF/gnu-ifunc-gotpcrel.s (contents, props changed) vendor/lld/dist/test/ELF/gnu-ifunc-relative.s (contents, props changed) vendor/lld/dist/test/ELF/got-plt-header.s (contents, props changed) vendor/lld/dist/test/ELF/gotpc-relax-nopic.s (contents, props changed) vendor/lld/dist/test/ELF/gotpc-relax-und-dso.s (contents, props changed) vendor/lld/dist/test/ELF/gotpc-relax.s (contents, props changed) vendor/lld/dist/test/ELF/gotpcrelx.s (contents, props changed) vendor/lld/dist/test/ELF/i386-got-and-copy.s (contents, props changed) vendor/lld/dist/test/ELF/i386-gotpc.s (contents, props changed) vendor/lld/dist/test/ELF/i386-merge.s (contents, props changed) vendor/lld/dist/test/ELF/i386-relative.s (contents, props changed) vendor/lld/dist/test/ELF/i386-relax-reloc.s (contents, props changed) vendor/lld/dist/test/ELF/i386-tls-ie-shared.s (contents, props changed) vendor/lld/dist/test/ELF/icf1.s (contents, props changed) vendor/lld/dist/test/ELF/icf2.s (contents, props changed) vendor/lld/dist/test/ELF/icf3.s (contents, props changed) vendor/lld/dist/test/ELF/icf4.s (contents, props changed) vendor/lld/dist/test/ELF/icf5.s (contents, props changed) vendor/lld/dist/test/ELF/icf6.s (contents, props changed) vendor/lld/dist/test/ELF/icf7.s (contents, props changed) vendor/lld/dist/test/ELF/image-base.s (contents, props changed) vendor/lld/dist/test/ELF/init_fini_priority.s (contents, props changed) vendor/lld/dist/test/ELF/invalid-dynamic-list.test vendor/lld/dist/test/ELF/invalid-linkerscript.test vendor/lld/dist/test/ELF/linkerscript-align.s (contents, props changed) vendor/lld/dist/test/ELF/linkerscript-diagnostic.s (contents, props changed) vendor/lld/dist/test/ELF/linkerscript-locationcounter.s (contents, props changed) vendor/lld/dist/test/ELF/linkerscript-orphans.s (contents, props changed) vendor/lld/dist/test/ELF/linkerscript-phdr-check.s (contents, props changed) vendor/lld/dist/test/ELF/linkerscript-repsection-va.s (contents, props changed) vendor/lld/dist/test/ELF/linkerscript-sections-keep.s (contents, props changed) vendor/lld/dist/test/ELF/linkerscript-sections-padding.s (contents, props changed) vendor/lld/dist/test/ELF/linkerscript-symbol-conflict.s (contents, props changed) vendor/lld/dist/test/ELF/linkerscript-symbols.s (contents, props changed) vendor/lld/dist/test/ELF/linkerscript-va.s (contents, props changed) vendor/lld/dist/test/ELF/llvm33-rela-outside-group.s (contents, props changed) vendor/lld/dist/test/ELF/local-got-pie.s (contents, props changed) vendor/lld/dist/test/ELF/local-undefined-symbol.s (contents, props changed) vendor/lld/dist/test/ELF/lto/ vendor/lld/dist/test/ELF/lto/Inputs/ vendor/lld/dist/test/ELF/lto/Inputs/archive-2.ll vendor/lld/dist/test/ELF/lto/Inputs/archive-3.ll vendor/lld/dist/test/ELF/lto/Inputs/archive.ll vendor/lld/dist/test/ELF/lto/Inputs/available-externally.ll vendor/lld/dist/test/ELF/lto/Inputs/comdat.s (contents, props changed) vendor/lld/dist/test/ELF/lto/Inputs/common.s (contents, props changed) vendor/lld/dist/test/ELF/lto/Inputs/drop-debug-info.bc (contents, props changed) vendor/lld/dist/test/ELF/lto/Inputs/drop-linkage.ll vendor/lld/dist/test/ELF/lto/Inputs/dynsym.s (contents, props changed) vendor/lld/dist/test/ELF/lto/Inputs/internalize-exportdyn.ll vendor/lld/dist/test/ELF/lto/Inputs/internalize-undef.ll vendor/lld/dist/test/ELF/lto/Inputs/irmover-error.ll vendor/lld/dist/test/ELF/lto/Inputs/linkonce-odr.ll vendor/lld/dist/test/ELF/lto/Inputs/linkonce.ll vendor/lld/dist/test/ELF/lto/Inputs/resolution.s (contents, props changed) vendor/lld/dist/test/ELF/lto/Inputs/save-temps.ll vendor/lld/dist/test/ELF/lto/Inputs/shared.s (contents, props changed) vendor/lld/dist/test/ELF/lto/Inputs/start-lib1.ll vendor/lld/dist/test/ELF/lto/Inputs/start-lib2.ll vendor/lld/dist/test/ELF/lto/Inputs/tls-mixed.s (contents, props changed) vendor/lld/dist/test/ELF/lto/Inputs/type-merge.ll vendor/lld/dist/test/ELF/lto/Inputs/type-merge2.ll vendor/lld/dist/test/ELF/lto/Inputs/undef-mixed.s (contents, props changed) vendor/lld/dist/test/ELF/lto/Inputs/unnamed-addr-lib.s (contents, props changed) vendor/lld/dist/test/ELF/lto/Inputs/visibility.s (contents, props changed) vendor/lld/dist/test/ELF/lto/archive-2.ll vendor/lld/dist/test/ELF/lto/archive-3.ll vendor/lld/dist/test/ELF/lto/archive.ll vendor/lld/dist/test/ELF/lto/asmundef.ll vendor/lld/dist/test/ELF/lto/available-externally.ll vendor/lld/dist/test/ELF/lto/combined-lto-object-name.ll vendor/lld/dist/test/ELF/lto/comdat.ll vendor/lld/dist/test/ELF/lto/comdat2.ll vendor/lld/dist/test/ELF/lto/common.ll vendor/lld/dist/test/ELF/lto/common2.ll vendor/lld/dist/test/ELF/lto/ctors.ll vendor/lld/dist/test/ELF/lto/discard-value-names.ll vendor/lld/dist/test/ELF/lto/drop-debug-info.ll vendor/lld/dist/test/ELF/lto/drop-linkage.ll vendor/lld/dist/test/ELF/lto/duplicated.ll vendor/lld/dist/test/ELF/lto/dynamic-list.ll vendor/lld/dist/test/ELF/lto/dynsym.ll vendor/lld/dist/test/ELF/lto/inline-asm.ll vendor/lld/dist/test/ELF/lto/internalize-basic.ll vendor/lld/dist/test/ELF/lto/internalize-exportdyn.ll vendor/lld/dist/test/ELF/lto/internalize-llvmused.ll vendor/lld/dist/test/ELF/lto/internalize-undef.ll vendor/lld/dist/test/ELF/lto/internalize-version-script.ll vendor/lld/dist/test/ELF/lto/invalid-bitcode.ll vendor/lld/dist/test/ELF/lto/irmover-error.ll vendor/lld/dist/test/ELF/lto/linkage.ll vendor/lld/dist/test/ELF/lto/linkonce-odr.ll vendor/lld/dist/test/ELF/lto/linkonce.ll vendor/lld/dist/test/ELF/lto/lto-start.ll vendor/lld/dist/test/ELF/lto/ltopasses-basic.ll vendor/lld/dist/test/ELF/lto/ltopasses-custom.ll vendor/lld/dist/test/ELF/lto/metadata.ll vendor/lld/dist/test/ELF/lto/mix-platforms.ll vendor/lld/dist/test/ELF/lto/module-asm.ll vendor/lld/dist/test/ELF/lto/opt-level.ll vendor/lld/dist/test/ELF/lto/parallel-internalize.ll vendor/lld/dist/test/ELF/lto/parallel.ll vendor/lld/dist/test/ELF/lto/pic.ll vendor/lld/dist/test/ELF/lto/relax-relocs.ll vendor/lld/dist/test/ELF/lto/resolution.ll vendor/lld/dist/test/ELF/lto/save-temps.ll vendor/lld/dist/test/ELF/lto/shlib-undefined.ll vendor/lld/dist/test/ELF/lto/start-lib.ll vendor/lld/dist/test/ELF/lto/tls-mixed.ll vendor/lld/dist/test/ELF/lto/tls-preserve.ll vendor/lld/dist/test/ELF/lto/type-merge.ll vendor/lld/dist/test/ELF/lto/type-merge2.ll vendor/lld/dist/test/ELF/lto/undef-mixed.ll vendor/lld/dist/test/ELF/lto/undef-weak.ll vendor/lld/dist/test/ELF/lto/undef.ll vendor/lld/dist/test/ELF/lto/undefined-puts.ll vendor/lld/dist/test/ELF/lto/unnamed-addr-comdat.ll vendor/lld/dist/test/ELF/lto/unnamed-addr-lib.ll vendor/lld/dist/test/ELF/lto/unnamed-addr.ll vendor/lld/dist/test/ELF/lto/verify-invalid.ll vendor/lld/dist/test/ELF/lto/version-script.ll vendor/lld/dist/test/ELF/lto/visibility.ll vendor/lld/dist/test/ELF/lto/weak.ll vendor/lld/dist/test/ELF/merge-shared-str.s (contents, props changed) vendor/lld/dist/test/ELF/mips-26.s (contents, props changed) vendor/lld/dist/test/ELF/mips-32.s (contents, props changed) vendor/lld/dist/test/ELF/mips-64-disp.s (contents, props changed) vendor/lld/dist/test/ELF/mips-64-got.s (contents, props changed) vendor/lld/dist/test/ELF/mips-64-gprel-so.s (contents, props changed) vendor/lld/dist/test/ELF/mips-64-rels.s (contents, props changed) vendor/lld/dist/test/ELF/mips-64.s (contents, props changed) vendor/lld/dist/test/ELF/mips-align-err.s (contents, props changed) vendor/lld/dist/test/ELF/mips-got-and-copy.s (contents, props changed) vendor/lld/dist/test/ELF/mips-got-extsym.s (contents, props changed) vendor/lld/dist/test/ELF/mips-got-redundant.s (contents, props changed) vendor/lld/dist/test/ELF/mips-got-weak.s (contents, props changed) vendor/lld/dist/test/ELF/mips-got16.s (contents, props changed) vendor/lld/dist/test/ELF/mips-gp-local.s (contents, props changed) vendor/lld/dist/test/ELF/mips-gprel32-relocs-gp0.test vendor/lld/dist/test/ELF/mips-lo16-not-relative.s (contents, props changed) vendor/lld/dist/test/ELF/mips-nonalloc.s (contents, props changed) vendor/lld/dist/test/ELF/mips-npic-call-pic.s (contents, props changed) vendor/lld/dist/test/ELF/mips-options-r.test vendor/lld/dist/test/ELF/mips-options.s (contents, props changed) vendor/lld/dist/test/ELF/mips-plt-copy.s (contents, props changed) vendor/lld/dist/test/ELF/mips-sto-plt.s (contents, props changed) vendor/lld/dist/test/ELF/mips-tls-64.s (contents, props changed) vendor/lld/dist/test/ELF/mips-tls-hilo.s (contents, props changed) vendor/lld/dist/test/ELF/mips-tls.s (contents, props changed) vendor/lld/dist/test/ELF/no-augmentation.s (contents, props changed) vendor/lld/dist/test/ELF/no-plt-shared.s (contents, props changed) vendor/lld/dist/test/ELF/noplt-pie.s (contents, props changed) vendor/lld/dist/test/ELF/note.s (contents, props changed) vendor/lld/dist/test/ELF/phdr-align.s (contents, props changed) vendor/lld/dist/test/ELF/pie-weak.s (contents, props changed) vendor/lld/dist/test/ELF/pie.s (contents, props changed) vendor/lld/dist/test/ELF/protected-shared.s (contents, props changed) vendor/lld/dist/test/ELF/rel-offset.s (contents, props changed) vendor/lld/dist/test/ELF/relative-dynamic-reloc-pie.s (contents, props changed) vendor/lld/dist/test/ELF/relocatable-bss.s (contents, props changed) vendor/lld/dist/test/ELF/relocatable-ehframe.s (contents, props changed) vendor/lld/dist/test/ELF/relocatable-reloc.s (contents, props changed) vendor/lld/dist/test/ELF/relocatable-symbols.s (contents, props changed) vendor/lld/dist/test/ELF/relocation-copy-alias.s (contents, props changed) vendor/lld/dist/test/ELF/relocation-copy-flags.s (contents, props changed) vendor/lld/dist/test/ELF/relocation-non-alloc.s (contents, props changed) vendor/lld/dist/test/ELF/relocation-relative-absolute.s (contents, props changed) vendor/lld/dist/test/ELF/relocation-relative-synthetic.s (contents, props changed) vendor/lld/dist/test/ELF/relocation-relative-weak.s (contents, props changed) vendor/lld/dist/test/ELF/relocation-shared.s (contents, props changed) vendor/lld/dist/test/ELF/relro-tls.s (contents, props changed) vendor/lld/dist/test/ELF/reproduce-error.s (contents, props changed) vendor/lld/dist/test/ELF/reproduce-linkerscript.s (contents, props changed) vendor/lld/dist/test/ELF/reproduce-thin-archive.s (contents, props changed) vendor/lld/dist/test/ELF/reproduce-windows.s (contents, props changed) vendor/lld/dist/test/ELF/reproduce.s (contents, props changed) vendor/lld/dist/test/ELF/resolution-shared.s (contents, props changed) vendor/lld/dist/test/ELF/splitstacks.s (contents, props changed) vendor/lld/dist/test/ELF/start-lib-comdat.s (contents, props changed) vendor/lld/dist/test/ELF/start-lib.s (contents, props changed) vendor/lld/dist/test/ELF/startstop-gccollect.s (contents, props changed) vendor/lld/dist/test/ELF/string-gc.s (contents, props changed) vendor/lld/dist/test/ELF/strip-debug.s (contents, props changed) vendor/lld/dist/test/ELF/symbol-override.s (contents, props changed) vendor/lld/dist/test/ELF/tail-merge-string-align.s (contents, props changed) vendor/lld/dist/test/ELF/tls-archive.s (contents, props changed) vendor/lld/dist/test/ELF/tls-got-entry.s (contents, props changed) vendor/lld/dist/test/ELF/tls-in-archive.s (contents, props changed) vendor/lld/dist/test/ELF/tls-initial-exec-local.s (contents, props changed) vendor/lld/dist/test/ELF/tls-offset.s (contents, props changed) vendor/lld/dist/test/ELF/tls-opt-no-plt.s (contents, props changed) vendor/lld/dist/test/ELF/tls-two-relocs.s (contents, props changed) vendor/lld/dist/test/ELF/trace-ar.s (contents, props changed) vendor/lld/dist/test/ELF/trace-symbols.s (contents, props changed) vendor/lld/dist/test/ELF/trace.s (contents, props changed) vendor/lld/dist/test/ELF/undef-shared.s (contents, props changed) vendor/lld/dist/test/ELF/undef-version-script.s (contents, props changed) vendor/lld/dist/test/ELF/undef-with-plt-addr-i686.s (contents, props changed) vendor/lld/dist/test/ELF/undef-with-plt-addr.s (contents, props changed) vendor/lld/dist/test/ELF/unresolved-symbols.s (contents, props changed) vendor/lld/dist/test/ELF/user_def_init_array_start.s (contents, props changed) vendor/lld/dist/test/ELF/verdef-defaultver.s (contents, props changed) vendor/lld/dist/test/ELF/verdef-dependency.s (contents, props changed) vendor/lld/dist/test/ELF/verdef.s (contents, props changed) vendor/lld/dist/test/ELF/verneed-as-needed-weak.s (contents, props changed) vendor/lld/dist/test/ELF/verneed-local.s (contents, props changed) vendor/lld/dist/test/ELF/verneed.s (contents, props changed) vendor/lld/dist/test/ELF/version-script-err.s (contents, props changed) vendor/lld/dist/test/ELF/version-script-extern.s (contents, props changed) vendor/lld/dist/test/ELF/version-script-noundef.s (contents, props changed) vendor/lld/dist/test/ELF/version-script.s (contents, props changed) vendor/lld/dist/test/ELF/version-undef-sym.s (contents, props changed) vendor/lld/dist/test/ELF/version-use.s (contents, props changed) vendor/lld/dist/test/ELF/version-wildcard.test vendor/lld/dist/test/ELF/warn-common.s (contents, props changed) vendor/lld/dist/test/ELF/weak-undef-hidden.s (contents, props changed) vendor/lld/dist/test/ELF/weak-undef-shared.s (contents, props changed) vendor/lld/dist/test/ELF/weak-undef.s (contents, props changed) vendor/lld/dist/test/ELF/wildcards.s (contents, props changed) vendor/lld/dist/test/ELF/x86-64-dyn-rel-error.s (contents, props changed) vendor/lld/dist/test/ELF/x86-64-dyn-rel-error2.s (contents, props changed) vendor/lld/dist/test/ELF/x86-64-rela.s (contents, props changed) vendor/lld/dist/test/ELF/x86-64-relax-offset.s (contents, props changed) vendor/lld/dist/test/ELF/x86-64-reloc-32-fpic.s (contents, props changed) vendor/lld/dist/test/ELF/x86-64-reloc-error.s (contents, props changed) vendor/lld/dist/test/ELF/x86-64-reloc-pc32-fpic.s (contents, props changed) vendor/lld/dist/test/ELF/x86-64-reloc-range.s (contents, props changed) vendor/lld/dist/test/ELF/x86-64-tls-gd-got.s (contents, props changed) vendor/lld/dist/test/ELF/x86-64-tls-gd-local.s (contents, props changed) vendor/lld/dist/test/ELF/x86-64-tls-pie.s (contents, props changed) vendor/lld/dist/test/ELF/zdefs.s (contents, props changed) vendor/lld/dist/test/darwin/cmdline-objc_gc.objtxt vendor/lld/dist/test/darwin/cmdline-objc_gc_compaction.objtxt vendor/lld/dist/test/darwin/cmdline-objc_gc_only.objtxt vendor/lld/dist/test/mach-o/Inputs/no-version-min-load-command-object.yaml vendor/lld/dist/test/mach-o/Inputs/swift-version-1.yaml vendor/lld/dist/test/mach-o/data-in-code-load-command.yaml vendor/lld/dist/test/mach-o/dead-strip-globals.yaml vendor/lld/dist/test/mach-o/eh-frame-relocs-arm64.yaml vendor/lld/dist/test/mach-o/error-simulator-vs-macosx.yaml vendor/lld/dist/test/mach-o/function-starts-load-command.yaml vendor/lld/dist/test/mach-o/mach_header-cpusubtype.yaml vendor/lld/dist/test/mach-o/objc-category-list-atom.yaml vendor/lld/dist/test/mach-o/objc-image-info-host-vs-simulator.yaml vendor/lld/dist/test/mach-o/objc-image-info-invalid-size.yaml vendor/lld/dist/test/mach-o/objc-image-info-invalid-version.yaml vendor/lld/dist/test/mach-o/objc-image-info-mismatched-swift-version.yaml vendor/lld/dist/test/mach-o/objc-image-info-pass-output.yaml vendor/lld/dist/test/mach-o/objc-image-info-simulator-vs-host.yaml vendor/lld/dist/test/mach-o/objc-image-info-unsupported-gc.yaml vendor/lld/dist/test/mach-o/sdk-version-error.yaml vendor/lld/dist/test/mach-o/sectattrs.yaml vendor/lld/dist/test/mach-o/seg-protection-arm64.yaml vendor/lld/dist/test/mach-o/seg-protection-x86_64.yaml vendor/lld/dist/test/mach-o/source-version.yaml vendor/lld/dist/test/mach-o/subsections-via-symbols-default.yaml vendor/lld/dist/test/mach-o/version-min-load-command-object.yaml vendor/lld/dist/test/mach-o/version-min-load-command.yaml Deleted: vendor/lld/dist/include/lld/Core/Alias.h vendor/lld/dist/include/lld/Core/STDExtras.h vendor/lld/dist/include/lld/Core/range.h vendor/lld/dist/include/lld/ReaderWriter/AtomLayout.h vendor/lld/dist/include/lld/ReaderWriter/CoreLinkingContext.h vendor/lld/dist/include/lld/ReaderWriter/ELFLinkingContext.h vendor/lld/dist/include/lld/ReaderWriter/LinkerScript.h vendor/lld/dist/lib/Driver/CoreDriver.cpp vendor/lld/dist/lib/Driver/CoreOptions.td vendor/lld/dist/lib/Driver/Driver.cpp vendor/lld/dist/lib/Driver/GnuLdDriver.cpp vendor/lld/dist/lib/Driver/GnuLdOptions.td vendor/lld/dist/lib/Driver/TODO.rst vendor/lld/dist/lib/Driver/UniversalDriver.cpp vendor/lld/dist/lib/Driver/UniversalDriverOptions.td vendor/lld/dist/lib/ReaderWriter/CoreLinkingContext.cpp vendor/lld/dist/lib/ReaderWriter/ELF/ vendor/lld/dist/lib/ReaderWriter/LinkerScript.cpp vendor/lld/dist/lib/ReaderWriter/Native/ vendor/lld/dist/lib/ReaderWriter/PECOFF/ vendor/lld/dist/test/COFF/dllorder.test vendor/lld/dist/test/Driver/def-lib-search.test vendor/lld/dist/test/Driver/flavor-option.test vendor/lld/dist/test/Driver/lib-search.test vendor/lld/dist/test/Driver/so-whole-archive.test vendor/lld/dist/test/Driver/trivial-driver.test vendor/lld/dist/test/Driver/undef-basic.objtxt vendor/lld/dist/test/ELF/mips-relocs.s vendor/lld/dist/test/ELF/valid-cie-length-dw64.s vendor/lld/dist/test/ELF/x86-64-reloc-32-error.s vendor/lld/dist/test/ELF/x86-64-reloc-32S-error.s vendor/lld/dist/test/LinkerScript/expr-precedence.test vendor/lld/dist/test/LinkerScript/extern-bad-symbol.test vendor/lld/dist/test/LinkerScript/extern-empty.test vendor/lld/dist/test/LinkerScript/extern-valid.test vendor/lld/dist/test/LinkerScript/incomplete-ternary.test vendor/lld/dist/test/LinkerScript/libname-err-1.test vendor/lld/dist/test/LinkerScript/libname-err-2.test vendor/lld/dist/test/LinkerScript/linker-script-outputformat.test vendor/lld/dist/test/LinkerScript/linker-script.test vendor/lld/dist/test/LinkerScript/memory-empty.test vendor/lld/dist/test/LinkerScript/memory-missing-attrs.test vendor/lld/dist/test/LinkerScript/memory-missing-length.test vendor/lld/dist/test/LinkerScript/memory-missing-name.test vendor/lld/dist/test/LinkerScript/memory-missing-origin.test vendor/lld/dist/test/LinkerScript/memory-valid.test vendor/lld/dist/test/LinkerScript/missing-entry-symbol.test vendor/lld/dist/test/LinkerScript/missing-input-file-name.test vendor/lld/dist/test/LinkerScript/missing-input-sections.test vendor/lld/dist/test/LinkerScript/missing-operand.test vendor/lld/dist/test/LinkerScript/missing-output-section-name.test vendor/lld/dist/test/LinkerScript/missing-symbol.test vendor/lld/dist/test/LinkerScript/phdrs-sections.test vendor/lld/dist/test/LinkerScript/sections.test vendor/lld/dist/test/core/Inputs/archive-basic.objtxt vendor/lld/dist/test/core/Inputs/archive-chain.objtxt vendor/lld/dist/test/core/Inputs/archive-chain2.objtxt vendor/lld/dist/test/core/Inputs/archive-tentdef-search.objtxt vendor/lld/dist/test/core/Inputs/associates.objtxt vendor/lld/dist/test/core/Inputs/auto-hide-coalesce.objtxt vendor/lld/dist/test/core/Inputs/code-model-attributes.objtxt vendor/lld/dist/test/core/Inputs/code-model-attributes2.objtxt vendor/lld/dist/test/core/Inputs/code-model-attributes3.objtxt vendor/lld/dist/test/core/Inputs/code-model-attributes4.objtxt vendor/lld/dist/test/core/Inputs/code-model-attributes5.objtxt vendor/lld/dist/test/core/Inputs/constants-coalesce.objtxt vendor/lld/dist/test/core/Inputs/constants-coalesce2.objtxt vendor/lld/dist/test/core/Inputs/cstring-coalesce.objtxt vendor/lld/dist/test/core/Inputs/cstring-coalesce2.objtxt vendor/lld/dist/test/core/Inputs/custom-section-coalesce.objtxt vendor/lld/dist/test/core/Inputs/custom-section-coalesce2.objtxt vendor/lld/dist/test/core/Inputs/dead-strip-attributes.objtxt vendor/lld/dist/test/core/Inputs/dead-strip-attributes2.objtxt vendor/lld/dist/test/core/Inputs/dead-strip-basic.objtxt vendor/lld/dist/test/core/Inputs/dead-strip-basic2.objtxt vendor/lld/dist/test/core/Inputs/dead-strip-globals.objtxt vendor/lld/dist/test/core/Inputs/dead-strip-globals2.objtxt vendor/lld/dist/test/core/Inputs/error-duplicate-absolutes.objtxt vendor/lld/dist/test/core/Inputs/gnulinkonce-rearrange-resolve.objtxt vendor/lld/dist/test/core/Inputs/gnulinkonce-remaining-undef.objtxt vendor/lld/dist/test/core/Inputs/gnulinkonce-remaining-undef2.objtxt vendor/lld/dist/test/core/Inputs/gnulinkonce-resolve.objtxt vendor/lld/dist/test/core/Inputs/gnulinkonce-simple.objtxt vendor/lld/dist/test/core/Inputs/inline-coalesce.objtxt vendor/lld/dist/test/core/Inputs/inline-coalesce2.objtxt vendor/lld/dist/test/core/Inputs/multiple-def-error.objtxt vendor/lld/dist/test/core/Inputs/sectiongroup-deadstrip.objtxt vendor/lld/dist/test/core/Inputs/sectiongroup-gnulinkonce-error.objtxt vendor/lld/dist/test/core/Inputs/sectiongroup-rearrange-resolve.objtxt vendor/lld/dist/test/core/Inputs/sectiongroup-remaining-undef.objtxt vendor/lld/dist/test/core/Inputs/sectiongroup-remaining-undef2.objtxt vendor/lld/dist/test/core/Inputs/sectiongroup-resolve.objtxt vendor/lld/dist/test/core/Inputs/sectiongroup-simple.objtxt vendor/lld/dist/test/core/Inputs/shared-library-coalesce.objtxt vendor/lld/dist/test/core/Inputs/tent-merge.objtxt vendor/lld/dist/test/core/Inputs/undef-coalesce-error.objtxt vendor/lld/dist/test/core/Inputs/undef-coalesce-error2.objtxt vendor/lld/dist/test/core/Inputs/undef-coalesce.objtxt vendor/lld/dist/test/core/Inputs/undef-coalesce2.objtxt vendor/lld/dist/test/core/Inputs/undef-fallback.objtxt vendor/lld/dist/test/core/Inputs/undef-weak-coalesce.objtxt vendor/lld/dist/test/core/Inputs/weak-coalesce.objtxt vendor/lld/dist/test/core/Inputs/weak-coalesce2.objtxt vendor/lld/dist/test/core/absolute-basic.objtxt vendor/lld/dist/test/core/absolute-local.objtxt vendor/lld/dist/test/core/archive-basic.objtxt vendor/lld/dist/test/core/archive-chain.objtxt vendor/lld/dist/test/core/archive-tentdef-search.objtxt vendor/lld/dist/test/core/associates.objtxt vendor/lld/dist/test/core/auto-hide-coalesce.objtxt vendor/lld/dist/test/core/code-model-attributes.objtxt vendor/lld/dist/test/core/constants-coalesce.objtxt vendor/lld/dist/test/core/cstring-coalesce.objtxt vendor/lld/dist/test/core/custom-section-coalesce.objtxt vendor/lld/dist/test/core/custom-section.objtxt vendor/lld/dist/test/core/dead-strip-attributes.objtxt vendor/lld/dist/test/core/dead-strip-basic.objtxt vendor/lld/dist/test/core/dead-strip-globals.objtxt vendor/lld/dist/test/core/dead-strip-reverse.objtxt vendor/lld/dist/test/core/error-atom-attribute.objtxt vendor/lld/dist/test/core/error-atom-content-byte-value.objtxt vendor/lld/dist/test/core/error-atom-content-bytes.objtxt vendor/lld/dist/test/core/error-atom-type.objtxt vendor/lld/dist/test/core/error-atom-undefined-wrong-attribue.objtxt vendor/lld/dist/test/core/error-duplicate-absolutes.objtxt vendor/lld/dist/test/core/error-file-attribute.objtxt vendor/lld/dist/test/core/error-fixup-attribute.objtxt vendor/lld/dist/test/core/error-fixup-target.objtxt vendor/lld/dist/test/core/fixups-addend.objtxt vendor/lld/dist/test/core/fixups-dup-named.objtxt vendor/lld/dist/test/core/fixups-named.objtxt vendor/lld/dist/test/core/fixups-unnamed.objtxt vendor/lld/dist/test/core/gnulinkonce-rearrange-resolve.objtxt vendor/lld/dist/test/core/gnulinkonce-remaining-undef.objtxt vendor/lld/dist/test/core/gnulinkonce-resolve.objtxt vendor/lld/dist/test/core/gnulinkonce-simple.objtxt vendor/lld/dist/test/core/inline-coalesce.objtxt vendor/lld/dist/test/core/multiple-def-error.objtxt vendor/lld/dist/test/core/permissions.objtxt vendor/lld/dist/test/core/sectiongroup-deadstrip.objtxt vendor/lld/dist/test/core/sectiongroup-gnulinkonce-error.objtxt vendor/lld/dist/test/core/sectiongroup-rearrange-resolve.objtxt vendor/lld/dist/test/core/sectiongroup-remaining-undef.objtxt vendor/lld/dist/test/core/sectiongroup-resolve.objtxt vendor/lld/dist/test/core/sectiongroup-simple.objtxt vendor/lld/dist/test/core/shared-library-basic.objtxt vendor/lld/dist/test/core/shared-library-coalesce.objtxt vendor/lld/dist/test/core/tent-merge.objtxt vendor/lld/dist/test/core/undef-coalesce-error.objtxt vendor/lld/dist/test/core/undef-coalesce.objtxt vendor/lld/dist/test/core/undef-fallback.objtxt vendor/lld/dist/test/core/undef-weak-coalesce.objtxt vendor/lld/dist/test/core/weak-coalesce.objtxt vendor/lld/dist/test/old-elf/AArch64/Inputs/fn.c vendor/lld/dist/test/old-elf/AArch64/Inputs/fn.o vendor/lld/dist/test/old-elf/AArch64/Inputs/general-dyn-tls-0.yaml vendor/lld/dist/test/old-elf/AArch64/Inputs/initfini-option.c vendor/lld/dist/test/old-elf/AArch64/Inputs/initfini-option.o vendor/lld/dist/test/old-elf/AArch64/Inputs/initfini.c vendor/lld/dist/test/old-elf/AArch64/Inputs/initfini.o vendor/lld/dist/test/old-elf/AArch64/Inputs/initial-exec-tls-1.yaml vendor/lld/dist/test/old-elf/AArch64/Inputs/main.c vendor/lld/dist/test/old-elf/AArch64/Inputs/main.o vendor/lld/dist/test/old-elf/AArch64/Inputs/no-interp-section.c vendor/lld/dist/test/old-elf/AArch64/Inputs/no-interp-section.o vendor/lld/dist/test/old-elf/AArch64/Inputs/zerosizedsection.o vendor/lld/dist/test/old-elf/AArch64/Inputs/zerosizedsection.s vendor/lld/dist/test/old-elf/AArch64/defsym.test vendor/lld/dist/test/old-elf/AArch64/dontignorezerosize-sections.test vendor/lld/dist/test/old-elf/AArch64/dynamicvars.test vendor/lld/dist/test/old-elf/AArch64/dynlib-nointerp-section.test vendor/lld/dist/test/old-elf/AArch64/general-dyn-tls-0.test vendor/lld/dist/test/old-elf/AArch64/initfini.test vendor/lld/dist/test/old-elf/AArch64/initial-exec-tls-0.test vendor/lld/dist/test/old-elf/AArch64/local-tls.test vendor/lld/dist/test/old-elf/AArch64/rel-abs16-overflow.test vendor/lld/dist/test/old-elf/AArch64/rel-abs16.test vendor/lld/dist/test/old-elf/AArch64/rel-abs32-overflow.test vendor/lld/dist/test/old-elf/AArch64/rel-abs32.test vendor/lld/dist/test/old-elf/AArch64/rel-abs64.test vendor/lld/dist/test/old-elf/AArch64/rel-adr_prel_lo21-overflow.test vendor/lld/dist/test/old-elf/AArch64/rel-adr_prel_lo21.test vendor/lld/dist/test/old-elf/AArch64/rel-adr_prel_pg_hi21-overflow.test vendor/lld/dist/test/old-elf/AArch64/rel-adr_prel_pg_hi21.test vendor/lld/dist/test/old-elf/AArch64/rel-bad.test vendor/lld/dist/test/old-elf/AArch64/rel-prel16-overflow.test vendor/lld/dist/test/old-elf/AArch64/rel-prel16.test vendor/lld/dist/test/old-elf/AArch64/rel-prel32-overflow.test vendor/lld/dist/test/old-elf/AArch64/rel-prel32.test vendor/lld/dist/test/old-elf/AArch64/rel-prel64.test vendor/lld/dist/test/old-elf/ARM/Inputs/fn.c vendor/lld/dist/test/old-elf/ARM/Inputs/libfn.so vendor/lld/dist/test/old-elf/ARM/Inputs/libobj.so vendor/lld/dist/test/old-elf/ARM/Inputs/obj.c vendor/lld/dist/test/old-elf/ARM/arm-symbols.test vendor/lld/dist/test/old-elf/ARM/defsym.test vendor/lld/dist/test/old-elf/ARM/dynamic-symbols.test vendor/lld/dist/test/old-elf/ARM/entry-point.test vendor/lld/dist/test/old-elf/ARM/exidx.test vendor/lld/dist/test/old-elf/ARM/header-flags.test vendor/lld/dist/test/old-elf/ARM/mapping-code-model.test vendor/lld/dist/test/old-elf/ARM/mapping-symbols.test vendor/lld/dist/test/old-elf/ARM/missing-symbol.test vendor/lld/dist/test/old-elf/ARM/plt-dynamic.test vendor/lld/dist/test/old-elf/ARM/plt-ifunc-interwork.test vendor/lld/dist/test/old-elf/ARM/plt-ifunc-mapping.test vendor/lld/dist/test/old-elf/ARM/rel-abs32.test vendor/lld/dist/test/old-elf/ARM/rel-arm-call.test vendor/lld/dist/test/old-elf/ARM/rel-arm-jump24-veneer-b.test vendor/lld/dist/test/old-elf/ARM/rel-arm-jump24-veneer-bl.test vendor/lld/dist/test/old-elf/ARM/rel-arm-jump24.test vendor/lld/dist/test/old-elf/ARM/rel-arm-mov.test vendor/lld/dist/test/old-elf/ARM/rel-arm-prel31.test vendor/lld/dist/test/old-elf/ARM/rel-arm-target1.test vendor/lld/dist/test/old-elf/ARM/rel-arm-thm-interwork.test vendor/lld/dist/test/old-elf/ARM/rel-base-prel.test vendor/lld/dist/test/old-elf/ARM/rel-copy.test vendor/lld/dist/test/old-elf/ARM/rel-glob-dat.test vendor/lld/dist/test/old-elf/ARM/rel-got-brel.test vendor/lld/dist/test/old-elf/ARM/rel-group-relocs.test vendor/lld/dist/test/old-elf/ARM/rel-ifunc.test vendor/lld/dist/test/old-elf/ARM/rel-jump-slot.test vendor/lld/dist/test/old-elf/ARM/rel-rel32.test vendor/lld/dist/test/old-elf/ARM/rel-thm-call.test vendor/lld/dist/test/old-elf/ARM/rel-thm-jump11.test vendor/lld/dist/test/old-elf/ARM/rel-thm-jump24-veneer.test vendor/lld/dist/test/old-elf/ARM/rel-thm-jump24.test vendor/lld/dist/test/old-elf/ARM/rel-thm-mov.test vendor/lld/dist/test/old-elf/ARM/rel-tls-ie32.test vendor/lld/dist/test/old-elf/ARM/rel-tls-le32.test vendor/lld/dist/test/old-elf/ARM/rel-v4bx.test vendor/lld/dist/test/old-elf/ARM/thm-symbols.test vendor/lld/dist/test/old-elf/ARM/two-got-for-symbol.test vendor/lld/dist/test/old-elf/ARM/undef-lazy-symbol.test vendor/lld/dist/test/old-elf/ARM/veneer-mapping.test vendor/lld/dist/test/old-elf/ARM/weak-branch.test vendor/lld/dist/test/old-elf/Hexagon/Inputs/dynobj-data.c vendor/lld/dist/test/old-elf/Hexagon/Inputs/dynobj-data.o vendor/lld/dist/test/old-elf/Hexagon/Inputs/dynobj.c vendor/lld/dist/test/old-elf/Hexagon/Inputs/dynobj.o vendor/lld/dist/test/old-elf/Hexagon/Inputs/got-plt-order.c vendor/lld/dist/test/old-elf/Hexagon/Inputs/got-plt-order.o vendor/lld/dist/test/old-elf/Hexagon/Inputs/libMaxAlignment.a vendor/lld/dist/test/old-elf/Hexagon/Inputs/sda-base.o vendor/lld/dist/test/old-elf/Hexagon/Inputs/sdata1.c vendor/lld/dist/test/old-elf/Hexagon/Inputs/sdata1.o vendor/lld/dist/test/old-elf/Hexagon/Inputs/sdata2.c vendor/lld/dist/test/old-elf/Hexagon/Inputs/sdata2.o vendor/lld/dist/test/old-elf/Hexagon/Inputs/use-shared.hexagon vendor/lld/dist/test/old-elf/Hexagon/dynlib-data.test vendor/lld/dist/test/old-elf/Hexagon/dynlib-gotoff.test vendor/lld/dist/test/old-elf/Hexagon/dynlib-hash.test vendor/lld/dist/test/old-elf/Hexagon/dynlib-rela.test vendor/lld/dist/test/old-elf/Hexagon/dynlib-syms.test vendor/lld/dist/test/old-elf/Hexagon/dynlib.test vendor/lld/dist/test/old-elf/Hexagon/hexagon-got-plt-order.test vendor/lld/dist/test/old-elf/Hexagon/hexagon-plt-setup.test vendor/lld/dist/test/old-elf/Hexagon/maxalignment.test vendor/lld/dist/test/old-elf/Hexagon/rela-order.test vendor/lld/dist/test/old-elf/Hexagon/sda-base.test vendor/lld/dist/test/old-elf/Hexagon/zerofillquick-sdata.test vendor/lld/dist/test/old-elf/Inputs/abs-test.i386 vendor/lld/dist/test/old-elf/Inputs/allowduplicates.objtxt vendor/lld/dist/test/old-elf/Inputs/bar.o.x86-64 vendor/lld/dist/test/old-elf/Inputs/branch-test.hexagon vendor/lld/dist/test/old-elf/Inputs/branch-test.ppc vendor/lld/dist/test/old-elf/Inputs/consecutive-weak-defs.o.yaml vendor/lld/dist/test/old-elf/Inputs/constants-merge.x86-64 vendor/lld/dist/test/old-elf/Inputs/constdata.x86-64 vendor/lld/dist/test/old-elf/Inputs/foo.o.x86-64 vendor/lld/dist/test/old-elf/Inputs/globalconst.c vendor/lld/dist/test/old-elf/Inputs/globalconst.o.x86-64 vendor/lld/dist/test/old-elf/Inputs/gotpcrel.S vendor/lld/dist/test/old-elf/Inputs/gotpcrel.x86-64 vendor/lld/dist/test/old-elf/Inputs/group-cmd-search-1.ls vendor/lld/dist/test/old-elf/Inputs/group-cmd-search-2.ls vendor/lld/dist/test/old-elf/Inputs/group-cmd-search-3.ls vendor/lld/dist/test/old-elf/Inputs/ifunc.S vendor/lld/dist/test/old-elf/Inputs/ifunc.cpp vendor/lld/dist/test/old-elf/Inputs/ifunc.cpp.x86-64 vendor/lld/dist/test/old-elf/Inputs/ifunc.x86-64 vendor/lld/dist/test/old-elf/Inputs/libfnarchive.a vendor/lld/dist/test/old-elf/Inputs/libifunc.x86-64.so vendor/lld/dist/test/old-elf/Inputs/libundef.so vendor/lld/dist/test/old-elf/Inputs/libweaksym.so vendor/lld/dist/test/old-elf/Inputs/main-with-global-def.o.yaml vendor/lld/dist/test/old-elf/Inputs/mainobj.x86_64 vendor/lld/dist/test/old-elf/Inputs/no-unique-section-names.x86-64 vendor/lld/dist/test/old-elf/Inputs/object-test.elf-hexagon vendor/lld/dist/test/old-elf/Inputs/object-test.elf-i386 vendor/lld/dist/test/old-elf/Inputs/phdr.i386 vendor/lld/dist/test/old-elf/Inputs/quickdata-sort-test.o.elf-hexagon vendor/lld/dist/test/old-elf/Inputs/quickdata-sortcommon-test.o.elf-hexagon vendor/lld/dist/test/old-elf/Inputs/quickdata-test.elf-hexagon vendor/lld/dist/test/old-elf/Inputs/reloc-test.elf-i386 vendor/lld/dist/test/old-elf/Inputs/reloc-xb.x86 vendor/lld/dist/test/old-elf/Inputs/reloc-xt.x86 vendor/lld/dist/test/old-elf/Inputs/relocs-dynamic.x86-64 vendor/lld/dist/test/old-elf/Inputs/relocs.x86-64 vendor/lld/dist/test/old-elf/Inputs/responsefile vendor/lld/dist/test/old-elf/Inputs/rodata-test.hexagon vendor/lld/dist/test/old-elf/Inputs/rodata-test.i386 vendor/lld/dist/test/old-elf/Inputs/rodata.c vendor/lld/dist/test/old-elf/Inputs/rodata.o vendor/lld/dist/test/old-elf/Inputs/section-test.i386 vendor/lld/dist/test/old-elf/Inputs/shared.c vendor/lld/dist/test/old-elf/Inputs/shared.so-x86-64 vendor/lld/dist/test/old-elf/Inputs/shndx.o-x86_64 vendor/lld/dist/test/old-elf/Inputs/stripped-empty.x86_64 vendor/lld/dist/test/old-elf/Inputs/target-test.hexagon vendor/lld/dist/test/old-elf/Inputs/target-test.ppc vendor/lld/dist/test/old-elf/Inputs/tls-tbss-size.yaml vendor/lld/dist/test/old-elf/Inputs/tls.S vendor/lld/dist/test/old-elf/Inputs/tls.c vendor/lld/dist/test/old-elf/Inputs/tls.x86-64 vendor/lld/dist/test/old-elf/Inputs/tlsAddr.x86-64 vendor/lld/dist/test/old-elf/Inputs/tlsaddr.c vendor/lld/dist/test/old-elf/Inputs/undef-from-main-so.c vendor/lld/dist/test/old-elf/Inputs/undef-from-main.c vendor/lld/dist/test/old-elf/Inputs/undef-pc32.o vendor/lld/dist/test/old-elf/Inputs/undef.o vendor/lld/dist/test/old-elf/Inputs/undef2-so.o.yaml vendor/lld/dist/test/old-elf/Inputs/use-shared-32s.c vendor/lld/dist/test/old-elf/Inputs/use-shared-32s.x86-64 vendor/lld/dist/test/old-elf/Inputs/use-shared.c vendor/lld/dist/test/old-elf/Inputs/use-shared.x86-64 vendor/lld/dist/test/old-elf/Inputs/weaksym.o vendor/lld/dist/test/old-elf/Inputs/writersyms.o vendor/lld/dist/test/old-elf/Inputs/x86-64-relocs.S vendor/lld/dist/test/old-elf/Mips/abi-flags-01.test vendor/lld/dist/test/old-elf/Mips/abi-flags-02.test vendor/lld/dist/test/old-elf/Mips/abi-flags-03.test vendor/lld/dist/test/old-elf/Mips/abi-flags-04.test vendor/lld/dist/test/old-elf/Mips/abi-flags-05.test vendor/lld/dist/test/old-elf/Mips/abi-flags-06.test vendor/lld/dist/test/old-elf/Mips/abi-flags-07.test vendor/lld/dist/test/old-elf/Mips/abi-flags-08.test vendor/lld/dist/test/old-elf/Mips/abi-flags-09.test vendor/lld/dist/test/old-elf/Mips/abi-flags-10.test vendor/lld/dist/test/old-elf/Mips/abi-flags-11.test vendor/lld/dist/test/old-elf/Mips/base-address-64.test vendor/lld/dist/test/old-elf/Mips/base-address.test vendor/lld/dist/test/old-elf/Mips/ctors-order.test vendor/lld/dist/test/old-elf/Mips/driver-hash-style.test vendor/lld/dist/test/old-elf/Mips/dt-textrel-64.test vendor/lld/dist/test/old-elf/Mips/dt-textrel.test vendor/lld/dist/test/old-elf/Mips/dynamic-linking.test vendor/lld/dist/test/old-elf/Mips/dynamic-sym.test vendor/lld/dist/test/old-elf/Mips/dynlib-dynamic.test vendor/lld/dist/test/old-elf/Mips/dynlib-dynsym-micro.test vendor/lld/dist/test/old-elf/Mips/dynlib-dynsym.test vendor/lld/dist/test/old-elf/Mips/dynlib-fileheader-64.test vendor/lld/dist/test/old-elf/Mips/dynlib-fileheader-micro-64.test vendor/lld/dist/test/old-elf/Mips/dynlib-fileheader-micro.test vendor/lld/dist/test/old-elf/Mips/dynlib-fileheader.test vendor/lld/dist/test/old-elf/Mips/dynsym-table-1.test vendor/lld/dist/test/old-elf/Mips/dynsym-table-2.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-1-64.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-1.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-10.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-11.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-12.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-2-64.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-2.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-3-64.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-3.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-4-64.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-4.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-5-64.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-5.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-6-64.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-6.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-7-64.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-7.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-8.test vendor/lld/dist/test/old-elf/Mips/e-flags-merge-9.test vendor/lld/dist/test/old-elf/Mips/entry-name.test vendor/lld/dist/test/old-elf/Mips/exe-dynamic.test vendor/lld/dist/test/old-elf/Mips/exe-dynsym-micro.test vendor/lld/dist/test/old-elf/Mips/exe-dynsym.test vendor/lld/dist/test/old-elf/Mips/exe-fileheader-02.test vendor/lld/dist/test/old-elf/Mips/exe-fileheader-03.test vendor/lld/dist/test/old-elf/Mips/exe-fileheader-64.test vendor/lld/dist/test/old-elf/Mips/exe-fileheader-be-64.test vendor/lld/dist/test/old-elf/Mips/exe-fileheader-be.test vendor/lld/dist/test/old-elf/Mips/exe-fileheader-micro-64.test vendor/lld/dist/test/old-elf/Mips/exe-fileheader-micro.test vendor/lld/dist/test/old-elf/Mips/exe-fileheader-n32.test vendor/lld/dist/test/old-elf/Mips/exe-fileheader.test vendor/lld/dist/test/old-elf/Mips/exe-got-micro.test vendor/lld/dist/test/old-elf/Mips/exe-got.test vendor/lld/dist/test/old-elf/Mips/got-page-32-micro.test vendor/lld/dist/test/old-elf/Mips/got-page-32.test vendor/lld/dist/test/old-elf/Mips/got-page-64-micro.test vendor/lld/dist/test/old-elf/Mips/got-page-64.test vendor/lld/dist/test/old-elf/Mips/got16-2.test vendor/lld/dist/test/old-elf/Mips/got16-micro.test vendor/lld/dist/test/old-elf/Mips/got16.test vendor/lld/dist/test/old-elf/Mips/gotsym.test vendor/lld/dist/test/old-elf/Mips/gp-sym-1-micro.test vendor/lld/dist/test/old-elf/Mips/gp-sym-1.test vendor/lld/dist/test/old-elf/Mips/gp-sym-2.test vendor/lld/dist/test/old-elf/Mips/hilo16-1.test vendor/lld/dist/test/old-elf/Mips/hilo16-2.test vendor/lld/dist/test/old-elf/Mips/hilo16-3-overflow.test vendor/lld/dist/test/old-elf/Mips/hilo16-3.test vendor/lld/dist/test/old-elf/Mips/hilo16-4.test vendor/lld/dist/test/old-elf/Mips/hilo16-5.test vendor/lld/dist/test/old-elf/Mips/hilo16-8-micro.test vendor/lld/dist/test/old-elf/Mips/hilo16-9-micro.test vendor/lld/dist/test/old-elf/Mips/initfini-micro.test vendor/lld/dist/test/old-elf/Mips/interpreter-64.test vendor/lld/dist/test/old-elf/Mips/interpreter-n32.test vendor/lld/dist/test/old-elf/Mips/interpreter.test vendor/lld/dist/test/old-elf/Mips/invalid-reginfo.test vendor/lld/dist/test/old-elf/Mips/jalx-align-err.test vendor/lld/dist/test/old-elf/Mips/jalx-jalr.test vendor/lld/dist/test/old-elf/Mips/jalx.test vendor/lld/dist/test/old-elf/Mips/jump-fix-err.test vendor/lld/dist/test/old-elf/Mips/la25-stub-be.test vendor/lld/dist/test/old-elf/Mips/la25-stub-micro-be.test vendor/lld/dist/test/old-elf/Mips/la25-stub-micro.test vendor/lld/dist/test/old-elf/Mips/la25-stub-npic-01.test vendor/lld/dist/test/old-elf/Mips/la25-stub-npic-02.test vendor/lld/dist/test/old-elf/Mips/la25-stub-npic-shared.test vendor/lld/dist/test/old-elf/Mips/la25-stub-pic.test vendor/lld/dist/test/old-elf/Mips/la25-stub.test vendor/lld/dist/test/old-elf/Mips/mips-options-01.test vendor/lld/dist/test/old-elf/Mips/mips-options-02.test vendor/lld/dist/test/old-elf/Mips/mips-options-03.test vendor/lld/dist/test/old-elf/Mips/mips-options-04.test vendor/lld/dist/test/old-elf/Mips/mips-options-05.test vendor/lld/dist/test/old-elf/Mips/mips-options-gp0.test vendor/lld/dist/test/old-elf/Mips/n32-rela-chain.test vendor/lld/dist/test/old-elf/Mips/n64-rel-chain.test vendor/lld/dist/test/old-elf/Mips/n64-rel-shift.test vendor/lld/dist/test/old-elf/Mips/opt-emulation.test vendor/lld/dist/test/old-elf/Mips/pc23-range.test vendor/lld/dist/test/old-elf/Mips/plt-entry-mixed-1.test vendor/lld/dist/test/old-elf/Mips/plt-entry-mixed-2.test vendor/lld/dist/test/old-elf/Mips/plt-entry-mixed-3.test vendor/lld/dist/test/old-elf/Mips/plt-entry-mixed-4.test vendor/lld/dist/test/old-elf/Mips/plt-entry-r6-be.test vendor/lld/dist/test/old-elf/Mips/plt-entry-r6.test vendor/lld/dist/test/old-elf/Mips/plt-header-be.test vendor/lld/dist/test/old-elf/Mips/plt-header-micro-be.test vendor/lld/dist/test/old-elf/Mips/plt-header-micro.test vendor/lld/dist/test/old-elf/Mips/plt-header-mixed.test vendor/lld/dist/test/old-elf/Mips/plt-header.test vendor/lld/dist/test/old-elf/Mips/r26-1-micro.test vendor/lld/dist/test/old-elf/Mips/r26-1.test vendor/lld/dist/test/old-elf/Mips/r26-2-micro.test vendor/lld/dist/test/old-elf/Mips/r26-2.test vendor/lld/dist/test/old-elf/Mips/reginfo-01.test vendor/lld/dist/test/old-elf/Mips/reginfo-02.test vendor/lld/dist/test/old-elf/Mips/reginfo-03.test vendor/lld/dist/test/old-elf/Mips/reginfo-04.test vendor/lld/dist/test/old-elf/Mips/reginfo-05.test vendor/lld/dist/test/old-elf/Mips/rel-16-overflow.test vendor/lld/dist/test/old-elf/Mips/rel-16.test vendor/lld/dist/test/old-elf/Mips/rel-32-be.test vendor/lld/dist/test/old-elf/Mips/rel-32.test vendor/lld/dist/test/old-elf/Mips/rel-64.test vendor/lld/dist/test/old-elf/Mips/rel-call-hilo-01.test vendor/lld/dist/test/old-elf/Mips/rel-call-hilo-micro.test vendor/lld/dist/test/old-elf/Mips/rel-copy-micro.test vendor/lld/dist/test/old-elf/Mips/rel-copy-pc.test vendor/lld/dist/test/old-elf/Mips/rel-copy.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-01-micro.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-01.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-02.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-03-micro.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-03.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-04-micro.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-04.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-05-micro.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-05.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-06-64.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-06.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-07-64.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-07.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-08-64.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-08-micro.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-08.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-09-micro.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-09.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-10-micro.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-10.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-11.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-12.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-13.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-14.test vendor/lld/dist/test/old-elf/Mips/rel-dynamic-15.test vendor/lld/dist/test/old-elf/Mips/rel-eh-01.test vendor/lld/dist/test/old-elf/Mips/rel-eh-02.test vendor/lld/dist/test/old-elf/Mips/rel-eh-03.test vendor/lld/dist/test/old-elf/Mips/rel-got-hilo-01.test vendor/lld/dist/test/old-elf/Mips/rel-got-hilo-micro.test vendor/lld/dist/test/old-elf/Mips/rel-gprel16-micro-overflow.test vendor/lld/dist/test/old-elf/Mips/rel-gprel16-micro.test vendor/lld/dist/test/old-elf/Mips/rel-gprel16-overflow.test vendor/lld/dist/test/old-elf/Mips/rel-gprel16.test vendor/lld/dist/test/old-elf/Mips/rel-gprel32-64.test vendor/lld/dist/test/old-elf/Mips/rel-gprel32.test vendor/lld/dist/test/old-elf/Mips/rel-gprel7-micro-overflow.test vendor/lld/dist/test/old-elf/Mips/rel-gprel7-micro.test vendor/lld/dist/test/old-elf/Mips/rel-hi0-lo16-micro.test vendor/lld/dist/test/old-elf/Mips/rel-high-01.test vendor/lld/dist/test/old-elf/Mips/rel-high-02.test vendor/lld/dist/test/old-elf/Mips/rel-jalr-01.test vendor/lld/dist/test/old-elf/Mips/rel-jalr-02.test vendor/lld/dist/test/old-elf/Mips/rel-lit-micro.test vendor/lld/dist/test/old-elf/Mips/rel-lit.test vendor/lld/dist/test/old-elf/Mips/rel-pc-hilo.test vendor/lld/dist/test/old-elf/Mips/rel-pc16-align.test vendor/lld/dist/test/old-elf/Mips/rel-pc16-overflow.test vendor/lld/dist/test/old-elf/Mips/rel-pc16.test vendor/lld/dist/test/old-elf/Mips/rel-pc18-s3-align.test vendor/lld/dist/test/old-elf/Mips/rel-pc18-s3-micro.test vendor/lld/dist/test/old-elf/Mips/rel-pc18-s3.test vendor/lld/dist/test/old-elf/Mips/rel-pc19-s2-align.test vendor/lld/dist/test/old-elf/Mips/rel-pc19-s2-micro.test vendor/lld/dist/test/old-elf/Mips/rel-pc19-s2.test vendor/lld/dist/test/old-elf/Mips/rel-pc21-s2-align.test vendor/lld/dist/test/old-elf/Mips/rel-pc21-s2-micro.test vendor/lld/dist/test/old-elf/Mips/rel-pc21-s2-overflow.test vendor/lld/dist/test/old-elf/Mips/rel-pc21-s2.test vendor/lld/dist/test/old-elf/Mips/rel-pc26-s2-align.test vendor/lld/dist/test/old-elf/Mips/rel-pc26-s2-micro.test vendor/lld/dist/test/old-elf/Mips/rel-pc26-s2.test vendor/lld/dist/test/old-elf/Mips/rel-pc32.test vendor/lld/dist/test/old-elf/Mips/rel-pc7-10-16-23.test vendor/lld/dist/test/old-elf/Mips/rel-sub-micro.test vendor/lld/dist/test/old-elf/Mips/rel-sub.test vendor/lld/dist/test/old-elf/Mips/rld_map.test vendor/lld/dist/test/old-elf/Mips/sign-rela.test vendor/lld/dist/test/old-elf/Mips/st-other.test vendor/lld/dist/test/old-elf/Mips/static-01.test vendor/lld/dist/test/old-elf/Mips/tls-1-micro.test vendor/lld/dist/test/old-elf/Mips/tls-1.test vendor/lld/dist/test/old-elf/Mips/tls-2-64-static.test vendor/lld/dist/test/old-elf/Mips/tls-2-64.test vendor/lld/dist/test/old-elf/Mips/tls-2-micro.test vendor/lld/dist/test/old-elf/Mips/tls-2-static.test vendor/lld/dist/test/old-elf/Mips/tls-2.test vendor/lld/dist/test/old-elf/Mips/tls-3-64-static.test vendor/lld/dist/test/old-elf/Mips/tls-3-micro.test vendor/lld/dist/test/old-elf/Mips/tls-3-static.test vendor/lld/dist/test/old-elf/Mips/tls-3.test vendor/lld/dist/test/old-elf/Mips/tls-4-64-static.test vendor/lld/dist/test/old-elf/Mips/tls-4-micro.test vendor/lld/dist/test/old-elf/Mips/tls-4-static.test vendor/lld/dist/test/old-elf/Mips/tls-4.test vendor/lld/dist/test/old-elf/Mips/tls-5-64.test vendor/lld/dist/test/old-elf/Mips/tls-5-micro.test vendor/lld/dist/test/old-elf/Mips/tls-5.test vendor/lld/dist/test/old-elf/Mips/validate-rel-01.test vendor/lld/dist/test/old-elf/Mips/validate-rel-03.test vendor/lld/dist/test/old-elf/X86_64/ExampleTarget/triple.test vendor/lld/dist/test/old-elf/X86_64/Inputs/constint.c vendor/lld/dist/test/old-elf/X86_64/Inputs/constint.o vendor/lld/dist/test/old-elf/X86_64/Inputs/debug0.c vendor/lld/dist/test/old-elf/X86_64/Inputs/debug0.x86-64 vendor/lld/dist/test/old-elf/X86_64/Inputs/debug1.c vendor/lld/dist/test/old-elf/X86_64/Inputs/debug1.x86-64 vendor/lld/dist/test/old-elf/X86_64/Inputs/externtls.c vendor/lld/dist/test/old-elf/X86_64/Inputs/externtls.x86-64 vendor/lld/dist/test/old-elf/X86_64/Inputs/fn.c vendor/lld/dist/test/old-elf/X86_64/Inputs/fn.o vendor/lld/dist/test/old-elf/X86_64/Inputs/generaltls-so.o.yaml vendor/lld/dist/test/old-elf/X86_64/Inputs/group/1.c vendor/lld/dist/test/old-elf/X86_64/Inputs/group/1.o vendor/lld/dist/test/old-elf/X86_64/Inputs/group/fn.c vendor/lld/dist/test/old-elf/X86_64/Inputs/group/fn.o vendor/lld/dist/test/old-elf/X86_64/Inputs/group/fn1.c vendor/lld/dist/test/old-elf/X86_64/Inputs/group/fn1.o vendor/lld/dist/test/old-elf/X86_64/Inputs/group/fn2.c vendor/lld/dist/test/old-elf/X86_64/Inputs/group/fn2.o vendor/lld/dist/test/old-elf/X86_64/Inputs/group/group.sh vendor/lld/dist/test/old-elf/X86_64/Inputs/group/libfn.a vendor/lld/dist/test/old-elf/X86_64/Inputs/group/libfn.so vendor/lld/dist/test/old-elf/X86_64/Inputs/group/libfn1.a vendor/lld/dist/test/old-elf/X86_64/Inputs/group/libfn2.so vendor/lld/dist/test/old-elf/X86_64/Inputs/initfini-option.c vendor/lld/dist/test/old-elf/X86_64/Inputs/initfini-option.o vendor/lld/dist/test/old-elf/X86_64/Inputs/initfini.c vendor/lld/dist/test/old-elf/X86_64/Inputs/initfini.o vendor/lld/dist/test/old-elf/X86_64/Inputs/largebss.c vendor/lld/dist/test/old-elf/X86_64/Inputs/largebss.o vendor/lld/dist/test/old-elf/X86_64/Inputs/layoutpass/1.c vendor/lld/dist/test/old-elf/X86_64/Inputs/layoutpass/1.o vendor/lld/dist/test/old-elf/X86_64/Inputs/layoutpass/2.c vendor/lld/dist/test/old-elf/X86_64/Inputs/layoutpass/2.o vendor/lld/dist/test/old-elf/X86_64/Inputs/layoutpass/3.c vendor/lld/dist/test/old-elf/X86_64/Inputs/layoutpass/3.o vendor/lld/dist/test/old-elf/X86_64/Inputs/layoutpass/lib2.a vendor/lld/dist/test/old-elf/X86_64/Inputs/libfn.a vendor/lld/dist/test/old-elf/X86_64/Inputs/libfn.so vendor/lld/dist/test/old-elf/X86_64/Inputs/main.c vendor/lld/dist/test/old-elf/X86_64/Inputs/main.o vendor/lld/dist/test/old-elf/X86_64/Inputs/multi-ovrd.c vendor/lld/dist/test/old-elf/X86_64/Inputs/multi-ovrd.o vendor/lld/dist/test/old-elf/X86_64/Inputs/multi-weak.c vendor/lld/dist/test/old-elf/X86_64/Inputs/multi-weak.o vendor/lld/dist/test/old-elf/X86_64/Inputs/multiweaksyms.o vendor/lld/dist/test/old-elf/X86_64/Inputs/nmagic.c vendor/lld/dist/test/old-elf/X86_64/Inputs/nmagic.o vendor/lld/dist/test/old-elf/X86_64/Inputs/no-interp-section.c vendor/lld/dist/test/old-elf/X86_64/Inputs/no-interp-section.o vendor/lld/dist/test/old-elf/X86_64/Inputs/note.o vendor/lld/dist/test/old-elf/X86_64/Inputs/note.s vendor/lld/dist/test/old-elf/X86_64/Inputs/note_ro_rw.o vendor/lld/dist/test/old-elf/X86_64/Inputs/note_ro_rw.s vendor/lld/dist/test/old-elf/X86_64/Inputs/ovrd.c vendor/lld/dist/test/old-elf/X86_64/Inputs/ovrd.o vendor/lld/dist/test/old-elf/X86_64/Inputs/rodata.c vendor/lld/dist/test/old-elf/X86_64/Inputs/rodata.o vendor/lld/dist/test/old-elf/X86_64/Inputs/rodata.s vendor/lld/dist/test/old-elf/X86_64/Inputs/rwint.c vendor/lld/dist/test/old-elf/X86_64/Inputs/rwint.o vendor/lld/dist/test/old-elf/X86_64/Inputs/sectionmap.c vendor/lld/dist/test/old-elf/X86_64/Inputs/sectionmap.o vendor/lld/dist/test/old-elf/X86_64/Inputs/undefcpp.c vendor/lld/dist/test/old-elf/X86_64/Inputs/undefcpp.o vendor/lld/dist/test/old-elf/X86_64/Inputs/weak-zero-sized.o vendor/lld/dist/test/old-elf/X86_64/Inputs/weak.c vendor/lld/dist/test/old-elf/X86_64/Inputs/weak.o vendor/lld/dist/test/old-elf/X86_64/Inputs/weak.s vendor/lld/dist/test/old-elf/X86_64/Inputs/zerosizedsection.o vendor/lld/dist/test/old-elf/X86_64/Inputs/zerosizedsection.s vendor/lld/dist/test/old-elf/X86_64/alignoffset.test vendor/lld/dist/test/old-elf/X86_64/debug.test vendor/lld/dist/test/old-elf/X86_64/defsym.test vendor/lld/dist/test/old-elf/X86_64/demangle.test vendor/lld/dist/test/old-elf/X86_64/dontignorezerosize-sections.test vendor/lld/dist/test/old-elf/X86_64/dynamicvars.test vendor/lld/dist/test/old-elf/X86_64/dynlib-nointerp-section.test vendor/lld/dist/test/old-elf/X86_64/dynlib-search.test vendor/lld/dist/test/old-elf/X86_64/dynsym-weak.test vendor/lld/dist/test/old-elf/X86_64/extern-tls.test vendor/lld/dist/test/old-elf/X86_64/general-dynamic-tls.test vendor/lld/dist/test/old-elf/X86_64/imagebase.test vendor/lld/dist/test/old-elf/X86_64/initfini-order.test vendor/lld/dist/test/old-elf/X86_64/initfini.test vendor/lld/dist/test/old-elf/X86_64/largebss.test vendor/lld/dist/test/old-elf/X86_64/layoutpass-order.test vendor/lld/dist/test/old-elf/X86_64/maxpagesize.test vendor/lld/dist/test/old-elf/X86_64/mergesimilarstrings.test vendor/lld/dist/test/old-elf/X86_64/multi-weak-layout.test vendor/lld/dist/test/old-elf/X86_64/multi-weak-override.test vendor/lld/dist/test/old-elf/X86_64/multi-weak-syms-order.test vendor/lld/dist/test/old-elf/X86_64/nmagic.test vendor/lld/dist/test/old-elf/X86_64/noalignsegments.test vendor/lld/dist/test/old-elf/X86_64/note-sections-ro_plus_rw.test vendor/lld/dist/test/old-elf/X86_64/note-sections.test vendor/lld/dist/test/old-elf/X86_64/omagic.test vendor/lld/dist/test/old-elf/X86_64/outputsegments.test vendor/lld/dist/test/old-elf/X86_64/reloc_r_x86_64_16.test vendor/lld/dist/test/old-elf/X86_64/reloc_r_x86_64_pc16.test vendor/lld/dist/test/old-elf/X86_64/reloc_r_x86_64_pc64.test vendor/lld/dist/test/old-elf/X86_64/rodata.test vendor/lld/dist/test/old-elf/X86_64/sectionchoice.test vendor/lld/dist/test/old-elf/X86_64/sectionmap.test vendor/lld/dist/test/old-elf/X86_64/startGroupEndGroup.test vendor/lld/dist/test/old-elf/X86_64/startGroupEndGroupWithDynlib.test vendor/lld/dist/test/old-elf/X86_64/staticlib-search.test vendor/lld/dist/test/old-elf/X86_64/undef.test vendor/lld/dist/test/old-elf/X86_64/underscore-end.test vendor/lld/dist/test/old-elf/X86_64/weak-override.test vendor/lld/dist/test/old-elf/X86_64/weak-zero-sized.test vendor/lld/dist/test/old-elf/X86_64/weaksym.test vendor/lld/dist/test/old-elf/X86_64/yamlinput.test vendor/lld/dist/test/old-elf/abs-dup.objtxt vendor/lld/dist/test/old-elf/abs.test vendor/lld/dist/test/old-elf/allowduplicates.objtxt vendor/lld/dist/test/old-elf/archive-elf-forceload.test vendor/lld/dist/test/old-elf/archive-elf.test vendor/lld/dist/test/old-elf/as-needed.test vendor/lld/dist/test/old-elf/branch.test vendor/lld/dist/test/old-elf/check.test vendor/lld/dist/test/old-elf/checkrodata.test vendor/lld/dist/test/old-elf/common.test vendor/lld/dist/test/old-elf/consecutive-weak-sym-defs.test vendor/lld/dist/test/old-elf/defsym.objtxt vendor/lld/dist/test/old-elf/discard-all.test vendor/lld/dist/test/old-elf/discard-locals.test vendor/lld/dist/test/old-elf/dynamic-segorder.test vendor/lld/dist/test/old-elf/dynamic-undef.test vendor/lld/dist/test/old-elf/dynamic.test vendor/lld/dist/test/old-elf/eh_frame_hdr.test vendor/lld/dist/test/old-elf/entry.objtxt vendor/lld/dist/test/old-elf/export-dynamic.test vendor/lld/dist/test/old-elf/filenotfound.test vendor/lld/dist/test/old-elf/gnulinkonce/gnulinkonce-report-discarded-reference.test vendor/lld/dist/test/old-elf/gnulinkonce/gnulinkonce-report-undef.test vendor/lld/dist/test/old-elf/gnulinkonce/gnulinkonce.test vendor/lld/dist/test/old-elf/gotpcrel.test vendor/lld/dist/test/old-elf/gottpoff.test vendor/lld/dist/test/old-elf/group-cmd-search.test vendor/lld/dist/test/old-elf/hexagon-quickdata-sort.test vendor/lld/dist/test/old-elf/hexagon-quickdata-sortcommon.test vendor/lld/dist/test/old-elf/ifunc.test vendor/lld/dist/test/old-elf/ignore-unknownoption.test vendor/lld/dist/test/old-elf/init_array-order.test vendor/lld/dist/test/old-elf/init_array.test vendor/lld/dist/test/old-elf/initfini-options.test-1.test vendor/lld/dist/test/old-elf/initfini-options.test-2.test vendor/lld/dist/test/old-elf/initfini-options.test-3.test vendor/lld/dist/test/old-elf/librarynotfound.test vendor/lld/dist/test/old-elf/linker-as-ld.test vendor/lld/dist/test/old-elf/linkerscript/Inputs/externs.ls vendor/lld/dist/test/old-elf/linkerscript/Inputs/invalid.ls vendor/lld/dist/test/old-elf/linkerscript/Inputs/prog1.o.yaml vendor/lld/dist/test/old-elf/linkerscript/Inputs/prog2.o.yaml vendor/lld/dist/test/old-elf/linkerscript/Inputs/prog3.o.yaml vendor/lld/dist/test/old-elf/linkerscript/Inputs/simple-pic.o.yaml vendor/lld/dist/test/old-elf/linkerscript/Inputs/simple.o.yaml vendor/lld/dist/test/old-elf/linkerscript/Inputs/valid.ls vendor/lld/dist/test/old-elf/linkerscript/externs.objtxt vendor/lld/dist/test/old-elf/linkerscript/filename-with-wildcards.test vendor/lld/dist/test/old-elf/linkerscript/invalid-script-cli-1.test vendor/lld/dist/test/old-elf/linkerscript/invalid-script-cli-2.test vendor/lld/dist/test/old-elf/linkerscript/invalid.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-all-none.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-custom-none.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-default.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-different.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-extra-program.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-flags.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-has-program.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-invalid.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-misplaced-program.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-no-program.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-one-none.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-program-flags.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-program-good-phdrs.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-program-no-phdrs.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-program-wrong-phdrs.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-same-flags.test vendor/lld/dist/test/old-elf/linkerscript/phdrs-same.test vendor/lld/dist/test/old-elf/linkerscript/phdrs/sections-empty-phdrs.script vendor/lld/dist/test/old-elf/linkerscript/phdrs/sections-no-phdrs.script vendor/lld/dist/test/old-elf/linkerscript/phdrs/sections-none-phdrs.script vendor/lld/dist/test/old-elf/linkerscript/phdrs/undef-empty-phdrs.script vendor/lld/dist/test/old-elf/linkerscript/phdrs/undef-id-phdrs.script vendor/lld/dist/test/old-elf/linkerscript/phdrs/undef-no-phdrs.script vendor/lld/dist/test/old-elf/linkerscript/sections-order.test vendor/lld/dist/test/old-elf/linkerscript/sections-with-wildcards.test vendor/lld/dist/test/old-elf/linkerscript/symbol-definition-so.test vendor/lld/dist/test/old-elf/linkerscript/symbol-definition.test vendor/lld/dist/test/old-elf/linkerscript/valid-script-cli.objtxt vendor/lld/dist/test/old-elf/loginputfiles.test vendor/lld/dist/test/old-elf/mergeatoms.test vendor/lld/dist/test/old-elf/mergeconstants.test vendor/lld/dist/test/old-elf/mergeglobalatoms.test vendor/lld/dist/test/old-elf/no-unique-section-names.test vendor/lld/dist/test/old-elf/note.test vendor/lld/dist/test/old-elf/options/dynamic-linker.test vendor/lld/dist/test/old-elf/options/target-specific-args.test vendor/lld/dist/test/old-elf/phdr.test vendor/lld/dist/test/old-elf/quickdata.test vendor/lld/dist/test/old-elf/reloc.test vendor/lld/dist/test/old-elf/responsefile.test vendor/lld/dist/test/old-elf/rodata.test vendor/lld/dist/test/old-elf/rosegment.test vendor/lld/dist/test/old-elf/sectionGroups/sectiongroup-new-members.test vendor/lld/dist/test/old-elf/sectionGroups/sectiongroup-simple.test vendor/lld/dist/test/old-elf/sectionGroups/sectiongroup-undef-member-other.test vendor/lld/dist/test/old-elf/sectionGroups/sectiongroup-undef-member.test vendor/lld/dist/test/old-elf/sectionGroups/sectiongroup-with-globalsymbols.test vendor/lld/dist/test/old-elf/sectionGroups/sectiongroup-with-undef-external-reference.test vendor/lld/dist/test/old-elf/sectionGroups/sectiongroup-with-undef-signature.test vendor/lld/dist/test/old-elf/sections.test vendor/lld/dist/test/old-elf/sh_addralign.test vendor/lld/dist/test/old-elf/shndx.test vendor/lld/dist/test/old-elf/soname.test vendor/lld/dist/test/old-elf/start-stop-sym.test vendor/lld/dist/test/old-elf/strip-all.test vendor/lld/dist/test/old-elf/stripped-empty.test vendor/lld/dist/test/old-elf/symbols.test vendor/lld/dist/test/old-elf/tls-tbss-size.test vendor/lld/dist/test/old-elf/tls.test vendor/lld/dist/test/old-elf/tlsAddr.test vendor/lld/dist/test/old-elf/undef-from-dso-to-main.test vendor/lld/dist/test/old-elf/undef-from-main-dso.test vendor/lld/dist/test/old-elf/weaksym.test vendor/lld/dist/test/old-elf/wrap.test vendor/lld/dist/test/old-elf/x86-64-dynamic-relocs.test vendor/lld/dist/test/old-elf/x86-64-dynamic.test vendor/lld/dist/test/old-elf/x86.test vendor/lld/dist/test/old-elf/x86_64-kinds.test vendor/lld/dist/test/old-elf/zoption_dtflags.test vendor/lld/dist/tools/CMakeLists.txt vendor/lld/dist/tools/linker-script-test/CMakeLists.txt vendor/lld/dist/tools/linker-script-test/linker-script-test.cpp vendor/lld/dist/tools/lld/TODO.txt vendor/lld/dist/unittests/CoreTests/RangeTest.cpp vendor/lld/dist/unittests/DriverTests/DriverTest.h vendor/lld/dist/unittests/DriverTests/GnuLdDriverTest.cpp vendor/lld/dist/unittests/DriverTests/UniversalDriverTest.cpp Modified: vendor/lld/dist/.arcconfig vendor/lld/dist/CMakeLists.txt vendor/lld/dist/COFF/CMakeLists.txt vendor/lld/dist/COFF/Chunks.cpp vendor/lld/dist/COFF/Chunks.h vendor/lld/dist/COFF/Config.h vendor/lld/dist/COFF/DLL.cpp vendor/lld/dist/COFF/Driver.cpp vendor/lld/dist/COFF/Driver.h vendor/lld/dist/COFF/DriverUtils.cpp vendor/lld/dist/COFF/Error.cpp vendor/lld/dist/COFF/Error.h vendor/lld/dist/COFF/ICF.cpp vendor/lld/dist/COFF/InputFiles.cpp vendor/lld/dist/COFF/InputFiles.h vendor/lld/dist/COFF/ModuleDef.cpp vendor/lld/dist/COFF/Options.td vendor/lld/dist/COFF/PDB.cpp vendor/lld/dist/COFF/README.md vendor/lld/dist/COFF/SymbolTable.cpp vendor/lld/dist/COFF/SymbolTable.h vendor/lld/dist/COFF/Symbols.cpp vendor/lld/dist/COFF/Symbols.h vendor/lld/dist/COFF/Writer.cpp vendor/lld/dist/ELF/CMakeLists.txt vendor/lld/dist/ELF/Config.h vendor/lld/dist/ELF/Driver.cpp vendor/lld/dist/ELF/Driver.h vendor/lld/dist/ELF/DriverUtils.cpp vendor/lld/dist/ELF/Error.cpp vendor/lld/dist/ELF/Error.h vendor/lld/dist/ELF/InputFiles.cpp vendor/lld/dist/ELF/InputFiles.h vendor/lld/dist/ELF/InputSection.cpp vendor/lld/dist/ELF/InputSection.h vendor/lld/dist/ELF/LinkerScript.cpp vendor/lld/dist/ELF/MarkLive.cpp vendor/lld/dist/ELF/Options.td vendor/lld/dist/ELF/OutputSections.cpp vendor/lld/dist/ELF/OutputSections.h vendor/lld/dist/ELF/README.md vendor/lld/dist/ELF/SymbolTable.cpp vendor/lld/dist/ELF/SymbolTable.h vendor/lld/dist/ELF/Symbols.cpp vendor/lld/dist/ELF/Symbols.h vendor/lld/dist/ELF/Target.cpp vendor/lld/dist/ELF/Target.h vendor/lld/dist/ELF/Writer.cpp vendor/lld/dist/ELF/Writer.h vendor/lld/dist/LICENSE.TXT vendor/lld/dist/docs/conf.py vendor/lld/dist/docs/design.rst vendor/lld/dist/docs/index.rst vendor/lld/dist/docs/open_projects.rst vendor/lld/dist/include/lld/Core/ArchiveLibraryFile.h vendor/lld/dist/include/lld/Core/Atom.h vendor/lld/dist/include/lld/Core/DefinedAtom.h vendor/lld/dist/include/lld/Core/Error.h vendor/lld/dist/include/lld/Core/File.h vendor/lld/dist/include/lld/Core/LLVM.h vendor/lld/dist/include/lld/Core/LinkingContext.h vendor/lld/dist/include/lld/Core/Node.h vendor/lld/dist/include/lld/Core/Parallel.h vendor/lld/dist/include/lld/Core/Pass.h vendor/lld/dist/include/lld/Core/PassManager.h vendor/lld/dist/include/lld/Core/Reader.h vendor/lld/dist/include/lld/Core/Reference.h vendor/lld/dist/include/lld/Core/Resolver.h vendor/lld/dist/include/lld/Core/SharedLibraryAtom.h vendor/lld/dist/include/lld/Core/SharedLibraryFile.h vendor/lld/dist/include/lld/Core/Simple.h vendor/lld/dist/include/lld/Core/SymbolTable.h vendor/lld/dist/include/lld/Core/UndefinedAtom.h vendor/lld/dist/include/lld/Core/Writer.h vendor/lld/dist/include/lld/Driver/Driver.h vendor/lld/dist/include/lld/ReaderWriter/MachOLinkingContext.h vendor/lld/dist/lib/Config/Version.cpp vendor/lld/dist/lib/Core/DefinedAtom.cpp vendor/lld/dist/lib/Core/Error.cpp vendor/lld/dist/lib/Core/File.cpp vendor/lld/dist/lib/Core/LinkingContext.cpp vendor/lld/dist/lib/Core/Reader.cpp vendor/lld/dist/lib/Core/Resolver.cpp vendor/lld/dist/lib/Core/SymbolTable.cpp vendor/lld/dist/lib/Driver/CMakeLists.txt vendor/lld/dist/lib/Driver/DarwinLdDriver.cpp vendor/lld/dist/lib/Driver/DarwinLdOptions.td vendor/lld/dist/lib/ReaderWriter/CMakeLists.txt vendor/lld/dist/lib/ReaderWriter/FileArchive.cpp vendor/lld/dist/lib/ReaderWriter/MachO/ArchHandler.h vendor/lld/dist/lib/ReaderWriter/MachO/ArchHandler_arm.cpp vendor/lld/dist/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp vendor/lld/dist/lib/ReaderWriter/MachO/ArchHandler_x86.cpp vendor/lld/dist/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp vendor/lld/dist/lib/ReaderWriter/MachO/Atoms.h vendor/lld/dist/lib/ReaderWriter/MachO/CMakeLists.txt vendor/lld/dist/lib/ReaderWriter/MachO/CompactUnwindPass.cpp vendor/lld/dist/lib/ReaderWriter/MachO/ExecutableAtoms.h vendor/lld/dist/lib/ReaderWriter/MachO/File.h vendor/lld/dist/lib/ReaderWriter/MachO/FlatNamespaceFile.h vendor/lld/dist/lib/ReaderWriter/MachO/GOTPass.cpp vendor/lld/dist/lib/ReaderWriter/MachO/LayoutPass.cpp vendor/lld/dist/lib/ReaderWriter/MachO/LayoutPass.h vendor/lld/dist/lib/ReaderWriter/MachO/MachOLinkingContext.cpp vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFile.h vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileBinaryUtils.h vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp vendor/lld/dist/lib/ReaderWriter/MachO/MachOPasses.h vendor/lld/dist/lib/ReaderWriter/MachO/SectCreateFile.h vendor/lld/dist/lib/ReaderWriter/MachO/ShimPass.cpp vendor/lld/dist/lib/ReaderWriter/MachO/StubsPass.cpp vendor/lld/dist/lib/ReaderWriter/MachO/TLVPass.cpp vendor/lld/dist/lib/ReaderWriter/MachO/WriterMachO.cpp vendor/lld/dist/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp vendor/lld/dist/test/CMakeLists.txt vendor/lld/dist/test/COFF/Inputs/armnt-executable.obj.yaml vendor/lld/dist/test/COFF/Inputs/export.yaml vendor/lld/dist/test/COFF/Inputs/export2.yaml vendor/lld/dist/test/COFF/Inputs/hello32.yaml vendor/lld/dist/test/COFF/Inputs/import.yaml vendor/lld/dist/test/COFF/Inputs/include1a.yaml vendor/lld/dist/test/COFF/Inputs/include1b.yaml vendor/lld/dist/test/COFF/Inputs/include1c.yaml vendor/lld/dist/test/COFF/Inputs/machine-x64.yaml vendor/lld/dist/test/COFF/Inputs/machine-x86.yaml vendor/lld/dist/test/COFF/Inputs/ret42.yaml vendor/lld/dist/test/COFF/alternatename.test vendor/lld/dist/test/COFF/ar-comdat.test vendor/lld/dist/test/COFF/armnt-blx23t.test vendor/lld/dist/test/COFF/armnt-branch24t.test vendor/lld/dist/test/COFF/armnt-imports.test vendor/lld/dist/test/COFF/armnt-mov32t-exec.test vendor/lld/dist/test/COFF/armnt-movt32t.test vendor/lld/dist/test/COFF/base.test vendor/lld/dist/test/COFF/baserel.test vendor/lld/dist/test/COFF/common.test vendor/lld/dist/test/COFF/conflict.test vendor/lld/dist/test/COFF/debug.test vendor/lld/dist/test/COFF/entry-inference.test vendor/lld/dist/test/COFF/entry-inference2.test vendor/lld/dist/test/COFF/entry-inference32.test vendor/lld/dist/test/COFF/entry-mangled.test vendor/lld/dist/test/COFF/export32.test vendor/lld/dist/test/COFF/force.test vendor/lld/dist/test/COFF/icf-circular.test vendor/lld/dist/test/COFF/icf-circular2.test vendor/lld/dist/test/COFF/icf-different-align.test vendor/lld/dist/test/COFF/icf-local.test vendor/lld/dist/test/COFF/icf-simple.test vendor/lld/dist/test/COFF/imports-mangle.test vendor/lld/dist/test/COFF/include.test vendor/lld/dist/test/COFF/internal.test vendor/lld/dist/test/COFF/invalid-obj.test vendor/lld/dist/test/COFF/loadcfg.ll vendor/lld/dist/test/COFF/loadcfg.test vendor/lld/dist/test/COFF/loadcfg32.test vendor/lld/dist/test/COFF/locally-imported.test vendor/lld/dist/test/COFF/locally-imported32.test vendor/lld/dist/test/COFF/long-section-name.test vendor/lld/dist/test/COFF/merge.test vendor/lld/dist/test/COFF/opt.test vendor/lld/dist/test/COFF/out.test vendor/lld/dist/test/COFF/reloc-arm.test vendor/lld/dist/test/COFF/reloc-x64.test vendor/lld/dist/test/COFF/reloc-x86.test vendor/lld/dist/test/COFF/safeseh.test vendor/lld/dist/test/COFF/seh.test vendor/lld/dist/test/COFF/sort-debug.test vendor/lld/dist/test/COFF/subsystem-inference.test vendor/lld/dist/test/COFF/symtab.test vendor/lld/dist/test/COFF/tls.test vendor/lld/dist/test/COFF/tls32.test vendor/lld/dist/test/COFF/unwind.test vendor/lld/dist/test/COFF/weak-external.test vendor/lld/dist/test/COFF/weak-external2.test vendor/lld/dist/test/COFF/weak-external3.test vendor/lld/dist/test/ELF/Inputs/allow-shlib-undefined.s vendor/lld/dist/test/ELF/Inputs/archive.s vendor/lld/dist/test/ELF/Inputs/libsearch-dyn.s vendor/lld/dist/test/ELF/Inputs/libsearch-st.s vendor/lld/dist/test/ELF/Inputs/mips-dynamic.s vendor/lld/dist/test/ELF/Inputs/mips-gp-disp.so vendor/lld/dist/test/ELF/Inputs/shared.s vendor/lld/dist/test/ELF/Inputs/visibility.s vendor/lld/dist/test/ELF/Inputs/whole-archive.s vendor/lld/dist/test/ELF/aarch64-copy.s vendor/lld/dist/test/ELF/aarch64-fpic-abs16.s vendor/lld/dist/test/ELF/aarch64-fpic-add_abs_lo12_nc.s vendor/lld/dist/test/ELF/aarch64-fpic-adr_prel_lo21.s vendor/lld/dist/test/ELF/aarch64-fpic-adr_prel_pg_hi21.s vendor/lld/dist/test/ELF/aarch64-fpic-ldst32_abs_lo12_nc.s vendor/lld/dist/test/ELF/aarch64-fpic-ldst64_abs_lo12_nc.s vendor/lld/dist/test/ELF/aarch64-fpic-ldst8_abs_lo12_nc.s vendor/lld/dist/test/ELF/aarch64-fpic-prel16.s vendor/lld/dist/test/ELF/aarch64-fpic-prel32.s vendor/lld/dist/test/ELF/aarch64-fpic-prel64.s vendor/lld/dist/test/ELF/aarch64-gnu-ifunc-nosym.s vendor/lld/dist/test/ELF/aarch64-gnu-ifunc.s vendor/lld/dist/test/ELF/aarch64-relocs.s vendor/lld/dist/test/ELF/aarch64-tls-ie.s vendor/lld/dist/test/ELF/allow-shlib-undefined.s vendor/lld/dist/test/ELF/amdgpu-entry.s vendor/lld/dist/test/ELF/amdgpu-globals.s vendor/lld/dist/test/ELF/amdgpu-kernels.s vendor/lld/dist/test/ELF/archive.s vendor/lld/dist/test/ELF/as-needed.s vendor/lld/dist/test/ELF/basic-aarch64.s vendor/lld/dist/test/ELF/basic-mips.s vendor/lld/dist/test/ELF/basic-ppc.s vendor/lld/dist/test/ELF/basic.s vendor/lld/dist/test/ELF/basic32.s vendor/lld/dist/test/ELF/basic64be.s vendor/lld/dist/test/ELF/comdat.s vendor/lld/dist/test/ELF/common.s vendor/lld/dist/test/ELF/default-output.s vendor/lld/dist/test/ELF/discard-merge-locals.s vendor/lld/dist/test/ELF/discard-merge-unnamed.s vendor/lld/dist/test/ELF/discard-none.s vendor/lld/dist/test/ELF/duplicate-internal.s vendor/lld/dist/test/ELF/dynamic-reloc-weak.s vendor/lld/dist/test/ELF/dynamic-reloc.s vendor/lld/dist/test/ELF/eh-frame-merge.s vendor/lld/dist/test/ELF/eh-frame-type.test vendor/lld/dist/test/ELF/ehframe-relocation.s vendor/lld/dist/test/ELF/emulation.s vendor/lld/dist/test/ELF/end.s vendor/lld/dist/test/ELF/entry.s vendor/lld/dist/test/ELF/gc-sections-eh.s vendor/lld/dist/test/ELF/gnu-ifunc-i386.s vendor/lld/dist/test/ELF/gnu-ifunc-nosym-i386.s vendor/lld/dist/test/ELF/gnu-ifunc-nosym.s vendor/lld/dist/test/ELF/gnu-ifunc.s vendor/lld/dist/test/ELF/gnu-unique.s vendor/lld/dist/test/ELF/incompatible.s vendor/lld/dist/test/ELF/init-fini.s vendor/lld/dist/test/ELF/invalid-cie-length.s vendor/lld/dist/test/ELF/invalid-cie-length3.s vendor/lld/dist/test/ELF/invalid-cie-length4.s vendor/lld/dist/test/ELF/invalid-cie-length5.s vendor/lld/dist/test/ELF/invalid-cie-reference.s vendor/lld/dist/test/ELF/invalid-elf.test vendor/lld/dist/test/ELF/invalid-relocations.test vendor/lld/dist/test/ELF/libsearch.s vendor/lld/dist/test/ELF/linkerscript-sections.s vendor/lld/dist/test/ELF/linkerscript.s vendor/lld/dist/test/ELF/linkerscript2.s vendor/lld/dist/test/ELF/lit.local.cfg vendor/lld/dist/test/ELF/local-dynamic.s vendor/lld/dist/test/ELF/merge-shared.s vendor/lld/dist/test/ELF/merge-string-align.s vendor/lld/dist/test/ELF/merge-string-error.s vendor/lld/dist/test/ELF/merge-string-no-null.s vendor/lld/dist/test/ELF/merge-string.s vendor/lld/dist/test/ELF/merge.s vendor/lld/dist/test/ELF/mips-dynamic.s vendor/lld/dist/test/ELF/mips-gnu-hash.s vendor/lld/dist/test/ELF/mips-got-relocs.s vendor/lld/dist/test/ELF/mips-gp-disp.s vendor/lld/dist/test/ELF/mips-gprel32-relocs.s vendor/lld/dist/test/ELF/mips-hilo-gp-disp.s vendor/lld/dist/test/ELF/mips-hilo-hi-only.s vendor/lld/dist/test/ELF/mips-hilo.s vendor/lld/dist/test/ELF/mips-jalr.test vendor/lld/dist/test/ELF/mips-pc-relocs.s vendor/lld/dist/test/ELF/no-inhibit-exec.s vendor/lld/dist/test/ELF/no-undefined.s vendor/lld/dist/test/ELF/plt-aarch64.s vendor/lld/dist/test/ELF/plt-i686.s vendor/lld/dist/test/ELF/plt.s vendor/lld/dist/test/ELF/ppc64-addr16-error.s vendor/lld/dist/test/ELF/ppc64-relocs.s vendor/lld/dist/test/ELF/ppc64-toc-restore.s vendor/lld/dist/test/ELF/pre_init_fini_array.s vendor/lld/dist/test/ELF/progname.s vendor/lld/dist/test/ELF/relative-dynamic-reloc-ppc64.s vendor/lld/dist/test/ELF/relative-dynamic-reloc.s vendor/lld/dist/test/ELF/relocatable.s vendor/lld/dist/test/ELF/relocation-copy-i686.s vendor/lld/dist/test/ELF/relocation-copy.s vendor/lld/dist/test/ELF/relocation-i686.s vendor/lld/dist/test/ELF/relocation-in-merge.s vendor/lld/dist/test/ELF/relocation-past-merge-end.s vendor/lld/dist/test/ELF/relocation-size-shared.s vendor/lld/dist/test/ELF/relocation-size.s vendor/lld/dist/test/ELF/relocation.s vendor/lld/dist/test/ELF/relro.s vendor/lld/dist/test/ELF/resolution.s vendor/lld/dist/test/ELF/section-align-0.test vendor/lld/dist/test/ELF/section-name.s vendor/lld/dist/test/ELF/section-symbol.s vendor/lld/dist/test/ELF/shared-be.s vendor/lld/dist/test/ELF/shared.s vendor/lld/dist/test/ELF/soname.s vendor/lld/dist/test/ELF/startstop-shared.s vendor/lld/dist/test/ELF/startstop.s vendor/lld/dist/test/ELF/string-table.s vendor/lld/dist/test/ELF/strip-all.s vendor/lld/dist/test/ELF/symbols.s vendor/lld/dist/test/ELF/sysroot.s vendor/lld/dist/test/ELF/tls-dynamic-i686.s vendor/lld/dist/test/ELF/tls-dynamic.s vendor/lld/dist/test/ELF/tls-got.s vendor/lld/dist/test/ELF/tls-i686.s vendor/lld/dist/test/ELF/tls-opt-gdie.s vendor/lld/dist/test/ELF/tls-opt-iele-i686-nopic.s vendor/lld/dist/test/ELF/tls-opt.s vendor/lld/dist/test/ELF/undef.s vendor/lld/dist/test/ELF/undefined-opt.s vendor/lld/dist/test/ELF/visibility.s vendor/lld/dist/test/ELF/whole-archive.s vendor/lld/dist/test/ELF/writable-merge.s vendor/lld/dist/test/Unit/lit.site.cfg.in vendor/lld/dist/test/lit.cfg vendor/lld/dist/test/lit.site.cfg.in vendor/lld/dist/test/mach-o/arm-interworking-movw.yaml vendor/lld/dist/test/mach-o/arm64-relocs-errors-delta64-offset.yaml vendor/lld/dist/test/mach-o/dependency_info.yaml vendor/lld/dist/test/mach-o/do-not-emit-unwind-fde-arm64.yaml vendor/lld/dist/test/mach-o/dso_handle.yaml vendor/lld/dist/test/mach-o/hello-world-x86_64.yaml vendor/lld/dist/test/mach-o/interposing-section.yaml vendor/lld/dist/test/mach-o/lazy-bind-x86_64.yaml vendor/lld/dist/test/mach-o/mh_bundle_header.yaml vendor/lld/dist/test/mach-o/mh_dylib_header.yaml vendor/lld/dist/test/mach-o/objc_export_list.yaml vendor/lld/dist/test/mach-o/parse-cfstring32.yaml vendor/lld/dist/test/mach-o/parse-compact-unwind64.yaml vendor/lld/dist/test/mach-o/parse-data-relocs-x86_64.yaml vendor/lld/dist/test/mach-o/parse-data.yaml vendor/lld/dist/test/mach-o/parse-eh-frame.yaml vendor/lld/dist/test/mach-o/unwind-info-simple-arm64.yaml vendor/lld/dist/test/mach-o/unwind-info-simple-x86_64.yaml vendor/lld/dist/tools/lld/CMakeLists.txt vendor/lld/dist/tools/lld/lld.cpp vendor/lld/dist/unittests/CoreTests/CMakeLists.txt vendor/lld/dist/unittests/DriverTests/CMakeLists.txt vendor/lld/dist/unittests/DriverTests/DarwinLdDriverTest.cpp vendor/lld/dist/unittests/MachOTests/MachONormalizedFileBinaryReaderTests.cpp vendor/lld/dist/unittests/MachOTests/MachONormalizedFileBinaryWriterTests.cpp vendor/lld/dist/unittests/MachOTests/MachONormalizedFileToAtomsTests.cpp vendor/lld/dist/unittests/MachOTests/MachONormalizedFileYAMLTests.cpp Modified: vendor/lld/dist/.arcconfig ============================================================================== --- vendor/lld/dist/.arcconfig Sat Jul 23 20:48:10 2016 (r303238) +++ vendor/lld/dist/.arcconfig Sat Jul 23 20:48:50 2016 (r303239) @@ -1,4 +1,4 @@ { "project_id" : "lld", - "conduit_uri" : "http://reviews.llvm.org/" + "conduit_uri" : "https://reviews.llvm.org/" } Modified: vendor/lld/dist/CMakeLists.txt ============================================================================== --- vendor/lld/dist/CMakeLists.txt Sat Jul 23 20:48:10 2016 (r303238) +++ vendor/lld/dist/CMakeLists.txt Sat Jul 23 20:48:50 2016 (r303239) @@ -94,7 +94,7 @@ endmacro(add_lld_library) add_subdirectory(lib) -add_subdirectory(tools) +add_subdirectory(tools/lld) if (LLVM_INCLUDE_TESTS) add_subdirectory(test) Modified: vendor/lld/dist/COFF/CMakeLists.txt ============================================================================== --- vendor/lld/dist/COFF/CMakeLists.txt Sat Jul 23 20:48:10 2016 (r303238) +++ vendor/lld/dist/COFF/CMakeLists.txt Sat Jul 23 20:48:50 2016 (r303239) @@ -10,6 +10,7 @@ add_lld_library(lldCOFF Error.cpp ICF.cpp InputFiles.cpp + Librarian.cpp MarkLive.cpp ModuleDef.cpp PDB.cpp @@ -28,6 +29,8 @@ add_lld_library(lldCOFF Target Option Support + + LINK_LIBS ${PTHREAD_LIB} ) add_dependencies(lldCOFF COFFOptionsTableGen) Modified: vendor/lld/dist/COFF/Chunks.cpp ============================================================================== --- vendor/lld/dist/COFF/Chunks.cpp Sat Jul 23 20:48:10 2016 (r303238) +++ vendor/lld/dist/COFF/Chunks.cpp Sat Jul 23 20:48:50 2016 (r303239) @@ -34,10 +34,7 @@ SectionChunk::SectionChunk(ObjectFile *F // Initialize SectionName. File->getCOFFObj()->getSectionName(Header, SectionName); - // Bit [20:24] contains section alignment. Both 0 and 1 mean alignment 1. - unsigned Shift = (Header->Characteristics >> 20) & 0xF; - if (Shift > 0) - Align = uint32_t(1) << (Shift - 1); + Align = Header->getAlignment(); // Only COMDAT sections are subject of dead-stripping. Live = !isCOMDAT(); @@ -64,7 +61,7 @@ void SectionChunk::applyRelX64(uint8_t * case IMAGE_REL_AMD64_SECTION: add16(Off, Sym->getSectionIndex()); break; case IMAGE_REL_AMD64_SECREL: add32(Off, Sym->getSecrel()); break; default: - error("Unsupported relocation type"); + fatal("unsupported relocation type"); } } @@ -79,7 +76,7 @@ void SectionChunk::applyRelX86(uint8_t * case IMAGE_REL_I386_SECTION: add16(Off, Sym->getSectionIndex()); break; case IMAGE_REL_I386_SECREL: add32(Off, Sym->getSecrel()); break; default: - error("Unsupported relocation type"); + fatal("unsupported relocation type"); } } @@ -123,7 +120,7 @@ void SectionChunk::applyRelARM(uint8_t * case IMAGE_REL_ARM_BRANCH24T: applyBranch24T(Off, S - P - 4); break; case IMAGE_REL_ARM_BLX23T: applyBranch24T(Off, S - P - 4); break; default: - error("Unsupported relocation type"); + fatal("unsupported relocation type"); } } @@ -310,7 +307,7 @@ void SEHTableChunk::writeTo(uint8_t *Buf BaserelChunk::BaserelChunk(uint32_t Page, Baserel *Begin, Baserel *End) { // Block header consists of 4 byte page RVA and 4 byte block size. // Each entry is 2 byte. Last entry may be padding. - Data.resize(align((End - Begin) * 2 + 8, 4)); + Data.resize(alignTo((End - Begin) * 2 + 8, 4)); uint8_t *P = Data.data(); write32le(P, Page); write32le(P + 4, Data.size()); Modified: vendor/lld/dist/COFF/Chunks.h ============================================================================== --- vendor/lld/dist/COFF/Chunks.h Sat Jul 23 20:48:10 2016 (r303238) +++ vendor/lld/dist/COFF/Chunks.h Sat Jul 23 20:48:50 2016 (r303239) @@ -18,6 +18,7 @@ #include "llvm/ADT/iterator_range.h" #include "llvm/Object/COFF.h" #include <atomic> +#include <utility> #include <vector> namespace lld { @@ -138,6 +139,7 @@ public: SectionChunk(ObjectFile *File, const coff_section *Header); static bool classof(const Chunk *C) { return C->kind() == SectionKind; } size_t getSize() const override { return Header->SizeOfRawData; } + ArrayRef<uint8_t> getContents() const; void writeTo(uint8_t *Buf) const override; bool hasData() const override; uint32_t getPermissions() const override; @@ -186,8 +188,6 @@ public: uint32_t Checksum = 0; private: - ArrayRef<uint8_t> getContents() const; - // A file this chunk was created from. ObjectFile *File; @@ -295,7 +295,7 @@ private: // functions. x86-only. class SEHTableChunk : public Chunk { public: - explicit SEHTableChunk(std::set<Defined *> S) : Syms(S) {} + explicit SEHTableChunk(std::set<Defined *> S) : Syms(std::move(S)) {} size_t getSize() const override { return Syms.size() * 4; } void writeTo(uint8_t *Buf) const override; @@ -326,10 +326,6 @@ public: uint8_t Type; }; -inline uint64_t align(uint64_t Value, uint64_t Align) { - return llvm::RoundUpToAlignment(Value, Align); -} - } // namespace coff } // namespace lld Modified: vendor/lld/dist/COFF/Config.h ============================================================================== --- vendor/lld/dist/COFF/Config.h Sat Jul 23 20:48:10 2016 (r303238) +++ vendor/lld/dist/COFF/Config.h Sat Jul 23 20:48:50 2016 (r303239) @@ -106,11 +106,15 @@ struct Configuration { // Used for /merge:from=to (e.g. /merge:.rdata=.text) std::map<StringRef, StringRef> Merge; + // Used for /section=.name,{DEKPRSW} to set section attributes. + std::map<StringRef, uint32_t> Section; + // Options for manifest files. ManifestKind Manifest = SideBySide; int ManifestID = 1; StringRef ManifestDependency; bool ManifestUAC = true; + std::vector<std::string> ManifestInput; StringRef ManifestLevel = "'asInvoker'"; StringRef ManifestUIAccess = "'false'"; StringRef ManifestFile; Modified: vendor/lld/dist/COFF/DLL.cpp ============================================================================== --- vendor/lld/dist/COFF/DLL.cpp Sat Jul 23 20:48:10 2016 (r303238) +++ vendor/lld/dist/COFF/DLL.cpp Sat Jul 23 20:48:50 2016 (r303239) @@ -45,7 +45,7 @@ public: size_t getSize() const override { // Starts with 2 byte Hint field, followed by a null-terminated string, // ends with 0 or 1 byte padding. - return align(Name.size() + 3, 2); + return alignTo(Name.size() + 3, 2); } void writeTo(uint8_t *Buf) const override { Modified: vendor/lld/dist/COFF/Driver.cpp ============================================================================== --- vendor/lld/dist/COFF/Driver.cpp Sat Jul 23 20:48:10 2016 (r303238) +++ vendor/lld/dist/COFF/Driver.cpp Sat Jul 23 20:48:50 2016 (r303239) @@ -14,6 +14,7 @@ #include "SymbolTable.h" #include "Symbols.h" #include "Writer.h" +#include "lld/Driver/Driver.h" #include "llvm/ADT/Optional.h" #include "llvm/LibDriver/LibDriver.h" #include "llvm/Option/Arg.h" @@ -40,27 +41,28 @@ namespace coff { Configuration *Config; LinkerDriver *Driver; -void link(llvm::ArrayRef<const char *> Args) { +bool link(llvm::ArrayRef<const char *> Args) { Configuration C; LinkerDriver D; Config = &C; Driver = &D; - return Driver->link(Args); + Driver->link(Args); + return true; } -// Drop directory components and replace extension with ".exe". +// Drop directory components and replace extension with ".exe" or ".dll". static std::string getOutputPath(StringRef Path) { auto P = Path.find_last_of("\\/"); StringRef S = (P == StringRef::npos) ? Path : Path.substr(P + 1); - return (S.substr(0, S.rfind('.')) + ".exe").str(); + const char* E = Config->DLL ? ".dll" : ".exe"; + return (S.substr(0, S.rfind('.')) + E).str(); } // Opens a file. Path has to be resolved already. // Newly created memory buffers are owned by this driver. MemoryBufferRef LinkerDriver::openFile(StringRef Path) { - auto MBOrErr = MemoryBuffer::getFile(Path); - error(MBOrErr, Twine("Could not open ") + Path); - std::unique_ptr<MemoryBuffer> &MB = *MBOrErr; + std::unique_ptr<MemoryBuffer> MB = + check(MemoryBuffer::getFile(Path), "could not open " + Path); MemoryBufferRef MBRef = MB->getMemBufferRef(); OwningMBs.push_back(std::move(MB)); // take ownership return MBRef; @@ -116,12 +118,16 @@ void LinkerDriver::parseDirectives(Strin case OPT_nodefaultlib: Config->NoDefaultLibs.insert(doFindLib(Arg->getValue())); break; + case OPT_section: + parseSection(Arg->getValue()); + break; case OPT_editandcontinue: + case OPT_fastfail: case OPT_guardsym: case OPT_throwingnew: break; default: - error(Twine(Arg->getSpelling()) + " is not allowed in .drectve"); + fatal(Arg->getSpelling() + " is not allowed in .drectve"); } } } @@ -246,7 +252,7 @@ void LinkerDriver::link(llvm::ArrayRef<c // We call our own implementation of lib.exe that understands bitcode files. if (ArgsArr.size() > 1 && StringRef(ArgsArr[1]).equals_lower("/lib")) { if (llvm::libDriverMain(ArgsArr.slice(1)) != 0) - error("lib failed"); + fatal("lib failed"); return; } @@ -268,7 +274,7 @@ void LinkerDriver::link(llvm::ArrayRef<c } if (Args.filtered_begin(OPT_INPUT) == Args.filtered_end()) - error("no input files."); + fatal("no input files"); // Construct search path list. SearchPaths.push_back(""); @@ -295,7 +301,7 @@ void LinkerDriver::link(llvm::ArrayRef<c // Handle /noentry if (Args.hasArg(OPT_noentry)) { if (!Args.hasArg(OPT_dll)) - error("/noentry must be specified with /dll"); + fatal("/noentry must be specified with /dll"); Config->NoEntry = true; } @@ -308,7 +314,7 @@ void LinkerDriver::link(llvm::ArrayRef<c // Handle /fixed if (Args.hasArg(OPT_fixed)) { if (Args.hasArg(OPT_dynamicbase)) - error("/fixed must not be specified with /dynamicbase"); + fatal("/fixed must not be specified with /dynamicbase"); Config->Relocatable = false; Config->DynamicBase = false; } @@ -382,17 +388,17 @@ void LinkerDriver::link(llvm::ArrayRef<c StringRef OptLevel = StringRef(S).substr(7); if (OptLevel.getAsInteger(10, Config->LTOOptLevel) || Config->LTOOptLevel > 3) - error("/opt:lldlto: invalid optimization level: " + OptLevel); + fatal("/opt:lldlto: invalid optimization level: " + OptLevel); continue; } if (StringRef(S).startswith("lldltojobs=")) { StringRef Jobs = StringRef(S).substr(11); if (Jobs.getAsInteger(10, Config->LTOJobs) || Config->LTOJobs == 0) - error("/opt:lldltojobs: invalid job count: " + Jobs); + fatal("/opt:lldltojobs: invalid job count: " + Jobs); continue; } if (S != "ref" && S != "lbr" && S != "nolbr") - error(Twine("/opt: unknown option: ") + S); + fatal("/opt: unknown option: " + S); } } @@ -404,6 +410,10 @@ void LinkerDriver::link(llvm::ArrayRef<c for (auto *Arg : Args.filtered(OPT_merge)) parseMerge(Arg->getValue()); + // Handle /section + for (auto *Arg : Args.filtered(OPT_section)) + parseSection(Arg->getValue()); + // Handle /manifest if (auto *Arg = Args.getLastArg(OPT_manifest_colon)) parseManifest(Arg->getValue()); @@ -420,6 +430,10 @@ void LinkerDriver::link(llvm::ArrayRef<c if (auto *Arg = Args.getLastArg(OPT_manifestfile)) Config->ManifestFile = Arg->getValue(); + // Handle /manifestinput + for (auto *Arg : Args.filtered(OPT_manifestinput)) + Config->ManifestInput.push_back(Arg->getValue()); + // Handle miscellaneous boolean flags. if (Args.hasArg(OPT_allowbind_no)) Config->AllowBind = false; @@ -485,7 +499,7 @@ void LinkerDriver::link(llvm::ArrayRef<c continue; } if (Config->Machine != MT) - error(Twine(File->getShortName()) + ": machine type " + machineToStr(MT) + + fatal(File->getShortName() + ": machine type " + machineToStr(MT) + " conflicts with " + machineToStr(Config->Machine)); } if (Config->Machine == IMAGE_FILE_MACHINE_UNKNOWN) { @@ -520,7 +534,7 @@ void LinkerDriver::link(llvm::ArrayRef<c // infer that from user-defined entry name. StringRef S = findDefaultEntry(); if (S.empty()) - error("entry point must be defined"); + fatal("entry point must be defined"); Config->Entry = addUndefined(S); if (Config->Verbose) llvm::outs() << "Entry name inferred: " << S << "\n"; @@ -627,14 +641,14 @@ void LinkerDriver::link(llvm::ArrayRef<c if (Config->Subsystem == IMAGE_SUBSYSTEM_UNKNOWN) { Config->Subsystem = inferSubsystem(); if (Config->Subsystem == IMAGE_SUBSYSTEM_UNKNOWN) - error("subsystem must be defined"); + fatal("subsystem must be defined"); } // Handle /safeseh. if (Args.hasArg(OPT_safeseh)) for (ObjectFile *File : Symtab.ObjectFiles) if (!File->SEHCompat) - error("/safeseh: " + File->getName() + " is not compatible with SEH"); + fatal("/safeseh: " + File->getName() + " is not compatible with SEH"); // Windows specific -- when we are creating a .dll file, we also // need to create a .lib file. @@ -668,7 +682,8 @@ void LinkerDriver::link(llvm::ArrayRef<c if (auto *Arg = Args.getLastArg(OPT_lldmap)) { std::error_code EC; llvm::raw_fd_ostream Out(Arg->getValue(), EC, OpenFlags::F_Text); - error(EC, "Could not create the symbol map"); + if (EC) + fatal(EC, "could not create the symbol map"); Symtab.printMap(Out); } // Call exit to avoid calling destructors. Modified: vendor/lld/dist/COFF/Driver.h ============================================================================== --- vendor/lld/dist/COFF/Driver.h Sat Jul 23 20:48:10 2016 (r303238) +++ vendor/lld/dist/COFF/Driver.h Sat Jul 23 20:48:50 2016 (r303239) @@ -34,9 +34,6 @@ using llvm::COFF::WindowsSubsystem; using llvm::Optional; class InputFile; -// Entry point of the COFF linker. -void link(llvm::ArrayRef<const char *> Args); - // Implemented in MarkLive.cpp. void markLive(const std::vector<Chunk *> &Chunks); @@ -136,6 +133,7 @@ void parseSubsystem(StringRef Arg, Windo void parseAlternateName(StringRef); void parseMerge(StringRef); +void parseSection(StringRef); // Parses a string in the form of "EMBED[,=<integer>]|NO". void parseManifest(StringRef Arg); @@ -163,7 +161,6 @@ void checkFailIfMismatch(StringRef Arg); std::unique_ptr<MemoryBuffer> convertResToCOFF(const std::vector<MemoryBufferRef> &MBs); -void touchFile(StringRef Path); void createPDB(StringRef Path); // Create enum with OPT_xxx values for each option in Options.td Modified: vendor/lld/dist/COFF/DriverUtils.cpp ============================================================================== --- vendor/lld/dist/COFF/DriverUtils.cpp Sat Jul 23 20:48:10 2016 (r303238) +++ vendor/lld/dist/COFF/DriverUtils.cpp Sat Jul 23 20:48:50 2016 (r303239) @@ -19,15 +19,12 @@ #include "Symbols.h" #include "llvm/ADT/Optional.h" #include "llvm/ADT/StringSwitch.h" -#include "llvm/Object/Archive.h" -#include "llvm/Object/ArchiveWriter.h" #include "llvm/Object/COFF.h" #include "llvm/Option/Arg.h" #include "llvm/Option/ArgList.h" #include "llvm/Option/Option.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/FileUtilities.h" -#include "llvm/Support/Path.h" #include "llvm/Support/Process.h" #include "llvm/Support/Program.h" #include "llvm/Support/raw_ostream.h" @@ -53,7 +50,8 @@ public: void run() { ErrorOr<std::string> ExeOrErr = llvm::sys::findProgramByName(Prog); - error(ExeOrErr, Twine("unable to find ") + Prog + " in PATH: "); + if (auto EC = ExeOrErr.getError()) + fatal(EC, "unable to find " + Prog + " in PATH: "); const char *Exe = Saver.save(*ExeOrErr); Args.insert(Args.begin(), Exe); Args.push_back(nullptr); @@ -61,7 +59,7 @@ public: for (const char *S : Args) if (S) llvm::errs() << S << " "; - error("failed"); + fatal("ExecuteAndWait failed"); } } @@ -85,7 +83,7 @@ MachineTypes getMachineType(StringRef S) .Default(IMAGE_FILE_MACHINE_UNKNOWN); if (MT != IMAGE_FILE_MACHINE_UNKNOWN) return MT; - error(Twine("unknown /machine argument: ") + S); + fatal("unknown /machine argument: " + S); } StringRef machineToStr(MachineTypes MT) { @@ -106,9 +104,9 @@ void parseNumbers(StringRef Arg, uint64_ StringRef S1, S2; std::tie(S1, S2) = Arg.split(','); if (S1.getAsInteger(0, *Addr)) - error(Twine("invalid number: ") + S1); + fatal("invalid number: " + S1); if (Size && !S2.empty() && S2.getAsInteger(0, *Size)) - error(Twine("invalid number: ") + S2); + fatal("invalid number: " + S2); } // Parses a string in the form of "<integer>[.<integer>]". @@ -117,10 +115,10 @@ void parseVersion(StringRef Arg, uint32_ StringRef S1, S2; std::tie(S1, S2) = Arg.split('.'); if (S1.getAsInteger(0, *Major)) - error(Twine("invalid number: ") + S1); + fatal("invalid number: " + S1); *Minor = 0; if (!S2.empty() && S2.getAsInteger(0, *Minor)) - error(Twine("invalid number: ") + S2); + fatal("invalid number: " + S2); } // Parses a string in the form of "<subsystem>[,<integer>[.<integer>]]". @@ -140,7 +138,7 @@ void parseSubsystem(StringRef Arg, Windo .Case("windows", IMAGE_SUBSYSTEM_WINDOWS_GUI) .Default(IMAGE_SUBSYSTEM_UNKNOWN); if (*Sys == IMAGE_SUBSYSTEM_UNKNOWN) - error(Twine("unknown subsystem: ") + SysStr); + fatal("unknown subsystem: " + SysStr); if (!Ver.empty()) parseVersion(Ver, Major, Minor); } @@ -151,10 +149,10 @@ void parseAlternateName(StringRef S) { StringRef From, To; std::tie(From, To) = S.split('='); if (From.empty() || To.empty()) - error(Twine("/alternatename: invalid argument: ") + S); + fatal("/alternatename: invalid argument: " + S); auto It = Config->AlternateNames.find(From); if (It != Config->AlternateNames.end() && It->second != To) - error(Twine("/alternatename: conflicts: ") + S); + fatal("/alternatename: conflicts: " + S); Config->AlternateNames.insert(It, std::make_pair(From, To)); } @@ -164,7 +162,7 @@ void parseMerge(StringRef S) { StringRef From, To; std::tie(From, To) = S.split('='); if (From.empty() || To.empty()) - error(Twine("/merge: invalid argument: ") + S); + fatal("/merge: invalid argument: " + S); auto Pair = Config->Merge.insert(std::make_pair(From, To)); bool Inserted = Pair.second; if (!Inserted) { @@ -175,6 +173,47 @@ void parseMerge(StringRef S) { } } +static uint32_t parseSectionAttributes(StringRef S) { + uint32_t Ret = 0; + for (char C : S.lower()) { + switch (C) { + case 'd': + Ret |= IMAGE_SCN_MEM_DISCARDABLE; + break; + case 'e': + Ret |= IMAGE_SCN_MEM_EXECUTE; + break; + case 'k': + Ret |= IMAGE_SCN_MEM_NOT_CACHED; + break; + case 'p': + Ret |= IMAGE_SCN_MEM_NOT_PAGED; + break; + case 'r': + Ret |= IMAGE_SCN_MEM_READ; + break; + case 's': + Ret |= IMAGE_SCN_MEM_SHARED; + break; + case 'w': + Ret |= IMAGE_SCN_MEM_WRITE; + break; + default: + fatal("/section: invalid argument: " + S); + } + } + return Ret; +} + +// Parses /section option argument. +void parseSection(StringRef S) { + StringRef Name, Attrs; + std::tie(Name, Attrs) = S.split(','); + if (Name.empty() || Attrs.empty()) + fatal("/section: invalid argument: " + S); + Config->Section[Name] = parseSectionAttributes(Attrs); +} + // Parses a string in the form of "EMBED[,=<integer>]|NO". // Results are directly written to Config. void parseManifest(StringRef Arg) { @@ -183,16 +222,16 @@ void parseManifest(StringRef Arg) { return; } if (!Arg.startswith_lower("embed")) - error(Twine("Invalid option ") + Arg); + fatal("invalid option " + Arg); Config->Manifest = Configuration::Embed; Arg = Arg.substr(strlen("embed")); if (Arg.empty()) return; if (!Arg.startswith_lower(",id=")) - error(Twine("Invalid option ") + Arg); + fatal("invalid option " + Arg); Arg = Arg.substr(strlen(",id=")); if (Arg.getAsInteger(0, Config->ManifestID)) - error(Twine("Invalid option ") + Arg); + fatal("invalid option " + Arg); } // Parses a string in the form of "level=<string>|uiAccess=<string>|NO". @@ -216,7 +255,7 @@ void parseManifestUAC(StringRef Arg) { std::tie(Config->ManifestUIAccess, Arg) = Arg.split(" "); continue; } - error(Twine("Invalid option ") + Arg); + fatal("invalid option " + Arg); } } @@ -240,10 +279,19 @@ static void quoteAndPrint(raw_ostream &O } } -// Create a manifest file contents. -static std::string createManifestXml() { - std::string S; - llvm::raw_string_ostream OS(S); +// Create the default manifest file as a temporary file. +static std::string createDefaultXml() { + // Create a temporary file. + SmallString<128> Path; + if (auto EC = sys::fs::createTemporaryFile("tmp", "manifest", Path)) + fatal(EC, "cannot create a temporary file"); + + // Open the temporary file for writing. + std::error_code EC; + llvm::raw_fd_ostream OS(Path, EC, sys::fs::F_Text); + if (EC) + fatal(EC, "failed to open " + Path); + // Emit the XML. Note that we do *not* verify that the XML attributes are // syntactically correct. This is intentional for link.exe compatibility. OS << "<?xml version=\"1.0\" standalone=\"yes\"?>\n" @@ -267,21 +315,57 @@ static std::string createManifestXml() { } } OS << "</assembly>\n"; - OS.flush(); - return S; + OS.close(); + return StringRef(Path); +} + +static std::string readFile(StringRef Path) { + std::unique_ptr<MemoryBuffer> MB = + check(MemoryBuffer::getFile(Path), "could not open " + Path); + std::unique_ptr<MemoryBuffer> Buf(std::move(MB)); + return Buf->getBuffer(); +} + +static std::string createManifestXml() { + // Create the default manifest file. + std::string Path1 = createDefaultXml(); + if (Config->ManifestInput.empty()) + return readFile(Path1); + + // If manifest files are supplied by the user using /MANIFESTINPUT + // option, we need to merge them with the default manifest. + SmallString<128> Path2; + if (auto EC = sys::fs::createTemporaryFile("tmp", "manifest", Path2)) + fatal(EC, "cannot create a temporary file"); + FileRemover Remover1(Path1); + FileRemover Remover2(Path2); + + Executor E("mt.exe"); + E.add("/manifest"); + E.add(Path1); + for (StringRef Filename : Config->ManifestInput) { + E.add("/manifest"); + E.add(Filename); + } + E.add("/nologo"); + E.add("/out:" + StringRef(Path2)); + E.run(); + return readFile(Path2); } // Create a resource file containing a manifest XML. std::unique_ptr<MemoryBuffer> createManifestRes() { // Create a temporary file for the resource script file. SmallString<128> RCPath; - std::error_code EC = sys::fs::createTemporaryFile("tmp", "rc", RCPath); - error(EC, "cannot create a temporary file"); + if (auto EC = sys::fs::createTemporaryFile("tmp", "rc", RCPath)) + fatal(EC, "cannot create a temporary file"); FileRemover RCRemover(RCPath); // Open the temporary file for writing. + std::error_code EC; llvm::raw_fd_ostream Out(RCPath, EC, sys::fs::F_Text); - error(EC, Twine("failed to open ") + RCPath); + if (EC) + fatal(EC, "failed to open " + RCPath); // Write resource script to the RC file. Out << "#define LANG_ENGLISH 9\n" @@ -296,8 +380,8 @@ std::unique_ptr<MemoryBuffer> createMani // Create output resource file. SmallString<128> ResPath; - EC = sys::fs::createTemporaryFile("tmp", "res", ResPath); - error(EC, "cannot create a temporary file"); + if (auto EC = sys::fs::createTemporaryFile("tmp", "res", ResPath)) + fatal(EC, "cannot create a temporary file"); Executor E("rc.exe"); E.add("/fo"); @@ -305,18 +389,17 @@ std::unique_ptr<MemoryBuffer> createMani E.add("/nologo"); E.add(RCPath.str()); E.run(); - ErrorOr<std::unique_ptr<MemoryBuffer>> Ret = MemoryBuffer::getFile(ResPath); - error(Ret, Twine("Could not open ") + ResPath); - return std::move(*Ret); + return check(MemoryBuffer::getFile(ResPath), "could not open " + ResPath); } void createSideBySideManifest() { std::string Path = Config->ManifestFile; if (Path == "") - Path = (Twine(Config->OutputFile) + ".manifest").str(); + Path = Config->OutputFile + ".manifest"; std::error_code EC; llvm::raw_fd_ostream Out(Path, EC, llvm::sys::fs::F_Text); - error(EC, "failed to create manifest"); + if (EC) + fatal(EC, "failed to create manifest"); Out << createManifestXml(); } @@ -380,7 +463,7 @@ Export parseExport(StringRef Arg) { return E; err: - error(Twine("invalid /export: ") + Arg); + fatal("invalid /export: " + Arg); } static StringRef undecorate(StringRef Sym) { @@ -398,7 +481,7 @@ void fixupExports() { if (E.Ordinal == 0) continue; if (!Ords.insert(E.Ordinal).second) - error("duplicate export ordinal: " + E.Name); + fatal("duplicate export ordinal: " + E.Name); } for (Export &E : Config->Exports) { @@ -459,11 +542,11 @@ void checkFailIfMismatch(StringRef Arg) StringRef K, V; std::tie(K, V) = Arg.split('='); if (K.empty() || V.empty()) - error(Twine("/failifmismatch: invalid argument: ") + Arg); + fatal("/failifmismatch: invalid argument: " + Arg); StringRef Existing = Config->MustMatch[K]; if (!Existing.empty() && V != Existing) - error(Twine("/failifmismatch: mismatch detected: ") + Existing + " and " + - V + " for key " + K); + fatal("/failifmismatch: mismatch detected: " + Existing + " and " + V + + " for key " + K); Config->MustMatch[K] = V; } @@ -473,8 +556,8 @@ std::unique_ptr<MemoryBuffer> convertResToCOFF(const std::vector<MemoryBufferRef> &MBs) { // Create an output file path. SmallString<128> Path; - if (llvm::sys::fs::createTemporaryFile("resource", "obj", Path)) - error("Could not create temporary file"); + if (auto EC = llvm::sys::fs::createTemporaryFile("resource", "obj", Path)) + fatal(EC, "could not create temporary file"); // Execute cvtres.exe. Executor E("cvtres.exe"); @@ -485,170 +568,7 @@ convertResToCOFF(const std::vector<Memor for (MemoryBufferRef MB : MBs) E.add(MB.getBufferIdentifier()); E.run(); - ErrorOr<std::unique_ptr<MemoryBuffer>> Ret = MemoryBuffer::getFile(Path); - error(Ret, Twine("Could not open ") + Path); - return std::move(*Ret); -} - -static std::string writeToTempFile(StringRef Contents) { - SmallString<128> Path; - int FD; - if (llvm::sys::fs::createTemporaryFile("tmp", "def", FD, Path)) { - llvm::errs() << "failed to create a temporary file\n"; - return ""; - } - llvm::raw_fd_ostream OS(FD, /*shouldClose*/ true); - OS << Contents; - return Path.str(); -} - -void touchFile(StringRef Path) { - int FD; - std::error_code EC = sys::fs::openFileForWrite(Path, FD, sys::fs::F_Append); - error(EC, "failed to create a file"); - sys::Process::SafelyCloseFileDescriptor(FD); -} - -static std::string getImplibPath() { - if (!Config->Implib.empty()) - return Config->Implib; - SmallString<128> Out = StringRef(Config->OutputFile); - sys::path::replace_extension(Out, ".lib"); - return Out.str(); -} - -static std::unique_ptr<MemoryBuffer> createEmptyImportLibrary() { - std::string S = (Twine("LIBRARY \"") + - llvm::sys::path::filename(Config->OutputFile) + "\"\n") - .str(); - std::string Path1 = writeToTempFile(S); - std::string Path2 = getImplibPath(); - llvm::FileRemover Remover1(Path1); - llvm::FileRemover Remover2(Path2); - - Executor E("lib.exe"); - E.add("/nologo"); - E.add("/machine:" + machineToStr(Config->Machine)); - E.add(Twine("/def:") + Path1); - E.add(Twine("/out:") + Path2); - E.run(); - - ErrorOr<std::unique_ptr<MemoryBuffer>> BufOrErr = - MemoryBuffer::getFile(Path2, -1, false); - error(BufOrErr, Twine("Failed to open ") + Path2); - return MemoryBuffer::getMemBufferCopy((*BufOrErr)->getBuffer()); -} - -static std::vector<NewArchiveIterator> -readMembers(const object::Archive &Archive) { - std::vector<NewArchiveIterator> V; - for (const auto &ChildOrErr : Archive.children()) { - error(ChildOrErr, "Archive::Child::getName failed"); - const object::Archive::Child C(*ChildOrErr); - ErrorOr<StringRef> NameOrErr = C.getName(); - error(NameOrErr, "Archive::Child::getName failed"); - V.emplace_back(C, *NameOrErr); - } - return V; -} - -// This class creates short import files which is described in -// PE/COFF spec 7. Import Library Format. -class ShortImportCreator { -public: - ShortImportCreator(object::Archive *A, StringRef S) : Parent(A), DLLName(S) {} - - NewArchiveIterator create(StringRef Sym, uint16_t Ordinal, - ImportNameType NameType, bool isData) { - size_t ImpSize = DLLName.size() + Sym.size() + 2; // +2 for NULs - size_t Size = sizeof(object::ArchiveMemberHeader) + - sizeof(coff_import_header) + ImpSize; - char *Buf = Alloc.Allocate<char>(Size); - memset(Buf, 0, Size); - char *P = Buf; - - // Write archive member header - auto *Hdr = reinterpret_cast<object::ArchiveMemberHeader *>(P); - P += sizeof(*Hdr); - sprintf(Hdr->Name, "%-12s", "dummy"); - sprintf(Hdr->LastModified, "%-12d", 0); - sprintf(Hdr->UID, "%-6d", 0); - sprintf(Hdr->GID, "%-6d", 0); - sprintf(Hdr->AccessMode, "%-8d", 0644); - sprintf(Hdr->Size, "%-10d", int(sizeof(coff_import_header) + ImpSize)); - - // Write short import library. - auto *Imp = reinterpret_cast<coff_import_header *>(P); - P += sizeof(*Imp); - Imp->Sig2 = 0xFFFF; - Imp->Machine = Config->Machine; - Imp->SizeOfData = ImpSize; - if (Ordinal > 0) - Imp->OrdinalHint = Ordinal; - Imp->TypeInfo = (isData ? IMPORT_DATA : IMPORT_CODE); - Imp->TypeInfo |= NameType << 2; - - // Write symbol name and DLL name. - memcpy(P, Sym.data(), Sym.size()); - P += Sym.size() + 1; - memcpy(P, DLLName.data(), DLLName.size()); - - std::error_code EC; - object::Archive::Child C(Parent, Buf, &EC); - assert(!EC && "We created an invalid buffer"); - return NewArchiveIterator(C, DLLName); - } - -private: - BumpPtrAllocator Alloc; - object::Archive *Parent; - StringRef DLLName; -}; - -static ImportNameType getNameType(StringRef Sym, StringRef ExtName) { - if (Sym != ExtName) - return IMPORT_NAME_UNDECORATE; - if (Config->Machine == I386 && Sym.startswith("_")) - return IMPORT_NAME_NOPREFIX; - return IMPORT_NAME; -} - -static std::string replace(StringRef S, StringRef From, StringRef To) { - size_t Pos = S.find(From); - assert(Pos != StringRef::npos); - return (Twine(S.substr(0, Pos)) + To + S.substr(Pos + From.size())).str(); -} - -// Creates an import library for a DLL. In this function, we first -// create an empty import library using lib.exe and then adds short -// import files to that file. -void writeImportLibrary() { - std::unique_ptr<MemoryBuffer> Buf = createEmptyImportLibrary(); - std::error_code EC; - object::Archive Archive(Buf->getMemBufferRef(), EC); - error(EC, "Error reading an empty import file"); - std::vector<NewArchiveIterator> Members = readMembers(Archive); - - std::string DLLName = llvm::sys::path::filename(Config->OutputFile); - ShortImportCreator ShortImport(&Archive, DLLName); - for (Export &E : Config->Exports) { - if (E.Private) - continue; - if (E.ExtName.empty()) { - Members.push_back(ShortImport.create( - E.SymbolName, E.Ordinal, getNameType(E.SymbolName, E.Name), E.Data)); - } else { - Members.push_back(ShortImport.create( - replace(E.SymbolName, E.Name, E.ExtName), E.Ordinal, - getNameType(E.SymbolName, E.Name), E.Data)); - } - } - - std::string Path = getImplibPath(); - std::pair<StringRef, std::error_code> Result = - writeArchive(Path, Members, /*WriteSymtab*/ true, object::Archive::K_GNU, - /*Deterministic*/ true, /*Thin*/ false); - error(Result.second, Twine("Failed to write ") + Path); + return check(MemoryBuffer::getFile(Path), "could not open " + Path); } // Create OptTable @@ -695,7 +615,7 @@ llvm::opt::InputArgList ArgParser::parse } if (MissingCount) - error(Twine("missing arg value for \"") + Args.getArgString(MissingIndex) + + fatal("missing arg value for \"" + Twine(Args.getArgString(MissingIndex)) + "\", expected " + Twine(MissingCount) + (MissingCount == 1 ? " argument." : " arguments.")); for (auto *Arg : Args.filtered(OPT_UNKNOWN)) Modified: vendor/lld/dist/COFF/Error.cpp ============================================================================== --- vendor/lld/dist/COFF/Error.cpp Sat Jul 23 20:48:10 2016 (r303238) +++ vendor/lld/dist/COFF/Error.cpp Sat Jul 23 20:48:50 2016 (r303239) @@ -10,20 +10,23 @@ #include "Error.h" #include "llvm/ADT/Twine.h" +#include "llvm/Support/Error.h" #include "llvm/Support/raw_ostream.h" namespace lld { namespace coff { -void error(const Twine &Msg) { +void fatal(const Twine &Msg) { llvm::errs() << Msg << "\n"; exit(1); } -void error(std::error_code EC, const Twine &Prefix) { - if (!EC) - return; - error(Prefix + ": " + EC.message()); +void fatal(std::error_code EC, const Twine &Msg) { + fatal(Msg + ": " + EC.message()); +} + +void fatal(llvm::Error &Err, const Twine &Msg) { + fatal(errorToErrorCode(std::move(Err)), Msg); } } // namespace coff Modified: vendor/lld/dist/COFF/Error.h ============================================================================== --- vendor/lld/dist/COFF/Error.h Sat Jul 23 20:48:10 2016 (r303238) +++ vendor/lld/dist/COFF/Error.h Sat Jul 23 20:48:50 2016 (r303239) @@ -11,15 +11,25 @@ #define LLD_COFF_ERROR_H #include "lld/Core/LLVM.h" +#include "llvm/Support/Error.h" namespace lld { namespace coff { -LLVM_ATTRIBUTE_NORETURN void error(const Twine &Msg); -void error(std::error_code EC, const Twine &Prefix); +LLVM_ATTRIBUTE_NORETURN void fatal(const Twine &Msg); +LLVM_ATTRIBUTE_NORETURN void fatal(std::error_code EC, const Twine &Prefix); +LLVM_ATTRIBUTE_NORETURN void fatal(llvm::Error &Err, const Twine &Prefix); + +template <class T> T check(ErrorOr<T> &&V, const Twine &Prefix) { + if (auto EC = V.getError()) + fatal(EC, Prefix); + return std::move(*V); +} -template <typename T> void error(const ErrorOr<T> &V, const Twine &Prefix) { - error(V.getError(), Prefix); +template <class T> T check(Expected<T> E, const Twine &Prefix) { + if (llvm::Error Err = E.takeError()) + fatal(Err, Prefix); + return std::move(*E); } } // namespace coff Modified: vendor/lld/dist/COFF/ICF.cpp ============================================================================== --- vendor/lld/dist/COFF/ICF.cpp Sat Jul 23 20:48:10 2016 (r303238) +++ vendor/lld/dist/COFF/ICF.cpp Sat Jul 23 20:48:50 2016 (r303239) @@ -70,7 +70,7 @@ private: static bool equalsConstant(const SectionChunk *A, const SectionChunk *B); static bool equalsVariable(const SectionChunk *A, const SectionChunk *B); bool forEachGroup(std::vector<SectionChunk *> &Chunks, Comparator Eq); - bool partition(ChunkIterator Begin, ChunkIterator End, Comparator Eq); + bool segregate(ChunkIterator Begin, ChunkIterator End, Comparator Eq); std::atomic<uint64_t> NextID = { 1 }; }; @@ -148,7 +148,7 @@ bool ICF::equalsVariable(const SectionCh return std::equal(A->Relocs.begin(), A->Relocs.end(), B->Relocs.begin(), Eq); } -bool ICF::partition(ChunkIterator Begin, ChunkIterator End, Comparator Eq) { +bool ICF::segregate(ChunkIterator Begin, ChunkIterator End, Comparator Eq) { bool R = false; for (auto It = Begin;;) { SectionChunk *Head = *It; @@ -171,7 +171,7 @@ bool ICF::forEachGroup(std::vector<Secti auto Bound = std::find_if(It + 1, End, [&](SectionChunk *SC) { return SC->GroupID != Head->GroupID; }); - if (partition(It, Bound, Eq)) + if (segregate(It, Bound, Eq)) R = true; It = Bound; } Modified: vendor/lld/dist/COFF/InputFiles.cpp ============================================================================== --- vendor/lld/dist/COFF/InputFiles.cpp Sat Jul 23 20:48:10 2016 (r303238) +++ vendor/lld/dist/COFF/InputFiles.cpp Sat Jul 23 20:48:50 2016 (r303239) @@ -8,30 +8,41 @@ *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201607232048.u6NKmpYv012350>