There are two possible designs here. One design involves: libunwind_aarch64.a libunwind_aarch64_ilp32.a
And the second design is to just have one library: libunwind_aarch64.a that has both code paths and picks the right one at runtime. The first design would be much simpler - all you need to do is compile libunwind twice for the two models and then change the name of the target library for ILP32. This matters only for remote unwinding, where a debugger running on x86 may be trying to unwind the stack of a remote 64 bit and 32 bit aarch64 process at the same time. For local (in-process) unwinding, we pick the library at compile time. > +#define dwarf_addr_size(addr_space) ((addr_space)->addr_size) Does this have to be a determined at runtime or can we fix it at compile time the way it's done here: include/dwarf_i.h:# define dwarf_addr_size(as) (sizeof (unw_word_t)) Also, could you try running: make check and paste the results? -Arun _______________________________________________ Libunwind-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/libunwind-devel
