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-29 08:35:50 -0700 |
commit | 04cd751deae301c606b382dba9e9207bdefc7a9d (patch) | |
tree | 40fe1ad7aa653917f99baad2eaeccb7ba9be17da | |
parent | 6bba070f49138f0569f29088207322fde03e7b04 (diff) | |
download | libunwind-04cd751deae301c606b382dba9e9207bdefc7a9d.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; |