aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog25
-rw-r--r--binutils/NEWS3
-rw-r--r--binutils/README-how-to-make-a-release87
-rw-r--r--binutils/bucomm.h6
-rwxr-xr-xbinutils/configure262
-rw-r--r--binutils/configure.ac248
-rw-r--r--binutils/doc/binutils.texi20
-rw-r--r--binutils/objcopy.c108
-rw-r--r--binutils/od-elf32_avr.c19
-rw-r--r--binutils/od-macho.c1
-rw-r--r--binutils/od-xcoff.c1
-rw-r--r--binutils/po/binutils.pot2
-rw-r--r--binutils/readelf.c36
-rw-r--r--binutils/testsuite/binutils-all/objcopy.exp7
14 files changed, 359 insertions, 466 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 65cff80..01406cf 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,26 +1,7 @@
-2023-07-30 Jose E. Marchesi <jose.marchesi@oracle.com>
+2023-07-30 Nick Clifton <nickc@redhat.com>
- * readelf.c (get_machine_flags): Recognize and pretty print BPF
- machine flags.
-
-2023-07-24 Johannes Schauer Marin Rodrigues <josch@debian.org>
-
- * doc/binutils.texi (objcopy): Document change in behaviour of
- objcopy's --preserve-dates command line option.
-
-2023-07-09 Fangrui Song <maskray@google.com>
-
- PR 30592
- * NEWS: Mention the new feature for objcopy.
- * doc/binutils.texi: Mention "large".
- * objcopy.c (parse_flags): Parse "large".
- (check_new_section_flags): Error if "large" is used with a
- non-x86-64 ELF target.
- * testsuite/binutils-all/x86-64/large-sections.d: New.
- * testsuite/binutils-all/x86-64/large-sections.s: New.
- * testsuite/binutils-all/x86-64/large-sections-i386.d: New.
- * testsuite/binutils-all/x86-64/large-sections-2.d: New.
- * testsuite/binutils-all/x86-64/large-sections-2-x32.d: New.
+ This is the 2.41 release.
+ * configure: Regenerate.
2023-07-03 Nick Clifton <nickc@redhat.com>
diff --git a/binutils/NEWS b/binutils/NEWS
index d64cae0..563062c 100644
--- a/binutils/NEWS
+++ b/binutils/NEWS
@@ -1,8 +1,5 @@
-*- text -*-
-* objcopy --set-section-flags now supports "large" to set SHF_X86_64_LARGE
- for ELF x86-64 objects.
-
Changes in 2.41:
* The MIPS port now supports the Sony Interactive Entertainment Allegrex
diff --git a/binutils/README-how-to-make-a-release b/binutils/README-how-to-make-a-release
index aaf7704..a991792 100644
--- a/binutils/README-how-to-make-a-release
+++ b/binutils/README-how-to-make-a-release
@@ -34,10 +34,6 @@ How to perform a release.
directories and the top level Makefile and configure files. Also
consider updating the toplevel libtool files.
--------------------------------------------------
-How to create the release branch.
--------------------------------------------------
-
Approx time to complete from here: 2 hours ....
2.5 If you have not built from the sources recently then now is the
@@ -56,8 +52,8 @@ Approx time to complete from here: 2 hours ....
4. Create the release branch using:
- git branch binutils-2_42-branch
- git push origin binutils-2_42-branch
+ git branch binutils-2_41-branch
+ git push origin binutils-2_41-branch
If you get a message like:
@@ -89,8 +85,8 @@ Approx time to complete from here: 2 hours ....
ask Joel Brobecker <brobecker AT adacore DOT com>.
7. Rename the current HEAD version entry in Bugzilla, and create a
- new one. E.g. rename "2.42 (HEAD)" to 2.42, and create
- "2.43 (HEAD)":
+ new one. E.g. rename "2.41 (HEAD)" to 2.41, and create
+ "2.42 (HEAD)":
https://sourceware.org/bugzilla/editversions.cgi?product=binutils
@@ -103,13 +99,13 @@ Approx time to complete from here: 2 hours ....
and the version number on the MAINLINE should be set to 2.41.50 -
ie half way to 2.42 release.
- So the BRANCH bfd/version.m4 has:
+ So the branch bfd/version.m4 has:
- m4_define([BFD_VERSION], [2.41.90])
+ m4_define([BFD_VERSION], [2.40.90])
- and the MAINLINE has:
+ and the mainline has:
- m4_define([BFD_VERSION], [2.42.50])
+ m4_define([BFD_VERSION], [2.41.50])
Regenerate various files on both branch and HEAD by configuring
with "--enable-maintainer-mode --enable-gold --enable-shared" and then building
@@ -141,21 +137,21 @@ Approx time to complete from here: 2 hours ....
xz -9 binutils-<release>.tar
eg:
- touch -d 2024-01-01 binutils-2.41.90/gas/doc/.dirstamp
- tar rvf binutils-2.41.90.tar binutils-2.41.90/gas/doc/.dirstamp
- rm binutils-2.41.90.tar.xz
- xz -9 binutils-2.41.90.tar
+ touch -d 2023-06-01 binutils-2.40.90/gas/doc/.dirstamp
+ tar rvf binutils-2.40.90.tar binutils-2.40.90/gas/doc/.ditstamp
+ rm binutils-2.40.90.tar.xz
+ xz -9 binutils-2.40.90.tar
...END OF FIXME
c. Build a test target using this tarball.
- cp binutils-2.41.90.tar.xz /dev/shm
+ cp binutils-2.40.90.tar.xz /dev/shm
pushd /dev/shm
- tar xvf binutils-2.41.90.tar.xz
+ tar xvf binutils-2.40.90.tar.xz
mkdir build
cd build
- ../binutils-2.41.90/configure --quiet --enable-gold
+ ../binutils-2.40.90/configure --quiet --enable-gold
make
popd
@@ -177,11 +173,11 @@ Approx time to complete from here: 2 hours ....
------------------------------------------------------------------------
Dear Translation Project
- The 2.42 release branch has been created for the GNU Binutils project.
+ The 2.40 release branch has been created for the GNU Binutils project.
A snapshot of the branch sources can be found here:
- https://sourceware.org/pub/binutils/snapshots/binutils-2.41.90.tar.xz
+ https://sourceware.org/pub/binutils/snapshots/binutils-2.39.90.tar.xz
We hope to make the official release of the sources on the <DATE>
although that could change if there are important bugs that need to
@@ -192,7 +188,7 @@ Dear Translation Project
binutils mailing list. Set a date for when the release will
actually happen. Something like:
-
+------------------------------------------------------------------------
Hi Everyone,
The <NEW_VERSION> branch has now been created:
@@ -223,39 +219,25 @@ Hi Everyone,
architectures...
==============================================================================
-==============================================================================
-For the next few weeks, monitor the mailing list for new translations
-and respond to any requests to have patches applied to the branch.
+When the time comes to actually make the release....
-==============================================================================
-==============================================================================
-
-Then, a couple of weeks later ...
-
--------------------------------------------------
-How to create the release.
--------------------------------------------------
20. Make sure that the branch sources still build, test and install
correctly. Make sure that the sources are clean, without any
patch files (.reg .orig *~) left over.
cd <branch>
- git pull
git clean -fdx
- cd <builds>
- make
21. a. Update the release number in bfd/version.m4 on the release
branch to a whole new minor version number, without a point
- value. Eg "2.41.90" becomes "2.42". NB/ Not: "2.42.00"
+ value. Eg "2.40.90" becomes "2.41". NB/ Not: "2.41.00"
b. Change bfd/development.sh to set all values to "false".
c. Regenerate the configure and makefiles. And *info* files.
- cd <build-configured-with-enable-maintainer-mode>
make all-gas all-ld all-binutils all-gprof all-gold all-gprofng all-libctf
make info
@@ -277,7 +259,7 @@ How to create the release.
need to agree to have it there.
e. Add ChangeLog entries for all of the updates and add a
- "this-is-the-2.42-release" comment and commit.
+ "this-is-the-2.41-release" comment and commit.
git add .
git commit
@@ -299,11 +281,7 @@ How to create the release.
DEVO_SUPPORT variable in the src-release.sh script. If they are
needed then add them.
- PARANOIA: Check that there are no pending commits:
-
- git status
-
- Then create the release tarballs:
+ Create the release tarballs:
./src-release.sh -b -g -l -x binutils
@@ -348,15 +326,14 @@ How to create the release.
[optional: add "-u XXXXX" to sign with a gpg key]
enter a tag message such as: "Official GNU Binutils 2.4x release"
- git tag -a <TAG> -u <Your Key>
- git tag -a binutils-2_42 -u DD9E3C4F <=== Be careful to get the tag right
+ git tag -a binutils-2_41 -u DD9E3C4F <=== Be careful to get the tag right
NB/ If you do sign the binaries make sure to use a key
that has been published with the FSF.
Then push the release:
- git push origin binutils-2_42
+ git push origin binutils-2_41
If you get an error message along the lines of:
"Invalid revision range ..."
@@ -364,7 +341,7 @@ How to create the release.
27. Upload the tarballs to ftp.gnu.org.
- gnupload --to ftp.gnu.org:binutils binutils-2.42.tar.*
+ for A in bz2 gz lz xz ; do gnupload --to ftp.gnu.org:binutils binutils-2.41.tar.$A ; done
Be prepared to provide the password for the key, if you
signed the binaries.
@@ -392,7 +369,7 @@ How to create the release.
29. Update web pages. For sourceware.org:
Create a new documentation folder on the sourceware.org web
- pages as /sourceware/www/sourceware/htdocs/binutils/docs-2.4x.
+ pages as /sourceware/www/sourceware/htdocs/binutils/docs-2.3x.
sftp sourceware.org
cd /sourceware/www/sourceware/htdocs/binutils
@@ -401,9 +378,9 @@ How to create the release.
mkdir as
mkdir bfd
mkdir binutils
- mkdir gprof [NB/ gprofng is not needed]
+ mkdir gprof
mkdir ld
- cd ../docs-2.4(x-1)
+ cd ../docs-2.3(x-1)
get index.html
Update the (local copy of the) index.html file to point to the
@@ -435,7 +412,7 @@ How to create the release.
put bfd.pdf
cd binutils
- lcd ../../binutils/binutils_html <=== NB/ Path not like others
+ lcd ../../binutils/binutils <=== NB/ Path not like others
put *
cd ..
lcd ../doc <=== Also not like the others
@@ -496,7 +473,7 @@ Hi FSF Webmasters,
https://www.gnu.org/software/binutils/binutils.html
be updated to indicate that there is now a newer version available
- (2.4x). I have already updated the related page on the sourceware
+ (2.3x). I have already updated the related page on the sourceware
website so this might be useful as a template:
https://sourceware.org/binutils/
@@ -559,7 +536,7 @@ Cheers
date suffix keeps the version lower than the trunk version.
Regenerate files. Commit these changes.
- 33. Email the binutils list telling everyone that the 2.4x branch
+ 33. Email the binutils list telling everyone that the 2.34 branch
is now open for business as usual and that patches no longer
need special approval.
@@ -567,7 +544,7 @@ Cheers
any pending obsolete targets into the definitely obsolete
section. Create a changelog entry and commit.
- Sit back and relax, you are all done.
+
--------------------------------------------------------------------------
How to perform a POINT release.
--------------------------------------------------------------------------
diff --git a/binutils/bucomm.h b/binutils/bucomm.h
index b708790..0c11c0b 100644
--- a/binutils/bucomm.h
+++ b/binutils/bucomm.h
@@ -76,6 +76,12 @@ extern void set_times (const char *, const struct stat *);
extern int smart_rename (const char *, const char *, int,
struct stat *, bool);
+
+/* In libiberty. */
+void *xmalloc (size_t);
+
+void *xrealloc (void *, size_t);
+
#if __GNUC__ >= 7
#define _mul_overflow(a, b, res) __builtin_mul_overflow (a, b, res)
#else
diff --git a/binutils/configure b/binutils/configure
index 2b7462b..e0bf7f1 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.69 for binutils 2.41.50.
+# Generated by GNU Autoconf 2.69 for binutils 2.41.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='binutils'
PACKAGE_TARNAME='binutils'
-PACKAGE_VERSION='2.41.50'
-PACKAGE_STRING='binutils 2.41.50'
+PACKAGE_VERSION='2.41'
+PACKAGE_STRING='binutils 2.41'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1401,7 +1401,7 @@ if test "$ac_init_help" = "long"; then
# 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.41.50 to adapt to many kinds of systems.
+\`configure' configures binutils 2.41 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1472,7 +1472,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of binutils 2.41.50:";;
+ short | recursive ) echo "Configuration of binutils 2.41:";;
esac
cat <<\_ACEOF
@@ -1631,7 +1631,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-binutils configure 2.41.50
+binutils configure 2.41
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2099,7 +2099,7 @@ cat >config.log <<_ACEOF
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.41.50, which was
+It was created by binutils $as_me 2.41, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3081,7 +3081,7 @@ fi
# Define the identity of the package.
PACKAGE='binutils'
- VERSION='2.41.50'
+ VERSION='2.41'
cat >>confdefs.h <<_ACEOF
@@ -14542,6 +14542,7 @@ _ACEOF
fi
+all_targets=false
BUILD_SRCONV=
BUILD_DLLTOOL=
DLLTOOL_DEFS=
@@ -14558,137 +14559,140 @@ od_vectors=
for targ in $target $canon_targets
do
- case $targ in
- all | *-*-hms*)
+ if test "x$targ" = "xall"; then
+ all_targets=true
BUILD_SRCONV='$(SRCONV_PROG)'
- ;;
- esac
-
- case $targ in
- all | spu-*-*)
- BUILD_MISC='bin2c$(EXEEXT_FOR_BUILD)'
- ;;
- esac
-
- case $targ in
- powerpc*-*-linux* | powerpc*-*-elf* | powerpc*-*-eabi*)
- BUILD_INSTALL_MISC=embedspu
- ;;
- esac
-
- case $targ in
- mep-*)
- OBJDUMP_DEFS="-DSKIP_ZEROES=256 -DSKIP_ZEROES_AT_END=0"
- ;;
- powerpc*-aix5.[01])
- ;;
- powerpc*-aix[5-9].*)
- OBJDUMP_DEFS="-DAIX_WEAK_SUPPORT"
- ;;
- esac
-
- case $targ in
- aarch64-*-mingw*)
- BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
- if test -z "$DLLTOOL_DEFAULT"; then
- DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_AARCH64"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_AARCH64"
- BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
- BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
- BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
- ;;
- arm-wince-pe* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*)
- BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
- if test -z "$DLLTOOL_DEFAULT"; then
- DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_WINCE"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM_WINCE -DDLLTOOL_ARM"
- BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
- BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
- ;;
- arm-*-pe*)
- BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
- if test -z "$DLLTOOL_DEFAULT"; then
- DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM"
+ BUILD_MISC="${BUILD_MISC} "'bin2c$(EXEEXT_FOR_BUILD)'
BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
- ;;
- i[3-7]86-*-pe* | i[3-7]86-*-cygwin* | i[3-7]86-*-mingw32** | all)
BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
if test -z "$DLLTOOL_DEFAULT"; then
- DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_I386"
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_I386"
fi
DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_I386"
- BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
- BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
- ;;
- i[3-7]86-*-interix)
- BUILD_DLLTOOL='$(DLLTOOL_PROG)'
- if test -z "$DLLTOOL_DEFAULT"; then
+ od_vectors="$od_vectors objdump_private_desc_xcoff objdump_private_desc_pe"
+ else
+ case $targ in
+ *-*-hms*) BUILD_SRCONV='$(SRCONV_PROG)' ;;
+ esac
+
+ case $targ in
+ aarch64-*-mingw*)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_AARCH64"
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_AARCH64"
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
+ ;;
+ arm-wince-pe* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_WINCE"
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM_WINCE -DDLLTOOL_ARM"
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ ;;
+ arm-*-pe*)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM"
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM"
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ ;;
+ x86_64-*-mingw* | x86_64-*-cygwin*)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_MX86_64"
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MX86_64"
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
+ ;;
+ i[3-7]86-*-pe* | i[3-7]86-*-cygwin* | i[3-7]86-*-mingw32**)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_I386"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_I386"
- ;;
- mcore-*-pe)
- BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
- if test -z "$DLLTOOL_DEFAULT"; then
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_I386"
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
+ ;;
+ i[3-7]86-*-interix)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_I386"
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_I386"
+ ;;
+ powerpc*-aix5.[01])
+ ;;
+ powerpc*-aix[5-9].*)
+ OBJDUMP_DEFS="-DAIX_WEAK_SUPPORT"
+ ;;
+ powerpc*-*-linux* | powerpc*-*-elf* | powerpc*-*-eabi*)
+ case "$BUILD_INSTALL_MISC" in
+ *embedspu*) ;;
+ *) BUILD_INSTALL_MISC="${BUILD_INSTALL_MISC} embedspu"
+ esac
+ ;;
+ sh*-*-pe)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_SH"
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_SH"
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ ;;
+ spu-*-*)
+ BUILD_MISC="${BUILD_MISC} "'bin2c$(EXEEXT_FOR_BUILD)'
+ ;;
+ mcore-*-pe)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_MCORE"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MCORE"
- BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
- BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
- ;;
- mcore-*-elf)
- BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
- if test -z "$DLLTOOL_DEFAULT"; then
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MCORE"
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ ;;
+ mcore-*-elf)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_MCORE_ELF"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MCORE_ELF"
- ;;
- sh*-*-pe)
- BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
- if test -z "$DLLTOOL_DEFAULT"; then
- DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_SH"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_SH"
- BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
- BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
- ;;
- x86_64-*-mingw* | x86_64-*-cygwin*)
- BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
- if test -z "$DLLTOOL_DEFAULT"; then
- DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_MX86_64"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MX86_64"
- BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
- BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
- BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
- ;;
- esac
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MCORE_ELF"
+ ;;
+ mep-*)
+ OBJDUMP_DEFS="-DSKIP_ZEROES=256 -DSKIP_ZEROES_AT_END=0"
+ ;;
+ esac
- # Add objdump private vectors.
- case $targ in
- all)
- od_vectors="objdump_private_desc_elf32_avr objdump_private_desc_xcoff\
- objdump_private_desc_pe objdump_private_desc_mach_o"
- ;;
- avr-*-*)
- od_vectors="$od_vectors objdump_private_desc_elf32_avr"
- ;;
- powerpc*-*-aix* | rs6000-*-aix*)
- od_vectors="$od_vectors objdump_private_desc_xcoff"
- ;;
- *-*-pe* | *-*-cygwin* | *-*-mingw*)
- od_vectors="$od_vectors objdump_private_desc_pe"
- ;;
- *-*-darwin*)
- od_vectors="$od_vectors objdump_private_desc_mach_o"
- ;;
- esac
+ # Add objdump private vectors.
+ case $targ in
+ avr-*-*)
+ od_vectors="$od_vectors objdump_private_desc_elf32_avr"
+ ;;
+ powerpc*-*-aix* | rs6000-*-aix*)
+ od_vectors="$od_vectors objdump_private_desc_xcoff"
+ ;;
+ *-*-pe* | *-*-cygwin* | *-*-mingw*)
+ od_vectors="$od_vectors objdump_private_desc_pe"
+ ;;
+ *-*-darwin*)
+ od_vectors="$od_vectors objdump_private_desc_mach_o"
+ ;;
+ esac
+ fi
done
# Uniq objdump private vector, build objdump target ofiles.
@@ -15328,7 +15332,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# 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.41.50, which was
+This file was extended by binutils $as_me 2.41, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15394,7 +15398,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-binutils config.status 2.41.50
+binutils config.status 2.41
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/binutils/configure.ac b/binutils/configure.ac
index 30cd7b9..b5798bf 100644
--- a/binutils/configure.ac
+++ b/binutils/configure.ac
@@ -319,6 +319,7 @@ fi
AC_CHECK_HEADER(iconv.h)
AM_ICONV
+all_targets=false
BUILD_SRCONV=
BUILD_DLLTOOL=
DLLTOOL_DEFS=
@@ -335,143 +336,148 @@ od_vectors=
for targ in $target $canon_targets
do
- case $targ in
- all | *-*-hms*)
+ if test "x$targ" = "xall"; then
+ all_targets=true
BUILD_SRCONV='$(SRCONV_PROG)'
- ;;
- esac
-
- case $targ in
- all | spu-*-*)
- BUILD_MISC='bin2c$(EXEEXT_FOR_BUILD)'
- ;;
- esac
-
- case $targ in
- powerpc*-*-linux* | powerpc*-*-elf* | powerpc*-*-eabi*)
- BUILD_INSTALL_MISC=embedspu
- ;;
- esac
-
- case $targ in
- mep-*)
- OBJDUMP_DEFS="-DSKIP_ZEROES=256 -DSKIP_ZEROES_AT_END=0"
- ;;
-changequote(,)dnl
- powerpc*-aix5.[01])
- ;;
- powerpc*-aix[5-9].*)
-changequote([,])dnl
- OBJDUMP_DEFS="-DAIX_WEAK_SUPPORT"
- ;;
- esac
-
- case $targ in
- aarch64-*-mingw*)
- BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
- if test -z "$DLLTOOL_DEFAULT"; then
- DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_AARCH64"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_AARCH64"
+ BUILD_MISC="${BUILD_MISC} "'bin2c$(EXEEXT_FOR_BUILD)'
BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
- BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
- ;;
- arm-wince-pe* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*)
BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
if test -z "$DLLTOOL_DEFAULT"; then
- DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_WINCE"
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_I386"
fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM_WINCE -DDLLTOOL_ARM"
- BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
- BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
- ;;
- arm-*-pe*)
- BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
- if test -z "$DLLTOOL_DEFAULT"; then
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_I386"
+ BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
+ od_vectors="$od_vectors objdump_private_desc_xcoff objdump_private_desc_pe"
+ else
+ case $targ in
+ *-*-hms*) BUILD_SRCONV='$(SRCONV_PROG)' ;;
+ esac
+
+ case $targ in
+ aarch64-*-mingw*)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_AARCH64"
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_AARCH64"
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
+ ;;
+ arm-wince-pe* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_WINCE"
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM_WINCE -DDLLTOOL_ARM"
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ ;;
+ arm-*-pe*)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM"
- BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
- BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
- ;;
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM"
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ ;;
+ x86_64-*-mingw* | x86_64-*-cygwin*)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_MX86_64"
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MX86_64"
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
+ ;;
changequote(,)dnl
- i[3-7]86-*-pe* | i[3-7]86-*-cygwin* | i[3-7]86-*-mingw32** | all)
+ i[3-7]86-*-pe* | i[3-7]86-*-cygwin* | i[3-7]86-*-mingw32**)
changequote([,])dnl
- BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
- if test -z "$DLLTOOL_DEFAULT"; then
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_I386"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_I386"
- BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
- BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
- BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
- ;;
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_I386"
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
+ ;;
changequote(,)dnl
- i[3-7]86-*-interix)
+ i[3-7]86-*-interix)
changequote([,])dnl
- BUILD_DLLTOOL='$(DLLTOOL_PROG)'
- if test -z "$DLLTOOL_DEFAULT"; then
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)'
+ if test -z "$DLLTOOL_DEFAULT"; then
DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_I386"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_I386"
- ;;
- mcore-*-pe)
- BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
- if test -z "$DLLTOOL_DEFAULT"; then
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_I386"
+ ;;
+changequote(,)dnl
+ powerpc*-aix5.[01])
+changequote([,])dnl
+ ;;
+changequote(,)dnl
+ powerpc*-aix[5-9].*)
+changequote([,])dnl
+ OBJDUMP_DEFS="-DAIX_WEAK_SUPPORT"
+ ;;
+ powerpc*-*-linux* | powerpc*-*-elf* | powerpc*-*-eabi*)
+ case "$BUILD_INSTALL_MISC" in
+ *embedspu*) ;;
+ *) BUILD_INSTALL_MISC="${BUILD_INSTALL_MISC} embedspu"
+ esac
+ ;;
+ sh*-*-pe)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_SH"
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_SH"
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ ;;
+ spu-*-*)
+ BUILD_MISC="${BUILD_MISC} "'bin2c$(EXEEXT_FOR_BUILD)'
+ ;;
+ mcore-*-pe)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_MCORE"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MCORE"
- BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
- BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
- ;;
- mcore-*-elf)
- BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
- if test -z "$DLLTOOL_DEFAULT"; then
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MCORE"
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ ;;
+ mcore-*-elf)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_MCORE_ELF"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MCORE_ELF"
- ;;
- sh*-*-pe)
- BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
- if test -z "$DLLTOOL_DEFAULT"; then
- DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_SH"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_SH"
- BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
- BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
- ;;
- x86_64-*-mingw* | x86_64-*-cygwin*)
- BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
- if test -z "$DLLTOOL_DEFAULT"; then
- DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_MX86_64"
- fi
- DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MX86_64"
- BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
- BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
- BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
- ;;
- esac
+ fi
+ DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MCORE_ELF"
+ ;;
+ mep-*)
+ OBJDUMP_DEFS="-DSKIP_ZEROES=256 -DSKIP_ZEROES_AT_END=0"
+ ;;
+ esac
- # Add objdump private vectors.
- case $targ in
- all)
- od_vectors="objdump_private_desc_elf32_avr objdump_private_desc_xcoff\
- objdump_private_desc_pe objdump_private_desc_mach_o"
- ;;
- avr-*-*)
- od_vectors="$od_vectors objdump_private_desc_elf32_avr"
- ;;
- powerpc*-*-aix* | rs6000-*-aix*)
- od_vectors="$od_vectors objdump_private_desc_xcoff"
- ;;
- *-*-pe* | *-*-cygwin* | *-*-mingw*)
- od_vectors="$od_vectors objdump_private_desc_pe"
- ;;
- *-*-darwin*)
- od_vectors="$od_vectors objdump_private_desc_mach_o"
- ;;
- esac
+ # Add objdump private vectors.
+ case $targ in
+ avr-*-*)
+ od_vectors="$od_vectors objdump_private_desc_elf32_avr"
+ ;;
+ powerpc*-*-aix* | rs6000-*-aix*)
+ od_vectors="$od_vectors objdump_private_desc_xcoff"
+ ;;
+ *-*-pe* | *-*-cygwin* | *-*-mingw*)
+ od_vectors="$od_vectors objdump_private_desc_pe"
+ ;;
+ *-*-darwin*)
+ od_vectors="$od_vectors objdump_private_desc_mach_o"
+ ;;
+ esac
+ fi
done
# Uniq objdump private vector, build objdump target ofiles.
diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi
index 9f80f39..8314cb5 100644
--- a/binutils/doc/binutils.texi
+++ b/binutils/doc/binutils.texi
@@ -1626,11 +1626,6 @@ commands. If the input was '12345678' then the outputs would be
Set the access and modification dates of the output file to be the same
as those of the input file.
-This option also copies the date stored in a PE format file's header,
-unless the SOURCE_DATE_EPOCH environment variable is defined. If it
-is defined then this variable will be used as the date stored in the
-header, interpreted as the number of seconds since the Unix epoch.
-
@item -D
@itemx --enable-deterministic-archives
@cindex deterministic archives
@@ -1750,14 +1745,13 @@ Set the flags for any sections matching @var{sectionpattern}. The
@var{flags} argument is a comma separated string of flag names. The
recognized names are @samp{alloc}, @samp{contents}, @samp{load},
@samp{noload}, @samp{readonly}, @samp{code}, @samp{data}, @samp{rom},
-@samp{exclude}, @samp{share}, @samp{debug}, and @samp{large}.
-You can set the @samp{contents} flag for a section which does not have
-contents, but it is not meaningful to clear the @samp{contents} flag of a
-section which does have contents--just remove the section instead. Not all
-flags are meaningful for all object file formats. In particular the
-@samp{share} flag is only meaningful for COFF format files and not for ELF
-format files. The ELF x86-64 specific flag @samp{large} corresponds to
-SHF_X86_64_LARGE.
+@samp{exclude}, @samp{share}, and @samp{debug}. You can set the
+@samp{contents} flag for a section which does not have contents, but it
+is not meaningful to clear the @samp{contents} flag of a section which
+does have contents--just remove the section instead. Not all flags are
+meaningful for all object file formats. In particular the
+@samp{share} flag is only meaningful for COFF format files and not for
+ELF format files.
@item --set-section-alignment @var{sectionpattern}=@var{align}
Set the alignment for any sections matching @var{sectionpattern}.
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index b2b7ab6..3569b89 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -803,7 +803,6 @@ parse_flags (const char *s)
PARSE_FLAG ("contents", SEC_HAS_CONTENTS);
PARSE_FLAG ("merge", SEC_MERGE);
PARSE_FLAG ("strings", SEC_STRINGS);
- PARSE_FLAG ("large", SEC_ELF_LARGE);
#undef PARSE_FLAG
else
{
@@ -813,10 +812,8 @@ parse_flags (const char *s)
strncpy (copy, s, len);
copy[len] = '\0';
non_fatal (_("unrecognized section flag `%s'"), copy);
- fatal (_ ("supported flags: %s"),
- "alloc, load, noload, readonly, debug, code, data, rom, "
- "exclude, contents, merge, strings, (COFF specific) share, "
- "(ELF x86-64 specific) large");
+ fatal (_("supported flags: %s"),
+ "alloc, load, noload, readonly, debug, code, data, rom, exclude, share, contents, merge, strings");
}
s = snext;
@@ -2621,7 +2618,7 @@ merge_gnu_build_notes (bfd * abfd,
}
static flagword
-check_new_section_flags (flagword flags, bfd *abfd, const char * secname)
+check_new_section_flags (flagword flags, bfd * abfd, const char * secname)
{
/* Only set the SEC_COFF_SHARED flag on COFF files.
The same bit value is used by ELF targets to indicate
@@ -2634,19 +2631,6 @@ check_new_section_flags (flagword flags, bfd *abfd, const char * secname)
bfd_get_filename (abfd), secname);
flags &= ~ SEC_COFF_SHARED;
}
-
- /* Report a fatal error if 'large' is used with a non-x86-64 ELF target.
- Suppress the error for non-ELF targets to allow -O binary and formats that
- use the bit value SEC_ELF_LARGE for other purposes. */
- if ((flags & SEC_ELF_LARGE) != 0
- && bfd_get_flavour (abfd) == bfd_target_elf_flavour
- && get_elf_backend_data (abfd)->elf_machine_code != EM_X86_64)
- {
- fatal (_ ("%s[%s]: 'large' flag is ELF x86-64 specific"),
- bfd_get_filename (abfd), secname);
- flags &= ~SEC_ELF_LARGE;
- }
-
return flags;
}
@@ -3615,11 +3599,9 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
} *list, *l;
bfd **ptr = &obfd->archive_head;
bfd *this_element;
- char *dir = NULL;
+ char *dir;
char *filename;
- list = NULL;
-
/* PR 24281: It is not clear what should happen when copying a thin archive.
One part is straight forward - if the output archive is in a different
directory from the input archive then any relative paths in the library
@@ -3638,7 +3620,7 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
bfd_set_error (bfd_error_invalid_operation);
bfd_nonfatal_message (NULL, ibfd, NULL,
_("sorry: copying thin archives is not currently supported"));
- goto cleanup_and_exit;
+ return;
}
/* Make a temp directory to hold the contents. */
@@ -3656,6 +3638,8 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
if (deterministic)
obfd->flags |= BFD_DETERMINISTIC_OUTPUT;
+ list = NULL;
+
this_element = bfd_openr_next_archived_file (ibfd, NULL);
if (!bfd_set_format (obfd, bfd_get_format (ibfd)))
@@ -3797,46 +3781,44 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
}
*ptr = NULL;
- cleanup_and_exit:
filename = xstrdup (bfd_get_filename (obfd));
if (!(status == 0 ? bfd_close : bfd_close_all_done) (obfd))
{
- if (!status)
- bfd_nonfatal_message (filename, NULL, NULL, NULL);
status = 1;
+ bfd_nonfatal_message (filename, NULL, NULL, NULL);
}
free (filename);
filename = xstrdup (bfd_get_filename (ibfd));
if (!bfd_close (ibfd))
{
- if (!status)
- bfd_nonfatal_message (filename, NULL, NULL, NULL);
status = 1;
+ bfd_nonfatal_message (filename, NULL, NULL, NULL);
}
free (filename);
+ cleanup_and_exit:
/* Delete all the files that we opened. */
- struct name_list *next;
- for (l = list; l != NULL; l = next)
- {
- if (l->obfd == NULL)
- rmdir (l->name);
- else
- {
- bfd_close (l->obfd);
- unlink (l->name);
- }
- free ((char *) l->name);
- next = l->next;
- free (l);
- }
+ {
+ struct name_list * next;
- if (dir)
- {
- rmdir (dir);
- free (dir);
- }
+ for (l = list; l != NULL; l = next)
+ {
+ if (l->obfd == NULL)
+ rmdir (l->name);
+ else
+ {
+ bfd_close (l->obfd);
+ unlink (l->name);
+ }
+ free ((char *) l->name);
+ next = l->next;
+ free (l);
+ }
+ }
+
+ rmdir (dir);
+ free (dir);
}
/* The top-level control. */
@@ -3935,8 +3917,7 @@ copy_file (const char *input_filename, const char *output_filename, int ofd,
if (obfd == NULL)
{
- if (ofd >= 0)
- close (ofd);
+ close (ofd);
bfd_nonfatal_message (output_filename, NULL, NULL, NULL);
bfd_close (ibfd);
status = 1;
@@ -3969,8 +3950,7 @@ copy_file (const char *input_filename, const char *output_filename, int ofd,
if (obfd == NULL)
{
- if (ofd >= 0)
- close (ofd);
+ close (ofd);
bfd_nonfatal_message (output_filename, NULL, NULL, NULL);
bfd_close (ibfd);
status = 1;
@@ -4161,25 +4141,13 @@ setup_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
flags = p->flags | (flags & (SEC_HAS_CONTENTS | SEC_RELOC));
flags = check_new_section_flags (flags, obfd, bfd_section_name (isection));
}
- else
+ else if (strip_symbols == STRIP_NONDEBUG
+ && (flags & (SEC_ALLOC | SEC_GROUP)) != 0
+ && !is_nondebug_keep_contents_section (ibfd, isection))
{
- flagword clr = 0;
-
- /* For --extract-symbols where section sizes are zeroed, clear
- SEC_LOAD to indicate to coff_compute_section_file_positions that
- section sizes should not be adjusted for ALIGN_SECTIONS_IN_FILE.
- We don't want to clear SEC_HAS_CONTENTS as that will result
- in symbols being classified as 'B' by nm. */
- if (extract_symbol)
- clr = SEC_LOAD;
- /* If only keeping debug sections then we'll be keeping section
- sizes in headers but making the sections have no contents. */
- else if (strip_symbols == STRIP_NONDEBUG
- && (flags & (SEC_ALLOC | SEC_GROUP)) != 0
- && !is_nondebug_keep_contents_section (ibfd, isection))
- clr = SEC_HAS_CONTENTS | SEC_LOAD | SEC_GROUP;
-
- if (clr && bfd_get_flavour (obfd) == bfd_target_elf_flavour)
+ flagword clr = SEC_HAS_CONTENTS | SEC_LOAD | SEC_GROUP;
+
+ if (bfd_get_flavour (obfd) == bfd_target_elf_flavour)
{
/* PR 29532: Copy group sections intact as otherwise we end up with
empty groups. This prevents separate debug info files from
@@ -4187,7 +4155,7 @@ setup_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
originally contained groups. */
if (flags & SEC_GROUP)
clr = SEC_LOAD;
- if ((clr & SEC_HAS_CONTENTS) != 0)
+ else
make_nobits = true;
/* Twiddle the input section flags so that it seems to
diff --git a/binutils/od-elf32_avr.c b/binutils/od-elf32_avr.c
index 19da74a..cc24919 100644
--- a/binutils/od-elf32_avr.c
+++ b/binutils/od-elf32_avr.c
@@ -270,26 +270,25 @@ elf32_avr_dump_mem_usage (bfd *abfd)
"Device: %s\n\n", device.name);
/* Text size */
- printf ("Program:%8" PRIu64 " bytes", (uint64_t) text_usage);
+ printf ("Program:%8lu bytes", text_usage);
if (device.flash_size > 0)
- printf (" (%2.1f%% Full)", (double) text_usage / device.flash_size * 100);
+ printf (" (%2.1f%% Full)", ((float) text_usage / device.flash_size) * 100);
printf ("\n(.text + .data + .bootloader)\n\n");
/* Data size */
- printf ("Data: %8" PRIu64 " bytes", (uint64_t) data_usage);
+ printf ("Data: %8lu bytes", data_usage);
if (device.ram_size > 0)
- printf (" (%2.1f%% Full)", (double) data_usage / device.ram_size * 100);
+ printf (" (%2.1f%% Full)", ((float) data_usage / device.ram_size) * 100);
printf ("\n(.data + .bss + .noinit)\n\n");
/* EEPROM size */
if (eeprom_usage > 0)
{
- printf ("EEPROM: %8" PRIu64 " bytes", (uint64_t) eeprom_usage);
+ printf ("EEPROM: %8lu bytes", eeprom_usage);
if (device.eeprom_size > 0)
- printf (" (%2.1f%% Full)",
- (double) eeprom_usage / device.eeprom_size * 100);
+ printf (" (%2.1f%% Full)", ((float) eeprom_usage / device.eeprom_size) * 100);
printf ("\n(.eeprom)\n\n");
}
@@ -316,12 +315,12 @@ elf32_avr_dump_avr_prop (bfd *abfd)
for (i = 0; i < r_list->record_count; ++i)
{
- printf (" %d %s @ %s + %#08" PRIx64" (%#08" PRIx64 ")\n",
+ printf (" %d %s @ %s + %#08lx (%#08lx)\n",
i,
avr_elf32_property_record_name (&r_list->records [i]),
r_list->records [i].section->name,
- (uint64_t) r_list->records [i].offset,
- ((uint64_t) bfd_section_vma (r_list->records [i].section)
+ r_list->records [i].offset,
+ (bfd_section_vma (r_list->records [i].section)
+ r_list->records [i].offset));
switch (r_list->records [i].type)
{
diff --git a/binutils/od-macho.c b/binutils/od-macho.c
index c2bd7d3..17253d4 100644
--- a/binutils/od-macho.c
+++ b/binutils/od-macho.c
@@ -23,7 +23,6 @@
#include <stddef.h>
#include <time.h>
#include "safe-ctype.h"
-#include "libiberty.h"
#include "bfd.h"
#include "objdump.h"
#include "bucomm.h"
diff --git a/binutils/od-xcoff.c b/binutils/od-xcoff.c
index e6b2f08..92d17e9 100644
--- a/binutils/od-xcoff.c
+++ b/binutils/od-xcoff.c
@@ -23,7 +23,6 @@
#include <stddef.h>
#include <time.h>
#include "safe-ctype.h"
-#include "libiberty.h"
#include "bfd.h"
#include "objdump.h"
#include "bucomm.h"
diff --git a/binutils/po/binutils.pot b/binutils/po/binutils.pot
index 2c33344..d1550ec 100644
--- a/binutils/po/binutils.pot
+++ b/binutils/po/binutils.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
-"POT-Creation-Date: 2023-07-03 11:41+0100\n"
+"POT-Creation-Date: 2023-07-03 11:32+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 4ecff4c..97d72d0 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -168,7 +168,6 @@
#include "elf/xtensa.h"
#include "elf/z80.h"
#include "elf/loongarch.h"
-#include "elf/bpf.h"
#include "getopt.h"
#include "libiberty.h"
@@ -1062,8 +1061,6 @@ guess_is_rela (unsigned int e_machine)
case EM_ARC:
case EM_ARC_COMPACT:
case EM_ARC_COMPACT2:
- case EM_ARC_COMPACT3:
- case EM_ARC_COMPACT3_64:
case EM_AVR:
case EM_AVR_OLD:
case EM_BLACKFIN:
@@ -1741,8 +1738,6 @@ dump_relocations (Filedata *filedata,
case EM_ARC:
case EM_ARC_COMPACT:
case EM_ARC_COMPACT2:
- case EM_ARC_COMPACT3:
- case EM_ARC_COMPACT3_64:
rtype = elf_arc_reloc_type (type);
break;
@@ -2973,9 +2968,9 @@ get_machine_name (unsigned e_machine)
case EM_NFP: return "Netronome Flow Processor";
case EM_VE: return "NEC Vector Engine";
case EM_CSKY: return "C-SKY";
- case EM_ARC_COMPACT3_64: return "Synopsys ARCv3 64-bit processor";
+ case EM_ARC_COMPACT3_64: return "Synopsys ARCv2.3 64-bit";
case EM_MCS6502: return "MOS Technology MCS 6502 processor";
- case EM_ARC_COMPACT3: return "Synopsys ARCv3 32-bit processor";
+ case EM_ARC_COMPACT3: return "Synopsys ARCv2.3 32-bit";
case EM_KVX: return "Kalray VLIW core of the MPPA processor family";
case EM_65816: return "WDC 65816/65C816";
case EM_LOONGARCH: return "LoongArch";
@@ -3720,14 +3715,6 @@ get_machine_flags (Filedata * filedata, unsigned e_flags, unsigned e_machine)
default:
break;
- case EM_ARC_COMPACT3:
- strcat (buf, ", HS5x");
- break;
-
- case EM_ARC_COMPACT3_64:
- strcat (buf, ", HS6x");
- break;
-
case EM_ARC_COMPACT2:
case EM_ARC_COMPACT:
decode_ARC_machine_flags (e_flags, e_machine, buf);
@@ -4192,11 +4179,6 @@ get_machine_flags (Filedata * filedata, unsigned e_flags, unsigned e_machine)
strcat (buf, ", no delay");
break;
- case EM_BPF:
- sprintf (buf + strlen (buf), ", CPU Version: %u",
- e_flags & EF_BPF_CPUVER);
- break;
-
case EM_SPARCV9:
if (e_flags & EF_SPARC_32PLUS)
strcat (buf, ", v8+");
@@ -5001,8 +4983,6 @@ get_section_type_name (Filedata * filedata, unsigned int sh_type)
case EM_ARC:
case EM_ARC_COMPACT:
case EM_ARC_COMPACT2:
- case EM_ARC_COMPACT3:
- case EM_ARC_COMPACT3_64:
result = get_arc_section_type_name (sh_type);
break;
case EM_MIPS:
@@ -14344,8 +14324,6 @@ is_32bit_abs_reloc (Filedata * filedata, unsigned int reloc_type)
return reloc_type == 1; /* R_ARC_32. */
case EM_ARC_COMPACT:
case EM_ARC_COMPACT2:
- case EM_ARC_COMPACT3:
- case EM_ARC_COMPACT3_64:
return reloc_type == 4; /* R_ARC_32. */
case EM_ARM:
return reloc_type == 2; /* R_ARM_ABS32 */
@@ -14540,8 +14518,6 @@ is_32bit_pcrel_reloc (Filedata * filedata, unsigned int reloc_type)
return reloc_type == 10; /* R_ALPHA_SREL32. */
case EM_ARC_COMPACT:
case EM_ARC_COMPACT2:
- case EM_ARC_COMPACT3:
- case EM_ARC_COMPACT3_64:
return reloc_type == 49; /* R_ARC_32_PCREL. */
case EM_ARM:
return reloc_type == 3; /* R_ARM_REL32 */
@@ -14608,8 +14584,6 @@ is_64bit_abs_reloc (Filedata * filedata, unsigned int reloc_type)
{
case EM_AARCH64:
return reloc_type == 257; /* R_AARCH64_ABS64. */
- case EM_ARC_COMPACT3_64:
- return reloc_type == 5; /* R_ARC_64. */
case EM_ALPHA:
return reloc_type == 2; /* R_ALPHA_REFQUAD. */
case EM_IA_64:
@@ -14713,8 +14687,6 @@ is_16bit_abs_reloc (Filedata * filedata, unsigned int reloc_type)
case EM_ARC:
case EM_ARC_COMPACT:
case EM_ARC_COMPACT2:
- case EM_ARC_COMPACT3:
- case EM_ARC_COMPACT3_64:
return reloc_type == 2; /* R_ARC_16. */
case EM_ADAPTEVA_EPIPHANY:
return reloc_type == 5;
@@ -14997,8 +14969,6 @@ is_none_reloc (Filedata * filedata, unsigned int reloc_type)
case EM_ARC: /* R_ARC_NONE. */
case EM_ARC_COMPACT2: /* R_ARC_NONE. */
case EM_ARC_COMPACT: /* R_ARC_NONE. */
- case EM_ARC_COMPACT3: /* R_ARC_NONE. */
- case EM_ARC_COMPACT3_64: /* R_ARC_NONE. */
case EM_ARM: /* R_ARM_NONE. */
case EM_CRIS: /* R_CRIS_NONE. */
case EM_FT32: /* R_FT32_NONE. */
@@ -22332,8 +22302,6 @@ process_arch_specific (Filedata * filedata)
case EM_ARC:
case EM_ARC_COMPACT:
case EM_ARC_COMPACT2:
- case EM_ARC_COMPACT3:
- case EM_ARC_COMPACT3_64:
return process_attributes (filedata, "ARC", SHT_ARC_ATTRIBUTES,
display_arc_attribute,
display_generic_attribute);
diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp
index 41070c3..1145835 100644
--- a/binutils/testsuite/binutils-all/objcopy.exp
+++ b/binutils/testsuite/binutils-all/objcopy.exp
@@ -1028,11 +1028,7 @@ proc keep_debug_symbols_for_elf_relocatable { prog flags test } {
{[^a-zA-Z]+([a-zA-Z0-9_\.]+)[ \t]+([A-Z]+)[ \t]+[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ [0-9]+[ \t]+([A-Z]*)[ \t]+[0-9]+(.*)} \
$got all name type flag rest] } {
if { $type != "NOTE" && [regexp {[AG]} $flag] } {
- # PR 30699: Some debug sections can be in a group, so
- # exclude sections whose name includes "debug_"
- if { ! [regexp {debug_} $name] } {
- lappend non_debug_sections $name
- }
+ lappend non_debug_sections $name
}
set got $rest
}
@@ -1090,7 +1086,6 @@ switch [copy_setup] {
untested $test5
if [is_elf_format] {
untested $test6
- untested $test7
}
}
"3" {