]> git.saurik.com Git - apple/ld64.git/blobdiff - src/ld/parsers/libunwind/DwarfInstructions.hpp
ld64-242.tar.gz
[apple/ld64.git] / src / ld / parsers / libunwind / DwarfInstructions.hpp
index 18355404b5ffeddf6147da587dc8ba19c87e06c2..c14c38f871b596a00d12bb76491bd3ae1b6aba29 100644 (file)
@@ -167,6 +167,14 @@ private:
                                                                                                const Registers_arm64&, const typename CFI_Parser<A>::PrologInfo& prolog,
                                                                                                char warningBuffer[1024]);
        
+  // arm specific variants
+       static bool   isReturnAddressRegister(int regNum, const Registers_arm&);
+       static pint_t getCFA(A& addressSpace, const typename CFI_Parser<A>::PrologInfo& prolog, const Registers_arm&);
+       static compact_unwind_encoding_t encodeToUseDwarf(const Registers_arm&);
+       static compact_unwind_encoding_t createCompactEncodingFromProlog(A& addressSpace, pint_t funcAddr,
+                                                                                               const Registers_arm&, const typename CFI_Parser<A>::PrologInfo& prolog,
+                                                                                               char warningBuffer[1024]);
+       
 };
 
 
@@ -1962,6 +1970,29 @@ compact_unwind_encoding_t DwarfInstructions<A,R>::createCompactEncodingFromProlo
 }
 
 
+
+
+//
+//     arm specific functions
+//
+
+template <typename A, typename R>
+compact_unwind_encoding_t DwarfInstructions<A,R>::encodeToUseDwarf(const Registers_arm&) 
+{
+       return UNWIND_ARM_MODE_DWARF;
+}
+
+
+template <typename A, typename R>
+compact_unwind_encoding_t DwarfInstructions<A,R>::createCompactEncodingFromProlog(A& addressSpace, pint_t funcAddr,
+                                                                                               const Registers_arm& r, const typename CFI_Parser<A>::PrologInfo& prolog,
+                                                                                               char warningBuffer[1024])
+{
+       warningBuffer[0] = '\0';
+       return UNWIND_ARM_MODE_DWARF;
+}
+
+
 } // namespace libunwind