[llvm-branch-commits] [lld] [PAC][lld][AArch64][ELF] Support signed TLSDESC (PR #113817)

Daniil Kovalev via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Sun Nov 10 09:45:52 PST 2024


================
@@ -1352,6 +1352,36 @@ unsigned RelocationScanner::handleTlsRelocation(RelExpr expr, RelType type,
     return 1;
   }
 
+  auto fatalBothAuthAndNonAuth = [&sym]() {
+    fatal("both AUTH and non-AUTH TLSDESC entries for '" + sym.getName() +
----------------
kovdan01 wrote:

> We now use `Fatal(ctx) << ...`. Unlike fatal, `Fatal` executes `exit` but is not `noreturn`.
> 
> `Fatal` should generally be avoided in favor of `Err`. You will need to make sure lld doesn't crash when it keeps execution, though the output is not required to be functional.

Thanks! Switched from `fatal` to `Err(ctx)`. After emitting an error, we return the number of processed relocations (which is 1), and do not add any entries to GOT synthetic section. So, I don't expect lld to crash, and it should be OK to use `Err` instead of `Fatal` here. See 105213dde62927e619fb38149e8c613ab7462ed8

> Can you add getLocation to the error message so that a user can find the source of at least one of the relocations?

Added that, thanks! See 105213dde62927e619fb38149e8c613ab7462ed8


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


More information about the llvm-branch-commits mailing list