From ef95d45138ec35d47feff287f3c1e0ca71e49306 Mon Sep 17 00:00:00 2001 From: Jez Ng Date: Wed, 19 Jan 2022 16:30:52 -0800 Subject: [PATCH] [lld-macho] Mention string literal deduplication as a difference from ld64 Reviewed By: keith Differential Revision: https://reviews.llvm.org/D117250 --- lld/MachO/ld64-vs-lld.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lld/MachO/ld64-vs-lld.rst b/lld/MachO/ld64-vs-lld.rst index d40c5a4..246481a 100644 --- a/lld/MachO/ld64-vs-lld.rst +++ b/lld/MachO/ld64-vs-lld.rst @@ -4,6 +4,15 @@ LD64 vs LLD-MACHO This doc lists all significant deliberate differences in behavior between LD64 and LLD-MachO. +String literal deduplication +**************************** +LD64 always deduplicates string literals. LLD only does it when the `--icf=` or +the `--deduplicate-literals` flag is passed. Omitting deduplication by default +ensures that our link is as fast as possible. However, it may also break some +programs which have (incorrectly) relied on string deduplication always +occurring. In particular, programs which compared string literals via pointer +equality must be fixed to use value equality instead. + ``-no_deduplicate`` Flag ********************** - LD64: -- 2.7.4