[PATCH] D39074: [libunwind][MIPS]: Add support for unwinding in N32 processes.

Saleem Abdulrasool via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 13 10:48:10 PST 2017


compnerd added inline comments.


================
Comment at: include/__libunwind_config.h:73
+#  elif defined(_ABIN32) && defined(__mips_soft_float)
+#    define _LIBUNWIND_TARGET_MIPS_NEWABI 1
+#    define _LIBUNWIND_CONTEXT_SIZE 35
----------------
Minor nit: I prefer either `NABI` or `NEW_ABI`.


================
Comment at: src/AddressSpace.hpp:201
+inline uint64_t LocalAddressSpace::getRegister(pint_t addr) {
+#if defined(__LP64__) || (defined(__mips__) && defined(_ABIN32))
+  return get64(addr);
----------------
Can you use `__SIZEOF_POINTER__` rather than `__LP64__` please?  The former accounts for LLP64 environments as well.


================
Comment at: src/UnwindRegistersRestore.S:548
 
-#elif defined(__mips__) && defined(_ABI64) && defined(__mips_soft_float)
+#elif defined(__mips__) && (defined(_ABI64) || defined(_ABIN32)) && defined(__mips_soft_float)
 
----------------
sdardis wrote:
> This line is overly long, break with '\' after the second &&.
clang-format should also fix the width correctly.


https://reviews.llvm.org/D39074





More information about the cfe-commits mailing list