[PATCH] D133581: [lld-macho] Sort data-in-code entries
Nico Weber via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 15 08:56:10 PDT 2022
thakis added a comment.
In D133581#3786416 <https://reviews.llvm.org/D133581#3786416>, @thakis wrote:
> As for why we don't hit this on AArch64: http://llvm-cs.pcc.me.uk/lib/Target/AArch64/AArch64AsmPrinter.cpp#686 `AArch64AsmPrinter::emitJumpTableInfo` overrides `AsmPrinter::emitJumpTableInfo`, and the override doesn't call `OutStreamer->emitDataRegion(MCDR_DataRegionJT32);` for whatever reason. It probably should?
>
> But that explains why we _don't_ currently see the assert on arm64.
>
> With that, I think everything's explained :)
Follow-up to this: After D113576 <https://reviews.llvm.org/D113576>, llvm _always_ puts jump tables in `__TEXT,__const` on aarch64, so it never shows up in disassembly -- even for inline functions. (Things then rely on `-dead_strip` to remove the unused data from the jump tables references from non-prevailing inlines, instead of them not being linked in to the binary in the first place.) clang coming with the version of Xcode I'm using doesn't have that change yet as far as I can tell, so I didn't notice this immediately.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D133581/new/
https://reviews.llvm.org/D133581
More information about the llvm-commits
mailing list