Index: sys/lib/libunwind/Makefile.inc =================================================================== RCS file: /home/netbsd/src/sys/lib/libunwind/Makefile.inc,v retrieving revision 1.12 diff -p -u -r1.12 Makefile.inc --- sys/lib/libunwind/Makefile.inc 17 Nov 2019 22:53:33 -0000 1.12 +++ sys/lib/libunwind/Makefile.inc 30 Apr 2021 12:21:53 -0000 @@ -14,6 +14,8 @@ COPTS.libunwind.cxx+= -Wno-old-style-cas CPPFLAGS.libunwind.cxx+=-I${NETBSDSRCDIR}/sys/lib/libunwind .if ${LIBC_MACHINE_CPU} == "arm" -COPTS.libunwind.cxx+= ${${ACTIVE_CC} == "gcc":? -mfpu=vfp3 :} +.if ${MKSOFTFLOAT} != "yes" +COPTS.libunwind.cxx+= ${${ACTIVE_CC} == "gcc":? -mgeneral-regs-only :} +.endif AFLAGS.unwind_registers.S+= ${${ACTIVE_CC} == "clang":? -mfpu=vfp3 :} .endif Index: external/gpl3/gcc/dist/gcc/config/arm/arm.c =================================================================== RCS file: /home/netbsd/src/external/gpl3/gcc/dist/gcc/config/arm/arm.c,v retrieving revision 1.11 diff -p -u -r1.11 arm.c --- external/gpl3/gcc/dist/gcc/config/arm/arm.c 11 Apr 2021 00:02:13 -0000 1.11 +++ external/gpl3/gcc/dist/gcc/config/arm/arm.c 30 Apr 2021 03:47:33 -0000 @@ -6471,11 +6471,10 @@ aapcs_vfp_is_call_or_return_candidate (e if (!use_vfp_abi (pcs_variant, ARM_NUM_REGS (new_mode) > 1)) return false; - *base_mode = new_mode; - if (TARGET_GENERAL_REGS_ONLY) - error ("argument of type %qT not permitted with -mgeneral-regs-only", - type); + return false; + + *base_mode = new_mode; return true; } Index: external/gpl3/gcc.old/dist/gcc/config/arm/arm.c =================================================================== RCS file: /home/netbsd/src/external/gpl3/gcc.old/dist/gcc/config/arm/arm.c,v retrieving revision 1.12 diff -p -u -r1.12 arm.c --- external/gpl3/gcc.old/dist/gcc/config/arm/arm.c 9 Apr 2021 23:14:27 -0000 1.12 +++ external/gpl3/gcc.old/dist/gcc/config/arm/arm.c 30 Apr 2021 03:53:47 -0000 @@ -6148,11 +6148,10 @@ aapcs_vfp_is_call_or_return_candidate (e if (!use_vfp_abi (pcs_variant, ARM_NUM_REGS (new_mode) > 1)) return false; - *base_mode = new_mode; - if (TARGET_GENERAL_REGS_ONLY) - error ("argument of type %qT not permitted with -mgeneral-regs-only", - type); + return false; + + *base_mode = new_mode; return true; }