diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 76b5e9c9c7b..ffb993cf56e 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-09-02  Yao Qi  <yao.qi@linaro.org>
+
+	* gdb.base/return-nodebug.exp: Skip the test if	skip_float_test
+	is true and $type is "float" or "double".
+
 2016-09-02  Yao Qi  <yao.qi@linaro.org>
 
 	* gdb.arch/arm-neon.exp: Skip it if gdb_skip_float_test returns
diff --git a/gdb/testsuite/gdb.base/return-nodebug.exp b/gdb/testsuite/gdb.base/return-nodebug.exp
index e44494f2941..0d58ba58464 100644
--- a/gdb/testsuite/gdb.base/return-nodebug.exp
+++ b/gdb/testsuite/gdb.base/return-nodebug.exp
@@ -13,6 +13,8 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+set skip_float_test [gdb_skip_float_test]
+
 proc do_test {type} {
     set typenospace [string map {{ } -} $type]
 
@@ -42,6 +44,9 @@ proc do_test {type} {
 }
 
 foreach type {{signed char} {short} {int} {long} {long long} {float} {double}} {
+    if { $skip_float_test && ($type == "float" || $type == "double") } {
+	continue
+    }
     set typeesc [string map {{ } {\ }} $type]
     set typenospace [string map {{ } -} $type]