diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 19fa232..9615276 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2015-07-21  Tristan Gingold  <gingold@adacore.com>
+
+	* version.m4: Bump version to 2.25.1
+	* configure: Regenerate.
+
 2015-07-10  Alan Modra  <amodra@gmail.com>
 
 	Apply from master
diff --git a/bfd/configure b/bfd/configure
index 85e6b82..872dd81 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for bfd 2.25.0.
+# Generated by GNU Autoconf 2.64 for bfd 2.25.1.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -556,8 +556,8 @@
 # Identity of this package.
 PACKAGE_NAME='bfd'
 PACKAGE_TARNAME='bfd'
-PACKAGE_VERSION='2.25.0'
-PACKAGE_STRING='bfd 2.25.0'
+PACKAGE_VERSION='2.25.1'
+PACKAGE_STRING='bfd 2.25.1'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1349,7 +1349,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures bfd 2.25.0 to adapt to many kinds of systems.
+\`configure' configures bfd 2.25.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1420,7 +1420,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bfd 2.25.0:";;
+     short | recursive ) echo "Configuration of bfd 2.25.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1541,7 +1541,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-bfd configure 2.25.0
+bfd configure 2.25.1
 generated by GNU Autoconf 2.64
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2183,7 +2183,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by bfd $as_me 2.25.0, which was
+It was created by bfd $as_me 2.25.1, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   $ $0 $@
@@ -3991,7 +3991,7 @@
 
 # Define the identity of the package.
  PACKAGE='bfd'
- VERSION='2.25.0'
+ VERSION='2.25.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -16567,7 +16567,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by bfd $as_me 2.25.0, which was
+This file was extended by bfd $as_me 2.25.1, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16631,7 +16631,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-bfd config.status 2.25.0
+bfd config.status 2.25.1
 configured by $0, generated by GNU Autoconf 2.64,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/bfd/doc/bfdver.texi b/bfd/doc/bfdver.texi
index e854b40..2bc0516 100644
--- a/bfd/doc/bfdver.texi
+++ b/bfd/doc/bfdver.texi
@@ -1,4 +1,4 @@
-@set VERSION 2.25
+@set VERSION 2.25.1
 @set VERSION_PACKAGE (GNU Binutils) 
-@set UPDATED December 2014
+@set UPDATED July 2015
 @set BUGURL @uref{http://www.sourceware.org/bugzilla/}
diff --git a/bfd/version.m4 b/bfd/version.m4
index 57a10f8..cf5fb135 100644
--- a/bfd/version.m4
+++ b/bfd/version.m4
@@ -1 +1 @@
-m4_define([BFD_VERSION], [2.25.0])
+m4_define([BFD_VERSION], [2.25.1])
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 3565e94..a23a6c3 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,7 @@
+2015-07-21  Tristan Gingold  <gingold@adacore.com>
+
+	* configure: Regenerate.
+
 2015-07-16  Alan Modra  <amodra@gmail.com>
 
 	PR binutils/18672
diff --git a/binutils/configure b/binutils/configure
index be4b81c..302cbd1 100755
--- a/binutils/configure
+++ b/binutils/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for binutils 2.25.0.
+# Generated by GNU Autoconf 2.64 for binutils 2.25.1.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -556,8 +556,8 @@
 # Identity of this package.
 PACKAGE_NAME='binutils'
 PACKAGE_TARNAME='binutils'
-PACKAGE_VERSION='2.25.0'
-PACKAGE_STRING='binutils 2.25.0'
+PACKAGE_VERSION='2.25.1'
+PACKAGE_STRING='binutils 2.25.1'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1333,7 +1333,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures binutils 2.25.0 to adapt to many kinds of systems.
+\`configure' configures binutils 2.25.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1404,7 +1404,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of binutils 2.25.0:";;
+     short | recursive ) echo "Configuration of binutils 2.25.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1525,7 +1525,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-binutils configure 2.25.0
+binutils configure 2.25.1
 generated by GNU Autoconf 2.64
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2167,7 +2167,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by binutils $as_me 2.25.0, which was
+It was created by binutils $as_me 2.25.1, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   $ $0 $@
@@ -3975,7 +3975,7 @@
 
 # Define the identity of the package.
  PACKAGE='binutils'
- VERSION='2.25.0'
+ VERSION='2.25.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -15160,7 +15160,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by binutils $as_me 2.25.0, which was
+This file was extended by binutils $as_me 2.25.1, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15224,7 +15224,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-binutils config.status 2.25.0
+binutils config.status 2.25.1
 configured by $0, generated by GNU Autoconf 2.64,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/binutils/rcparse.c b/binutils/rcparse.c
index 2c1c490..63d9521 100644
--- a/binutils/rcparse.c
+++ b/binutils/rcparse.c
@@ -856,7 +856,7 @@
     1776,  1780,  1802,  1806,  1810,  1814,  1821,  1825,  1835,  1838,
     1847,  1856,  1865,  1869,  1873,  1878,  1883,  1888,  1893,  1898,
     1903,  1908,  1913,  1918,  1929,  1938,  1949,  1953,  1957,  1962,
-    1967,  1972,  1977,  1982,  1987,  1992,  1997
+    1967,  1972,  1978,  1983,  1988,  1993,  1998
 };
 #endif
 
@@ -4280,7 +4280,7 @@
   case 257:
 #line 1889 "rcparse.y"
     {
-	    (yyval.i).val = (yyvsp[(1) - (3)].i).val / (yyvsp[(3) - (3)].i).val;
+	    (yyval.i).val = (yyvsp[(1) - (3)].i).val / ((yyvsp[(3) - (3)].i).val ? (yyvsp[(3) - (3)].i).val : 1);
 	    (yyval.i).dword = (yyvsp[(1) - (3)].i).dword || (yyvsp[(3) - (3)].i).dword;
 	  }
     break;
@@ -4288,7 +4288,7 @@
   case 258:
 #line 1894 "rcparse.y"
     {
-	    (yyval.i).val = (yyvsp[(1) - (3)].i).val % (yyvsp[(3) - (3)].i).val;
+	    (yyval.i).val = (yyvsp[(1) - (3)].i).val % ((yyvsp[(3) - (3)].i).val ? (yyvsp[(3) - (3)].i).val : 1);
 	    (yyval.i).dword = (yyvsp[(1) - (3)].i).dword || (yyvsp[(3) - (3)].i).dword;
 	  }
     break;
@@ -4380,7 +4380,7 @@
   case 270:
 #line 1968 "rcparse.y"
     {
-	    (yyval.i).val = (yyvsp[(1) - (3)].i).val / (yyvsp[(3) - (3)].i).val;
+	    (yyval.i).val = (yyvsp[(1) - (3)].i).val / ((yyvsp[(3) - (3)].i).val ? (yyvsp[(3) - (3)].i).val : 1);
 	    (yyval.i).dword = (yyvsp[(1) - (3)].i).dword || (yyvsp[(3) - (3)].i).dword;
 	  }
     break;
@@ -4388,13 +4388,14 @@
   case 271:
 #line 1973 "rcparse.y"
     {
-	    (yyval.i).val = (yyvsp[(1) - (3)].i).val % (yyvsp[(3) - (3)].i).val;
+	    /* PR 17512: file: 89105a25.  */
+	    (yyval.i).val = (yyvsp[(1) - (3)].i).val % ((yyvsp[(3) - (3)].i).val ? (yyvsp[(3) - (3)].i).val : 1);
 	    (yyval.i).dword = (yyvsp[(1) - (3)].i).dword || (yyvsp[(3) - (3)].i).dword;
 	  }
     break;
 
   case 272:
-#line 1978 "rcparse.y"
+#line 1979 "rcparse.y"
     {
 	    (yyval.i).val = (yyvsp[(1) - (3)].i).val + (yyvsp[(3) - (3)].i).val;
 	    (yyval.i).dword = (yyvsp[(1) - (3)].i).dword || (yyvsp[(3) - (3)].i).dword;
@@ -4402,7 +4403,7 @@
     break;
 
   case 273:
-#line 1983 "rcparse.y"
+#line 1984 "rcparse.y"
     {
 	    (yyval.i).val = (yyvsp[(1) - (3)].i).val - (yyvsp[(3) - (3)].i).val;
 	    (yyval.i).dword = (yyvsp[(1) - (3)].i).dword || (yyvsp[(3) - (3)].i).dword;
@@ -4410,7 +4411,7 @@
     break;
 
   case 274:
-#line 1988 "rcparse.y"
+#line 1989 "rcparse.y"
     {
 	    (yyval.i).val = (yyvsp[(1) - (3)].i).val & (yyvsp[(3) - (3)].i).val;
 	    (yyval.i).dword = (yyvsp[(1) - (3)].i).dword || (yyvsp[(3) - (3)].i).dword;
@@ -4418,7 +4419,7 @@
     break;
 
   case 275:
-#line 1993 "rcparse.y"
+#line 1994 "rcparse.y"
     {
 	    (yyval.i).val = (yyvsp[(1) - (3)].i).val ^ (yyvsp[(3) - (3)].i).val;
 	    (yyval.i).dword = (yyvsp[(1) - (3)].i).dword || (yyvsp[(3) - (3)].i).dword;
@@ -4426,7 +4427,7 @@
     break;
 
   case 276:
-#line 1998 "rcparse.y"
+#line 1999 "rcparse.y"
     {
 	    (yyval.i).val = (yyvsp[(1) - (3)].i).val | (yyvsp[(3) - (3)].i).val;
 	    (yyval.i).dword = (yyvsp[(1) - (3)].i).dword || (yyvsp[(3) - (3)].i).dword;
@@ -4435,7 +4436,7 @@
 
 
 /* Line 1267 of yacc.c.  */
-#line 4439 "rcparse.c"
+#line 4440 "rcparse.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -4649,7 +4650,7 @@
 }
 
 
-#line 2004 "rcparse.y"
+#line 2005 "rcparse.y"
 
 
 /* Set the language from the command line.  */
diff --git a/etc/config.log b/etc/config.log
index ef8aebb..bec80e5 100644
--- a/etc/config.log
+++ b/etc/config.log
@@ -4,7 +4,7 @@
 It was created by configure, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
-  $ /Users/gingold/Repositories/fsf/binutils-release.git/etc/configure --cache-file=./config.cache --with-gnu-as --with-gnu-ld --with-system-zlib --program-transform-name=s&^&i386-pc-linux-gnu-& --disable-option-checking --build=x86_64-apple-darwin14.0.0 --host=x86_64-apple-darwin14.0.0 --target=i386-pc-linux-gnu --srcdir=.././etc
+  $ /Users/gingold/Repositories/fsf/binutils-release.git/etc/configure --cache-file=./config.cache --with-gnu-as --with-gnu-ld --with-system-zlib --program-transform-name=s&^&i386-pc-linux-gnu-& --disable-option-checking --build=x86_64-apple-darwin14.3.0 --host=x86_64-apple-darwin14.3.0 --target=i386-pc-linux-gnu --srcdir=.././etc
 
 ## --------- ##
 ## Platform. ##
@@ -12,9 +12,9 @@
 
 hostname = ulanbator.act-europe.fr
 uname -m = x86_64
-uname -r = 14.0.0
+uname -r = 14.3.0
 uname -s = Darwin
-uname -v = Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64
+uname -v = Darwin Kernel Version 14.3.0: Mon Mar 23 11:59:05 PDT 2015; root:xnu-2782.20.48~5/RELEASE_X86_64
 
 /usr/bin/uname -p = i386
 /bin/uname -X     = unknown
@@ -23,15 +23,15 @@
 /usr/bin/arch -k       = unknown
 /usr/convex/getsysinfo = unknown
 /usr/bin/hostinfo      = Mach kernel version:
-	 Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64
+	 Darwin Kernel Version 14.3.0: Mon Mar 23 11:59:05 PDT 2015; root:xnu-2782.20.48~5/RELEASE_X86_64
 Kernel configured for up to 8 processors.
 4 processors are physically available.
 8 processors are logically available.
 Processor type: i486 (Intel 80486)
 Processors active: 0 1 2 3 4 5 6 7
 Primary memory available: 16.00 gigabytes
-Default processor set: 266 tasks, 1154 threads, 8 processors
-Load average: 2.08, Mach factor: 5.91
+Default processor set: 296 tasks, 1225 threads, 8 processors
+Load average: 2.73, Mach factor: 5.26
 /bin/machine           = unknown
 /usr/bin/oslevel       = unknown
 /bin/universe          = unknown
@@ -82,9 +82,9 @@
 ## ---------------- ##
 
 ac_cv_env_build_alias_set=set
-ac_cv_env_build_alias_value=x86_64-apple-darwin14.0.0
+ac_cv_env_build_alias_value=x86_64-apple-darwin14.3.0
 ac_cv_env_host_alias_set=set
-ac_cv_env_host_alias_value=x86_64-apple-darwin14.0.0
+ac_cv_env_host_alias_value=x86_64-apple-darwin14.3.0
 ac_cv_env_target_alias_set=set
 ac_cv_env_target_alias_value=i386-pc-linux-gnu
 ac_cv_path_install='/usr/local/bin/install -c'
@@ -113,13 +113,13 @@
 PATH_SEPARATOR=':'
 SHELL='/bin/sh'
 bindir='${exec_prefix}/bin'
-build_alias='x86_64-apple-darwin14.0.0'
+build_alias='x86_64-apple-darwin14.3.0'
 datadir='${datarootdir}'
 datarootdir='${prefix}/share'
 docdir='${datarootdir}/doc/${PACKAGE}'
 dvidir='${docdir}'
 exec_prefix='${prefix}'
-host_alias='x86_64-apple-darwin14.0.0'
+host_alias='x86_64-apple-darwin14.3.0'
 htmldir='${docdir}'
 includedir='${prefix}/include'
 infodir='${datarootdir}/info'
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 0b165dc..75df4f6 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,7 @@
+2015-07-21  Tristan Gingold  <gingold@adacore.com>
+
+	* configure: Regenerate.
+
 2015-07-10  Alan Modra  <amodra@gmail.com>
 
 	Apply from master
diff --git a/gas/configure b/gas/configure
index e9ba550..6b619e0 100755
--- a/gas/configure
+++ b/gas/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for gas 2.25.0.
+# Generated by GNU Autoconf 2.64 for gas 2.25.1.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -556,8 +556,8 @@
 # Identity of this package.
 PACKAGE_NAME='gas'
 PACKAGE_TARNAME='gas'
-PACKAGE_VERSION='2.25.0'
-PACKAGE_STRING='gas 2.25.0'
+PACKAGE_VERSION='2.25.1'
+PACKAGE_STRING='gas 2.25.1'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1320,7 +1320,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gas 2.25.0 to adapt to many kinds of systems.
+\`configure' configures gas 2.25.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1391,7 +1391,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gas 2.25.0:";;
+     short | recursive ) echo "Configuration of gas 2.25.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1505,7 +1505,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gas configure 2.25.0
+gas configure 2.25.1
 generated by GNU Autoconf 2.64
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -1915,7 +1915,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gas $as_me 2.25.0, which was
+It was created by gas $as_me 2.25.1, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   $ $0 $@
@@ -3723,7 +3723,7 @@
 
 # Define the identity of the package.
  PACKAGE='gas'
- VERSION='2.25.0'
+ VERSION='2.25.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -15061,7 +15061,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gas $as_me 2.25.0, which was
+This file was extended by gas $as_me 2.25.1, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15125,7 +15125,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-gas config.status 2.25.0
+gas config.status 2.25.1
 configured by $0, generated by GNU Autoconf 2.64,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/gas/doc/as.1 b/gas/doc/as.1
index f119c6b..88791ed 100644
--- a/gas/doc/as.1
+++ b/gas/doc/as.1
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "AS 1"
-.TH AS 1 "2014-12-23" "binutils-2.25" "GNU Development Tools"
+.TH AS 1 "2015-07-21" "binutils-2.25.1" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -698,6 +698,8 @@
 on the target processor.  The following processor names are recognized:
 \&\f(CW\*(C`cortex\-a53\*(C'\fR,
 \&\f(CW\*(C`cortex\-a57\*(C'\fR,
+\&\f(CW\*(C`cortex\-a72\*(C'\fR,
+\&\f(CW\*(C`exynos\-m1\*(C'\fR,
 \&\f(CW\*(C`xgene1\*(C'\fR,
 and
 \&\f(CW\*(C`xgene2\*(C'\fR.
@@ -1511,6 +1513,9 @@
 .IP "\fB\-m750cl\fR" 4
 .IX Item "-m750cl"
 Generate code for PowerPC 750CL.
+.IP "\fB\-m821, \-m850, \-m860\fR" 4
+.IX Item "-m821, -m850, -m860"
+Generate code for PowerPC 821/850/860.
 .IP "\fB\-mppc64, \-m620\fR" 4
 .IX Item "-mppc64, -m620"
 Generate code for PowerPC 620/625/630.
diff --git a/gas/doc/as.info b/gas/doc/as.info
index f131bfe..b3d29d6 100644
--- a/gas/doc/as.info
+++ b/gas/doc/as.info
Binary files differ
diff --git a/gprof/ChangeLog b/gprof/ChangeLog
index af2ce55..d47f3d9 100644
--- a/gprof/ChangeLog
+++ b/gprof/ChangeLog
@@ -1,3 +1,7 @@
+2015-07-21  Tristan Gingold  <gingold@adacore.com>
+
+	* configure: Regenerate.
+
 2014-12-23  Tristan Gingold  <gingold@adacore.com>
 
 	* configure: Regenerate.
diff --git a/gprof/configure b/gprof/configure
index b09c8fb..a6b24cb 100755
--- a/gprof/configure
+++ b/gprof/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for gprof 2.25.0.
+# Generated by GNU Autoconf 2.64 for gprof 2.25.1.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -556,8 +556,8 @@
 # Identity of this package.
 PACKAGE_NAME='gprof'
 PACKAGE_TARNAME='gprof'
-PACKAGE_VERSION='2.25.0'
-PACKAGE_STRING='gprof 2.25.0'
+PACKAGE_VERSION='2.25.1'
+PACKAGE_STRING='gprof 2.25.1'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1299,7 +1299,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gprof 2.25.0 to adapt to many kinds of systems.
+\`configure' configures gprof 2.25.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1370,7 +1370,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gprof 2.25.0:";;
+     short | recursive ) echo "Configuration of gprof 2.25.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1476,7 +1476,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gprof configure 2.25.0
+gprof configure 2.25.1
 generated by GNU Autoconf 2.64
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -1841,7 +1841,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gprof $as_me 2.25.0, which was
+It was created by gprof $as_me 2.25.1, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   $ $0 $@
@@ -3649,7 +3649,7 @@
 
 # Define the identity of the package.
  PACKAGE='gprof'
- VERSION='2.25.0'
+ VERSION='2.25.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -12706,7 +12706,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gprof $as_me 2.25.0, which was
+This file was extended by gprof $as_me 2.25.1, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -12770,7 +12770,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-gprof config.status 2.25.0
+gprof config.status 2.25.1
 configured by $0, generated by GNU Autoconf 2.64,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 0794b25..11c57e1 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,7 @@
+2015-07-21  Tristan Gingold  <gingold@adacore.com>
+
+	* configure: Regenerate.
+
 2015-07-10  Alan Modra  <amodra@gmail.com>
 
 	Apply from master.
diff --git a/ld/configure b/ld/configure
index 4408b0d..9f17c4f 100755
--- a/ld/configure
+++ b/ld/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for ld 2.25.0.
+# Generated by GNU Autoconf 2.64 for ld 2.25.1.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -556,8 +556,8 @@
 # Identity of this package.
 PACKAGE_NAME='ld'
 PACKAGE_TARNAME='ld'
-PACKAGE_VERSION='2.25.0'
-PACKAGE_STRING='ld 2.25.0'
+PACKAGE_VERSION='2.25.1'
+PACKAGE_STRING='ld 2.25.1'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1347,7 +1347,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures ld 2.25.0 to adapt to many kinds of systems.
+\`configure' configures ld 2.25.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1418,7 +1418,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ld 2.25.0:";;
+     short | recursive ) echo "Configuration of ld 2.25.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1541,7 +1541,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ld configure 2.25.0
+ld configure 2.25.1
 generated by GNU Autoconf 2.64
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2250,7 +2250,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by ld $as_me 2.25.0, which was
+It was created by ld $as_me 2.25.1, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   $ $0 $@
@@ -4059,7 +4059,7 @@
 
 # Define the identity of the package.
  PACKAGE='ld'
- VERSION='2.25.0'
+ VERSION='2.25.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -17594,7 +17594,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ld $as_me 2.25.0, which was
+This file was extended by ld $as_me 2.25.1, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -17658,7 +17658,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-ld config.status 2.25.0
+ld config.status 2.25.1
 configured by $0, generated by GNU Autoconf 2.64,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 54d4b6b..3f1bbf0 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,7 @@
+2015-07-21  Tristan Gingold  <gingold@adacore.com>
+
+	* configure: Regenerate.
+
 2015-07-10  Alan Modra  <amodra@gmail.com>
 
 	Apply from master
diff --git a/opcodes/configure b/opcodes/configure
index c9c04ce..f5c9442 100755
--- a/opcodes/configure
+++ b/opcodes/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for opcodes 2.25.0.
+# Generated by GNU Autoconf 2.64 for opcodes 2.25.1.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -556,8 +556,8 @@
 # Identity of this package.
 PACKAGE_NAME='opcodes'
 PACKAGE_TARNAME='opcodes'
-PACKAGE_VERSION='2.25.0'
-PACKAGE_STRING='opcodes 2.25.0'
+PACKAGE_VERSION='2.25.1'
+PACKAGE_STRING='opcodes 2.25.1'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1319,7 +1319,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures opcodes 2.25.0 to adapt to many kinds of systems.
+\`configure' configures opcodes 2.25.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1390,7 +1390,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of opcodes 2.25.0:";;
+     short | recursive ) echo "Configuration of opcodes 2.25.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1497,7 +1497,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-opcodes configure 2.25.0
+opcodes configure 2.25.1
 generated by GNU Autoconf 2.64
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -1907,7 +1907,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by opcodes $as_me 2.25.0, which was
+It was created by opcodes $as_me 2.25.1, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   $ $0 $@
@@ -3715,7 +3715,7 @@
 
 # Define the identity of the package.
  PACKAGE='opcodes'
- VERSION='2.25.0'
+ VERSION='2.25.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -13209,7 +13209,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by opcodes $as_me 2.25.0, which was
+This file was extended by opcodes $as_me 2.25.1, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -13273,7 +13273,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-opcodes config.status 2.25.0
+opcodes config.status 2.25.1
 configured by $0, generated by GNU Autoconf 2.64,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
