[lld] [lld][ELF] Implement merged .debug_names section. (PR #86508)

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 28 14:01:04 PDT 2024


================
@@ -441,6 +441,8 @@ static void checkOptions() {
       error("-r and -pie may not be used together");
     if (config->exportDynamic)
       error("-r and --export-dynamic may not be used together");
+    if (config->debugNames)
----------------
MaskRay wrote:

`--gdb-index` is incompatible with `-r`  (from https://reviews.llvm.org/D49513 in 2018, sorry that I did not place extra context there; I was very new to LLVM at that time) as linkers cannot read `.gdb_index` as input. As a merged index it has lost information.

Partially linked `.debug_names` likely causes a lot of trouble because we need to convert input static relocations to output static relocations. This is a quite complex operation that I am not sure we can support with manageable complexity. Rejecting this combination seems the best approach.

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


More information about the llvm-commits mailing list