[llvm] [BOLT] Fix EH data encoding checks in relocateEHFrameSection (PR #196777)

Amir Ayupov via llvm-commits llvm-commits at lists.llvm.org
Sat May 9 22:49:48 PDT 2026


================
@@ -2162,13 +2162,10 @@ void RewriteInstance::relocateEHFrameSection() {
       return;
 
     // Only fix references that are relative to other locations.
-    if (!(DwarfType & dwarf::DW_EH_PE_pcrel) &&
-        !(DwarfType & dwarf::DW_EH_PE_textrel) &&
-        !(DwarfType & dwarf::DW_EH_PE_funcrel) &&
-        !(DwarfType & dwarf::DW_EH_PE_datarel))
-      return;
-
-    if (!(DwarfType & dwarf::DW_EH_PE_sdata4))
+    if ((DwarfType & 0x70) != dwarf::DW_EH_PE_pcrel &&
+        (DwarfType & 0x70) != dwarf::DW_EH_PE_textrel &&
+        (DwarfType & 0x70) != dwarf::DW_EH_PE_funcrel &&
+        (DwarfType & 0x70) != dwarf::DW_EH_PE_datarel)
----------------
aaupov wrote:

Use `dwarf::DW_EH_PE_indirect` explicitly

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


More information about the llvm-commits mailing list