public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 1/2] Require binutils 2.27 or later to build glibc
@ 2020-09-02 15:37 Tulio Magno Quites Machado Filho
  2020-09-02 15:37 ` [PATCH 2/2] Update INSTALL with package versions that are known to work Tulio Magno Quites Machado Filho
  2020-09-02 17:09 ` [PATCH 1/2] Require binutils 2.27 or later to build glibc Joseph Myers
  0 siblings, 2 replies; 3+ messages in thread
From: Tulio Magno Quites Machado Filho @ 2020-09-02 15:37 UTC (permalink / raw)
  To: libc-alpha

I believe this is a cautious update considering the last update on
binutils requirements was in 2017.  However, I did not find any other
code that could be removed if we started requiring binutils 2.30.
Notice the ARC port requires binutils 2.32.

---8<---

Start requiring binutils >= 2.27 instead of 2.25.
A test for binutils 2.26 is removed from powerpc64le.

Tested on powerpc64le and x86_64.
---
 INSTALL                                   |  6 +--
 NEWS                                      |  3 ++
 configure                                 |  6 +--
 configure.ac                              |  6 +--
 manual/install.texi                       |  8 +--
 sysdeps/powerpc/powerpc64/le/configure    | 64 -----------------------
 sysdeps/powerpc/powerpc64/le/configure.ac |  7 ---
 7 files changed, 12 insertions(+), 88 deletions(-)

diff --git a/INSTALL b/INSTALL
index 41f5d6b708..74aebff697 100644
--- a/INSTALL
+++ b/INSTALL
@@ -487,17 +487,13 @@ build the GNU C Library:
      Check the FAQ for any special compiler issues on particular
      platforms.
 
-   * GNU 'binutils' 2.25 or later
+   * GNU 'binutils' 2.27 or later
 
      You must use GNU 'binutils' (as and ld) to build the GNU C Library.
      No other assembler or linker has the necessary functionality at the
      moment.  As of release time, GNU 'binutils' 2.32 is the newest
      verified to work to build the GNU C Library.
 
-     For PowerPC 64-bits little-endian (powerpc64le), 'objcopy' is
-     required to support '--update-section'.  This option requires
-     binutils 2.26 or newer.
-
      ARC architecture needs 'binutils' 2.32 or higher for TLS related
      fixes.
 
diff --git a/NEWS b/NEWS
index 06e43e0453..60c4fc73ce 100644
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,9 @@ Version 2.33
 Major new features:
 
 
+* The minimum GNU Binutils version that can be used to build this version of
+  the GNU C Library is Binutils 2.27.
+
 * Support for the RISC-V ISA running on Linux has been expanded to run on
   32-bit hardware.  This is supported for the following ISA and ABI pairs:
 
diff --git a/configure b/configure
index 4795e721e5..7b01e72e0d 100755
--- a/configure
+++ b/configure
@@ -4514,7 +4514,7 @@ $as_echo "$libc_cv_prog_ld_gnu" >&6; }
 gnu_ld=$libc_cv_prog_ld_gnu
 
 
-# Accept binutils 2.25 or newer.
+# Accept binutils 2.27 or newer.
 for ac_prog in $AS
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -4566,7 +4566,7 @@ $as_echo_n "checking version of $AS... " >&6; }
   ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-    2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
+    2.1[0-9][0-9]*|2.2[7-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
        ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 
@@ -4696,7 +4696,7 @@ $as_echo_n "checking version of $LD... " >&6; }
   ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-    2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
