/llvm-project/llvm/docs/ |
H A D | LinkTimeOptimization.rst | 14 interface and design between the LTO optimizer and the linker. 23 achieved through tight integration with the linker. In this model, the linker 25 matching among them. The linker uses `libLTO`_, a shared object, to handle LLVM 26 bitcode files. This tight integration between the linker and LLVM optimizer 27 helps to do optimizations that are not possible in other models. The linker 36 and clean interface. This example requires a system linker which supports LTO 38 invokes system linker. 94 * In this example, the linker recognizes that ``foo2()`` is an externally 95 visible symbol defined in LLVM bitcode file. The linker completes its usual 104 * And this in turn, enables linker to remove ``foo4()``. [all …]
|
/llvm-project/llvm/utils/ |
H A D | check-each-file | 7 if [ x$1 = x--make-linker-script ] 10 linker=./link-$program 16 echo "rm -f $program" > $linker 17 gmake -n $program >> $linker 18 chmod 755 $linker 19 echo "Linker script created in $linker; testing it out" 20 output=`./$linker 2>&1` 26 echo "Done; rebuilding $linker" 27 echo "rm -f $program" > $linker 28 gmake -n $program 2>&1 | sed '/gcc/s/$/__main.o/' >> $linker [all …]
|
/llvm-project/clang-tools-extra/clang-tidy/ |
H A D | ClangTidyForceLinker.h | 17 // This anchor is used to force the linker to link the AbseilModule. 22 // This anchor is used to force the linker to link the AlteraModule. 27 // This anchor is used to force the linker to link the AndroidModule. 32 // This anchor is used to force the linker to link the BoostModule. 37 // This anchor is used to force the linker to link the BugproneModule. 42 // This anchor is used to force the linker to link the CERTModule. 47 // This anchor is used to force the linker to link the ConcurrencyModule. 52 // This anchor is used to force the linker to link the CppCoreGuidelinesModule. 57 // This anchor is used to force the linker to link the DarwinModule. 62 // This anchor is used to force the linker to link the FuchsiaModule. [all …]
|
/llvm-project/flang/test/Driver/ |
H A D | dynamic-linker.f90 | 1 ! Verify that certain linker flags are known to the frontend and are passed on 2 ! to the linker. 6 ! RUN: --check-prefixes=GNU-LINKER-OPTIONS \ 7 ! RUN: --implicit-check-not=GNU-LINKER-OPTIONS-NOT %s 10 ! RUN: --check-prefixes=MSVC-LINKER-OPTIONS \ 11 ! RUN: --implicit-check-not=MSVC-LINKER-OPTIONS-NOT %s 12 ! RUN: %flang -### --target=aarch64-linux-none -rdynamic %s 2>&1 | FileCheck --check-prefixes=RDYNAMIC-LINKER-OPTION %s 14 ! TODO: Could the linker have an extension or a suffix? 15 ! GNU-LINKER-OPTIONS: "{{.*}}ld{{(.exe)?}}" 16 ! GNU-LINKER [all...] |
/llvm-project/lld/test/MachO/ |
H A D | force-load-swift-libs.ll | 6 ; RUN: llvm-as %t/lc-linker-opt.ll -o %t/lc-linker-opt.o 7 ; RUN: llvm-as %t/no-lc-linker-opt.ll -o %t/no-lc-linker-opt.o 9 ; RUN: %lld -lSystem -force_load_swift_libs -L%t %t/lc-linker-opt.o -o \ 10 ; RUN: %t/lc-linker-opt -why_load 2>&1 | FileCheck %s --check-prefix=WHY-LOAD 11 ; RUN: llvm-objdump --macho --syms %t/lc-linker-opt | FileCheck %s --check-prefix=HAS-SWIFT 13 ; RUN: %lld -lSystem -L%t %t/lc-linker-opt.o -o %t/lc-linker-opt-no-force 14 ; RUN: llvm-objdump --macho --syms %t/lc-linker-opt-no-force | FileCheck %s --check-prefix=NO-SWIFT 17 …: %lld -lSystem -force_load_swift_libs -lswiftFoo -L%t %t/no-lc-linker-opt.o -o %t/no-lc-linker-opt 18 ; RUN: llvm-objdump --macho --syms %t/no-lc-linker-opt | FileCheck %s --check-prefix=NO-SWIFT 22 …d -lSystem -force_load_swift_libs -lswiftFoo -L%t %t/lc-linker-opt.o -o %t/both-cli-and-lc-linker-… [all …]
|
/llvm-project/clang/docs/ |
H A D | ClangLinkerWrapper.rst | 2 Clang Linker Wrapper 8 .. _clang-linker-wrapper: 15 register them. It works by first scanning the linker's input for embedded device 26 only for the linker wrapper will be forwarded to the wrapped linker job. 30 USAGE: clang-linker-wrapper [options] -- <options to passed to the linker> 35 --device-linker=<value> or <triple>=<value> 36 Arguments to pass to the device linker invocation 41 --linker [all...] |
/llvm-project/clang/test/Driver/ |
H A D | incremental-linker-compatible.c | 1 // RUN: %clang '-###' %s -c -o tmp.o -target i686-pc-linux-gnu -integrated-as -mincremental-linker-… 2 // TEST1: "-cc1" {{.*}} "-mincremental-linker-compatible" 4 …%s -c -o tmp.o -target i686-pc-linux-gnu -integrated-as -mno-incremental-linker-compatible 2>&1 | … 5 // TEST2-NOT: "-cc1" {{.*}} "-mincremental-linker-compatible" 7 …target i686-pc-linux-gnu -integrated-as -mno-incremental-linker-compatible -mincremental-linker-co… 8 // TEST3: "-cc1" {{.*}} "-mincremental-linker-compatible" 10 … -target i686-pc-linux-gnu -integrated-as -mincremental-linker-compatible -mno-incremental-linker-… 11 // TEST4-NOT: "-cc1" {{.*}} "-mincremental-linker-compatible" 14 // TEST5-NOT: "-cc1" {{.*}} "-mincremental-linker-compatible" 17 // TEST6: "-cc1" {{.*}} "-mincremental-linker-compatible"
|
H A D | linker-wrapper.c | 18 // RUN: clang-linker-wrapper --host-triple=x86_64-unknown-linux-gnu --dry-run \ 19 // RUN: --linker-path=/usr/bin/ld %t.o -o a.out 2>&1 | FileCheck %s --check-prefix=NVPTX-LINK 21 // RUN: clang-linker-wrapper --host-triple=x86_64-unknown-linux-gnu --dry-run \ 22 // RUN: --linker-path=/usr/bin/ld %t.o -o a.out 2>&1 | FileCheck %s --check-prefix=NVPTX-LINK 30 // RUN: clang-linker-wrapper --host-triple=x86_64-unknown-linux-gnu --dry-run --device-debug -O0 \ 31 // RUN: --linker-path=/usr/bin/ld %t.o -o a.out 2>&1 | FileCheck %s --check-prefix=NVPTX-LINK-DEBUG 39 // RUN: clang-linker-wrapper --host-triple=x86_64-unknown-linux-gnu --dry-run \ 40 // RUN: --linker-path=/usr/bin/ld %t.o -o a.out 2>&1 | FileCheck %s --check-prefix=AMDGPU-LINK 48 // RUN: clang-linker-wrapper --host-triple=x86_64-unknown-linux-gnu --dry-run --save-temps -O2 \ 49 // RUN: --linker [all...] |
H A D | ps4-ps5-linker-win.c | 1 // This test checks that orbis-ld is used for PS4 linker all the time, and 2 // prospero-lld is used for PS5 linker. Specifying -fuse-ld causes an error. 11 // RUN: | FileCheck --check-prefix=CHECK-PS4-LINKER %s 13 // RUN: | FileCheck --check-prefixes=CHECK-PS4-LINKER,SHARED %s 15 // RUN: | FileCheck --check-prefix=CHECK-PS5-LINKER %s 17 // RUN: | FileCheck --check-prefixes=CHECK-PS5-LINKER,SHARED %s 19 // CHECK-PS4-LINKER: \\orbis-ld 20 // CHECK-PS5-LINKER: \\prospero-lld
|
H A D | ps4-ps5-linker-non-win.c | 1 /// Checks proper linker prefixing for PS4 and PS5. 13 // RUN: | FileCheck --check-prefix=CHECK-PS4-LINKER %s 15 // RUN: | FileCheck --check-prefixes=CHECK-PS4-LINKER,SHARED %s 17 // RUN: | FileCheck --check-prefix=CHECK-PS5-LINKER %s 19 // RUN: | FileCheck --check-prefixes=CHECK-PS5-LINKER,SHARED %s 21 // CHECK-PS4-LINKER: /orbis-ld 22 // CHECK-PS5-LINKER: /prospero-lld
|
H A D | hip-binding.hip | 8 // NRDCS: # "amdgcn-amd-amdhsa" - "AMDGCN::Linker", inputs: ["[[OBJ1]]"], output: "[[IMG1:.*]]" 10 // NRDCS: # "amdgcn-amd-amdhsa" - "AMDGCN::Linker", inputs: ["[[OBJ2]]"], output: "[[IMG2:.*]]" 11 // NRDCS: # "amdgcn-amd-amdhsa" - "AMDGCN::Linker", inputs: ["[[IMG1]]", "[[IMG2]]"], output: "[[FA… 37 // CHECK: # "amdgcn-amd-amdhsa" - "AMDGCN::Linker", inputs: ["[[DOBJ1]]"], output: "[[IMG1:.*out]]" 39 // CHECK: # "amdgcn-amd-amdhsa" - "AMDGCN::Linker", inputs: ["[[DOBJ2]]"], output: "[[IMG2:.*out]]" 41 // CHECK: # "amdgcn-amd-amdhsa" - "AMDGCN::Linker", inputs: ["[[IMG1]]", "[[IMG2]]"], output: "[[FA… 43 // CHECK: # "x86_64-unknown-linux-gnu" - "GNU::Linker", inputs: ["[[HOSTOBJ]]", "[[FATBINOBJ]]"], o… 50 // NORDC: # "x86_64-unknown-linux-gnu" - "GNU::Linker", inputs: ["{{.*o}}"], output: "a.out" 60 // MULTI-D-ONLY-NEXT: # "amdgcn-amd-amdhsa" - "AMDGCN::Linker", inputs: ["[[GFX908]]"], output: "[[… 62 // MULTI-D-ONLY-NEXT: # "amdgcn-amd-amdhsa" - "AMDGCN::Linker", inputs: ["[[GFX90a]]"], output: "[[… [all …]
|
H A D | dynamic-linker.c | 1 …wn-linux-gnueabi -### /dev/null -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-DYNAMIC-LINKER %s 2 …nknown-linux-gnu -### /dev/null -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-DYNAMIC-LINKER %s 3 …nknown-linux-gnu -### /dev/null -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-DYNAMIC-LINKER %s 4 …nknown-linux-gnu -### /dev/null -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-DYNAMIC-LINKER %s 5 …nknown-linux-gnu -### /dev/null -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-DYNAMIC-LINKER %s 29 // CHECK-DYNAMIC-LINKER: "-dynamic-linker" 30 // CHECK-SHARED-NOT: "-dynamic-linker" 31 // CHECK-STATIC-NOT: "-dynamic-linker"
|
/llvm-project/lld/docs/ |
H A D | NewLLD.rst | 4 The ELF Linker as a Library 7 You can embed LLD to your program by linking against it and calling the linker's 14 files in the usual way and give them to the linker. It is naturally expected to 15 work, or otherwise it's a linker's bug. 26 There are many design choices you have to make to create a complete linker. 48 Since we are trying to create a high-performance linker, 63 We'll describe how the traditional Unix linker handles archive files, what the 66 The traditional Unix linker maintains a set of undefined symbols during 67 linking. The linker visits each file in the order as they appeared in the 68 command line until the set becomes empty. What the linker would do depends on [all …]
|
H A D | index.rst | 1 LLD - The LLVM Linker 4 LLD is a linker from the LLVM project that is a drop-in replacement 8 The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS) and 19 same command line arguments and linker scripts as GNU. 23 gold linker. Your mileage may vary, though. 31 - It is always a cross-linker, meaning that it always supports all the 34 easy to use our linker as part of a cross-compile toolchain. 39 external linker and then call the linker's main function, 111 instead of the default linker [all...] |
H A D | WebAssembly.rst | 23 common linker flags with **ld.lld** but also includes several 42 Note that this will not export linker-generated mutable globals unless 68 linker to shrink the code section to remove any padding from the final 90 Report all unresolved symbols. This is the default. Normally the linker 97 this is trivial. For direct function calls, the linker will generate a 111 symbols are resolved by a dynamic linker. Since the dynamic linking API is 148 In general, where possible, the WebAssembly linker attempts to emulate the 149 behaviour of a traditional ELF linker, and in particular the ELF port of lld. 156 One way in which the WebAssembly linker differs from traditional native linkers 184 In addition, symbols can be exported via the linker command line using [all …]
|
H A D | ld.lld.1 | 12 .Nd ELF linker from the LLVM project 18 A linker takes one or more object, archive, and library files, and combines 26 It accepts most of the same command line arguments and linker scripts 33 acts as a Microsoft link.exe-compatible linker if invoked as 41 as a native linker as well as a cross linker. 184 read this default linker script. 188 may be another symbol or a linker script expression. 203 .It Fl -dynamic-linker Ns = Ns Ar value 204 Specify the dynamic linker t [all...] |
/llvm-project/llvm/test/tools/obj2yaml/ELF/ |
H A D | linker-options.yaml | 8 # VALID: - Name: .linker-options-valid1 13 # VALID-NEXT: - Name: .linker-options-valid2 27 - Name: .linker-options-valid1 30 - Name: .linker-options-valid2 39 # CORRUPT: - Name: .linker-options-empty 42 # CORRUPT-NEXT: - Name: .linker-options-no-null 45 # CORRUPT-NEXT: - Name: .linker-options-incomplete 56 - Name: .linker-options-empty 60 - Name: .linker-options-no-null 65 - Name: .linker-options-incomplete
|
/llvm-project/llvm/test/tools/llvm-readobj/ELF/ |
H A D | linker-options.test | 1 ## Check that we can use the --elf-linker-options option 5 # RUN: llvm-readobj --elf-linker-options %t1 2>&1 | FileCheck %s -DFILE=%t1 23 - Name: .linker-options.valid1 32 - Name: .linker-options.incomplete 39 - Name: .linker-options.empty 44 - Name: .linker-options.nonul 49 - Name: .linker-options.broken.content 56 - Name: .linker-options.valid2 62 ## llvm-readelf doesn't support --elf-linker-options yet. 63 # RUN: llvm-readelf --elf-linker-options %t1 2>&1 | FileCheck %s --check-prefix=READELF
|
/llvm-project/llvm/test/tools/yaml2obj/ELF/ |
H A D | linker-options.yaml | 7 # RUN: llvm-readobj --string-dump .linker-options1 --sections --section-data %t1 \ 10 # OPTIONS: Name: .linker-options1 22 # OPTIONS: Name: .linker-options2 28 # OPTIONS: Name: .linker-options3 34 # OPTIONS: String dump of section '.linker-options1': 46 - Name: .linker-options1 53 - Name: .linker-options2 56 - Name: .linker-options3 74 - Name: .linker-options 85 - Name: .linker-options [all …]
|
/llvm-project/lld/test/COFF/ |
H A D | pdb-linker-module.test | 6 MODS: Mod 0001 | `* Linker *` 9 MODS-NEXT: pdb file ni: 1 `{{.*}}pdb-linker-module.test.tmp.pdb`, src file ni: 0 `` 11 SYMS: Mod 0001 | `* Linker *` 12 SYMS-NEXT: 4 | S_OBJNAME [size = 20] sig=0, `* Linker *` 14 SYMS-NEXT: machine = intel 80386, Ver = LLVM Linker, language = link 23 SYMS-NEXT: - {{.*}}pdb-linker-module{{.*}}pdb 25 SYMS-NEXT: - /debug /pdb:{{.*}}pdb-linker-module{{.*}}pdb /nodefaultlib "/entry:1 ""hello"" 2" "/ma…
|
/llvm-project/compiler-rt/lib/lsan/ |
H A D | lsan_common_linux.cpp | 32 static LoadedModule *linker = nullptr; variable 59 if (linker == nullptr) { in InitializePlatformSpecificModules() 60 linker = reinterpret_cast<LoadedModule *>(linker_placeholder); in InitializePlatformSpecificModules() 61 *linker = module; in InitializePlatformSpecificModules() 65 "TLS and other allocations originating from linker might be " in InitializePlatformSpecificModules() 67 linker->clear(); in InitializePlatformSpecificModules() 68 linker = nullptr; in InitializePlatformSpecificModules() 72 if (linker == nullptr) { in InitializePlatformSpecificModules() 73 VReport(1, "LeakSanitizer: Dynamic linker not found. TLS and other " in InitializePlatformSpecificModules() 74 "allocations originating from linker migh in InitializePlatformSpecificModules() [all...] |
/llvm-project/llvm/test/Bindings/OCaml/ |
H A D | linker.ml | 1 (* RUN: rm -rf %t && mkdir -p %t && cp %s %t/linker.ml 2 * RUN: %ocamlc -g -w +A -package llvm.linker -linkpkg %t/linker.ml -o %t/executable 4 * RUN: %ocamlopt -g -w +A -package llvm.linker -linkpkg %t/linker.ml -o %t/executable 30 (*===-- Linker -----------------------------------------------------------===*) 65 suite "linker" test_linker
|
/llvm-project/llvm/test/tools/dsymutil/ |
H A D | arch-option.test | 14 RUN: dsymutil --linker parallel -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib |… 15 RUN: dsymutil --linker parallel -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -… 16 RUN: dsymutil --linker parallel -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -… 17 RUN: dsymutil --linker parallel -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -… 18 RUN: dsymutil --linker parallel -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -… 19 RUN: dsymutil --linker parallel -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -… 20 RUN: dsymutil --linker parallel -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -… 21 RUN: not dsymutil --linker parallel -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dyl… 22 RUN: not dsymutil --linker parallel -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dyl…
|
/llvm-project/bolt/lib/Rewrite/ |
H A D | JITLinkLinker.cpp | 77 JITLinkLinker &Linker; member 80 Context(JITLinkLinker &Linker, JITLinkLinker::SectionsMapper MapSections) in Context() 81 : JITLinkContext(&Linker.Dylib), Linker(Linker), in Context() 85 return *Linker.MM; in getMemoryManager() 128 if (auto Address = Linker.lookupSymbol(SymName)) { in lookup() 136 if (const BinaryData *I = Linker.BC.getBinaryDataByName(SymName)) { in lookup() 147 if (Linker.BC.isGOTSymbol(SymName)) { in lookup() 148 if (const BinaryData *I = Linker in lookup() [all...] |
/llvm-project/lld/test/ELF/ |
H A D | dynamic-linker.s | 4 # RUN: ld.lld --dynamic-linker foo %t.o -o %t 7 # RUN: ld.lld --dynamic-linker=foo %t.o -o %t 15 # RUN: ld.lld --dynamic-linker foo --no-dynamic-linker %t.o -o %t 18 ## {clang,gcc} -nostdlib -r passes --dynamic-linker, and the expected behavior is to ignore it. 19 # RUN: ld.lld -r --dynamic-linker foo %t.o -o %t
|