[lld] [lld][MachO] Fix symbol insertion in `transplantSymbolsAtOffset` (PR #120737)

Carlo Cabrera via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 20 11:53:21 PST 2024


carlocab wrote:

> GCC doesn't crash without `-DLLVM_ENABLE_EXPENSIVE_CHECKS=ON` - right ?

Right.

> Does the assert fire with GCC without the `-DLLVM_ENABLE_EXPENSIVE_CHECKS=ON` flag ?

No, weirdly.

However, it seems we can assert on `std::is_partitioned` instead. This fires both with Clang and GCC before fixing the comparison lambda.

> Currently I think `_weak_2` symbol is the one being inserted. I would either:
> 
> * Modify the `_weak_2` symbol to have a `value` of 1.
> * Add another `_weak_3` that has the `value` of 1.
> 
> Given the tests have `.subsections_via_symbols` this will be a bit tricky - would need to play around with multiple options to get this to happen. It's not obvious right away what would work here.

Thanks; I'll give this a try after the weekend.

https://github.com/llvm/llvm-project/pull/120737


More information about the llvm-commits mailing list