+    2.1[0-9][0-9]*|2.2[7-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
        ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 
diff --git a/configure.ac b/configure.ac
index 93e68fb696..6bc98e9ab1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -958,10 +958,10 @@ AC_PROG_LN_S
 
 LIBC_PROG_BINUTILS
 
-# Accept binutils 2.25 or newer.
+# Accept binutils 2.27 or newer.
 AC_CHECK_PROG_VER(AS, $AS, --version,
 		  [GNU assembler.* \([0-9]*\.[0-9.]*\)],
-		  [2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
+		  [2.1[0-9][0-9]*|2.2[7-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
 		  AS=: critic_missing="$critic_missing as")
 
 if test -n "`$LD --version | sed -n 's/^GNU \(gold\).*$/\1/p'`"; then
@@ -973,7 +973,7 @@ if test -n "`$LD --version | sed -n 's/^GNU \(gold\).*$/\1/p'`"; then
 else
   AC_CHECK_PROG_VER(LD, $LD, --version,
 		    [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
-		    [2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
+		    [2.1[0-9][0-9]*|2.2[7-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
 		    LD=: critic_missing="$critic_missing GNU ld")
 fi
 
diff --git a/manual/install.texi b/manual/install.texi
index 735e99bb03..5131422727 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -528,17 +528,13 @@ You can use whatever compiler you like to compile programs that use
 Check the FAQ for any special compiler issues on particular platforms.
 
 @item
-GNU @code{binutils} 2.25 or later
+GNU @code{binutils} 2.27 or later
 
 You must use GNU @code{binutils} (as and ld) to build @theglibc{}.
 No other assembler or linker has the necessary functionality at the
-moment. As of release time, GNU @code{binutils} 2.32 is the newest
+moment. As of release time, GNU @code{binutils} 2.35 is the newest
 verified to work to build @theglibc{}.
 
-For PowerPC 64-bits little-endian (powerpc64le), @command{objcopy} is required
-to support @option{--update-section}.  This option requires binutils 2.26 or
-newer.
-
 ARC architecture needs @code{binutils} 2.32 or higher for TLS related fixes.
 
 @item
diff --git a/sysdeps/powerpc/powerpc64/le/configure b/sysdeps/powerpc/powerpc64/le/configure
index 98a4889945..cd48cd9661 100644
--- a/sysdeps/powerpc/powerpc64/le/configure
+++ b/sysdeps/powerpc/powerpc64/le/configure
@@ -117,68 +117,4 @@ if test "$libc_cv_compiler_powerpc64le_ldbl128_mabi" == "no"; then :
   critic_missing="$critic_missing The compiler must support -mabi=ieeelongdouble and -mlongdouble simultaneously."
 fi
 
-for ac_prog in $OBJCOPY
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJCOPY+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJCOPY"; then
-  ac_cv_prog_OBJCOPY="$OBJCOPY" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OBJCOPY="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJCOPY=$ac_cv_prog_OBJCOPY
-if test -n "$OBJCOPY"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJCOPY" >&5
-$as_echo "$OBJCOPY" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$OBJCOPY" && break
-done
-
-if test -z "$OBJCOPY"; then
-  ac_verc_fail=yes
-else
-  # Found it, now check the version.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $OBJCOPY" >&5
-$as_echo_n "checking version of $OBJCOPY... " >&6; }
-  ac_prog_version=`$OBJCOPY --version 2>&1 | sed -n 's/^.*GNU objcopy.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
-  case $ac_prog_version in
-    '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-    2.1[0-9][0-9]*|2.2[6-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
-       ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
-    *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5
-$as_echo "$ac_prog_version" >&6; }
-fi
-if test $ac_verc_fail = yes; then
-  AS=: critic_missing="$critic_missing objcopy >= 2.26 is required on powerpc64le"
-fi
-
-
 test -n "$critic_missing" && as_fn_error $? "*** $critic_missing" "$LINENO" 5
diff --git a/sysdeps/powerpc/powerpc64/le/configure.ac b/sysdeps/powerpc/powerpc64/le/configure.ac
index 769c06709e..b616bf95e3 100644
--- a/sysdeps/powerpc/powerpc64/le/configure.ac
+++ b/sysdeps/powerpc/powerpc64/le/configure.ac
@@ -66,11 +66,4 @@ CFLAGS="$save_CFLAGS"])
 AS_IF([test "$libc_cv_compiler_powerpc64le_ldbl128_mabi" == "no"],
       [critic_missing="$critic_missing The compiler must support -mabi=ieeelongdouble and -mlongdouble simultaneously."])
 
-dnl objcopy (binutils) 2.26 or newer required to support the --update-section
-dnl feature for fixing up .gnu.attribute section with IEEE ldbl.
-AC_CHECK_PROG_VER(OBJCOPY, $OBJCOPY, --version,
-		  [GNU objcopy.* \([0-9]*\.[0-9.]*\)],
-		  [2.1[0-9][0-9]*|2.2[6-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
-		  AS=: critic_missing="$critic_missing objcopy >= 2.26 is required on powerpc64le")
-
 test -n "$critic_missing" && AC_MSG_ERROR([*** $critic_missing])
-- 
2.25.4


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 2/2] Update INSTALL with package versions that are known to work
  2020-09-02 15:37 [PATCH 1/2] Require binutils 2.27 or later to build glibc Tulio Magno Quites Machado Filho
@ 2020-09-02 15:37 ` Tulio Magno Quites Machado Filho
  2020-09-02 17:09 ` [PATCH 1/2] Require binutils 2.27 or later to build glibc Joseph Myers
  1 sibling, 0 replies; 3+ messages in thread
From: Tulio Magno Quites Machado Filho @ 2020-09-02 15:37 UTC (permalink / raw)
  To: libc-alpha

Most packages have been tested with their latest releases, except for:

 - bison 3.7.1
 - gettext 0.21
 - perl 5.32.0
 - Python 3.8.5
---
 INSTALL             | 22 +++++++++++-----------
 manual/install.texi | 18 +++++++++---------
 2 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/INSTALL b/INSTALL
index 74aebff697..26dec2cc83 100644
--- a/INSTALL
+++ b/INSTALL
@@ -451,15 +451,15 @@ build the GNU C Library:
 
    * GNU 'make' 4.0 or newer
 
-     As of relase time, GNU 'make' 4.2.1 is the newest verified to work
-     to build the GNU C Library.
+     As of relase time, GNU 'make' 4.3 is the newest verified to work to
+     build the GNU C Library.
 
    * GCC 6.2 or newer
 
      GCC 6.2 or higher is required.  In general it is recommended to use
      the newest version of the compiler that is known to work for
      building the GNU C Library, as newer compilers usually produce
-     better code.  As of release time, GCC 9.2.1 is the newest compiler
+     better code.  As of release time, GCC 10.2 is the newest compiler
      verified to work to build the GNU C Library.
 
      For PowerPC 64-bits little-endian (powerpc64le), a GCC version with
@@ -491,7 +491,7 @@ build the GNU C Library:
 
      You must use GNU 'binutils' (as and ld) to build the GNU C Library.
      No other assembler or linker has the necessary functionality at the
-     moment.  As of release time, GNU 'binutils' 2.32 is the newest
+     moment.  As of release time, GNU 'binutils' 2.35 is the newest
      verified to work to build the GNU C Library.
 
      ARC architecture needs 'binutils' 2.32 or higher for TLS related
@@ -503,7 +503,7 @@ build the GNU C Library:
      need this version of the 'texinfo' package.  Earlier versions do
      not understand all the tags used in the document, and the
      installation mechanism for the info files is not present or works
-     differently.  As of release time, 'texinfo' 6.6 is the newest
+     differently.  As of release time, 'texinfo' 6.7 is the newest
      verified to work to build the GNU C Library.
 
    * GNU 'awk' 3.1.2, or higher
@@ -511,13 +511,13 @@ build the GNU C Library:
      'awk' is used in several places to generate files.  Some 'gawk'
      extensions are used, including the 'asorti' function, which was
      introduced in version 3.1.2 of 'gawk'.  As of release time, 'gawk'
-     version 5.0.1 is the newest verified to work to build the GNU C
+     version 5.1 is the newest verified to work to build the GNU C
      Library.
 
    * GNU 'bison' 2.7 or later
 
      'bison' is used to generate the 'yacc' parser code in the 'intl'
-     subdirectory.  As of release time, 'bison' version 3.4.1 is the
+     subdirectory.  As of release time, 'bison' version 3.6.4 is the
      newest verified to work to build the GNU C Library.
 
    * Perl 5
@@ -531,12 +531,12 @@ build the GNU C Library:
 
      'Sed' is used in several places to generate files.  Most scripts
      work with any version of 'sed'.  As of release time, 'sed' version
-     4.5 is the newest verified to work to build the GNU C Library.
+     4.8 is the newest verified to work to build the GNU C Library.
 
    * Python 3.4 or later
 
      Python is required to build the GNU C Library.  As of release time,
-     Python 3.7.4 is the newest verified to work for building and
+     Python 3.8.3 is the newest verified to work for building and
      testing the GNU C Library.
 
    * PExpect 4.0
@@ -553,7 +553,7 @@ build the GNU C Library:
      use the pretty printers.  Notice that your system having Python
      available doesn't imply that GDB supports it, nor that your
      system's Python and GDB's have the same version.  As of release
-     time GNU 'debugger' 8.3 is the newest verified to work to test the
+     time GNU 'debugger' 9.2 is the newest verified to work to test the
      pretty printers.
 
      Unless Python, PExpect and GDB with Python support are present, the
@@ -569,7 +569,7 @@ and if you change any of the message translation files you will need
 
    * GNU 'gettext' 0.10.36 or later
 
-     As of release time, GNU 'gettext' version 0.19.8.1 is the newest
+     As of release time, GNU 'gettext' version 0.20.2 is the newest
      version verified to work to build the GNU C Library.
 
 You may also need these packages if you upgrade your source tree using
diff --git a/manual/install.texi b/manual/install.texi
index 5131422727..977f61dbb1 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -489,7 +489,7 @@ build @theglibc{}:
 @item
 GNU @code{make} 4.0 or newer
 
-As of relase time, GNU @code{make} 4.2.1 is the newest verified to work
+As of relase time, GNU @code{make} 4.3 is the newest verified to work
 to build @theglibc{}.
 
 @item
@@ -498,7 +498,7 @@ GCC 6.2 or newer
 GCC 6.2 or higher is required.  In general it is recommended to use
 the newest version of the compiler that is known to work for building
 @theglibc{}, as newer compilers usually produce better code.  As of
-release time, GCC 9.2.1 is the newest compiler verified to work to build
+release time, GCC 10.2 is the newest compiler verified to work to build
 @theglibc{}.
 
 For PowerPC 64-bits little-endian (powerpc64le), a GCC version with support
@@ -544,7 +544,7 @@ To correctly translate and install the Texinfo documentation you need
 this version of the @code{texinfo} package.  Earlier versions do not
 understand all the tags used in the document, and the installation
 mechanism for the info files is not present or works differently.
-As of release time, @code{texinfo} 6.6 is the newest verified to work
+As of release time, @code{texinfo} 6.7 is the newest verified to work
 to build @theglibc{}.
 
 @item
@@ -553,14 +553,14 @@ GNU @code{awk} 3.1.2, or higher
 @code{awk} is used in several places to generate files.
 Some @code{gawk} extensions are used, including the @code{asorti}
 function, which was introduced in version 3.1.2 of @code{gawk}.
-As of release time, @code{gawk} version 5.0.1 is the newest verified
+As of release time, @code{gawk} version 5.1 is the newest verified
 to work to build @theglibc{}.
 
 @item
 GNU @code{bison} 2.7 or later
 
 @code{bison} is used to generate the @code{yacc} parser code in the @file{intl}
-subdirectory.  As of release time, @code{bison} version 3.4.1 is the newest
+subdirectory.  As of release time, @code{bison} version 3.6.4 is the newest
 verified to work to build @theglibc{}.
 
 @item
@@ -576,13 +576,13 @@ GNU @code{sed} 3.02 or newer
 
 @code{Sed} is used in several places to generate files.  Most scripts work
 with any version of @code{sed}.  As of release time, @code{sed} version
-4.5 is the newest verified to work to build @theglibc{}.
+4.8 is the newest verified to work to build @theglibc{}.
 
 @item
 Python 3.4 or later
 
 Python is required to build @theglibc{}.  As of release time, Python
-3.7.4 is the newest verified to work for building and testing
+3.8.3 is the newest verified to work for building and testing
 @theglibc{}.
 
 @item PExpect 4.0
@@ -600,7 +600,7 @@ GDB itself needs to be configured with Python support in order to use
 the pretty printers.  Notice that your system having Python available
 doesn't imply that GDB supports it, nor that your system's Python and
 GDB's have the same version.  As of release time GNU @code{debugger}
-8.3 is the newest verified to work to test the pretty printers.
+9.2 is the newest verified to work to test the pretty printers.
 
 Unless Python, PExpect and GDB with Python support are present, the
 printer tests will report themselves as @code{UNSUPPORTED}.  Notice
@@ -623,7 +623,7 @@ and if you change any of the message translation files you will need
 @item
 GNU @code{gettext} 0.10.36 or later
 
-As of release time, GNU @code{gettext} version 0.19.8.1 is the newest
+As of release time, GNU @code{gettext} version 0.20.2 is the newest
 version verified to work to build @theglibc{}.
 @end itemize
 
-- 
2.25.4


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/2] Require binutils 2.27 or later to build glibc
  2020-09-02 15:37 [PATCH 1/2] Require binutils 2.27 or later to build glibc Tulio Magno Quites Machado Filho
  2020-09-02 15:37 ` [PATCH 2/2] Update INSTALL with package versions that are known to work Tulio Magno Quites Machado Filho
@ 2020-09-02 17:09 ` Joseph Myers
  1 sibling, 0 replies; 3+ messages in thread
From: Joseph Myers @ 2020-09-02 17:09 UTC (permalink / raw)
  To: Tulio Magno Quites Machado Filho; +Cc: libc-alpha

On Wed, 2 Sep 2020, Tulio Magno Quites Machado Filho via Libc-alpha wrote:

>       You must use GNU 'binutils' (as and ld) to build the GNU C Library.
>       No other assembler or linker has the necessary functionality at the
>       moment.  As of release time, GNU 'binutils' 2.32 is the newest
>       verified to work to build the GNU C Library.

This does not appear to be a regeneration corresponding to the changes in 
install.texi.

> diff --git a/NEWS b/NEWS
> index 06e43e0453..60c4fc73ce 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -10,6 +10,9 @@ Version 2.33
>  Major new features:
>  
>  
> +* The minimum GNU Binutils version that can be used to build this version of
> +  the GNU C Library is Binutils 2.27.

This belongs under "Changes to build and runtime requirements:", not 
"Major new features:".

>  You must use GNU @code{binutils} (as and ld) to build @theglibc{}.
>  No other assembler or linker has the necessary functionality at the
> -moment. As of release time, GNU @code{binutils} 2.32 is the newest
> +moment. As of release time, GNU @code{binutils} 2.35 is the newest
>  verified to work to build @theglibc{}.

Specficically, this install.texi change is not reflected in the INSTALL 
changes above.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-09-02 17:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-02 15:37 [PATCH 1/2] Require binutils 2.27 or later to build glibc Tulio Magno Quites Machado Filho
2020-09-02 15:37 ` [PATCH 2/2] Update INSTALL with package versions that are known to work Tulio Magno Quites Machado Filho
2020-09-02 17:09 ` [PATCH 1/2] Require binutils 2.27 or later to build glibc Joseph Myers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).