diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 1c9646db4ad..44cbfdbac4a 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,9 @@ +2016-12-19 Krister Walfridsson + + * config.host (*-*-netbsd*): Add t-eh-dw2-dip to tmake_file. + * crtstuff.c (BSD_DL_ITERATE_PHDR_AVAILABLE): Define for NetBSD. + * unwind-dw2-fde-dip.c (USE_PT_GNU_EH_FRAME, ElfW): Likewise. + 2016-12-17 Matthias Klose * config/arc/gmon: Remove empty directory. diff --git a/libgcc/config.host b/libgcc/config.host index a659bb57f6a..d67edfbc443 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -240,7 +240,8 @@ case ${host} in extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" ;; *-*-netbsd*) - tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver" + tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip" + tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver" # NetBSD 1.7 and later are set up to use GCC's crtstuff for # ELF configurations. We will clear extra_parts in the # a.out configurations. diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c index 564418191d9..be15a1915a7 100644 --- a/libgcc/crtstuff.c +++ b/libgcc/crtstuff.c @@ -81,7 +81,7 @@ call_ ## FUNC (void) \ #endif #if defined(TARGET_DL_ITERATE_PHDR) && \ - (defined(__DragonFly__) || defined(__FreeBSD__)) + (defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__)) #define BSD_DL_ITERATE_PHDR_AVAILABLE #endif diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c index 801bce8fa3d..3df501d9cb6 100644 --- a/libgcc/unwind-dw2-fde-dip.c +++ b/libgcc/unwind-dw2-fde-dip.c @@ -71,7 +71,7 @@ #endif #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ - && defined(__OpenBSD__) + && (defined(__OpenBSD__) || defined(__NetBSD__)) # define ElfW(type) Elf_##type # define USE_PT_GNU_EH_FRAME #endif