[PATCH] D100132: [libunwind][AIX] implementation of the unwinder for AIX

Chris Bowler via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 12 10:00:23 PST 2022


cebowleratibm accepted this revision.
cebowleratibm added a comment.

My remaining suggestions are very minor.  I've had a thorough look through this patch though I'll look to others to approve the patch to be committed.

I'm confident the functionality here is sound as it is representative of the libunwind implementation deployed on AIX alongside the Open XL V17 compiler.



================
Comment at: libunwind/src/AddressSpace.hpp:48
 
+#if defined(_AIX)
+namespace libunwind {
----------------



================
Comment at: libunwind/src/AddressSpace.hpp:630
   }
+#elif defined(_AIX)
+  uint16_t nameLen;
----------------



================
Comment at: libunwind/src/UnwindCursor.hpp:2088
+    // is not EH aware; or, 3) a frame of other languages. We need to figure out
+    // if the traceback table extension containds the 'eh_info' structure.
+    //
----------------



================
Comment at: libunwind/src/UnwindCursor.hpp:2097
+    // In </usr/include/sys/debug.h>, there is the following definition of
+    // 'struct tbtable_ext'. It is not really a struction but just a dummy to
+    // collect the description of the optional parts of the traceback table.
----------------



================
Comment at: libunwind/src/Unwind_AIXExtras.cpp:20
+// Get the function name from its traceback table.
+char *getFuncNameFromTBTable(uintptr_t Pc, uint16_t &NameLen,
+                             unw_word_t *Offset) {
----------------
I suggested guarding this function with _LIBUNWIND_SUPPORT_TBTAB_UNWIND so perhaps an asserting stub is appropriate on non-AIX targets.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D100132



More information about the llvm-commits mailing list