llvm-project/lld/test/MachO
Jez Ng 6736bce6db [lld-macho] Private label aliases to weak symbols should not retain section data
If we have two files with the same weak symbol like so:

```
ltmp0:
_weak:
  <contents>
```
and

```
ltmp1:
_weak:
  <contents>
```

Linking them together should leave only one copy of `<contents>`, not
two. Previously, we would keep around both copies because of the
private-label `ltmp<N>` symbols (i.e. symbols that start with `l`) -- we
would not coalesce those, so we would treat them as retaining the
contents.

This matters for more than just size -- we are depending upon this
behavior internally for emitting a certain file format. This file
format's header is repeated in each object file, but we want it to
appear just once in our output.

Why can't we not emit those aliases to `_weak`, or reference the
`ltmp<N>` symbols instead of `_weak`? Well, MC actually adds `ltmp<N>`
symbols as part of the assembly-to-binary translation step. So any
codegen at the clang level can't access them.

All that said... this solution is actually kind of hacky. Here, we avoid
creating the private-label symbols at parse time. This is acceptable
since we never emit those symbols in our output. However, in ld64, any
aliasing temporary symbols (ignored or otherwise) won't retain coalesced
data. But implementing this is harder -- we would have to create those
symbols first (so we can emit their names later), but we would have to
ensure the linker correctly shuffles them around when their aliasees get
coalesced.

Additionally, ld64 treats these temporary symbols as functionally
equivalent to the weak symbols themselves -- that is, it will emit weak
binds when those non-weak temporary aliases are referenced. We have
imitated this behavior for private-label symbols, but implementing it for
local aliases in general seems substantially more difficult. I'm not
sure if any programs actually depend on this behavior though, so maybe
it's a moot point.

Finally, ld64 does all this regardless of whether
`.subsections_via_symbols` is specified. We don't. But again, given how
rare the lack of that directive is (I've only seen it from hand-written
assembly inputs), I don't think we need to worry about it.

Reviewed By: #lld-macho, oontvoo

