diff options
author | Jason King <jason.king@joyent.com> | 2020-04-04 06:31:43 +0000 |
---|---|---|
committer | Dave Watson <dade.watson@gmail.com> | 2020-04-28 09:09:28 -0700 |
commit | 91830952e35976d2c000e16cb971cb17b4481522 (patch) | |
tree | d6d59992253ea50581df67ec6f2d9b1cb789b7eb | |
parent | e5ecd9cf89de41c6e272d51c5e1f494439afe2b0 (diff) | |
download | libunwind-91830952e35976d2c000e16cb971cb17b4481522.tar.gz |
Treat PT_SUNW_UNWIND sections on illumos and Solaris as equivalent to PT_GNU_EH_FRAME
-rw-r--r-- | src/dwarf/Gfind_proc_info-lsb.c | 4 | ||||
-rw-r--r-- | src/dwarf/Gfind_unwind_table.c | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/dwarf/Gfind_proc_info-lsb.c b/src/dwarf/Gfind_proc_info-lsb.c index 678c80bf..0cfb4d4f 100644 --- a/src/dwarf/Gfind_proc_info-lsb.c +++ b/src/dwarf/Gfind_proc_info-lsb.c @@ -572,6 +572,10 @@ dwarf_callback (struct dl_phdr_info *info, size_t size, void *ptr) } else if (phdr->p_type == PT_GNU_EH_FRAME) p_eh_hdr = phdr; +#if defined __sun + else if (phdr->p_type == PT_SUNW_UNWIND) + p_eh_hdr = phdr; +#endif else if (phdr->p_type == PT_DYNAMIC) p_dynamic = phdr; } diff --git a/src/dwarf/Gfind_unwind_table.c b/src/dwarf/Gfind_unwind_table.c index 6a2ad504..f5f7ad06 100644 --- a/src/dwarf/Gfind_unwind_table.c +++ b/src/dwarf/Gfind_unwind_table.c @@ -80,6 +80,9 @@ dwarf_find_unwind_table (struct elf_dyn_info *edi, unw_addr_space_t as, break; case PT_GNU_EH_FRAME: +#if defined __sun + case PT_SUNW_UNWIND: +#endif peh_hdr = phdr + i; break; |