[llvm-branch-commits] [llvm] [llvm-readobj][ELF] Don't clear bit 0 of call graph field offsets on ARM (PR #230648)

Prabhu Rajasekaran via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Fri Oct 9 16:05:03 PDT 2026


================
@@ -455,21 +466,30 @@ Sections:
     ContentArray: [
       ## --- foo+1 (Thumb address) ---
       0x00, ## Version
-      0x00, ## Flags
+      0x02, ## Flags (HasDirectCallees)
       0x01, 0x00, 0x00, 0x00, ## FunctionEntryPC: 0x1 (relative to foo)
-      0xF0, 0xDE, 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12 ## FunctionTypeID: 0x123456789ABCDEF0
+      0xF0, 0xDE, 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12, ## FunctionTypeID: 0x123456789ABCDEF0
+      0x01, ## NumDirectCallees
+      0x01, 0x00, 0x00, 0x00  ## Direct callee: 0x1 (relative to bar)
     ]
   - Type:   SHT_RELA
     Info:   .llvm.callgraph
     Relocations:
       - Offset:  0x2 ## Offset to FunctionEntryPC
         Symbol:  foo
         Type:    R_ARM_ABS32
+      - Offset:  0xF ## Offset to the direct callee, which is odd
----------------
Prabhuk wrote:

https://github.com/llvm/llvm-project/pull/230648/changes#diff-d7e0bfa4d6ead9eab1e71e8b50eabddcbf12d99b53a576bce053252d91be183eR8425 -- Earlier I was clearing the LSB bit inadvertently for non thumb cases.

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


More information about the llvm-branch-commits mailing list