[Lldb-commits] [PATCH] D131705: Don't create sections for SHN_ABS symbols in ELF files.

Alvin Wong via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Sat Sep 17 04:17:05 PDT 2022


alvinhochun added inline comments.


================
Comment at: lldb/source/Commands/CommandObjectTarget.cpp:1550
+        } else {
+          strm.IndentMore();
+          strm.Indent("    Value: ");
----------------
This `IndentMore` added is missing a matching `IndentLess` call.


================
Comment at: lldb/source/Commands/CommandObjectTarget.cpp:1551-1556
+          strm.Indent("    Value: ");
+          strm.Printf("0x%16.16" PRIx64 "\n", symbol->GetRawValue());
+          if (symbol->GetByteSizeIsValid()) {
+            strm.Indent("    Size: ");
+            strm.Printf("0x%16.16" PRIx64 "\n", symbol->GetByteSize());
+          }
----------------
May I ask, is it expected for this to print only the value and size but not the name of the symbol?

Also, in some COFF binaries linked by LLD there are a bunch of absolute symbols (e.g. `__guard_flags`) and when they hit this code path all they print is `Value: 0xffffffffffffffff`.

llvm-readobj shows the symbol as:

```
  Symbol {
    Name: __guard_flags
    Value: 2147550464
    Section: IMAGE_SYM_ABSOLUTE (-1)
    BaseType: Null (0x0)
    ComplexType: Null (0x0)
    StorageClass: External (0x2)
    AuxSymbolCount: 0
  }
```
Though neither values are correct. I expect the value to be `0x10500`. I haven't looked into this yet. Any idea what might be going on?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D131705/new/

https://reviews.llvm.org/D131705



More information about the lldb-commits mailing list