Differential Revision: https://reviews.llvm.org/D139069
2022-12-01 12:01:32 -05:00
..
Inputs [lld-macho] Fix segfault when handling LTO + object file weak defs 2022-07-23 11:48:45 -04:00
invalid [lld/mac] With -demangle, strip leading _ from non-mangled names 2022-10-04 16:47:07 -04:00
tools [lld] Fixed a number of typos 2022-08-02 09:52:31 -04:00
U-dynamic-lookup.s [lld-macho][nfc] Clean up tests 2021-05-10 15:45:54 -04:00
abs-duplicate.s [lld-macho] Do not error out on dead stripped duplicate symbols 2022-09-30 15:09:27 -07:00
abs-symbols.s [lld-macho][nfc] Extend abs-symbol.s to test for local absolute symbols 2021-04-08 12:21:01 -04:00
add-ast-path.s [lld-macho] Support -add_ast_path 2021-04-08 14:12:55 -04:00
adhoc-codesign-hash.s [lld-macho][test] Add -lSystem to all lld invocations 2022-10-04 14:10:43 -07:00
adhoc-codesign.s [lld-macho][nfc] Centralize usages of ld64.lld in tests 2022-02-10 17:27:07 -08:00
alias-option.s [lld-macho] Mark aliased symbols as noDeadStrip 2022-10-04 14:53:53 -07:00
alias-symbols.s [lld-macho][reland] Add support for N_INDR symbols 2022-09-15 22:57:15 -04:00
application-extension.s [lld/mac] Fix application-extension.s failure after 8e8701abca 2021-07-27 14:39:43 -04:00
arch-multiple.s [lld/mac] Implement -arch_multiple 2021-07-06 00:25:18 -04:00
arch.s
archive-symbol-resolution.s [lld-macho][nfc] Rename some tests for consistency 2022-03-04 14:21:16 -05:00
archive.s [lld-macho] Implement -noall_load 2022-01-19 13:12:18 -08:00
arm-branch-relocs.s [lld-macho] Preliminary support for ARM_RELOC_BR24 2021-05-05 14:41:01 -04:00
arm-dtrace.s [lld-macho][test] Add -lSystem to all lld invocations 2022-10-04 14:10:43 -07:00
arm64-32-dtrace.s [lld-macho][test] Add -lSystem to all lld invocations 2022-10-04 14:10:43 -07:00
arm64-32-reloc-got-load.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
arm64-32-stubs.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
arm64-dtrace.s [lld-macho] Handle user-provided dtrace symbols to avoid linking failure 2022-07-11 15:32:26 -04:00
arm64-objc-stubs.s [lld-macho] Add support for objc_msgSend stubs 2022-08-10 17:17:17 -07:00
arm64-reloc-got-load.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
arm64-reloc-pointer-to-got.s [lld-macho][nfc] Convert tabs to spaces 2021-04-11 23:25:23 -04:00
arm64-reloc-tlv-load.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
arm64-relocs.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
arm64-stubs.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
arm64-thunk-starvation.s [lld/mac] Give range extension thunks for local symbols local visibility 2022-03-30 16:45:05 -04:00
arm64-thunk-visibility.s [lld/mac] Tweak a few comments 2022-04-01 19:32:07 -04:00
arm64-thunks.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
bind-opcodes.s [lld-macho][test] Add -lSystem to all lld invocations 2022-10-04 14:10:43 -07:00
bitcode-bundle.ll [lld-macho] Ensure segments are laid out contiguously 2021-04-20 16:58:57 -04:00
bss.s [lld-macho] Ensure segments are laid out contiguously 2021-04-20 16:58:57 -04:00
builtin-rename.s [lld-macho] Set the SG_READ_ONLY flag on __DATA_CONST 2022-08-31 17:04:20 +02:00
bundle-loader.s [lld-macho] Don't reference entry symbol for non-executables 2021-05-09 20:30:26 -04:00
cfstring-dedup.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
cgprofile-icf.s [lld-macho][nfc] Avoid using absolute addresses in cgprofile-icf.s 2022-03-03 19:00:28 -05:00
cgprofile-obj.s [lld-macho] Port CallGraphSort from COFF/ELF 2022-01-12 10:47:04 -05:00
cgprofile-orderfile.s [lld-macho] Allow order files and call graph sorting to be used together 2022-02-17 14:19:34 -05:00
cgprofile-print.s [lld-macho] Port CallGraphSort from COFF/ELF 2022-01-12 10:47:04 -05:00
chained-fixups-addend.s [lld-macho] Add support for emitting chained fixups 2022-10-04 11:48:45 +02:00
chained-fixups-empty.s [lld-macho] Add support for emitting chained fixups 2022-10-04 11:48:45 +02:00
color-diagnostics.test [MachO] Use error instead of fatal for missing -arch 2021-10-31 16:31:21 -07:00
common-symbol-coalescing.s [lld-macho][nfc] Simplify common-symbol-coalescing test 2021-07-29 11:07:50 -04:00
common-symbol-resolution.s [lld-macho][nfc] Fix test to reflect that symbol attributes don't matter within an archive 2021-07-23 11:49:00 -04:00
compact-unwind-both-local-and-dylib-personality.s [lld-macho][nfc] Clean up trailing spaces and tabs 2022-02-15 21:33:26 -05:00
compact-unwind-foldings.s [lld-macho] Fix bug in CUE folding that resulted in wrong unwind table. 2022-11-22 10:39:51 -05:00
compact-unwind-generated.test fix typos to cycle bots 2022-05-13 08:57:08 -04:00
compact-unwind-lsda-folding.s [MachO] Don't fold compact unwind entries with LSDA 2022-08-30 12:34:19 +05:00
compact-unwind-stack-ind.s [lld/mac] Don't fold UNWIND_X86_64_MODE_STACK_IND unwind entries 2021-06-27 06:49:32 -04:00
compact-unwind-sym-relocs.s [lld-macho] Fix symbol relocs handling for LSDAs 2021-11-12 16:02:49 -05:00
compact-unwind.s [lld-macho] Use fewer indirections in UnwindInfo implementation 2022-04-08 23:49:07 -04:00
cstring-align.s [lld-macho] Align cstrings less conservatively 2022-03-10 15:18:15 -05:00
cstring-dedup.s [lld-macho] Align cstrings less conservatively 2022-03-10 15:18:15 -05:00
data-in-code-section-ordering.s [lld-macho] Sort data-in-code entries 2022-09-13 19:08:35 +02:00
data-in-code.s [lld/mac] Support -data_in_code_info, -function_starts flags 2021-06-18 13:01:42 -04:00
dead-strip-align.s [lld-macho] Preserve alignment for non-deduplicated cstrings 2021-06-28 22:26:43 -04:00
dead-strip-dylibs.s [lld/mac] Add a test for -reexport_library + -dead_strip_dylibs 2021-06-07 13:44:58 -04:00
dead-strip.s [lld-macho] Don't sort map file entries by name 2022-10-25 16:29:13 -04:00
demangle.s [nfc][lld-macho] Follow up fixes to bd9e46815d 2022-05-16 20:53:53 -04:00
dependency-info.s [lld-macho][nfc] Clean up tests 2021-05-10 15:45:54 -04:00
discard-llvm-sections.s [lld-macho][test] Remove ld64.lld: prefix in a diagnostic 2021-08-16 19:41:12 -07:00
double-unwind-info.s [lld-macho] Fix assertion when two symbols at same addr have unwind info 2022-07-21 09:44:49 -04:00
driver.test [MachO] Use error instead of fatal for missing -arch 2021-10-31 16:31:21 -07:00
dso-handle.s [llvm-objdump] Print memory operand addresses as regular comments 2021-06-28 14:25:22 +07:00
dwarf-no-compile-unit.s [ADT] [lld-macho] Check for end iterator deref in filter_iterator_base 2022-06-21 15:47:45 -04:00
dyld-env.s [lld-macho] Support -dyld_env 2022-09-20 10:16:45 -04:00
dyld-stub-binder.s [lld-macho][test] Add -lSystem to all lld invocations 2022-10-04 14:10:43 -07:00
dylib-stub.yaml [yaml2obj][MachO] Rename PayloadString to Content 2021-07-26 09:04:51 -07:00
dylib-version.s [mac/lld] simplify code using PackedVersion instead of VersionTuple 2020-12-15 19:23:07 -05:00
dylib.s
dylink-ordinal.s [lld/mac] Make tbd files in one test valid 2021-07-12 11:13:54 -04:00
dylink.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
eh-frame-dead-strip.s [MachO] Fix dead-stripping __eh_frame 2022-08-27 14:54:34 +05:00
eh-frame-personality-dedup.s [lld-macho] Canonicalize personality pointers in EH frames 2022-10-11 23:50:46 -04:00
eh-frame-sdata4.s [lld-macho] Support EH frame pointer encodings that use sdata4 2022-07-31 20:16:33 -04:00
eh-frame.s [lld-macho] Require aarch64 for eh-frame.s test 2022-06-13 14:05:07 -04:00
encryption-info.s [lld/mac] add aarch64 to requirements of encryption-info.s test 2021-04-21 14:21:42 -04:00
entry-symbol.s [lld-macho] Treat undefined symbols uniformly 2021-05-10 15:45:54 -04:00
error-limit.test [lld] Add test suite mode for running LLD main twice 2021-11-01 14:26:54 -07:00
export-options.s [lld-macho] Add support for exporting no symbols 2022-06-15 15:07:27 -07:00
export-trie.s [lld-macho] Have tests default to targeting macos 10.15 2021-04-23 09:25:08 -04:00
fat-arch.s
fatal-warnings.s [lld-macho] Add support for -w 2022-06-11 17:38:50 -07:00
filelist.s [lld-macho][nfc] Clean up tests 2020-12-21 14:44:08 -05:00
final-output.s [lld/mac] Implement -final_output 2021-07-05 20:06:26 -04:00
flat-namespace-dysyms.s [lld-macho] -flat_namespace for dylibs should make all externs interposable 2022-03-14 22:18:32 -04:00
flat-namespace-interposable.s [lld-macho] Add support for emitting chained fixups 2022-10-04 11:48:45 +02:00
force-load-swift-libs.ll [lld-macho] Simplify archive loading logic 2022-07-19 21:56:24 -04:00
force-load.s [lld-macho][nfc] Change force-load.s test to actually test 2022-07-12 17:57:09 -04:00
framework.s [lld/mac] Make framework symlinks in tests more realistic 2021-06-09 20:39:39 -04:00
function-starts.s [test][lld-macho] Improve LC_FUNCTION_STARTS test coverage 2022-01-30 09:46:36 -08:00
header.s [lld-macho] Initial scaffolding for ARM32 support 2021-04-30 16:17:25 -04:00
headerpad.s [lld-macho][test] Add -lSystem to all lld invocations 2022-10-04 14:10:43 -07:00
icf-arm64.s [lld/mac] Don't assert when ICFing arm64 code 2021-10-27 14:02:07 -04:00
icf-literals.s [lld-macho] Fix ICF crash when comparing symbol relocs 2022-04-22 15:36:53 -04:00
icf-options.s [lld] Implement safe icf for MachO 2022-05-03 21:01:03 -04:00
icf-safe.ll [lld-macho] Make `--icf=safe` work with LTO 2022-06-12 17:26:08 -04:00
icf-scale.s [lld-macho][nfc] Clean up trailing spaces and tabs 2022-02-15 21:33:26 -05:00
icf-undef.s [lld-macho] Deduplicate CFStrings during ICF 2022-03-08 08:34:03 -05:00
icf.s [lld-macho] Don't fold subsections with symbols at nonzero offsets 2022-10-18 17:22:09 -04:00
implicit-dylibs.s [lld/mac] Make framework symlinks in tests more realistic 2021-06-09 20:39:39 -04:00
indirect-symtab.s [lld/mac] Mark private externs with GOT relocs as LOCAL in indirect symbtab 2021-10-15 13:24:47 -04:00
init-offsets.s [lld-macho] Set 4-byte alignment for `__init_offsets` 2022-11-10 23:32:55 +01:00
install-name.s [lld-macho][nfc] Rename %no_fatal_warnings_lld in tests 2022-02-11 10:06:38 -05:00
lc-build-version.s [lld/mac] Warn that writing zippered outputs isn't implemented 2022-04-21 12:05:56 -04:00
lc-dyld-exports-trie.yaml [lld-macho] Accept dylibs with LC_DYLD_EXPORTS_TRIE 2022-07-13 22:34:11 +02:00
lc-linker-option.ll lld: Convert tests to opaque pointers 2022-11-27 20:06:48 -08:00
link-search-at-executable-path.s [lld/mac] Implement support for searching dylibs with @executable_path/ in install name 2021-06-06 20:01:50 -04:00
link-search-at-loader-path-symlink.s [lld/mac] When handling @loader_path, use realpath() of symlinks 2021-06-09 20:36:07 -04:00
link-search-at-loader-path.s [lld/mac] Implement support for searching dylibs with @loader_path/ in install name 2021-06-06 20:19:50 -04:00
link-search-at-rpath.s [lld/mac] Implement support for searching dylibs with @rpath/ in install name 2021-06-07 06:22:52 -04:00
link-search-order.s [lld-macho][test] Add -lSystem to all lld invocations 2022-10-04 14:10:43 -07:00
linkedit-contiguity.s [lld-macho] Ensure that chained fixups data comes first in __LINKEDIT 2022-11-07 23:51:24 +01:00
lit.local.cfg [lld-macho][test] Add -lSystem to all lld invocations 2022-10-04 14:10:43 -07:00
literal-dedup.s [lld-macho] Allow deduplicate-literals to be overridden 2022-01-18 15:42:59 -08:00
load-command-sequence.s [lld/mac] Change load command order to be more like ld64 2021-07-19 15:04:32 -04:00
load-commands.s [mac/lld] Run tests with -fatal_warnings by default 2020-12-03 21:23:47 -05:00
load-hidden.ll Reland "[lld-macho] Implement -load_hidden" 2022-07-25 22:51:24 +02:00
load-hidden.s [lld-macho] Implement -hidden-l 2022-07-26 01:41:51 +02:00
local-got.s [lld][MachO] Add support for LC_DATA_IN_CODE 2021-06-14 19:21:59 -07:00
local-private-extern.yaml [lld-macho] Handle non-extern symbols marked as private extern 2021-06-18 16:36:14 -04:00
local-symbol-output.s [lld-macho][test] Add -lSystem to all lld invocations 2022-10-04 14:10:43 -07:00
loh-adrp-add-ldr.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
loh-adrp-add.s [lld-macho] Simplify linker optimization hint processing 2022-09-06 08:19:08 +02:00
loh-adrp-adrp.s [lld-macho] Parallelize linker optimization hint processing 2022-09-16 17:38:46 +02:00
loh-adrp-ldr-got-ldr.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
loh-adrp-ldr-got.s [lld-macho] Handle LOH_ARM64_ADRP_LDR_GOT optimization hints 2022-07-05 07:33:13 +02:00
loh-adrp-ldr.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
loh-parsing.s [lld-macho] Fix LOH parsing segfault 2022-07-21 13:59:39 -04:00
lto-archive.ll lld: Convert tests to opaque pointers 2022-11-27 20:06:48 -08:00
lto-archivecollision.ll [lld/mac] Add missing REQUIRES line to new test 2021-07-23 10:40:22 -04:00
lto-cache-warnings.ll [ThinLTO] a ThinLTO warning is added if cache_size_bytes or cache_size_files is too small for the current link job. The warning recommends the user to consider adjusting --thinlto-cache-policy. 2022-11-14 12:27:29 +00:00
lto-cache.ll [COFF, Mach-O] Include -mllvm options in thinlto cache key 2022-11-14 15:18:09 -05:00
lto-codemodel.ll lld: Convert tests to opaque pointers 2022-11-27 20:06:48 -08:00
lto-common-symbol-coalescing.ll [lld-macho] Support common symbols in bitcode (but differently from ld64) 2021-07-29 11:07:50 -04:00
lto-common-symbol-resolution.ll lld: Convert tests to opaque pointers 2022-11-27 20:06:48 -08:00
lto-cpu-string.ll [lld/mac] Give several LTO tests an "lto-" prefix 2021-07-06 15:23:42 -04:00
lto-explicit-exports.ll [lld-macho] `-exported_symbols` should hide symbols before LTO runs 2022-07-28 17:55:49 -04:00
lto-final-definition.ll [lld-macho] Set FinalDefinitionInLinkageUnit on most LTO externs 2022-03-15 20:25:06 -04:00
lto-internalize-unnamed-addr.ll lld: Convert tests to opaque pointers 2022-11-27 20:06:48 -08:00
lto-internalize.ll [lld-macho] Set FinalDefinitionInLinkageUnit on most LTO externs 2022-03-15 20:25:06 -04:00
lto-irmover-warning.ll [lld-macho][nfc] Rename %no_fatal_warnings_lld in tests 2022-02-11 10:06:38 -05:00
lto-linkonce.ll [lld/mac] Give several LTO tests an "lto-" prefix 2021-07-06 15:23:42 -04:00
lto-mattrs.ll [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
lto-module-asm-err.ll [lld] Add module name to LTO inline asm diagnostic 2022-01-28 11:32:42 -08:00
lto-module-asm.ll [lld/mac] Give several LTO tests an "lto-" prefix 2021-07-06 15:23:42 -04:00
lto-obj-weak-def.ll [lld-macho] Fix segfault when handling LTO + object file weak defs 2022-07-23 11:48:45 -04:00
lto-objc-arc-contract.ll lld: Convert tests to opaque pointers 2022-11-27 20:06:48 -08:00
lto-object-path.ll [lld-macho] Flip ZERO_AR_DATE default 2022-10-10 13:10:09 -07:00
lto-opt-level.ll [lld/mac] Add test for --lto-O 2021-07-19 16:45:33 -04:00
lto-save-temps.ll [lld-macho] Have tests default to targeting macos 10.15 2021-04-23 09:25:08 -04:00
lto-symbol-resolution.ll [lld-macho][nfc] Add test for resolution of bitcode symbols 2021-07-23 11:49:00 -04:00
lto-weak-ref.ll [lld/mac] Don't lose "weak ref" bit when doing LTO 2021-12-17 15:26:35 -05:00
map-file.ll [lld-macho] Map file should map symbols to their original bitcode file 2022-10-21 22:49:02 -04:00
map-file.s Revert "[lld-macho] Overhaul map file code" 2022-11-17 12:13:13 +04:00
mark-dead-strippable-dylib.s [lld-macho][nfc] Rename %no_fatal_warnings_lld in tests 2022-02-11 10:06:38 -05:00
mh-execute-header.s [lld-macho][nfc] Remove unnecessary -pie flags in tests 2021-11-04 00:02:03 -04:00
mh-header-link.s [lld-macho][nfc] Remove unnecessary -pie flags in tests 2021-11-04 00:02:03 -04:00
no-exports-dylib.s
no-pie.s [lld-macho] Reject -no_pie for unsupported archs 2022-11-29 11:17:08 -08:00
no-unneeded-dyld-info.s [lld-macho] If export_size is zero, export_off must be zero 2021-10-27 14:58:42 -04:00
nonweak-definition-override.s fix typos to cycle bots 2022-05-13 08:57:08 -04:00
obj-file-with-stabs.s [lld-macho][reland] Initial support for EH Frames 2022-06-13 07:45:16 -04:00
objc-classrefs-dedup.s [lld-macho] Deduplicate the `__objc_classrefs` section contents 2022-03-08 08:34:04 -05:00
objc-imageinfo.s [lld-macho] Fold __objc_imageinfo sections 2022-07-23 12:12:01 -04:00
objc-methname.s [lld-macho] Add support for objc_msgSend stubs 2022-08-10 17:17:17 -07:00
objc-selrefs.s [lld-macho] Have ICF dedup explicitly-defined selrefs 2022-09-14 17:59:22 -04:00
objc-uses-custom-personality.s [lld/mac] Warn that writing zippered outputs isn't implemented 2022-04-21 12:05:56 -04:00
objc.s [lld/macho] Fixes the -ObjC flag 2022-05-11 17:00:39 -07:00
order-file.s [lld/mac] Don't crash on absolute symbols in order files 2021-07-23 11:33:23 -04:00
pagezero.s [lld-macho][nfc] Rename %no_fatal_warnings_lld in tests 2022-02-11 10:06:38 -05:00
platform-version.s [lld/mac] Support writing zippered dylibs and bundles 2022-05-04 19:23:35 -04:00
private-extern.s [lld-macho][NFC] Purge stale test-output trees prior to split-file 2021-05-08 17:36:30 -07:00
rebase-opcodes.s [lld-macho] Optimize rebase opcode generation 2022-07-21 10:00:39 +02:00
reexport-stub.s [lld-macho] Implement `-no_implicit_dylibs` 2020-12-10 15:57:52 -08:00
referenced-dynamically.s fix typos to cycle bots 2022-05-13 08:57:08 -04:00
reloc-subtractor.s [lld-macho] Support subtractor relocations that reference sections 2021-04-20 16:58:57 -04:00
rename.s [lld][MachO] Fix typo in rename.s 2022-02-01 11:57:04 +00:00
reproduce-thin-archives.s [mac/lld] Make --reproduce work with thin archives 2020-12-02 09:48:31 -05:00
reproduce.s [lld-macho][nfc] Centralize usages of ld64.lld in tests 2022-02-10 17:27:07 -08:00
reroot-path.s Reland "[lld-macho] Implement -load_hidden" 2022-07-25 22:51:24 +02:00
responsefile.test [mac/lld] Add support for response files 2020-11-30 08:23:58 -05:00
rpath.s [lld/mac] Implement support for searching dylibs with @rpath/ in install name 2021-06-07 06:22:52 -04:00
search-paths-darwin.test [lld-macho][nfc] Centralize usages of ld64.lld in tests 2022-02-10 17:27:07 -08:00
search-paths.test [lld-macho][test] Add -lSystem to all lld invocations 2022-10-04 14:10:43 -07:00
sectalign.s [lld/mac] Implement -sectalign 2021-05-11 13:31:32 -04:00
sectcreate.s [lld-macho] Add support for -add_empty_section 2022-01-30 10:03:41 -08:00
section-headers.s [lld-macho] Ensure segments are laid out contiguously 2021-04-20 16:58:57 -04:00
section-merge.s [lld-macho][nfc] Clean up tests 2020-12-21 14:44:08 -05:00
section-order.s [lld-macho][nfc] Sort OutputSections based on explicit order of command-line inputs 2021-05-25 14:58:29 -04:00
segments.s [lld-macho] Ensure segments are laid out contiguously 2021-04-20 16:58:57 -04:00
segprot.s [lld-macho] Implement -segprot 2021-03-29 14:08:12 -04:00
silent-ignore.s [lld-macho] Allow deduplicate-literals to be overridden 2022-01-18 15:42:59 -08:00
skip-platform-checks.s [lld-macho][nfc] Centralize usages of ld64.lld in tests 2022-02-10 17:27:07 -08:00
special-symbol-ld-hidden.s [lld-macho][nfc] Clean up trailing spaces and tabs 2022-02-15 21:33:26 -05:00
special-symbol-ld-install-name.s [lld-macho][nfc] Rename %no_fatal_warnings_lld in tests 2022-02-11 10:06:38 -05:00
special-symbol-ld-previous.s [lld/mac] Comment changes requested on https://reviews.llvm.org/D130725 2022-07-29 12:55:48 -04:00
stabs-dwarf5.s [lld-macho] Support creating N_SO stab for DWARF5 compile units 2022-07-28 09:58:26 +02:00
stabs-icf.s [lld-macho] Folded symbols should have size zero in linker map 2022-10-18 17:22:10 -04:00
stabs.s [lld-macho] Flip ZERO_AR_DATE default 2022-10-10 13:10:09 -07:00
start-end.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
start-lib.s [lld/mac] Covert start-lib.s test to use qualified paths instead of `cd %t` 2022-11-27 10:00:30 -05:00
static-link.s [llvm-objdump] Print memory operand addresses as regular comments 2021-06-28 14:25:22 +07:00
sub-library.s [lld/mac] When loading reexports, look for basename in -F / -L first 2021-07-27 14:28:52 -04:00
subsections-symbol-relocs.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
symbol-resolution.s [lld-macho][nfc] Rename some tests for consistency 2022-03-04 14:21:16 -05:00
symtab.s [lld][macho]Fix test to sort symbol table before dumping 2022-04-11 12:01:04 -04:00
syslibroot.test [lld-macho][nfc] Centralize usages of ld64.lld in tests 2022-02-10 17:27:07 -08:00
t.s [lld-macho][nfc] Clean up tests 2021-05-10 15:45:54 -04:00
tapi-framework.s [lld-macho][nfc] Rename some tests 2021-04-06 15:10:00 -04:00
tapi-link-by-arch.s [lld/mac] Warn that writing zippered outputs isn't implemented 2022-04-21 12:05:56 -04:00
tapi-link.s [lld-macho] Honor weak and thread-local flags for TAPI symbols 2022-08-17 07:03:24 +02:00
thin-archive.s [lld-macho] Refactor archive loading 2021-08-26 18:52:07 -04:00
thinlto-jobs.ll [lld-macho] Support --thinlto-jobs 2021-04-08 12:21:01 -04:00
thinlto-time-trace.ll [lld-macho] Add time tracing for LTO 2021-03-26 18:14:10 -04:00
threads.s [lld-macho] Add support for --threads 2021-03-25 14:51:31 -04:00
time-trace.s [lld, ELF and mac] Add --time-trace=<file>, remove --time-trace-file=<file> 2022-06-23 15:46:22 -04:00
tlv-dylib.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
tlv.s [lld-macho] Fix alignment of TLV data sections 2021-12-28 19:03:13 -05:00
treat-undef-sym.s [lld-macho][nfc] Clean up trailing spaces and tabs 2022-02-15 21:33:26 -05:00
u.s [lld-macho][test] Simplify --allow-empty with count 0 2021-05-28 15:15:59 -07:00
umbrella.s [lld-macho][nfc] Rename %no_fatal_warnings_lld in tests 2022-02-11 10:06:38 -05:00
undef-spell-corrector.s [lld/mac] Add test for bug fixed in reland 82ca390062 2022-10-13 12:52:25 -04:00
undef-suggest-extern-c.s Reland "[lld/mac] Port typo correction for undefined symbols from ELF port" 2022-10-13 10:33:47 -04:00
undef-suggest-extern-c2.s Reland "[lld/mac] Port typo correction for undefined symbols from ELF port" 2022-10-13 10:33:47 -04:00
unsorted-relocations.yaml [lld-macho][nfc] Add REQUIRES: x86 to test 2021-07-05 03:40:54 -04:00
uuid.s [test] Mark uuid.s as unsupported on Windows 2022-04-01 15:32:51 -07:00
weak-binding.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
weak-def-alias-private-label.s [lld-macho] Private label aliases to weak symbols should not retain section data 2022-12-01 12:01:32 -05:00
weak-def-can-be-hidden.s [lld/mac] Implement support for .weak_def_can_be_hidden 2021-04-22 22:51:34 -04:00
weak-def-thumb-conflict.s [lld-macho] Parse & emit the N_ARM_THUMB_DEF symbol flag 2021-04-30 16:17:26 -04:00
weak-definition-direct-fetch.s [lld-macho] Add --start-lib --end-lib 2022-01-19 10:14:49 -08:00
weak-definition-gc.s [lld-macho] Stop crash when emitting personalities with -dead_strip 2022-05-20 21:40:47 +00:00
weak-definition-in-main-file.s [lld/mac] Resolve defined symbols before undefined symbols 2021-07-19 16:37:41 -04:00
weak-definition-indirect-fetch.s [lld/mac] Remove unused -L%t flags from tests 2021-04-30 09:37:02 -04:00
weak-definition-order.s [lld/mac] Remove unused -L%t flags from tests 2021-04-30 09:37:02 -04:00
weak-definition-over-dysym.s [lld-macho][nfc] Clean up tests 2020-12-21 14:44:08 -05:00
weak-header-flags.s [lld-macho][NFC] Purge stale test-output trees prior to split-file 2021-05-08 17:36:30 -07:00
weak-import.s [lld-macho][nfc] Clean up trailing spaces and tabs 2022-02-15 21:33:26 -05:00
weak-private-extern.s [lld/mac] slightly improve weak-private-extern.s test 2021-04-22 22:42:48 -04:00
weak-reference.s [lld-macho] Add support for emitting chained fixups 2022-10-04 11:48:45 +02:00
why-live.s [lld-macho] Implement -why_live (without perf overhead) 2022-02-24 15:49:36 -05:00
why-load.s [lld-macho][nfc] Clean up tests 2021-05-10 15:45:54 -04:00
x86-64-dtrace.s [lld-macho][test] Rename dtrace test (NFC) 2022-08-09 08:40:08 -07:00
x86-64-objc-stubs.s [lld-macho] Add support for objc_msgSend stubs 2022-08-10 17:17:17 -07:00
x86-64-reloc-got-load.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
x86-64-reloc-signed.s [llvm-objdump] Print memory operand addresses as regular comments 2021-06-28 14:25:22 +07:00
x86-64-reloc-unsigned.s [lld-macho] Make everything PIE by default 2021-04-29 15:11:23 -04:00
x86-64-relocs.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
x86-64-stubs.s [llvm-objdump] Add --no-print-imm-hex to tests depending on it. 2022-10-29 15:40:26 -07:00
zippered.yaml [lld/mac] Support writing zippered dylibs and bundles 2022-05-04 19:23:35 -04:00