diff -urN gcc-5.2.0.orig/libgcc/config/t-hardfp gcc-5.2.0/libgcc/config/t-hardfp
--- gcc-5.2.0.orig/libgcc/config/t-hardfp	2015-01-05 04:33:28.000000000 -0800
+++ gcc-6.1.0/libgcc/config/t-hardfp	2016-04-06 12:04:51.000000000 -0700
@@ -59,21 +59,52 @@
 
 hardfp_func_list := $(filter-out $(hardfp_exclusions),$(hardfp_func_list))
 
+HOST_OS ?= $(shell uname)
+
 # Regexp for matching a floating-point mode.
+ifeq ($(HOST_OS), Darwin)
+hardfp_mode_regexp := $(shell echo $(hardfp_float_modes) | sed 's/ /|/g')
+else
+ifeq ($(HOST_OS), FreeBSD)
+hardfp_mode_regexp := $(shell echo $(hardfp_float_modes) | sed 's/ /|/g')
+else
 hardfp_mode_regexp := $(shell echo $(hardfp_float_modes) | sed 's/ /\\|/g')
+endif
+endif
 
 # Regexp for matching the end of a function name, after the last
 # floating-point mode.
+ifeq ($(HOST_OS), Darwin)
+hardfp_suffix_regexp := $(shell echo $(hardfp_int_modes) 2 3 | sed 's/ /|/g')
+else
+ifeq ($(HOST_OS), FreeBSD)
+hardfp_suffix_regexp := $(shell echo $(hardfp_int_modes) 2 3 | sed 's/ /|/g')
+else
 hardfp_suffix_regexp := $(shell echo $(hardfp_int_modes) 2 3 | sed 's/ /\\|/g')
+endif
+endif
 
 # Add -D options to define:
 #   FUNC: the function name (e.g. __addsf3)
 #   OP:   the function name without the leading __ and with the last
 #            floating-point mode removed (e.g. add3)
 #   TYPE: the last floating-point mode (e.g. sf)
+
+ifeq ($(HOST_OS), Darwin)
 hardfp_defines_for = \
   $(shell echo $1 | \
-    sed 's/\(.*\)\($(hardfp_mode_regexp)\)\($(hardfp_suffix_regexp)\|\)$$/-DFUNC=__& -DOP_\1\3 -DTYPE=\2/')
+    sed -E 's/(.*)($(hardfp_mode_regexp))($(hardfp_suffix_regexp)|.*)$$/-DFUNC=__& -DOP_\1\3 -DTYPE=\2/')
+else
+ifeq ($(HOST_OS), FreeBSD)
+hardfp_defines_for = \
+  $(shell echo $1 | \
+    sed -r 's/(.*)($(hardfp_mode_regexp))($(hardfp_suffix_regexp)|.*)$$/-DFUNC=__& -DOP_\1\3 -DTYPE=\2/')
+else
+hardfp_defines_for = \
+  $(shell echo $1 | \
+    sed 's/\(.*\)\($(hardfp_mode_regexp)\)\($(hardfp_suffix_regexp)\|\)$$/-DFUNC=__& -DOP_\1\3 -DTYPE=\2/')
+endif
+endif
 
 hardfp-o = $(patsubst %,%$(objext),$(hardfp_func_list))
 $(hardfp-o): %$(objext): $(srcdir)/config/hardfp.c
