* [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).