dl_iterate_phdr depends on USE_PT_GNU_EH_FRAME. I think USE_PT_GNU_EH_FRAME could be enabled more generally (whenever libc provides dl_iterate_phdr), but I only made a conservative change.
libgcc/Changelog: 2015-04-16 Gregor Richards <gregor.richa...@uwaterloo.ca> Szabolcs Nagy <szabolcs.n...@arm.com> * unwind-dw2-fde-dip.c (USE_PT_GNU_EH_FRAME): Define it on Linux if target provides dl_iterate_phdr.
diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c index e1e566b..137dced 100644 --- a/libgcc/unwind-dw2-fde-dip.c +++ b/libgcc/unwind-dw2-fde-dip.c @@ -59,6 +59,12 @@ #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ && defined(TARGET_DL_ITERATE_PHDR) \ + && defined(__linux__) +# define USE_PT_GNU_EH_FRAME +#endif + +#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ + && defined(TARGET_DL_ITERATE_PHDR) \ && (defined(__DragonFly__) || defined(__FreeBSD__)) # define ElfW __ElfN # define USE_PT_GNU_EH_FRAME