initial import from Debian
version: 2.45-4 (UNRELEASED) commit: bf4f75f17a4f370adc9bf9feca09710ce76ecc63
This commit is contained in:
38
debian/README.cross
vendored
Normal file
38
debian/README.cross
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
Cross-binutils debian packages are directly built from the binutils
|
||||
source package together with the native binutils packages.
|
||||
|
||||
To build a cross-binutils package which is not yet built:
|
||||
|
||||
o Download and unpack the binutils source package:
|
||||
|
||||
apt-get source binutils
|
||||
|
||||
o Ensure you have the binutils build-dependencies installed:
|
||||
|
||||
apt-get build-dep binutils
|
||||
|
||||
o Add the binutils-<your-target> package to the control file:
|
||||
|
||||
rm -f stamps/control
|
||||
debian/rules stamps/control TARGET=<your-target>
|
||||
|
||||
This change is permanent and will survive 'make clean'. If you
|
||||
need to restore the original debian/control file:
|
||||
|
||||
rm -f stamps/control
|
||||
debian/rules stamps/control TARGET=
|
||||
|
||||
o Then build the cross-binutils package:
|
||||
|
||||
TARGET=<your-target> dpkg-buildpackage -b -uc -us
|
||||
or
|
||||
echo arm >debian/target; dpkg-buildpackage -b -uc -us
|
||||
|
||||
(substitute your target name, e.g. "arm" or "m68k", instead of
|
||||
"<your-target>")
|
||||
|
||||
--
|
||||
Hector Oron <zumbi@debian.org>
|
||||
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
|
||||
Matthias Klose <doko@debian.org>
|
||||
Nikita Youshchenko <yoush@cs.msu.su>
|
16
debian/README.source
vendored
Normal file
16
debian/README.source
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
This source package builds native packages and packages targeting
|
||||
debian architectures. To shorten a test build, some of these builds
|
||||
can be skipped.
|
||||
|
||||
DEB_BUILD_OPTIONS="parallel=<N> <option> ..." dpkg-buildpackage ...
|
||||
|
||||
Where <option> can be:
|
||||
|
||||
- nomult to disable the binutils-multilib build
|
||||
- nohppa to disable the hppa64 build
|
||||
- nopgo to disable the PGO/LTO build
|
||||
- nocheck to disable running the testsuite
|
||||
- nocross to disable all builds for other targets
|
||||
|
||||
To build only a subset of the target architectures, also
|
||||
set CROSS_ARCHS in the env, e.g. CROSS_ARCHS="arm64 ppc64el"
|
1
debian/binutils-common.conffiles
vendored
Normal file
1
debian/binutils-common.conffiles
vendored
Normal file
@@ -0,0 +1 @@
|
||||
remove-on-upgrade /etc/gprofng.rc
|
5
debian/binutils-common.overrides
vendored
Normal file
5
debian/binutils-common.overrides
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
# big tables
|
||||
binutils-common binary: manpage-has-errors-from-man
|
||||
|
||||
# why? it's in /etc
|
||||
binutils-common binary: non-etc-file-marked-as-conffile
|
13
debian/binutils-common.preinst
vendored
Normal file
13
debian/binutils-common.preinst
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$1" = "upgrade" ]; then
|
||||
if [ -f /etc/gprofng.rc ] && dpkg --compare-versions "$2" lt "2.39-8ubuntu1"; then
|
||||
if [ "$(md5sum /etc/gprofng.rc | awk '{print $1}')" = "7750fca2f4e81015abe079c379c79fed" ]; then
|
||||
rm /etc/gprofng.rc
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
18
debian/binutils-cross.overrides
vendored
Normal file
18
debian/binutils-cross.overrides
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
@PKG@ binary: package-name-doesnt-match-sonames
|
||||
@PKG@ binary: non-standard-dir-in-usr
|
||||
|
||||
# needed for kfreebsd and the hurd
|
||||
@PKG@ binary: file-in-unusual-dir
|
||||
|
||||
# internal libs, with the target name encoded
|
||||
@PKG@ binary: no-shlibs-control-file
|
||||
|
||||
# yes, intended
|
||||
@PKG@ binary: shlib-in-multi-arch-foreign-package
|
||||
@PKG@ binary: triplet-dir-and-architecture-mismatch
|
||||
|
||||
# some triplets are long ...
|
||||
@PKG@ binary: extended-description-line-too-long
|
||||
|
||||
# yes, libctf libs intended here
|
||||
@PKG@ binary: link-to-shared-library-in-wrong-package
|
10
debian/binutils-hppa64-linux-gnu.overrides
vendored
Normal file
10
debian/binutils-hppa64-linux-gnu.overrides
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
# don't warn about missing man pages for diverted binaries
|
||||
binutils-hppa64-linux-gnu binary: binary-without-manpage
|
||||
|
||||
# the API of the shared libs is not public, don't care about the name
|
||||
binutils-hppa64-linux-gnu binary: package-name-doesnt-match-sonames
|
||||
|
||||
binutils-hppa64-linux-gnu binary: non-standard-dir-in-usr
|
||||
|
||||
# private library. no -dev package is provided, nothing can link it
|
||||
binutils-hppa64-linux-gnu binary: no-shlibs-control-file
|
2
debian/binutils-multiarch-dev.overrides
vendored
Normal file
2
debian/binutils-multiarch-dev.overrides
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
# package only has symlinks
|
||||
binutils-multiarch-dev binary: control-file-is-empty md5sums
|
13
debian/binutils-multiarch.overrides
vendored
Normal file
13
debian/binutils-multiarch.overrides
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
# don't warn about missing man pages for diverted binaries
|
||||
binutils-multiarch binary: binary-without-manpage
|
||||
|
||||
# the API of the shared libs is not public, don't care about the name
|
||||
binutils-multiarch binary: package-name-doesnt-match-sonames
|
||||
|
||||
# the upstream name, we don't care
|
||||
binutils-multiarch binary: dev-pkg-without-shlib-symlink
|
||||
|
||||
# not in binutils-multiarch, just move these away
|
||||
binutils-multiarch: diversion-for-unknown-file usr/lib/libopcodes.a preinst:19
|
||||
binutils-multiarch: diversion-for-unknown-file usr/lib/libbfd.a preinst:16
|
||||
|
63
debian/binutils-multiarch.postinst.in
vendored
Normal file
63
debian/binutils-multiarch.postinst.in
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
#! /bin/sh
|
||||
# Update .so symlinks and remove obsolete diversions.
|
||||
#
|
||||
# Removing a diversion requires a guarantee that the conflicting
|
||||
# file is not present any more, and we cannot guarantee that if
|
||||
# some other version of binutils-multiarch is installed.
|
||||
# So we remove the diversions in postinst, not preinst.
|
||||
set -e
|
||||
ma=@DEB_MULTIARCH@
|
||||
triplet=@DEB_TRIPLET@
|
||||
old_diversion() {
|
||||
local divertto file
|
||||
file=$1
|
||||
divertto=${2-$file.single}
|
||||
if
|
||||
dpkg-divert --package binutils-multiarch --list |
|
||||
grep -q -F "$divertto"
|
||||
then
|
||||
dpkg-divert --package binutils-multiarch \
|
||||
--remove --rename \
|
||||
--divert "$divertto" "$file"
|
||||
fi
|
||||
}
|
||||
|
||||
# remove obsolete diversions
|
||||
old_diversion /usr/bin/ld.bfd
|
||||
old_diversion /usr/bin/c++filt
|
||||
old_diversion /usr/lib/libbfd.a /usr/lib/libbfd-single.a
|
||||
old_diversion /usr/lib/libopcodes.a /usr/lib/libopcodes-single.a
|
||||
old_diversion /usr/bin/ld
|
||||
old_diversion /usr/bin/elfedit
|
||||
for f in elf32_sparc elf32ppc elf64alpha elf_i386 m68kelf \
|
||||
alpha i386linux m68klinux sparclinux sun4
|
||||
do
|
||||
for ext in x xbn xn xr xs xu
|
||||
do
|
||||
old_diversion /usr/lib/ldscripts/$f.$ext
|
||||
done
|
||||
done
|
||||
old_diversion /usr/lib/libbfd-2.9.1.0.15.so.0.0.0 \
|
||||
/usr/lib/libbfd-single-2.9.1.0.15.so.0.0.0
|
||||
old_diversion /usr/lib/libopcodes-2.9.1.0.15.so.0.0.0 \
|
||||
/usr/lib/libopcodes-single-2.9.1.0.15.so.0.0.0
|
||||
old_diversion /usr/lib/libbfd.la /usr/lib/libbfd-single.la
|
||||
old_diversion /usr/lib/libopcodes.la /usr/lib/libopcodes-single.la
|
||||
old_diversion /usr/include/bfd.h /usr/include/bfd.single.h
|
||||
old_diversion /usr/lib/ldscripts
|
||||
|
||||
rm -f /usr/lib/libbfd-*-multiarch.so.0
|
||||
rm -f /usr/lib/libopcodes-*-multiarch.so.0
|
||||
|
||||
old_diversion /usr/bin/addr2line
|
||||
old_diversion /usr/bin/ar
|
||||
old_diversion /usr/bin/embedspu
|
||||
old_diversion /usr/bin/gprof
|
||||
old_diversion /usr/bin/nm
|
||||
old_diversion /usr/bin/objcopy
|
||||
old_diversion /usr/bin/objdump
|
||||
old_diversion /usr/bin/ranlib
|
||||
old_diversion /usr/bin/readelf
|
||||
old_diversion /usr/bin/size
|
||||
old_diversion /usr/bin/strings
|
||||
old_diversion /usr/bin/strip
|
47
debian/binutils-multiarch.postrm.in
vendored
Normal file
47
debian/binutils-multiarch.postrm.in
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
#! /bin/sh
|
||||
set -e
|
||||
this_ver=@DEB_VER@; # this version
|
||||
ma=@DEB_MULTIARCH@
|
||||
triplet=@DEB_TRIPLET@
|
||||
# action: upgrade, abort-upgrade, remove, abort-install, disappear,
|
||||
# purge, or failed-upgrade.
|
||||
context=$1
|
||||
if
|
||||
test "$context" = failed-upgrade &&
|
||||
dpkg --compare-versions "$this_ver" lt "$2"
|
||||
then
|
||||
# postrm of the future failed.
|
||||
# Who knows what it was supposed to do? Abort.
|
||||
exit 1
|
||||
fi
|
||||
new_ver=; # version replacing this one, if any.
|
||||
case "$context" in
|
||||
failed-upgrade)
|
||||
new_ver=$this_ver ;;
|
||||
abort-install|disappear)
|
||||
new_ver= ;;
|
||||
*)
|
||||
new_ver=$2 ;;
|
||||
esac
|
||||
|
||||
diversion() {
|
||||
local added_ver divertto file
|
||||
added_ver=$1
|
||||
file=$2
|
||||
divertto=${3-$file.single}
|
||||
|
||||
if
|
||||
test "$context" != purge &&
|
||||
dpkg --compare-versions "$new_ver" lt "$added_ver"
|
||||
then
|
||||
dpkg-divert --package binutils-multiarch \
|
||||
--remove --rename --divert "$divertto" "$file"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
for prog in nm objdump objcopy strings strip size \
|
||||
ar ranlib addr2line gprof readelf
|
||||
do
|
||||
diversion 2.27-8 "/usr/bin/$triplet-$prog"
|
||||
done
|
29
debian/binutils-multiarch.preinst.in
vendored
Normal file
29
debian/binutils-multiarch.preinst.in
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
#! /bin/sh
|
||||
set -e
|
||||
new_ver=@DEB_VER@; # this version
|
||||
ma=@DEB_MULTIARCH@
|
||||
triplet=@DEB_TRIPLET@
|
||||
context=$1; # why to install (install, upgrade, or abort-upgrade)
|
||||
old_ver=$2; # version being replaced, if any
|
||||
|
||||
diversion() {
|
||||
local added_ver divertto file
|
||||
added_ver=$1
|
||||
file=$2
|
||||
divertto=${3-$file.single}
|
||||
|
||||
if
|
||||
test "$context" = install ||
|
||||
dpkg --compare-versions "$old_ver" lt "$added_ver" ||
|
||||
dpkg --compare-versions "$new_ver" le "$old_ver"
|
||||
then
|
||||
dpkg-divert --package binutils-multiarch \
|
||||
--add --rename --divert "$divertto" "$file"
|
||||
fi
|
||||
}
|
||||
|
||||
for prog in nm objdump objcopy strings strip size \
|
||||
ar ranlib addr2line gprof readelf
|
||||
do
|
||||
diversion 2.27-8 "/usr/bin/$triplet-$prog"
|
||||
done
|
81
debian/binutils-multiarch.prerm.in
vendored
Normal file
81
debian/binutils-multiarch.prerm.in
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
#! /bin/sh
|
||||
# Remove obsolete diversions.
|
||||
#
|
||||
# They are already removed in postinst, but if configuration fails,
|
||||
# they will still be around. Removing the package without
|
||||
# configuring would then allow the diversions to leak.
|
||||
#
|
||||
# So we catch them here. This cannot wait for postrm because that
|
||||
# would break error recovery during upgrades: after the old, working
|
||||
# version re-adds the diversion in preinst, the diversion would be removed
|
||||
# again in postrm. More generally, removing a diversion requires
|
||||
# a guarantee that the conflicting file is not present any more,
|
||||
# and we cannot guarantee that if some other version of
|
||||
# binutils-multiarch is installed.
|
||||
set -e
|
||||
this_ver=@DEB_VER@; # this version
|
||||
ma=@DEB_MULTIARCH@
|
||||
triplet=@DEB_TRIPLET@
|
||||
context=$1; # action: upgrade, remove, deconfigure, or failed-upgrade.
|
||||
if
|
||||
test "$context" = failed-upgrade &&
|
||||
dpkg --compare-versions "$this_ver" lt "$2"
|
||||
then
|
||||
# prerm of the future failed.
|
||||
# Who knows what it was supposed to do? Abort.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
old_diversion() {
|
||||
local divertto file
|
||||
file=$1
|
||||
divertto=${2-$file.single}
|
||||
if
|
||||
dpkg-divert --package binutils-multiarch --list |
|
||||
grep -q -F "$divertto"
|
||||
then
|
||||
dpkg-divert --package binutils-multiarch \
|
||||
--remove --rename \
|
||||
--divert "$divertto" "$file"
|
||||
fi
|
||||
}
|
||||
|
||||
# remove obsolete diversions
|
||||
old_diversion /usr/bin/ld.bfd
|
||||
old_diversion /usr/bin/c++filt
|
||||
old_diversion /usr/lib/libbfd.a /usr/lib/libbfd-single.a
|
||||
old_diversion /usr/lib/libopcodes.a /usr/lib/libopcodes-single.a
|
||||
old_diversion /usr/bin/ld
|
||||
old_diversion /usr/bin/elfedit
|
||||
for f in elf32_sparc elf32ppc elf64alpha elf_i386 m68kelf \
|
||||
alpha i386linux m68klinux sparclinux sun4
|
||||
do
|
||||
for ext in x xbn xn xr xs xu
|
||||
do
|
||||
old_diversion /usr/lib/ldscripts/$f.$ext
|
||||
done
|
||||
done
|
||||
old_diversion /usr/lib/libbfd-2.9.1.0.15.so.0.0.0 \
|
||||
/usr/lib/libbfd-single-2.9.1.0.15.so.0.0.0
|
||||
old_diversion /usr/lib/libopcodes-2.9.1.0.15.so.0.0.0 \
|
||||
/usr/lib/libopcodes-single-2.9.1.0.15.so.0.0.0
|
||||
old_diversion /usr/lib/libbfd.la /usr/lib/libbfd-single.la
|
||||
old_diversion /usr/lib/libopcodes.la /usr/lib/libopcodes-single.la
|
||||
old_diversion /usr/include/bfd.h /usr/include/bfd.single.h
|
||||
old_diversion /usr/lib/ldscripts
|
||||
|
||||
rm -f /usr/lib/libbfd-*-multiarch.so.0
|
||||
rm -f /usr/lib/libopcodes-*-multiarch.so.0
|
||||
|
||||
old_diversion /usr/bin/addr2line
|
||||
old_diversion /usr/bin/ar
|
||||
old_diversion /usr/bin/embedspu
|
||||
old_diversion /usr/bin/gprof
|
||||
old_diversion /usr/bin/nm
|
||||
old_diversion /usr/bin/objcopy
|
||||
old_diversion /usr/bin/objdump
|
||||
old_diversion /usr/bin/ranlib
|
||||
old_diversion /usr/bin/readelf
|
||||
old_diversion /usr/bin/size
|
||||
old_diversion /usr/bin/strings
|
||||
old_diversion /usr/bin/strip
|
4
debian/binutils-multiarch.shlibs.in
vendored
Normal file
4
debian/binutils-multiarch.shlibs.in
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
libbfd @VER@-multiarch@DATE_EXT@ binutils-multiarch (>= @DEB_UVER@), binutils-multiarch (<< @DEB_NVER@)
|
||||
libopcodes @VER@-multiarch@DATE_EXT@ binutils-multiarch (>= @DEB_UVER@), binutils-multiarch (<< @DEB_NVER@)
|
||||
libctf-multiarch 0 binutils-multiarch (>= @DEB_UVER@)
|
||||
libctf-nobfd-multiarch 0 binutils-multiarch (>= @DEB_UVER@)
|
2
debian/binutils-triplet.overrides
vendored
Normal file
2
debian/binutils-triplet.overrides
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
# empty
|
||||
@PKG@ binary: mismatched-override spelling-error-in-binary
|
1
debian/binutils.conffiles
vendored
Normal file
1
debian/binutils.conffiles
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/etc/gprofng.rc
|
2
debian/binutils.overrides
vendored
Normal file
2
debian/binutils.overrides
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
# manpages are in binutils-common
|
||||
binutils binary: no-manual-page
|
14
debian/binutils.preinst
vendored
Normal file
14
debian/binutils.preinst
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
if test "$1" = upgrade &&
|
||||
test -e /etc/gprofng.rc.dpkg-old &&
|
||||
! test -e /etc/gprofng.rc &&
|
||||
dpkg --compare-cversions "$2" lt "2.43.90"
|
||||
then
|
||||
# Moving gprofng.rc from binutils-common to binutils.
|
||||
mv /etc/gprofng.rc.dpkg-old /etc/gprofng.rc
|
||||
fi
|
||||
|
||||
exit 0
|
25
debian/binutils.presubj
vendored
Normal file
25
debian/binutils.presubj
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
When reporting binutils errors, please provide the actual input files
|
||||
and options given to the tool (gas, objcopy, ld, etc.) at run time.
|
||||
This can mean the difference between a pleasant debugging experience
|
||||
and a heisenbug that becomes unreproducible when gcc's code generation
|
||||
changes.
|
||||
|
||||
For example, to create a testcase for an "ld" problem, first find the
|
||||
"gcc" command line that triggers the error:
|
||||
|
||||
$ make
|
||||
... output ending in an error ...
|
||||
$ make V=1 VERBOSE=1 2>&1 | head -1
|
||||
|
||||
Add "-v" after gcc and run it again. One of the early output lines
|
||||
will be an invocation of collect2. Replace collect2 with "ld" and
|
||||
it should reproduce the same error. If you collect all the objects
|
||||
(including system libraries) mentioned on the "ld" command line in a
|
||||
tarball and send it along with the ld command line then that is a
|
||||
testcase.
|
||||
|
||||
A possible step after that is to try omitting some objects from the
|
||||
ld command line and see if it still triggers the same error, but
|
||||
that's just icing on the cake.
|
||||
|
||||
Happy debugging!
|
1
debian/binutils.triggers
vendored
Normal file
1
debian/binutils.triggers
vendored
Normal file
@@ -0,0 +1 @@
|
||||
activate-noawait ldconfig
|
7209
debian/changelog
vendored
Normal file
7209
debian/changelog
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1202
debian/control
vendored
Normal file
1202
debian/control
vendored
Normal file
File diff suppressed because it is too large
Load Diff
28
debian/control.cross.in
vendored
Normal file
28
debian/control.cross.in
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
Package: binutils-@target@
|
||||
Priority: optional
|
||||
Architecture: @host_archs@
|
||||
Multi-Arch: allowed
|
||||
Depends: binutils-common (= ${binary:Version}),
|
||||
${shlibs:Depends}, ${extraDepends}, ${goldnat:Depends},
|
||||
Suggests: binutils-doc (= ${source:Version}), ${goldnat:Suggests},
|
||||
Provides: @binutils_alt_triplet@
|
||||
Breaks: binutils (<< 2.29-6), binutils-dev (<< 2.38.50.20220609-2)
|
||||
Replaces: binutils (<< 2.29-6), binutils-dev (<< 2.38.50.20220609-2)
|
||||
Built-Using: ${Built-Using}
|
||||
Description: GNU binary utilities, for @target@ target
|
||||
This package provides GNU assembler, linker and binary utilities
|
||||
for the @target@ target.
|
||||
.
|
||||
You don't need this package unless you plan to cross-compile programs
|
||||
for @target@ and @target@ is not your native
|
||||
platform.
|
||||
|
||||
Package: binutils-@target@-dbg
|
||||
Section: debug
|
||||
Priority: optional
|
||||
Architecture: @host_archs@
|
||||
Multi-Arch: foreign
|
||||
Depends: binutils-@target@ (= ${binary:Version})
|
||||
Description: GNU binary utilities, for @target@ target (debug symbols)
|
||||
This package provides debug symbols for binutils-@target@.
|
311
debian/control.in
vendored
Normal file
311
debian/control.in
vendored
Normal file
@@ -0,0 +1,311 @@
|
||||
Source: binutils
|
||||
Section: devel
|
||||
Priority: optional
|
||||
Maintainer: Matthias Klose <doko@debian.org>
|
||||
Uploaders: James Troup <binutils@elmo.tasta.io>
|
||||
Standards-Version: 4.7.2
|
||||
Build-Depends: autoconf (>= 2.64), @dpkg_dev@
|
||||
bison, flex, gettext, texinfo, dejagnu, quilt, chrpath, dwz, debugedit (>= 4.16),
|
||||
python3:any, file, xz-utils, lsb-release, zlib1g-dev, procps, help2man,
|
||||
libjansson-dev, pkgconf, libzstd-dev,
|
||||
default-jdk-headless [amd64 arm64 i386 riscv64 x32] <!pkg.binutils.nojava>,
|
||||
# g++-aarch64-linux-gnu [amd64 i386 ppc64el s390x x32] <!nocheck>,
|
||||
# g++-arm-linux-gnueabi [amd64 arm64 i386 x32] <!nocheck>,
|
||||
# g++-arm-linux-gnueabihf [amd64 arm64 i386 ppc64el s390x x32] <!nocheck>,
|
||||
# g++-powerpc64le-linux-gnu [amd64 arm64 i386 ppc64 s390x x32] <!nocheck>,
|
||||
# g++-s390x-linux-gnu [amd64 arm64 i386 ppc64el x32] <!nocheck>,
|
||||
# g++-alpha-linux-gnu [amd64 i386 x32] <!nocheck>,
|
||||
# g++-hppa-linux-gnu [amd64 i386 x32] <!nocheck>,
|
||||
# g++-m68k-linux-gnu [amd64 i386 x32] <!nocheck>,
|
||||
# g++-powerpc-linux-gnu [amd64 i386 ppc64el s390x x32] <!nocheck>,
|
||||
# g++-powerpc64-linux-gnu [amd64 i386 s390x x32] <!nocheck>,
|
||||
# g++-riscv64-linux-gnu [amd64 arm64 i386 ppc64el s390x x32] <!nocheck>,
|
||||
# g++-sh4-linux-gnu [amd64 i386 x32] <!nocheck>,
|
||||
# g++-sparc64-linux-gnu [amd64 i386 x32] <!nocheck>,
|
||||
# g++-i686-linux-gnu [amd64 arm64 ppc64el s390x x32] <!nocheck>,
|
||||
# g++-x86-64-linux-gnu [arm64 i386 ppc64el s390x] <!nocheck>,
|
||||
# g++-x86-64-linux-gnux32 [amd64 arm64 i386 ppc64el] <!nocheck>,
|
||||
Build-Conflicts: libelf-dev
|
||||
Rules-Requires-Root: no
|
||||
Homepage: https://www.gnu.org/software/binutils/
|
||||
Vcs-Browser: https://salsa.debian.org/toolchain-team/binutils/tree/binutils-2.45
|
||||
Vcs-Git: https://salsa.debian.org/toolchain-team/binutils.git -b binutils-2.45
|
||||
XS-Testsuite: autopkgtest
|
||||
|
||||
Package: binutils-for-host
|
||||
Architecture: any
|
||||
Depends: ${binutils:native}:any (>= ${binutils:minver}),
|
||||
binutils-common (= ${binary:Version}),
|
||||
Multi-Arch: same
|
||||
Description: GNU assembler, linker and binary utilities for the host architecture
|
||||
The programs in this package are used to assemble, link and manipulate
|
||||
binary and object files for the architecture of this package. They may be
|
||||
used in conjunction with a matching compiler and various libraries to build
|
||||
programs. When using binutils through this metapackage, all tools must be
|
||||
used with an architecture prefix.
|
||||
|
||||
Package: binutils-for-build
|
||||
Architecture: all
|
||||
Depends: binutils (>= ${binutils:minver}),
|
||||
binutils-common (>= ${binutils:minver})
|
||||
Multi-Arch: foreign
|
||||
Description: GNU assembler, linker and binary utilities for the build architecture
|
||||
The programs in this package are used to assemble, link and manipulate
|
||||
binary and object files for the native architecture. They may be used in
|
||||
conjunction with a build architecture compiler and various libraries to build
|
||||
programs. When using binutils through this metapackage, tools without an
|
||||
architecture prefix must be used.
|
||||
|
||||
Package: binutils
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, binutils-common (= ${binary:Version}),
|
||||
libbinutils (= ${binary:Version}), ${binutils:native} (= ${binary:Version}),
|
||||
${gold:Depends},
|
||||
Conflicts: modutils (<< 2.4.19-1), ${extraConflicts},
|
||||
binutils-multiarch (<< 2.27-8)
|
||||
Provides: elf-binutils, ${gold:Provides}
|
||||
Suggests: binutils-doc (>= ${source:Version}), gprofng-gui, ${gold:Suggests},
|
||||
Breaks:
|
||||
binutils-aarch64-linux-gnu (<< 2.43.90),
|
||||
binutils-i686-linux-gnu (<< 2.43.90),
|
||||
binutils-riscv64-linux-gnu (<< 2.43.90),
|
||||
binutils-x86-64-linux-gnu (<< 2.43.90),
|
||||
Replaces:
|
||||
binutils-common (<< 2.43.90),
|
||||
binutils-aarch64-linux-gnu (<< 2.43.90),
|
||||
binutils-i686-linux-gnu (<< 2.43.90),
|
||||
binutils-riscv64-linux-gnu (<< 2.43.90),
|
||||
binutils-x86-64-linux-gnu (<< 2.43.90),
|
||||
Description: GNU assembler, linker and binary utilities
|
||||
The programs in this package are used to assemble, link and manipulate
|
||||
binary and object files. They may be used in conjunction with a compiler
|
||||
and various libraries to build programs.
|
||||
|
||||
Package: binutils-dbg
|
||||
Section: debug
|
||||
Priority: optional
|
||||
Architecture: @gprofng_archs@
|
||||
Depends: binutils (= ${binary:Version}), ${binutils:native}-dbg (= ${binary:Version})
|
||||
Description: GNU assembler, linker and binary utilities(debug symbols)
|
||||
This package provides debug symbols for binutils.
|
||||
|
||||
Package: libctf-nobfd0
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: ${shlibs:Depends}
|
||||
Breaks: libbinutils (<< 2.33.50.20191128-1~)
|
||||
Replaces: libbinutils (<< 2.33.50.20191128-1~)
|
||||
Description: Compact C Type Format library (runtime, no BFD dependency)
|
||||
This package includes the libctf-nobfd shared library. The Compact C Type
|
||||
Format (CTF) is a way of representing information about a binary program
|
||||
|
||||
Package: libctf-nobfd0-dbg
|
||||
Section: debug
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: libctf-nobfd0 (= ${binary:Version})
|
||||
Description: Compact C Type Format library (debug symbols, no BFD dependency)
|
||||
This package includes the libctf-nobfd shared library. The Compact C Type
|
||||
Format (CTF) is a way of representing information about a binary program
|
||||
|
||||
Package: libctf0
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: ${shlibs:Depends}, libbinutils (= ${binary:Version})
|
||||
Description: Compact C Type Format library (runtime, BFD dependency)
|
||||
This package includes the libctf shared library. The Compact C Type
|
||||
Format (CTF) is a way of representing information about a binary program
|
||||
|
||||
Package: libctf0-dbg
|
||||
Section: debug
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: libctf0 (= ${binary:Version})
|
||||
Description: Compact C Type Format library (debug symbols, BFD dependency)
|
||||
This package includes the libctf shared library. The Compact C Type
|
||||
Format (CTF) is a way of representing information about a binary program
|
||||
|
||||
Package: libgprofng0
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: ${shlibs:Depends}, libbinutils (= ${binary:Version})
|
||||
Description: GNU Next Generation profiler (runtime library)
|
||||
Gprofng is the GNU Next Generation profiler for analyzing the performance
|
||||
of Linux applications. Gprofng allows you to:
|
||||
.
|
||||
- Profile C / C++ / Java / Scala applications without needing to recompile
|
||||
- Profile multi-threaded applications
|
||||
- Analyze and compare multiple experiments
|
||||
- Use time-based sampling and / or hardware event counters
|
||||
.
|
||||
This package includes the libgprofng shared library.
|
||||
|
||||
Package: libgprofng0-dbg
|
||||
Section: debug
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: libgprofng0 (= ${binary:Version})
|
||||
Description: GNU Next Generation profiler (debug symbols)
|
||||
Gprofng is the GNU Next Generation profiler for analyzing the performance
|
||||
of Linux applications.
|
||||
.
|
||||
This package includes the debug symbols for the libgprofng shared library.
|
||||
|
||||
Package: libsframe-dev
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Priority: optional
|
||||
Section: libdevel
|
||||
Depends: libsframe2 (= ${binary:Version}), ${shlibs:Depends}
|
||||
Conflicts: binutils (<< 2.45-1~)
|
||||
Replaces: binutils (<< 2.45-1~)
|
||||
Description: Library to handle the SFrame format (development files)
|
||||
SFrame stands for Simple Frame format. SFrame format keeps track
|
||||
of the minimal necessary information needed for generating stack traces.
|
||||
.
|
||||
This package includes the libsframe header files and static library.
|
||||
|
||||
Package: libsframe2
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: ${shlibs:Depends}
|
||||
Description: Library to handle the SFrame format (runtime library)
|
||||
SFrame stands for Simple Frame format. SFrame format keeps track
|
||||
of the minimal necessary information needed for generating stack traces.
|
||||
.
|
||||
This package includes the libsframe shared library.
|
||||
|
||||
Package: libsframe2-dbg
|
||||
Section: debug
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: libsframe2 (= ${binary:Version})
|
||||
Description: Library to handle the SFrame format (debug symbols)
|
||||
SFrame stands for Simple Frame format. SFrame format keeps track
|
||||
of the minimal necessary information needed for generating stack traces.
|
||||
.
|
||||
This package includes the debug symbols for the libsframe shared library.
|
||||
|
||||
Package: libbinutils
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: ${shlibs:Depends}, binutils-common (= ${binary:Version})
|
||||
Breaks: binutils (<< 2.29-6)
|
||||
Replaces: binutils (<< 2.29-6)
|
||||
Description: GNU binary utilities (private shared library)
|
||||
This package includes the private shared libraries libbfd and libopcodes.
|
||||
|
||||
Package: libbinutils-dbg
|
||||
Section: debug
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: libbinutils (= ${binary:Version})
|
||||
Description: GNU binary utilities (private shared library, debug symbols)
|
||||
This package provides debug symbols for libbinutils.
|
||||
|
||||
Package: binutils-dev
|
||||
Architecture: any
|
||||
Priority: optional
|
||||
Depends: binutils (= ${binary:Version}), libbinutils (= ${binary:Version}),
|
||||
libctf0 (= ${binary:Version}), libctf-nobfd0 (= ${binary:Version}),
|
||||
libsframe-dev (= ${binary:Version}),
|
||||
libgprofng0 (= ${binary:Version}) [amd64 arm64 i386 riscv64 x32],
|
||||
Conflicts: libbfd-dev, binutils (<< 2.43.50.20240819)
|
||||
Provides: libbfd-dev
|
||||
Replaces: libbfd-dev, libc5-dev, binutils (<< 2.43.50.20240819)
|
||||
Description: GNU binary utilities (BFD development files)
|
||||
This package includes header files and static libraries necessary to build
|
||||
programs which use the GNU BFD library, which is part of binutils. Note
|
||||
that building Debian packages which depend on the shared libbfd is Not
|
||||
Allowed.
|
||||
|
||||
Package: binutils-multiarch
|
||||
Architecture: any
|
||||
Priority: optional
|
||||
Depends: ${shlibs:Depends}, binutils (= ${binary:Version}),
|
||||
binutils-common (= ${binary:Version})
|
||||
Description: Binary utilities that support multi-arch targets
|
||||
The programs in this package are used to manipulate binary and object
|
||||
files that may have been created on other architectures. This package
|
||||
is primarily for multi-architecture developers and cross-compilers and
|
||||
is not needed by normal users or developers. Note that a cross-assembling
|
||||
version of gas is not included in this package, just the binary utilities.
|
||||
.
|
||||
NORMAL USERS SHOULD NOT INSTALL THIS PACKAGE. It's meant only for those
|
||||
requiring support for reading info from binaries from other architectures.
|
||||
|
||||
Package: binutils-multiarch-dbg
|
||||
Section: debug
|
||||
Architecture: any
|
||||
Priority: optional
|
||||
Depends: binutils-multiarch (= ${binary:Version})
|
||||
Description: Binary utilities that support multi-arch targets (debug symbols)
|
||||
This package provides debug symbols for binutils-multiarch.
|
||||
|
||||
Package: binutils-multiarch-dev
|
||||
Architecture: any
|
||||
Priority: optional
|
||||
Depends: ${shlibs:Depends},
|
||||
binutils-dev (= ${binary:Version}), binutils-multiarch (= ${binary:Version})
|
||||
Replaces: binutils-multiarch (<< 2.24-5)
|
||||
Description: GNU binary utilities that support multi-arch targets (BFD development files)
|
||||
This package includes header files, static and shared libraries necessary
|
||||
to build programs which use the GNU BFD library for multi-arch targets,
|
||||
which is part of binutils. Note that building Debian packages which depend
|
||||
on the shared libbfd is Not Allowed.
|
||||
.
|
||||
NORMAL USERS SHOULD NOT INSTALL THIS PACKAGE. It's meant only for those
|
||||
requiring support for reading info from binaries from other architectures.
|
||||
|
||||
Package: binutils-hppa64-linux-gnu
|
||||
Architecture: amd64 i386 x32 hppa
|
||||
Depends: ${shlibs:Depends}, binutils (= ${binary:Version}),
|
||||
binutils-common (= ${binary:Version})
|
||||
Recommends: libc6-dev
|
||||
Provides: binutils-hppa64
|
||||
Suggests: binutils-doc (>= ${source:Version})
|
||||
Breaks: binutils-hppa64 (<< 2.25.1-2)
|
||||
Replaces: binutils-hppa64 (<< 2.25.1-2)
|
||||
Description: GNU assembler, linker and binary utilities targeted for hppa64-linux
|
||||
The programs in this package are used to assemble, link and manipulate
|
||||
binary and object files. They may be used in conjunction with a compiler
|
||||
and various libraries to build programs.
|
||||
.
|
||||
This package is needed to build an 64-bit kernel for 64-bit hppa machines.
|
||||
|
||||
Package: binutils-hppa64-linux-gnu-dbg
|
||||
Section: debug
|
||||
Architecture: amd64 i386 x32 hppa
|
||||
Depends: binutils-hppa64-linux-gnu (= ${binary:Version})
|
||||
Description: GNU binutils targeted for hppa64-linux (debug symbols)
|
||||
This package provides debug symbols for binutils-hppa64-linux-gnu.
|
||||
|
||||
Package: binutils-doc
|
||||
Section: doc
|
||||
Architecture: all
|
||||
Multi-Arch: foreign
|
||||
Priority: optional
|
||||
Suggests: binutils (= ${binary:Version})
|
||||
Description: Documentation for the GNU assembler, linker and binary utilities
|
||||
This package consists of the documentation for the GNU assembler,
|
||||
linker and binary utilities in info format.
|
||||
|
||||
Package: binutils-source
|
||||
Architecture: all
|
||||
Multi-Arch: foreign
|
||||
Priority: optional
|
||||
Depends: texinfo, zlib1g-dev, make, python3,
|
||||
libjansson-dev, pkgconf, libzstd-dev,
|
||||
Description: GNU assembler, linker and binary utilities (source)
|
||||
This package contains the sources and patches which are needed to
|
||||
build binutils.
|
||||
|
||||
Package: binutils-common
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Breaks: binutils (<< 2.38.50.20220527-2), binutils-multiarch (<< 2.38.50.20220527-2)
|
||||
Replaces: binutils (<< 2.38.50.20220527-2), binutils-multiarch (<< 2.38.50.20220527-2)
|
||||
Description: Common files for the GNU assembler, linker and binary utilities
|
||||
This package contains the localization files used by binutils packages for
|
||||
various target architectures and parts of the binutils documentation. It is
|
||||
not useful on its own.
|
42
debian/copyright
vendored
Normal file
42
debian/copyright
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
This is the Debian GNU/Linux prepackaged version of the GNU assembler,
|
||||
linker, and binary utilities.
|
||||
|
||||
This package was put together by me, James Troup <james@nocrew.org>,
|
||||
from sources, which I obtained from:
|
||||
|
||||
ftp://ftp.gnu.org/pub/gnu/binutils/
|
||||
|
||||
and:
|
||||
|
||||
cvs://:pserver:anoncvs@sources.redhat.com:/cvs/src
|
||||
|
||||
It was previously maintained by Christopher C. Chimelis <chris@debian.org>
|
||||
|
||||
GNU Binutils is Copyright (C) 1990-2025 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
On Debian GNU/Linux systems, the complete text of the GNU General
|
||||
Public License can be found in `/usr/share/common-licenses/GPL'
|
||||
and `/usr/share/common-licenses/LGPL'.
|
||||
|
||||
The binutils manuals and associated documentation are also Copyright
|
||||
(C) Free Software Foundation, Inc. They are distributed under the GNU
|
||||
Free Documentation License Version 1.3 or any later version published
|
||||
by the Free Software Foundation, with no Invariant Sections, with no
|
||||
with no Front-Cover Texts, and with no Back-Cover Texts.
|
||||
On Debian GNU/Linux systems, the complete text of the GFDL can be found
|
||||
in `/usr/share/common-licenses/GFDL'.
|
33
debian/dwp.1
vendored
Normal file
33
debian/dwp.1
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||
.TH DWP "1" "January 2025" "GNU dwp (GNU Binutils for Debian) 2.43.90.20250121" "User Commands"
|
||||
.SH NAME
|
||||
dwp \- The DWARF packaging utility
|
||||
.SH SYNOPSIS
|
||||
.B dwp
|
||||
[\fI\,options\/\fR] [\fI\,file\/\fR...]
|
||||
.SH DESCRIPTION
|
||||
.TP
|
||||
\fB\-h\fR, \fB\-\-help\fR
|
||||
Print this help message
|
||||
.TP
|
||||
\fB\-e\fR EXE, \fB\-\-exec\fR EXE
|
||||
Get list of dwo files from EXE (defaults output to EXE.dwp)
|
||||
.TP
|
||||
\fB\-o\fR FILE, \fB\-\-output\fR FILE
|
||||
Set output dwp file name
|
||||
.TP
|
||||
\fB\-v\fR, \fB\-\-verbose\fR
|
||||
Verbose output
|
||||
.TP
|
||||
\fB\-\-verify\-only\fR
|
||||
Verify output file against exec file
|
||||
.TP
|
||||
\fB\-V\fR, \fB\-\-version\fR
|
||||
Print version number
|
||||
.SH "REPORTING BUGS"
|
||||
Report bugs to <https://sourceware.org/bugzilla/>
|
||||
.SH COPYRIGHT
|
||||
Copyright \(co 2025 Free Software Foundation, Inc.
|
||||
This program is free software; you may redistribute it under the terms of
|
||||
the GNU General Public License version 3 or (at your option) any later version.
|
||||
This program has absolutely no warranty.
|
41
debian/gfdl.texi
vendored
Normal file
41
debian/gfdl.texi
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
\input texinfo @c -*-texinfo-*-
|
||||
@c %**start of header
|
||||
|
||||
@settitle BFD/ld internal documentation
|
||||
|
||||
@c Create a separate index for command line options.
|
||||
@defcodeindex op
|
||||
@c Merge the standard indexes into a single one.
|
||||
@syncodeindex fn cp
|
||||
@syncodeindex vr cp
|
||||
@syncodeindex ky cp
|
||||
@syncodeindex pg cp
|
||||
@syncodeindex tp cp
|
||||
|
||||
@paragraphindent 1
|
||||
|
||||
@c %**end of header
|
||||
|
||||
@copying
|
||||
The current documentation is licensed under the same terms as the Debian packaging.
|
||||
@end copying
|
||||
@ifnottex
|
||||
@dircategory Programming
|
||||
@direntry
|
||||
* @name@: (@name@). BFD/ld internal documentation (@name@).
|
||||
@end direntry
|
||||
@sp 1
|
||||
@end ifnottex
|
||||
|
||||
@summarycontents
|
||||
@contents
|
||||
@page
|
||||
|
||||
@node Top
|
||||
@top Introduction
|
||||
@cindex introduction
|
||||
The official BFD, BFD internals and ld internals documentation is released
|
||||
under the terms of the GNU Free Documentation License with cover texts.
|
||||
This has been considered non free by the Debian Project. Thus you will find
|
||||
it in the non-free section of the Debian archive.
|
||||
@bye
|
895
debian/ld.gold.1
vendored
Normal file
895
debian/ld.gold.1
vendored
Normal file
@@ -0,0 +1,895 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||
.TH GOLD "1" "January 2025" "GNU gold (GNU Binutils for Debian 2.43.90.20250121) 1.16" "User Commands"
|
||||
.SH NAME
|
||||
gold \- The GNU ELF linker
|
||||
.SH SYNOPSIS
|
||||
.B ld.gold
|
||||
[\fI\,options\/\fR] \fI\,file\/\fR...
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\fB\-\-help\fR
|
||||
Report usage information
|
||||
.TP
|
||||
\fB\-v\fR, \fB\-\-version\fR
|
||||
Report version information
|
||||
.TP
|
||||
\fB\-V\fR
|
||||
Report version and target information
|
||||
.TP
|
||||
\fB\-\-add\-needed\fR
|
||||
Not supported
|
||||
.TP
|
||||
\fB\-\-no\-add\-needed\fR
|
||||
Do not copy DT_NEEDED tags from shared libraries (default)
|
||||
.HP
|
||||
\fB\-\-allow\-multiple\-definition\fR Allow multiple definitions of symbols
|
||||
.TP
|
||||
\fB\-\-no\-allow\-multiple\-definition\fR
|
||||
Do not allow multiple definitions (default)
|
||||
.TP
|
||||
\fB\-\-allow\-shlib\-undefined\fR
|
||||
Allow unresolved references in shared libraries
|
||||
.TP
|
||||
\fB\-\-no\-allow\-shlib\-undefined\fR
|
||||
Do not allow unresolved references in shared libraries (default)
|
||||
.TP
|
||||
\fB\-\-apply\-dynamic\-relocs\fR
|
||||
Apply link\-time values for dynamic relocations (default)
|
||||
.TP
|
||||
\fB\-\-no\-apply\-dynamic\-relocs\fR
|
||||
(aarch64 only) Do not apply link\-time values for dynamic relocations
|
||||
.TP
|
||||
\fB\-\-as\-needed\fR
|
||||
Use DT_NEEDED only for shared libraries that are used
|
||||
.TP
|
||||
\fB\-\-no\-as\-needed\fR
|
||||
Use DT_NEEDED for all shared libraries (default)
|
||||
.TP
|
||||
\fB\-assert\fR [ignored]
|
||||
Ignored
|
||||
.TP
|
||||
\fB\-b\fR [elf,binary], \fB\-\-format\fR [elf,binary]
|
||||
Set input format
|
||||
.TP
|
||||
\fB\-\-be8\fR
|
||||
Output BE8 format image
|
||||
.TP
|
||||
\fB\-\-build\-id\fR [=STYLE]
|
||||
Generate build ID note
|
||||
.TP
|
||||
\fB\-\-build\-id\-chunk\-size\-for\-treehash\fR SIZE
|
||||
Chunk size for '\-\-build\-id=tree'
|
||||
.TP
|
||||
\fB\-\-build\-id\-min\-file\-size\-for\-treehash\fR SIZE
|
||||
Minimum output file size for '\-\-build\-id=tree' to work differently than '\-\-build\-id=sha1'
|
||||
.HP
|
||||
\fB\-Bdynamic\fR \fB\-l\fR searches for shared libraries (default)
|
||||
.HP
|
||||
\fB\-Bstatic\fR \fB\-l\fR does not search for shared libraries
|
||||
.TP
|
||||
\fB\-dy\fR
|
||||
alias for \fB\-Bdynamic\fR (default)
|
||||
.TP
|
||||
\fB\-dn\fR
|
||||
alias for \fB\-Bstatic\fR
|
||||
.TP
|
||||
\fB\-Bgroup\fR
|
||||
Use group name lookup rules for shared library
|
||||
.TP
|
||||
\fB\-Bshareable\fR
|
||||
Generate shared library (alias for \fB\-G\fR/\-shared)
|
||||
.TP
|
||||
\fB\-Bno\-symbolic\fR
|
||||
Don't bind default visibility defined symbols locally for \fB\-shared\fR (default)
|
||||
.TP
|
||||
\fB\-Bsymbolic\-functions\fR
|
||||
Bind default visibility defined function symbols locally for \fB\-shared\fR
|
||||
.TP
|
||||
\fB\-Bsymbolic\fR
|
||||
Bind default visibility defined symbols locally for \fB\-shared\fR
|
||||
.TP
|
||||
\fB\-\-check\-sections\fR
|
||||
Check segment addresses for overlaps (default)
|
||||
.TP
|
||||
\fB\-\-no\-check\-sections\fR
|
||||
Do not check segment addresses for overlaps
|
||||
.TP
|
||||
\fB\-\-compress\-debug\-sections\fR [none,zlib,zlib\-gnu,zlib\-gabi,zstd]
|
||||
Compress .debug_* sections in the output file
|
||||
.TP
|
||||
\fB\-\-copy\-dt\-needed\-entries\fR
|
||||
Not supported
|
||||
.HP
|
||||
\fB\-\-no\-copy\-dt\-needed\-entries\fR Do not copy DT_NEEDED tags from shared libraries (default)
|
||||
.TP
|
||||
\fB\-\-cref\fR
|
||||
Output cross reference table
|
||||
.TP
|
||||
\fB\-\-no\-cref\fR
|
||||
Do not output cross reference table (default)
|
||||
.TP
|
||||
\fB\-\-ctors\-in\-init\-array\fR
|
||||
Use DT_INIT_ARRAY for all constructors (default)
|
||||
.TP
|
||||
\fB\-\-no\-ctors\-in\-init\-array\fR
|
||||
Handle constructors as directed by compiler
|
||||
.TP
|
||||
\fB\-d\fR, \fB\-\-define\-common\fR
|
||||
Define common symbols
|
||||
.TP
|
||||
\fB\-\-no\-define\-common\fR
|
||||
Do not define common symbols in relocatable output (default)
|
||||
.TP
|
||||
\fB\-dc\fR
|
||||
Alias for \fB\-d\fR
|
||||
.TP
|
||||
\fB\-dp\fR
|
||||
Alias for \fB\-d\fR
|
||||
.TP
|
||||
\fB\-\-debug\fR [all,files,script,task][,...]
|
||||
Turn on debugging
|
||||
.TP
|
||||
\fB\-\-defsym\fR SYMBOL=EXPRESSION
|
||||
Define a symbol
|
||||
.TP
|
||||
\fB\-\-demangle\fR [=STYLE]
|
||||
Demangle C++ symbols in log messages
|
||||
.TP
|
||||
\fB\-\-no\-demangle\fR
|
||||
Do not demangle C++ symbols in log messages
|
||||
.TP
|
||||
\fB\-\-dependency\-file\fR FILE
|
||||
Write a dependency file listing all files read
|
||||
.TP
|
||||
\fB\-\-detect\-odr\-violations\fR
|
||||
Look for violations of the C++ One Definition Rule
|
||||
.TP
|
||||
\fB\-\-no\-detect\-odr\-violations\fR
|
||||
Do not look for violations of the C++ One Definition Rule (default)
|
||||
.TP
|
||||
\fB\-\-dynamic\-list\-data\fR
|
||||
Add data symbols to dynamic symbols
|
||||
.TP
|
||||
\fB\-\-dynamic\-list\-cpp\-new\fR
|
||||
Add C++ operator new/delete to dynamic symbols
|
||||
.HP
|
||||
\fB\-\-dynamic\-list\-cpp\-typeinfo\fR Add C++ typeinfo to dynamic symbols
|
||||
.TP
|
||||
\fB\-\-dynamic\-list\fR FILE
|
||||
Read a list of dynamic symbols
|
||||
.TP
|
||||
\fB\-\-emit\-stub\-syms\fR
|
||||
(PowerPC only) Label linker stubs with a symbol (default)
|
||||
.TP
|
||||
\fB\-\-no\-emit\-stub\-syms\fR
|
||||
(PowerPC only) Do not label linker stubs with a symbol
|
||||
.HP
|
||||
\fB\-e\fR ADDRESS, \fB\-\-entry\fR ADDRESS Set program start address
|
||||
.TP
|
||||
\fB\-\-eh\-frame\-hdr\fR
|
||||
Create exception frame header
|
||||
.TP
|
||||
\fB\-\-no\-eh\-frame\-hdr\fR
|
||||
Do not create exception frame header (default)
|
||||
.TP
|
||||
\fB\-\-enable\-new\-dtags\fR
|
||||
Enable use of DT_RUNPATH (default)
|
||||
.TP
|
||||
\fB\-\-disable\-new\-dtags\fR
|
||||
Disable use of DT_RUNPATH
|
||||
.TP
|
||||
\fB\-\-enable\-linker\-version\fR
|
||||
Put the linker version string into the .comment section
|
||||
.TP
|
||||
\fB\-\-disable\-linker\-version\fR
|
||||
Put the linker version string into the .note.gnu.gold\-version section (default)
|
||||
.TP
|
||||
\fB\-\-no\-enum\-size\-warning\fR
|
||||
(ARM only) Do not warn about objects with incompatible enum sizes
|
||||
.TP
|
||||
\fB\-\-exclude\-libs\fR lib,lib ...
|
||||
Exclude libraries from automatic export
|
||||
.TP
|
||||
\fB\-E\fR, \fB\-\-export\-dynamic\fR
|
||||
Export all dynamic symbols
|
||||
.TP
|
||||
\fB\-\-no\-export\-dynamic\fR
|
||||
Do not export all dynamic symbols (default)
|
||||
.TP
|
||||
\fB\-\-export\-dynamic\-symbol\fR SYMBOL
|
||||
Export SYMBOL to dynamic symbol table
|
||||
.TP
|
||||
\fB\-EB\fR
|
||||
Link big\-endian objects.
|
||||
.TP
|
||||
\fB\-EL\fR
|
||||
Link little\-endian objects.
|
||||
.HP
|
||||
\fB\-f\fR SHLIB, \fB\-\-auxiliary\fR SHLIB Auxiliary filter for shared object symbol table
|
||||
.TP
|
||||
\fB\-F\fR SHLIB, \fB\-\-filter\fR SHLIB
|
||||
Filter for shared object symbol table
|
||||
.TP
|
||||
\fB\-\-fatal\-warnings\fR
|
||||
Treat warnings as errors
|
||||
.TP
|
||||
\fB\-\-no\-fatal\-warnings\fR
|
||||
Do not treat warnings as errors (default)
|
||||
.TP
|
||||
\fB\-fini\fR SYMBOL
|
||||
Call SYMBOL at unload\-time
|
||||
.TP
|
||||
\fB\-\-fix\-arm1176\fR
|
||||
(ARM only) Fix binaries for ARM1176 erratum (default)
|
||||
.TP
|
||||
\fB\-\-no\-fix\-arm1176\fR
|
||||
(ARM only) Do not fix binaries for ARM1176 erratum
|
||||
.TP
|
||||
\fB\-\-fix\-cortex\-a8\fR
|
||||
(ARM only) Fix binaries for Cortex\-A8 erratum
|
||||
.TP
|
||||
\fB\-\-no\-fix\-cortex\-a8\fR
|
||||
(ARM only) Do not fix binaries for Cortex\-A8 erratum (default)
|
||||
.TP
|
||||
\fB\-\-fix\-cortex\-a53\-843419\fR
|
||||
(AArch64 only) Fix Cortex\-A53 erratum 843419
|
||||
.TP
|
||||
\fB\-\-no\-fix\-cortex\-a53\-843419\fR
|
||||
(AArch64 only) Do not fix Cortex\-A53 erratum 843419 (default)
|
||||
.TP
|
||||
\fB\-\-fix\-cortex\-a53\-835769\fR
|
||||
(AArch64 only) Fix Cortex\-A53 erratum 835769
|
||||
.TP
|
||||
\fB\-\-no\-fix\-cortex\-a53\-835769\fR
|
||||
(AArch64 only) Do not fix Cortex\-A53 erratum 835769 (default)
|
||||
.TP
|
||||
\fB\-\-fix\-v4bx\fR
|
||||
(ARM only) Rewrite BX rn as MOV pc, rn for ARMv4
|
||||
.TP
|
||||
\fB\-\-fix\-v4bx\-interworking\fR
|
||||
(ARM only) Rewrite BX rn branch to ARMv4 interworking veneer
|
||||
.TP
|
||||
\fB\-fuse\-ld\fR [gold,bfd]
|
||||
Ignored for GCC linker option compatibility
|
||||
.TP
|
||||
\fB\-g\fR
|
||||
Ignored
|
||||
.TP
|
||||
\fB\-\-gc\-sections\fR
|
||||
Remove unused sections
|
||||
.TP
|
||||
\fB\-\-no\-gc\-sections\fR
|
||||
Don't remove unused sections (default)
|
||||
.TP
|
||||
\fB\-\-gdb\-index\fR
|
||||
Generate .gdb_index section
|
||||
.TP
|
||||
\fB\-\-no\-gdb\-index\fR
|
||||
Do not generate .gdb_index section (default)
|
||||
.TP
|
||||
\fB\-\-gnu\-unique\fR
|
||||
Enable STB_GNU_UNIQUE symbol binding (default)
|
||||
.TP
|
||||
\fB\-\-no\-gnu\-unique\fR
|
||||
Disable STB_GNU_UNIQUE symbol binding
|
||||
.TP
|
||||
\fB\-G\fR, \fB\-shared\fR
|
||||
Generate shared library
|
||||
.TP
|
||||
\fB\-h\fR FILENAME, \fB\-soname\fR FILENAME
|
||||
Set shared library name
|
||||
.TP
|
||||
\fB\-\-hash\-bucket\-empty\-fraction\fR FRACTION
|
||||
Min fraction of empty buckets in dynamic hash
|
||||
.TP
|
||||
\fB\-\-hash\-style\fR [sysv,gnu,both]
|
||||
Dynamic hash style
|
||||
.TP
|
||||
\fB\-i\fR
|
||||
Alias for \fB\-r\fR
|
||||
.TP
|
||||
\fB\-\-icf\fR [none,all,safe]
|
||||
Identical Code Folding. '\-\-icf=safe' Folds ctors, dtors and functions whose pointers are definitely not taken
|
||||
.TP
|
||||
\fB\-\-icf\-iterations\fR COUNT
|
||||
Number of iterations of ICF (default 3)
|
||||
.TP
|
||||
\fB\-\-incremental\fR
|
||||
Do an incremental link if possible; otherwise, do a full link and prepare output for incremental linking
|
||||
.TP
|
||||
\fB\-\-no\-incremental\fR
|
||||
Do a full link (default)
|
||||
.TP
|
||||
\fB\-\-incremental\-full\fR
|
||||
Do a full link and prepare output for incremental linking
|
||||
.TP
|
||||
\fB\-\-incremental\-update\fR
|
||||
Do an incremental link; exit if not possible
|
||||
.TP
|
||||
\fB\-\-incremental\-base\fR FILE
|
||||
Set base file for incremental linking (default is output file)
|
||||
.TP
|
||||
\fB\-\-incremental\-changed\fR
|
||||
Assume files changed
|
||||
.TP
|
||||
\fB\-\-incremental\-unchanged\fR
|
||||
Assume files didn't change
|
||||
.TP
|
||||
\fB\-\-incremental\-unknown\fR
|
||||
Use timestamps to check files (default)
|
||||
.TP
|
||||
\fB\-\-incremental\-startup\-unchanged\fR
|
||||
Assume startup files unchanged (files preceding this option)
|
||||
.HP
|
||||
\fB\-\-incremental\-patch\fR PERCENT Amount of extra space to allocate for patches (default 10)
|
||||
.TP
|
||||
\fB\-init\fR SYMBOL
|
||||
Call SYMBOL at load\-time
|
||||
.TP
|
||||
\fB\-I\fR PROGRAM, \fB\-\-dynamic\-linker\fR PROGRAM
|
||||
Set dynamic linker path
|
||||
.TP
|
||||
\fB\-\-just\-symbols\fR FILE
|
||||
Read only symbol values from FILE
|
||||
.TP
|
||||
\fB\-\-keep\-files\-mapped\fR
|
||||
Keep files mapped across passes (default on 64bit architectures)
|
||||
.TP
|
||||
\fB\-\-no\-keep\-files\-mapped\fR
|
||||
Release mapped files after each pass (default on 32bit architectures)
|
||||
.TP
|
||||
\fB\-\-keep\-unique\fR SYMBOL
|
||||
Do not fold this symbol during ICF
|
||||
.TP
|
||||
\fB\-l\fR LIBNAME, \fB\-\-library\fR LIBNAME
|
||||
Search for library LIBNAME
|
||||
.TP
|
||||
\fB\-\-ld\-generated\-unwind\-info\fR
|
||||
Generate unwind information for PLT (default)
|
||||
.TP
|
||||
\fB\-\-no\-ld\-generated\-unwind\-info\fR
|
||||
Do not generate unwind information for PLT
|
||||
.TP
|
||||
\fB\-L\fR DIR, \fB\-\-library\-path\fR DIR
|
||||
Add directory to search path
|
||||
.TP
|
||||
\fB\-\-long\-plt\fR
|
||||
(ARM only) Generate long PLT entries
|
||||
.TP
|
||||
\fB\-\-no\-long\-plt\fR
|
||||
(ARM only) Do not generate long PLT entries (default)
|
||||
.TP
|
||||
\fB\-m\fR EMULATION
|
||||
Set GNU linker emulation; obsolete
|
||||
.TP
|
||||
\fB\-\-map\-whole\-files\fR
|
||||
Map whole files to memory (default on 64bit architectures)
|
||||
.TP
|
||||
\fB\-\-no\-map\-whole\-files\fR
|
||||
Map relevant file parts to memory (default on 32bit architectures)
|
||||
.TP
|
||||
\fB\-\-merge\-exidx\-entries\fR
|
||||
(ARM only) Merge exidx entries in debuginfo (default)
|
||||
.TP
|
||||
\fB\-\-no\-merge\-exidx\-entries\fR
|
||||
(ARM only) Do not merge exidx entries in debuginfo
|
||||
.TP
|
||||
\fB\-\-mmap\-output\-file\fR
|
||||
Map the output file for writing (default)
|
||||
.TP
|
||||
\fB\-\-no\-mmap\-output\-file\fR
|
||||
Do not map the output file for writing
|
||||
.TP
|
||||
\fB\-M\fR, \fB\-\-print\-map\fR
|
||||
Write map file on standard output
|
||||
.TP
|
||||
\fB\-Map\fR MAPFILENAME
|
||||
Write map file
|
||||
.TP
|
||||
\fB\-n\fR, \fB\-\-nmagic\fR
|
||||
Do not page align data
|
||||
.TP
|
||||
\fB\-N\fR, \fB\-\-omagic\fR
|
||||
Do not page align data, do not make text readonly
|
||||
.TP
|
||||
\fB\-\-no\-omagic\fR
|
||||
Page align data, make text readonly (default)
|
||||
.TP
|
||||
\fB\-\-no\-keep\-memory\fR
|
||||
Use less memory and more disk I/O (included only for compatibility with GNU ld)
|
||||
.TP
|
||||
\fB\-\-no\-undefined\fR
|
||||
Report undefined symbols (even with \fB\-\-shared\fR)
|
||||
.TP
|
||||
\fB\-\-noinhibit\-exec\fR
|
||||
Create an output file even if errors occur
|
||||
.TP
|
||||
\fB\-nostdlib\fR
|
||||
Only search directories specified on the command line
|
||||
.TP
|
||||
\fB\-o\fR FILE, \fB\-\-output\fR FILE
|
||||
Set output file name
|
||||
.TP
|
||||
\fB\-\-oformat\fR [binary]
|
||||
Set output format
|
||||
.TP
|
||||
\fB\-O\fR LEVEL, \fB\-optimize\fR LEVEL
|
||||
Optimize output file size
|
||||
.TP
|
||||
\fB\-\-orphan\-handling\fR [place,discard,warn,error]
|
||||
Orphan section handling
|
||||
.TP
|
||||
\fB\-p\fR
|
||||
Ignored for ARM compatibility
|
||||
.TP
|
||||
\fB\-\-package\-metadata\fR [=JSON]
|
||||
Generate package metadata note
|
||||
.TP
|
||||
\fB\-pie\fR
|
||||
Create a position independent executable
|
||||
.TP
|
||||
\fB\-no\-pie\fR
|
||||
Do not create a position independent executable (default)
|
||||
.TP
|
||||
\fB\-\-pic\-executable\fR
|
||||
Create a position independent executable
|
||||
.TP
|
||||
\fB\-\-no\-pic\-executable\fR
|
||||
Do not create a position independent executable (default)
|
||||
.TP
|
||||
\fB\-\-pic\-veneer\fR
|
||||
Force PIC sequences for ARM/Thumb interworking veneers
|
||||
.TP
|
||||
\fB\-no\-pipeline\-knowledge\fR
|
||||
(ARM only) Ignore for backward compatibility (default)
|
||||
.TP
|
||||
\fB\-\-plt\-align\fR [=P2ALIGN]
|
||||
(PowerPC only) Align PLT call stubs to fit cache lines
|
||||
.TP
|
||||
\fB\-\-plt\-localentry\fR
|
||||
(PowerPC64 only) Optimize calls to ELFv2 localentry:0 functions
|
||||
.TP
|
||||
\fB\-\-no\-plt\-localentry\fR
|
||||
(PowerPC64 only) Don't optimize ELFv2 calls (default)
|
||||
.TP
|
||||
\fB\-\-plt\-static\-chain\fR
|
||||
(PowerPC64 only) PLT call stubs should load r11
|
||||
.TP
|
||||
\fB\-\-no\-plt\-static\-chain\fR
|
||||
(PowerPC64 only) PLT call stubs should not load r11 (default)
|
||||
.TP
|
||||
\fB\-\-plt\-thread\-safe\fR
|
||||
(PowerPC64 only) PLT call stubs with load\-load barrier
|
||||
.TP
|
||||
\fB\-\-no\-plt\-thread\-safe\fR
|
||||
(PowerPC64 only) PLT call stubs without barrier (default)
|
||||
.TP
|
||||
\fB\-\-plugin\fR PLUGIN
|
||||
Load a plugin library
|
||||
.TP
|
||||
\fB\-\-plugin\-opt\fR OPTION
|
||||
Pass an option to the plugin
|
||||
.TP
|
||||
\fB\-\-posix\-fallocate\fR
|
||||
Use posix_fallocate to reserve space in the output file (default)
|
||||
.TP
|
||||
\fB\-\-no\-posix\-fallocate\fR
|
||||
Use fallocate or ftruncate to reserve space
|
||||
.TP
|
||||
\fB\-\-power10\-stubs\fR [=auto,no,yes]
|
||||
(PowerPC64 only) stubs use power10 insns
|
||||
.TP
|
||||
\fB\-\-no\-power10\-stubs\fR
|
||||
(PowerPC64 only) stubs do not use power10 insns
|
||||
.TP
|
||||
\fB\-\-preread\-archive\-symbols\fR
|
||||
Preread archive symbols when multi\-threaded
|
||||
.TP
|
||||
\fB\-\-print\-gc\-sections\fR
|
||||
List removed unused sections on stderr
|
||||
.TP
|
||||
\fB\-\-no\-print\-gc\-sections\fR
|
||||
Do not list removed unused sections (default)
|
||||
.TP
|
||||
\fB\-\-print\-icf\-sections\fR
|
||||
List folded identical sections on stderr
|
||||
.TP
|
||||
\fB\-\-no\-print\-icf\-sections\fR
|
||||
Do not list folded identical sections (default)
|
||||
.TP
|
||||
\fB\-\-print\-output\-format\fR
|
||||
Print default output format
|
||||
.TP
|
||||
\fB\-\-print\-symbol\-counts\fR FILENAME
|
||||
Print symbols defined and used for each input
|
||||
.TP
|
||||
\fB\-\-push\-state\fR
|
||||
Save the state of flags related to input files
|
||||
.TP
|
||||
\fB\-\-pop\-state\fR
|
||||
Restore the state of flags related to input files
|
||||
.TP
|
||||
\fB\-q\fR, \fB\-\-emit\-relocs\fR
|
||||
Generate relocations in output
|
||||
.TP
|
||||
\fB\-Qy\fR
|
||||
Ignored for SVR4 compatibility
|
||||
.TP
|
||||
\fB\-r\fR, \fB\-relocatable\fR
|
||||
Generate relocatable output
|
||||
.TP
|
||||
\fB\-\-relax\fR
|
||||
Relax branches on certain targets
|
||||
.TP
|
||||
\fB\-\-no\-relax\fR
|
||||
Do not relax branches (default)
|
||||
.TP
|
||||
\fB\-\-retain\-symbols\-file\fR FILE
|
||||
keep only symbols listed in this file
|
||||
.TP
|
||||
\fB\-\-rosegment\fR
|
||||
Put read\-only non\-executable sections in their own segment
|
||||
.TP
|
||||
\fB\-\-no\-rosegment\fR
|
||||
Do not put read\-only non\-executable sections in their own segment (default)
|
||||
.TP
|
||||
\fB\-\-rosegment\-gap\fR OFFSET
|
||||
Set offset between executable and read\-only segments
|
||||
.TP
|
||||
\fB\-R\fR DIR
|
||||
Add DIR to runtime search path
|
||||
.TP
|
||||
\fB\-rpath\fR DIR
|
||||
Add DIR to runtime search path
|
||||
.TP
|
||||
\fB\-\-rpath\-link\fR DIR
|
||||
Add DIR to link time shared library search path
|
||||
.TP
|
||||
\fB\-s\fR, \fB\-\-strip\-all\fR
|
||||
Strip all symbols
|
||||
.TP
|
||||
\fB\-S\fR, \fB\-\-strip\-debug\fR
|
||||
Strip debugging information
|
||||
.TP
|
||||
\fB\-\-strip\-debug\-non\-line\fR
|
||||
Emit only debug line number information
|
||||
.TP
|
||||
\fB\-\-strip\-debug\-gdb\fR
|
||||
Strip debug symbols that are unused by gdb (at least versions <= 7.4)
|
||||
.TP
|
||||
\fB\-\-strip\-lto\-sections\fR
|
||||
Strip LTO intermediate code sections (default)
|
||||
.TP
|
||||
\fB\-\-section\-ordering\-file\fR FILENAME
|
||||
Layout sections in the order specified
|
||||
.TP
|
||||
\fB\-\-section\-start\fR SECTION=ADDRESS
|
||||
Set address of section
|
||||
.TP
|
||||
\fB\-\-secure\-plt\fR
|
||||
(PowerPC only) Use new\-style PLT (default)
|
||||
.TP
|
||||
\fB\-\-sort\-common\fR [={ascending,descending}]
|
||||
Sort common symbols by alignment
|
||||
.TP
|
||||
\fB\-\-sort\-section\fR [none,name]
|
||||
Sort sections by name. '\-\-no\-text\-reorder' will override '\-\-sort\-section=name' for .text
|
||||
.TP
|
||||
\fB\-\-spare\-dynamic\-tags\fR COUNT
|
||||
Dynamic tag slots to reserve (default 5)
|
||||
.TP
|
||||
\fB\-\-stub\-group\-size\fR SIZE
|
||||
(ARM, PowerPC only) The maximum distance from instructions in a group of sections to their stubs. Negative values mean stubs are always after the group. 1 means use default size
|
||||
.TP
|
||||
\fB\-\-stub\-group\-multi\fR
|
||||
(PowerPC only) Allow a group of stubs to serve multiple output sections (default)
|
||||
.TP
|
||||
\fB\-\-no\-stub\-group\-multi\fR
|
||||
(PowerPC only) Each output section has its own stubs
|
||||
.TP
|
||||
\fB\-\-split\-stack\-adjust\-size\fR SIZE
|
||||
Stack size when \fB\-fsplit\-stack\fR function calls non\-split
|
||||
.TP
|
||||
\fB\-static\fR
|
||||
Do not link against shared libraries
|
||||
.TP
|
||||
\fB\-\-start\-lib\fR
|
||||
Start a library
|
||||
.TP
|
||||
\fB\-\-end\-lib\fR
|
||||
End a library
|
||||
.TP
|
||||
\fB\-\-stats\fR
|
||||
Print resource usage statistics
|
||||
.TP
|
||||
\fB\-\-sysroot\fR DIR
|
||||
Set target system root directory
|
||||
.TP
|
||||
\fB\-t\fR, \fB\-\-trace\fR
|
||||
Print the name of each input file
|
||||
.TP
|
||||
\fB\-\-target1\-abs\fR
|
||||
(ARM only) Force R_ARM_TARGET1 type to R_ARM_ABS32
|
||||
.TP
|
||||
\fB\-\-target1\-rel\fR
|
||||
(ARM only) Force R_ARM_TARGET1 type to R_ARM_REL32
|
||||
.TP
|
||||
\fB\-\-target2\fR [rel, abs, got\-rel
|
||||
(ARM only) Set R_ARM_TARGET2 relocation type
|
||||
.TP
|
||||
\fB\-\-text\-reorder\fR
|
||||
Enable text section reordering for GCC section names (default)
|
||||
.TP
|
||||
\fB\-\-no\-text\-reorder\fR
|
||||
Disable text section reordering for GCC section names
|
||||
.TP
|
||||
\fB\-\-threads\fR
|
||||
Run the linker multi\-threaded
|
||||
.TP
|
||||
\fB\-\-no\-threads\fR
|
||||
Do not run the linker multi\-threaded (default)
|
||||
.TP
|
||||
\fB\-\-thread\-count\fR COUNT
|
||||
Number of threads to use
|
||||
.TP
|
||||
\fB\-\-thread\-count\-initial\fR COUNT
|
||||
Number of threads to use in initial pass
|
||||
.HP
|
||||
\fB\-\-thread\-count\-middle\fR COUNT Number of threads to use in middle pass
|
||||
.TP
|
||||
\fB\-\-thread\-count\-final\fR COUNT
|
||||
Number of threads to use in final pass
|
||||
.TP
|
||||
\fB\-\-tls\-optimize\fR
|
||||
(PowerPC/64 only) Optimize GD/LD/IE code to IE/LE (default)
|
||||
.TP
|
||||
\fB\-\-no\-tls\-optimize\fR
|
||||
(PowerPC/64 only) Don'''t try to optimize TLS accesses
|
||||
.TP
|
||||
\fB\-\-tls\-get\-addr\-optimize\fR
|
||||
(PowerPC/64 only) Use a special __tls_get_addr call (default)
|
||||
.TP
|
||||
\fB\-\-no\-tls\-get\-addr\-optimize\fR
|
||||
(PowerPC/64 only) Don't use a special __tls_get_addr call
|
||||
.TP
|
||||
\fB\-\-toc\-optimize\fR
|
||||
(PowerPC64 only) Optimize TOC code sequences (default)
|
||||
.TP
|
||||
\fB\-\-no\-toc\-optimize\fR
|
||||
(PowerPC64 only) Don't optimize TOC code sequences
|
||||
.TP
|
||||
\fB\-\-toc\-sort\fR
|
||||
(PowerPC64 only) Sort TOC and GOT sections (default)
|
||||
.TP
|
||||
\fB\-\-no\-toc\-sort\fR
|
||||
(PowerPC64 only) Don't sort TOC and GOT sections
|
||||
.TP
|
||||
\fB\-T\fR FILE, \fB\-\-script\fR FILE
|
||||
Read linker script
|
||||
.TP
|
||||
\fB\-Tbss\fR ADDRESS
|
||||
Set the address of the bss segment
|
||||
.TP
|
||||
\fB\-Tdata\fR ADDRESS
|
||||
Set the address of the data segment
|
||||
.TP
|
||||
\fB\-Ttext\fR ADDRESS
|
||||
Set the address of the text segment
|
||||
.TP
|
||||
\fB\-Ttext\-segment\fR ADDRESS
|
||||
Set the address of the text segment
|
||||
.TP
|
||||
\fB\-Trodata\-segment\fR ADDRESS
|
||||
Set the address of the rodata segment
|
||||
.TP
|
||||
\fB\-u\fR SYMBOL, \fB\-\-undefined\fR SYMBOL
|
||||
Create undefined reference to SYMBOL
|
||||
.TP
|
||||
\fB\-\-unresolved\-symbols\fR ignore\-all,report\-all,ignore\-in\-object\-files,ignore\-in\-shared\-libs
|
||||
How to handle unresolved symbols
|
||||
.TP
|
||||
\fB\-\-verbose\fR
|
||||
Alias for \fB\-\-debug\fR=\fI\,files\/\fR
|
||||
.TP
|
||||
\fB\-\-version\-script\fR FILE
|
||||
Read version script
|
||||
.TP
|
||||
\fB\-\-warn\-common\fR
|
||||
Warn about duplicate common symbols
|
||||
.TP
|
||||
\fB\-\-no\-warn\-common\fR
|
||||
Do not warn about duplicate common symbols (default)
|
||||
.TP
|
||||
\fB\-\-warn\-constructors\fR
|
||||
Ignored
|
||||
.TP
|
||||
\fB\-\-no\-warn\-constructors\fR
|
||||
Ignored
|
||||
.TP
|
||||
\fB\-\-warn\-drop\-version\fR
|
||||
Warn when discarding version information
|
||||
.TP
|
||||
\fB\-\-no\-warn\-drop\-version\fR
|
||||
Do not warn when discarding version information (default)
|
||||
.TP
|
||||
\fB\-\-warn\-execstack\fR
|
||||
Warn if the stack is executable
|
||||
.TP
|
||||
\fB\-\-no\-warn\-execstack\fR
|
||||
Do not warn if the stack is executable (default)
|
||||
.TP
|
||||
\fB\-\-no\-warn\-mismatch\fR
|
||||
Don't warn about mismatched input files
|
||||
.TP
|
||||
\fB\-\-warn\-multiple\-gp\fR
|
||||
Ignored
|
||||
.TP
|
||||
\fB\-\-warn\-search\-mismatch\fR
|
||||
Warn when skipping an incompatible library (default)
|
||||
.TP
|
||||
\fB\-\-no\-warn\-search\-mismatch\fR
|
||||
Don't warn when skipping an incompatible library
|
||||
.TP
|
||||
\fB\-\-warn\-shared\-textrel\fR
|
||||
Warn if text segment is not shareable
|
||||
.TP
|
||||
\fB\-\-no\-warn\-shared\-textrel\fR
|
||||
Do not warn if text segment is not shareable (default)
|
||||
.TP
|
||||
\fB\-\-warn\-unresolved\-symbols\fR
|
||||
Report unresolved symbols as warnings
|
||||
.TP
|
||||
\fB\-\-error\-unresolved\-symbols\fR
|
||||
Report unresolved symbols as errors (default)
|
||||
.TP
|
||||
\fB\-z\fR buildd
|
||||
Dummy z option
|
||||
.TP
|
||||
\fB\-\-no\-wchar\-size\-warning\fR
|
||||
(ARM only) Do not warn about objects with incompatible wchar_t sizes
|
||||
.TP
|
||||
\fB\-\-weak\-unresolved\-symbols\fR
|
||||
Convert unresolved symbols to weak references
|
||||
.TP
|
||||
\fB\-\-whole\-archive\fR
|
||||
Include all archive contents
|
||||
.TP
|
||||
\fB\-\-no\-whole\-archive\fR
|
||||
Include only needed archive contents (default)
|
||||
.TP
|
||||
\fB\-\-wrap\fR SYMBOL
|
||||
Use wrapper functions for SYMBOL
|
||||
.TP
|
||||
\fB\-x\fR, \fB\-\-discard\-all\fR
|
||||
Delete all local symbols
|
||||
.TP
|
||||
\fB\-X\fR, \fB\-\-discard\-locals\fR
|
||||
Delete all temporary local symbols
|
||||
.TP
|
||||
\fB\-\-discard\-none\fR
|
||||
Keep all local symbols
|
||||
.TP
|
||||
\fB\-y\fR SYMBOL, \fB\-\-trace\-symbol\fR SYMBOL
|
||||
Trace references to symbol
|
||||
.TP
|
||||
\fB\-\-undefined\-version\fR
|
||||
Allow unused version in script (default)
|
||||
.TP
|
||||
\fB\-\-no\-undefined\-version\fR
|
||||
Do not allow unused version in script
|
||||
.TP
|
||||
\fB\-Y\fR PATH
|
||||
Default search path for Solaris compatibility
|
||||
.TP
|
||||
\-(, \fB\-\-start\-group\fR
|
||||
Start a library search group
|
||||
.TP
|
||||
\-), \fB\-\-end\-group\fR
|
||||
End a library search group
|
||||
.TP
|
||||
\fB\-z\fR combreloc
|
||||
Sort dynamic relocs (default)
|
||||
.TP
|
||||
\fB\-z\fR nocombreloc
|
||||
Do not sort dynamic relocs
|
||||
.TP
|
||||
\fB\-z\fR common\-page\-size=SIZE
|
||||
Set common page size to SIZE
|
||||
.TP
|
||||
\fB\-z\fR defs
|
||||
Report undefined symbols (even with \fB\-\-shared\fR)
|
||||
.TP
|
||||
\fB\-z\fR execstack
|
||||
Mark output as requiring executable stack
|
||||
.TP
|
||||
\fB\-z\fR global
|
||||
Make symbols in DSO available for subsequently loaded objects
|
||||
.TP
|
||||
\fB\-z\fR initfirst
|
||||
Mark DSO to be initialized first at runtime
|
||||
.TP
|
||||
\fB\-z\fR interpose
|
||||
Mark object to interpose all DSOs but executable
|
||||
.TP
|
||||
\fB\-z\fR unique
|
||||
Mark DSO to be loaded at most once, and only in the main namespace
|
||||
.TP
|
||||
\fB\-z\fR nounique
|
||||
Do not mark the DSO as one to be loaded only in the main namespace (default)
|
||||
.TP
|
||||
\fB\-z\fR lazy
|
||||
Mark object for lazy runtime binding (default)
|
||||
.TP
|
||||
\fB\-z\fR loadfltr
|
||||
Mark object requiring immediate process
|
||||
.TP
|
||||
\fB\-z\fR max\-page\-size=SIZE
|
||||
Set maximum page size to SIZE
|
||||
.TP
|
||||
\fB\-z\fR muldefs
|
||||
Allow multiple definitions of symbols
|
||||
.TP
|
||||
\fB\-z\fR nocopyreloc
|
||||
Do not create copy relocs
|
||||
.TP
|
||||
\fB\-z\fR nodefaultlib
|
||||
Mark object not to use default search paths
|
||||
.TP
|
||||
\fB\-z\fR nodelete
|
||||
Mark DSO non\-deletable at runtime
|
||||
.TP
|
||||
\fB\-z\fR nodlopen
|
||||
Mark DSO not available to dlopen
|
||||
.TP
|
||||
\fB\-z\fR nodump
|
||||
Mark DSO not available to dldump
|
||||
.TP
|
||||
\fB\-z\fR noexecstack
|
||||
Mark output as not requiring executable stack
|
||||
.TP
|
||||
\fB\-z\fR now
|
||||
Mark object for immediate function binding
|
||||
.TP
|
||||
\fB\-z\fR origin
|
||||
Mark DSO to indicate that needs immediate $ORIGIN processing at runtime
|
||||
.TP
|
||||
\fB\-z\fR relro
|
||||
Where possible mark variables read\-only after relocation (default)
|
||||
.TP
|
||||
\fB\-z\fR norelro
|
||||
Don't mark variables read\-only after relocation
|
||||
.TP
|
||||
\fB\-z\fR stack\-size=SIZE
|
||||
Set PT_GNU_STACK segment p_memsz to SIZE
|
||||
.TP
|
||||
\fB\-z\fR start\-stop\-visibility=[default,internal,hidden,protected]
|
||||
ELF symbol visibility for synthesized __start_* and __stop_* symbols
|
||||
.TP
|
||||
\fB\-z\fR text
|
||||
Do not permit relocations in read\-only segments
|
||||
.TP
|
||||
\fB\-z\fR notext
|
||||
Permit relocations in read\-only segments (default)
|
||||
.TP
|
||||
\fB\-z\fR textoff
|
||||
Permit relocations in read\-only segments (default)
|
||||
.TP
|
||||
\fB\-z\fR text\-unlikely\-segment
|
||||
Move .text.unlikely sections to a separate segment.
|
||||
.TP
|
||||
\fB\-z\fR notext\-unlikely\-segment
|
||||
Do not move .text.unlikely sections to a separate segment. (default)
|
||||
.HP
|
||||
\fB\-z\fR keep\-text\-section\-prefix Keep .text.hot, .text.startup, .text.exit and .text.unlikely as separate sections in the final binary.
|
||||
.TP
|
||||
\fB\-z\fR nokeep\-text\-section\-prefix
|
||||
Merge all .text.* prefix sections. (default)
|
||||
.PP
|
||||
Run gold --help for a list of supported targets and emulations.
|
||||
.SH "REPORTING BUGS"
|
||||
Report bugs to <https://sourceware.org/bugzilla/>
|
||||
.SH COPYRIGHT
|
||||
Copyright \(co 2025 Free Software Foundation, Inc.
|
||||
This program is free software; you may redistribute it under the terms of
|
||||
the GNU General Public License version 3 or (at your option) a later version.
|
||||
This program has absolutely no warranty.
|
5
debian/libbinutils.overrides
vendored
Normal file
5
debian/libbinutils.overrides
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
# the API of the shared libs is not public, don't care about the name
|
||||
libbinutils binary: package-name-doesnt-match-sonames
|
||||
|
||||
# the upstream name, we don't care
|
||||
libbinutils binary: dev-pkg-without-shlib-symlink
|
2
debian/libbinutils.shlibs.in
vendored
Normal file
2
debian/libbinutils.shlibs.in
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
libbfd @VER@-system@DATE_EXT@ libbinutils (>= @DEB_UVER@), libbinutils (<< @DEB_NVER@)
|
||||
libopcodes @VER@-system@DATE_EXT@ libbinutils (>= @DEB_UVER@), libbinutils (<< @DEB_NVER@)
|
1
debian/libctf-nobfd0.shlibs
vendored
Normal file
1
debian/libctf-nobfd0.shlibs
vendored
Normal file
@@ -0,0 +1 @@
|
||||
libctf-nobfd 0 libctf-nobfd0
|
5
debian/libctf-nobfd0.symbols
vendored
Normal file
5
debian/libctf-nobfd0.symbols
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
libctf-nobfd.so.0 libctf-nobfd0 #MINVER#
|
||||
(symver)LIBCTF_1.0 2.34
|
||||
(symver)LIBCTF_1.1 2.36
|
||||
(symver)LIBCTF_1.2 2.37
|
||||
(symver)LIBCTF_1.3 2.42.90
|
1
debian/libctf0.shlibs
vendored
Normal file
1
debian/libctf0.shlibs
vendored
Normal file
@@ -0,0 +1 @@
|
||||
libctf 0 libctf0
|
5
debian/libctf0.symbols
vendored
Normal file
5
debian/libctf0.symbols
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
libctf.so.0 libctf0 #MINVER#
|
||||
(symver)LIBCTF_1.0 2.34
|
||||
(symver)LIBCTF_1.1 2.36
|
||||
(symver)LIBCTF_1.2 2.37
|
||||
(symver)LIBCTF_1.3 2.42.90
|
1
debian/libgprofng0.shlibs.in
vendored
Normal file
1
debian/libgprofng0.shlibs.in
vendored
Normal file
@@ -0,0 +1 @@
|
||||
libgprofng 0 libgprofng0 (>= @DEB_UVER@)
|
2743
debian/libgprofng0.symbols
vendored
Normal file
2743
debian/libgprofng0.symbols
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
debian/libsframe2.shlibs
vendored
Normal file
1
debian/libsframe2.shlibs
vendored
Normal file
@@ -0,0 +1 @@
|
||||
libsframe 2 libsframe2
|
3
debian/libsframe2.symbols
vendored
Normal file
3
debian/libsframe2.symbols
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
libsframe.so.2 libsframe2 #MINVER#
|
||||
(symver)LIBSFRAME_0.0 2.41
|
||||
(symver)LIBSFRAME_2.0 2.44.90
|
27
debian/patches/001_ld_makefile_patch.patch
vendored
Normal file
27
debian/patches/001_ld_makefile_patch.patch
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
Author:
|
||||
Description: Description: correct where ld scripts are installed
|
||||
Author: Chris Chimelis <chris@debian.org>
|
||||
Upstream status: N/A
|
||||
Date: ??
|
||||
--- a/ld/Makefile.am
|
||||
+++ b/ld/Makefile.am
|
||||
@@ -50,7 +50,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CFLAGS)
|
||||
# We put the scripts in the directory $(scriptdir)/ldscripts.
|
||||
# We can't put the scripts in $(datadir) because the SEARCH_DIR
|
||||
# directives need to be different for native and cross linkers.
|
||||
-scriptdir = $(tooldir)/lib
|
||||
+scriptdir = $(libdir)
|
||||
|
||||
EMUL = @EMUL@
|
||||
EMULATION_OFILES = @EMULATION_OFILES@
|
||||
--- a/ld/Makefile.in
|
||||
+++ b/ld/Makefile.in
|
||||
@@ -583,7 +583,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CFLAGS)
|
||||
# We put the scripts in the directory $(scriptdir)/ldscripts.
|
||||
# We can't put the scripts in $(datadir) because the SEARCH_DIR
|
||||
# directives need to be different for native and cross linkers.
|
||||
-scriptdir = $(tooldir)/lib
|
||||
+scriptdir = $(libdir)
|
||||
BASEDIR = $(srcdir)/..
|
||||
BFDDIR = $(BASEDIR)/bfd
|
||||
INCDIR = $(BASEDIR)/include
|
27
debian/patches/002_gprof_profile_arcs.patch
vendored
Normal file
27
debian/patches/002_gprof_profile_arcs.patch
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
Author: Chris Chimelis <chris@debian.org>
|
||||
Description: Add more documentation about profiling and -fprofile-arcs.
|
||||
--- a/gprof/gprof.texi
|
||||
+++ b/gprof/gprof.texi
|
||||
@@ -145,6 +145,10 @@ its symbol table and the call graph prof
|
||||
If more than one profile file is specified, the @code{gprof}
|
||||
output shows the sum of the profile information in the given profile files.
|
||||
|
||||
+If you use gcc 2.95.x or 3.0 to compile your binaries, you may need
|
||||
+to add the @samp{-fprofile-arcs} to the compile command line in order
|
||||
+for the call graphs to be properly stored in gmon.out.
|
||||
+
|
||||
@code{Gprof} calculates the amount of time spent in each routine.
|
||||
Next, these times are propagated along the edges of the call graph.
|
||||
Cycles are discovered, and calls into a cycle are made to share the time
|
||||
@@ -276,6 +280,11 @@ to do the linking, simply specify @samp{
|
||||
options. The same option, @samp{-pg}, alters either compilation or linking
|
||||
to do what is necessary for profiling. Here are examples:
|
||||
|
||||
+If you use gcc 2.95.x or 3.0.x, you may need to add the
|
||||
+@samp{-fprofile-arcs} option to the compile line along with @samp{-pg}
|
||||
+in order to allow the call-graphs to be properly included in the gmon.out
|
||||
+file.
|
||||
+
|
||||
@example
|
||||
cc -g -c myprog.c utils.c -pg
|
||||
cc -o myprog myprog.o utils.o -pg
|
13
debian/patches/003_gprof_see_also_monitor.patch
vendored
Normal file
13
debian/patches/003_gprof_see_also_monitor.patch
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
Author: Chris Chimelis <chris@debian.org>
|
||||
Description: Don't mention monitor(3) which doesn't exist in Debian. (#160654)
|
||||
--- a/gprof/gprof.texi
|
||||
+++ b/gprof/gprof.texi
|
||||
@@ -193,7 +193,7 @@ summarized dynamic call graph and profil
|
||||
@c man end
|
||||
|
||||
@c man begin SEEALSO
|
||||
-monitor(3), profil(2), cc(1), prof(1), and the Info entry for @file{gprof}.
|
||||
+cc(1), prof(1), and the Info entry for @file{gprof}.
|
||||
|
||||
``An Execution Profiler for Modular Programs'',
|
||||
by S. Graham, P. Kessler, M. McKusick;
|
19
debian/patches/006_better_file_error.patch
vendored
Normal file
19
debian/patches/006_better_file_error.patch
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
Author: David Kimdon <dwhedon@gordian.com>
|
||||
Description: Specify which filename is causing an error if the filename is a
|
||||
directory. (#45832)
|
||||
--- a/bfd/opncls.c
|
||||
+++ b/bfd/opncls.c
|
||||
@@ -234,6 +234,13 @@ bfd_fopen (const char *filename, const c
|
||||
{
|
||||
bfd *nbfd;
|
||||
const bfd_target *target_vec;
|
||||
+ struct stat s;
|
||||
+
|
||||
+ if (stat (filename, &s) == 0)
|
||||
+ if (S_ISDIR(s.st_mode)) {
|
||||
+ bfd_set_error (bfd_error_file_not_recognized);
|
||||
+ return NULL;
|
||||
+ }
|
||||
|
||||
nbfd = _bfd_new_bfd ();
|
||||
if (nbfd == NULL)
|
13
debian/patches/013_bash_in_ld_testsuite.patch
vendored
Normal file
13
debian/patches/013_bash_in_ld_testsuite.patch
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
Author: Matthias Klose <doko@ubuntu.com>
|
||||
Description: Explicitly use bash for the ld testsuite.
|
||||
--- a/ld/testsuite/config/default.exp
|
||||
+++ b/ld/testsuite/config/default.exp
|
||||
@@ -200,7 +200,7 @@ load_lib ld-lib.exp
|
||||
proc get_target_emul {} {
|
||||
global target_triplet
|
||||
global srcdir
|
||||
- set status [catch "exec sh -c \"targ='$target_triplet' && . $srcdir/../configure.tgt && echo \\\$targ_emul\"" result]
|
||||
+ set status [catch "exec bash -c \"targ='$target_triplet' && . $srcdir/../configure.tgt && echo \\\$targ_emul\"" result]
|
||||
if $status { error "Error getting emulation name: $result" }
|
||||
return $result
|
||||
}
|
15
debian/patches/128_ppc64_powerpc_biarch.patch
vendored
Normal file
15
debian/patches/128_ppc64_powerpc_biarch.patch
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
--- a/ld/emulparams/elf32ppccommon.sh
|
||||
+++ b/ld/emulparams/elf32ppccommon.sh
|
||||
@@ -56,3 +56,12 @@ case `echo "$target" | sed -e 's/-.*//'`
|
||||
*:*64*) LIBPATH_SUFFIX=64 ;;
|
||||
*:*32*) LIBPATH_SUFFIX=32 ;;
|
||||
esac
|
||||
+
|
||||
+# On 64bit, look for 32 bit target libraries in /lib32, /usr/lib32 etc., first.
|
||||
+case "$target" in
|
||||
+ powerpc64-*-linux* | ppc64-*-linux*)
|
||||
+ case "$EMULATION_NAME" in
|
||||
+ *32*) LIBPATH_SUFFIX=32 ;;
|
||||
+ esac
|
||||
+ ;;
|
||||
+esac
|
261
debian/patches/129_multiarch_libpath.patch
vendored
Normal file
261
debian/patches/129_multiarch_libpath.patch
vendored
Normal file
@@ -0,0 +1,261 @@
|
||||
# DP: Add multiarch directories to linker search path for ld and gold.
|
||||
|
||||
--- a/ld/genscripts.sh
|
||||
+++ b/ld/genscripts.sh
|
||||
@@ -244,6 +244,104 @@ append_to_lib_path()
|
||||
fi
|
||||
}
|
||||
|
||||
+# set the multiarch tuples
|
||||
+multiarch_name=
|
||||
+multiarch_name_32=
|
||||
+multiarch_name_64=
|
||||
+multiarch_name_n32=
|
||||
+multiarch_name_x32=
|
||||
+
|
||||
+if true; then
|
||||
+ # based on TOOL_LIB
|
||||
+ multiarch_name=$DEB_TARGET_MULTIARCH
|
||||
+ multiarch_name_32=$DEB_TARGET_MULTIARCH32
|
||||
+ multiarch_name_64=$DEB_TARGET_MULTIARCH64
|
||||
+ multiarch_name_n32=$DEB_TARGET_MULTIARCHN32
|
||||
+ multiarch_name_x32=$DEB_TARGET_MULTIARCHX32
|
||||
+else
|
||||
+ # based on the emulation name; using TOOL_LIB seems to unreliable, when
|
||||
+ # configuring with --enable-targets=powerpc-linux-gnu,powerpc64-linux-gnu
|
||||
+ # only the first one (?) wins.
|
||||
+ # FIXME: should this go into ld/emulparams/*.sh ?
|
||||
+ case "$EMULATION_NAME" in
|
||||
+ aarch64linux)
|
||||
+ multiarch_name=aarch64-linux-gnu
|
||||
+ ;;
|
||||
+ aarch64linux32)
|
||||
+ multiarch_name=aarch64_ilp32-linux-gnu
|
||||
+ ;;
|
||||
+ aarch64linux32b)
|
||||
+ multiarch_name=aarch64_be_ilp32-linux-gnu
|
||||
+ ;;
|
||||
+ aarch64linuxb)
|
||||
+ multiarch_name=aarch64_be-linux-gnu
|
||||
+ ;;
|
||||
+ armelf_linux_eabi)
|
||||
+ # FIXME: TOOL_LIB can be arm-linux-gnueabi, arm-linux-gnueabihf, aarch64-linux-gnu
|
||||
+ multiarch_name=arm-linux-gnueabi
|
||||
+ ;;
|
||||
+ armelfb_linux_eabi)
|
||||
+ # FIXME: TOOL_LIB can be arm-linux-gnueabi, arm-linux-gnueabihf, aarch64-linux-gnu
|
||||
+ multiarch_name=armeb-linux-gnueabi
|
||||
+ ;;
|
||||
+ elf32_sparc)
|
||||
+ multiarch_name=sparc-linux-gnu
|
||||
+ multiarch_name_64=sparc64-linux-gnu
|
||||
+ ;;
|
||||
+ elf32_x86_64)
|
||||
+ multiarch_name=x86_64-linux-gnux32
|
||||
+ multiarch_name_32=i386-linux-gnu
|
||||
+ multiarch_name_64=x86_64-linux-gnu
|
||||
+ ;;
|
||||
+ elf32btsmip)
|
||||
+ ;;
|
||||
+ elf32btsmipn32)
|
||||
+ ;;
|
||||
+ elf32ltsmip)
|
||||
+ ;;
|
||||
+ elf32ltsmipn32)
|
||||
+ ;;
|
||||
+ elf32elflppc) # necessary?
|
||||
+ multiarch_name=powerpcle-linux-gnu
|
||||
+ multiarch_name_64=powerpc64le-linux-gnu
|
||||
+ ;;
|
||||
+ elf32elflppclinux)
|
||||
+ multiarch_name=powerpcle-linux-gnu
|
||||
+ multiarch_name_64=powerpc64le-linux-gnu
|
||||
+ ;;
|
||||
+ elf32ppc) # necessary?
|
||||
+ multiarch_name=powerpc-linux-gnu
|
||||
+ multiarch_name_64=powerpc64-linux-gnu
|
||||
+ ;;
|
||||
+ elf32ppclinux)
|
||||
+ multiarch_name=powerpc-linux-gnu
|
||||
+ multiarch_name_64=powerpc64-linux-gnu
|
||||
+ ;;
|
||||
+ elf64ppc)
|
||||
+ multiarch_name=powerpc64-linux-gnu
|
||||
+ multiarch_name_32=powerpc-linux-gnu
|
||||
+ ;;
|
||||
+ esac
|
||||
+fi
|
||||
+
|
||||
+if [ "x${LIB_PATH}" = "x" ] && [ "x${USE_LIBPATH}" = xyes ] ; then
|
||||
+ libs=${NATIVE_LIB_DIRS}
|
||||
+ if [ "x${NATIVE}" = "xyes" ] ; then
|
||||
+ case " ${libs} " in
|
||||
+ *" ${libdir} "*) ;;
|
||||
+ *) libs="${libdir} ${libs}" ;;
|
||||
+ esac
|
||||
+ fi
|
||||
+ append_to_lib_path ${libs}
|
||||
+fi
|
||||
+
|
||||
+case :${lib_path1}:${lib_path2}: in
|
||||
+ *:: | ::*) LIB_PATH=${lib_path1}${lib_path2} ;;
|
||||
+ *) LIB_PATH=${lib_path1}:${lib_path2} ;;
|
||||
+esac
|
||||
+lib_path1=
|
||||
+lib_path2=
|
||||
+
|
||||
# Always search $(tooldir)/lib, aka /usr/local/TARGET/lib when native
|
||||
# except when LIBPATH=":".
|
||||
if [ "${LIB_PATH}" != ":" ] ; then
|
||||
@@ -262,6 +360,13 @@ if [ "${LIB_PATH}" != ":" ] ; then
|
||||
case "${NATIVE}:${libpath_suffix}:${TOOL_LIB}" in
|
||||
:* | *::* | *:*:*${libpath_suffix}) ;;
|
||||
*) libs="${exec_prefix}/${target_alias}/lib${libpath_suffix}" ;;
|
||||
+ *)
|
||||
+ # FIXME:
|
||||
+ # For the binutils-multiarch build on x86_64-linux-gnu configured
|
||||
+ # with --enable-targets=powerpc-linux-gnu, /usr/x86_64-linux-gnu/lib64
|
||||
+ # is added instead of /usr/powerpc64-linux-gnu/lib64. However this
|
||||
+ # probably wanted for the "default" emulation. How to detect that?
|
||||
+ libs="${exec_prefix}/${target_alias}/lib${libpath_suffix}" ;;
|
||||
esac
|
||||
done
|
||||
libs="${exec_prefix}/${TOOL_LIB}/lib ${libs}"
|
||||
@@ -269,24 +374,124 @@ if [ "${LIB_PATH}" != ":" ] ; then
|
||||
append_to_lib_path ${libs}
|
||||
fi
|
||||
|
||||
-if [ "x${LIB_PATH}" = "x" ] && [ "x${USE_LIBPATH}" = xyes ] ; then
|
||||
- libs=${NATIVE_LIB_DIRS}
|
||||
- if [ "x${NATIVE}" = "xyes" ] ; then
|
||||
- case " ${libs} " in
|
||||
- *" ${libdir} "*) ;;
|
||||
- *) libs="${libdir} ${libs}" ;;
|
||||
- esac
|
||||
- fi
|
||||
- append_to_lib_path ${libs}
|
||||
-fi
|
||||
-
|
||||
case :${lib_path1}:${lib_path2}: in
|
||||
- *:: | ::*) LIB_PATH=${lib_path1}${lib_path2} ;;
|
||||
- *) LIB_PATH=${lib_path1}:${lib_path2} ;;
|
||||
+ *:: | ::*) LIB_PATH=${LIB_PATH}:${lib_path1}${lib_path2} ;;
|
||||
+ *) LIB_PATH=${LIB_PATH}:${lib_path1}:${lib_path2} ;;
|
||||
esac
|
||||
|
||||
+# We use the $tool_lib variable in our multiarch mangling:
|
||||
+if [ "x${TOOL_LIB}" = "x" ] ; then
|
||||
+ tool_lib=${exec_prefix}/${target_alias}/lib
|
||||
+else
|
||||
+ tool_lib=${exec_prefix}/${TOOL_LIB}/lib
|
||||
+fi
|
||||
+
|
||||
+# FIXME: why again? These already should be in LIBPATH
|
||||
+if [ "x${APPEND_TOOLLIBDIR}" = "xyes" ] ; then
|
||||
+ LIB_PATH=${LIB_PATH}:${tool_lib}
|
||||
+ # For multilib targets, search both $tool_lib dirs
|
||||
+ if [ "x${LIBPATH_SUFFIX}" != "x" ] ; then
|
||||
+ LIB_PATH=${LIB_PATH}:${tool_lib}${LIBPATH_SUFFIX}
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
LIB_SEARCH_DIRS=`echo ${LIB_PATH} | sed -e 's/:/ /g' -e 's/\([^ ][^ ]*\)/SEARCH_DIR(\\"\1\\");/g'`
|
||||
|
||||
+if [ -n "$multiarch_name" ]; then
|
||||
+ temp_dirs=' '
|
||||
+ ma_dirs=' '
|
||||
+ for dir in `echo ${LIB_PATH} | sed -e 's/:/ /g'`; do
|
||||
+ case "$dir" in
|
||||
+ *${tool_lib}*|*/${target_alias}/*)
|
||||
+ ;;
|
||||
+ */lib)
|
||||
+ if [ -n "$multiarch_name_32" ]; then
|
||||
+ case $EMULATION_NAME in
|
||||
+ elf_i386|elf32*)
|
||||
+ ma_dirs="${ma_dirs}${dir}/$multiarch_name_32 ";;
|
||||
+ *)
|
||||
+ ma_dirs="${ma_dirs}${dir}/$multiarch_name "
|
||||
+ esac
|
||||
+ elif [ -n "$multiarch_name_64" ]; then
|
||||
+ case $EMULATION_NAME in
|
||||
+ elf*_64|elf64*)
|
||||
+ ma_dirs="${ma_dirs}${dir}/$multiarch_name_64 ";;
|
||||
+ *)
|
||||
+ ma_dirs="${ma_dirs}${dir}/$multiarch_name "
|
||||
+ esac
|
||||
+ else
|
||||
+ ma_dirs="${ma_dirs}${dir}/$multiarch_name "
|
||||
+ fi
|
||||
+ ;;
|
||||
+ */lib32)
|
||||
+ if [ -n "$multiarch_name_32" ]; then
|
||||
+ dir2=$(echo $dir | sed "s,32$,,")
|
||||
+ ma_dirs="${ma_dirs}${dir2}/$multiarch_name_32 "
|
||||
+ fi
|
||||
+ ;;
|
||||
+ */lib64)
|
||||
+ case "${target}" in
|
||||
+ aarch64*-*-*|powerpc64-*-*|s390x-*-*|sparc64-*-*|x86_64-*-linux-gnu|mips64-*-gnuabi64)
|
||||
+ #dir=$(echo $dir | sed "s,64$,,")
|
||||
+ dir2=$(echo $dir | sed "s,64$,,")
|
||||
+ ma_dirs="${ma_dirs}${dir2}/$multiarch_name "
|
||||
+ ;;
|
||||
+ *)
|
||||
+ if [ -n "$multiarch_name_64" ]; then
|
||||
+ dir2=$(echo $dir | sed "s,64$,,")
|
||||
+ ma_dirs="${ma_dirs}${dir2}/$multiarch_name_64 "
|
||||
+ fi
|
||||
+ ;;
|
||||
+ esac
|
||||
+ ;;
|
||||
+ */libx32)
|
||||
+ case "${target}" in
|
||||
+ x86_64-*-linux-gnux32)
|
||||
+ dir2=$(echo $dir | sed "s,x32$,,")
|
||||
+ ma_dirs="${ma_dirs}${dir2}/$multiarch_name "
|
||||
+ ;;
|
||||
+ *)
|
||||
+ if [ -n "$multiarch_name_x32" ]; then
|
||||
+ dir2=$(echo $dir | sed "s,x32$,,")
|
||||
+ ma_dirs="${ma_dirs}${dir2}/$multiarch_name_x32 "
|
||||
+ fi
|
||||
+ ;;
|
||||
+ esac
|
||||
+ ;;
|
||||
+ */libn32)
|
||||
+ case "${target}" in
|
||||
+ mips64*-*-linux-gnuabin32)
|
||||
+ dir2=$(echo $dir | sed "s,n32$,,")
|
||||
+ ma_dirs="${ma_dirs}${dir2}/$multiarch_name "
|
||||
+ ;;
|
||||
+ *)
|
||||
+ if [ -n "$multiarch_name_n32" ]; then
|
||||
+ dir2=$(echo $dir | sed "s,n32$,,")
|
||||
+ ma_dirs="${ma_dirs}${dir2}/$multiarch_name_n32 "
|
||||
+ fi
|
||||
+ ;;
|
||||
+ esac
|
||||
+ ;;
|
||||
+ */libilp32)
|
||||
+ if [ -n "$multiarch_name_32" ]; then
|
||||
+ dir2=$(echo $dir | sed "s,ilp32$,,")
|
||||
+ ma_dirs="${ma_dirs}${dir2}/$multiarch_name_32 "
|
||||
+ fi
|
||||
+ ;;
|
||||
+ *)
|
||||
+ ;;
|
||||
+ esac
|
||||
+ temp_dirs="${temp_dirs}${dir} "
|
||||
+ done
|
||||
+ LIB_SEARCH_DIRS=
|
||||
+ for dir in $ma_dirs $temp_dirs; do
|
||||
+ if echo "$LIB_SEARCH_DIRS" | fgrep -q "\"$dir\""; then
|
||||
+ continue
|
||||
+ fi
|
||||
+ LIB_SEARCH_DIRS="${LIB_SEARCH_DIRS}SEARCH_DIR(\"$dir\"); "
|
||||
+ done
|
||||
+fi
|
||||
+
|
||||
# We need it for testsuite.
|
||||
set $EMULATION_LIBPATH
|
||||
if [ "x$1" = "x$EMULATION_NAME" ]; then
|
45
debian/patches/131_ld_bootstrap_testsuite.patch
vendored
Normal file
45
debian/patches/131_ld_bootstrap_testsuite.patch
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
Author:
|
||||
Description: Description: Fix ld-bootstrap testsuite when configured with --enable-plugins
|
||||
Author: Rafael Espindola
|
||||
Upstream status: proposed patch
|
||||
--- a/ld/testsuite/ld-bootstrap/bootstrap.exp
|
||||
+++ b/ld/testsuite/ld-bootstrap/bootstrap.exp
|
||||
@@ -56,6 +56,15 @@ if [check_plugin_api_available] {
|
||||
set plugins "yes"
|
||||
}
|
||||
|
||||
+remote_exec host "$nm --help" "" "/dev/null" "plugin-support"
|
||||
+set tmp [file_contents "plugin-support"]
|
||||
+regexp ".*\(--plugin\).*\n" $tmp foo plugins
|
||||
+if [info exists plugins] then {
|
||||
+ set plugins "yes"
|
||||
+} else {
|
||||
+ set plugins "no"
|
||||
+}
|
||||
+
|
||||
# Bootstrap ld. First link the object files together using -r, in
|
||||
# order to test -r. Then link the result into an executable, ld1, to
|
||||
# really test -r. Use ld1 to link a fresh ld, ld2. Use ld2 to link a
|
||||
@@ -130,6 +139,11 @@ foreach flags $test_flags {
|
||||
continue
|
||||
}
|
||||
|
||||
+ if { $flags == "--static" && $plugins == "yes" } then {
|
||||
+ untested $testname
|
||||
+ continue
|
||||
+ }
|
||||
+
|
||||
# If we only have a shared libbfd, we probably can't run the
|
||||
# --static test.
|
||||
if { $flags == "--static" && ! [string match "*libbfd.a*" $BFDLIB] } then {
|
||||
@@ -184,6 +198,10 @@ foreach flags $test_flags {
|
||||
}
|
||||
}
|
||||
|
||||
+ if { $plugins == "yes" } {
|
||||
+ set extralibs "$extralibs -ldl"
|
||||
+ }
|
||||
+
|
||||
# On Irix 5, linking with --static only works if all the files are
|
||||
# compiled using -non_shared.
|
||||
if {"$flags" == "--static"} {
|
38
debian/patches/135_bfd_soversion.patch
vendored
Normal file
38
debian/patches/135_bfd_soversion.patch
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
--- a/bfd/Makefile.am
|
||||
+++ b/bfd/Makefile.am
|
||||
@@ -986,14 +986,14 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/
|
||||
$(AM_V_GEN)\
|
||||
bfd_version=`echo "$(VERSION)" | $(SED) -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\
|
||||
bfd_version_string="\"$(VERSION)\"" ;\
|
||||
- bfd_soversion="$(VERSION)" ;\
|
||||
+ bfd_soversion="$(VERSION)$(BFD_SOVER_EXT)" ;\
|
||||
bfd_version_package="\"$(PKGVERSION)\"" ;\
|
||||
report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\
|
||||
. $(srcdir)/development.sh ;\
|
||||
if test "$$development" = true ; then \
|
||||
bfd_version_date=`$(SED) -n -e 's/.*DATE //p' < $(srcdir)/version.h` ;\
|
||||
bfd_version_string="\"$(VERSION).$${bfd_version_date}\"" ;\
|
||||
- bfd_soversion="$(VERSION).$${bfd_version_date}" ;\
|
||||
+ bfd_soversion="$(VERSION)$(BFD_SOVER_EXT).$${bfd_version_date}" ;\
|
||||
fi ;\
|
||||
$(SED) -e "s,@bfd_version@,$$bfd_version," \
|
||||
-e "s,@bfd_version_string@,$$bfd_version_string," \
|
||||
--- a/bfd/Makefile.in
|
||||
+++ b/bfd/Makefile.in
|
||||
@@ -2455,14 +2455,14 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/
|
||||
$(AM_V_GEN)\
|
||||
bfd_version=`echo "$(VERSION)" | $(SED) -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\
|
||||
bfd_version_string="\"$(VERSION)\"" ;\
|
||||
- bfd_soversion="$(VERSION)" ;\
|
||||
+ bfd_soversion="$(VERSION)$(BFD_SOVER_EXT)" ;\
|
||||
bfd_version_package="\"$(PKGVERSION)\"" ;\
|
||||
report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\
|
||||
. $(srcdir)/development.sh ;\
|
||||
if test "$$development" = true ; then \
|
||||
bfd_version_date=`$(SED) -n -e 's/.*DATE //p' < $(srcdir)/version.h` ;\
|
||||
bfd_version_string="\"$(VERSION).$${bfd_version_date}\"" ;\
|
||||
- bfd_soversion="$(VERSION).$${bfd_version_date}" ;\
|
||||
+ bfd_soversion="$(VERSION)$(BFD_SOVER_EXT).$${bfd_version_date}" ;\
|
||||
fi ;\
|
||||
$(SED) -e "s,@bfd_version@,$$bfd_version," \
|
||||
-e "s,@bfd_version_string@,$$bfd_version_string," \
|
25
debian/patches/136_bfd_pic.patch
vendored
Normal file
25
debian/patches/136_bfd_pic.patch
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
Author: Balint Reczey <balint@balintreczey.hu>
|
||||
Description: Build libbfd with -fPIC to allow linking with PIE binaries
|
||||
|
||||
--- a/bfd/Makefile.am
|
||||
+++ b/bfd/Makefile.am
|
||||
@@ -57,7 +57,7 @@ ZLIBINC = @zlibinc@
|
||||
|
||||
WARN_CFLAGS = @WARN_CFLAGS@
|
||||
NO_WERROR = @NO_WERROR@
|
||||
-AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC) $(ZSTD_CFLAGS)
|
||||
+AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC) $(ZSTD_CFLAGS) -fPIC
|
||||
AM_CPPFLAGS = -DBINDIR='"$(bindir)"' -DLIBDIR='"$(libdir)"' @LARGEFILE_CPPFLAGS@
|
||||
if PLUGINS
|
||||
bfdinclude_HEADERS += $(INCDIR)/plugin-api.h
|
||||
--- a/bfd/Makefile.in
|
||||
+++ b/bfd/Makefile.in
|
||||
@@ -524,7 +524,7 @@ libbfd_la_LDFLAGS = $(am__append_1) -rel
|
||||
# case both are empty.
|
||||
ZLIB = @zlibdir@ -lz
|
||||
ZLIBINC = @zlibinc@
|
||||
-AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC) $(ZSTD_CFLAGS)
|
||||
+AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC) $(ZSTD_CFLAGS) -fPIC
|
||||
AM_CPPFLAGS = -DBINDIR='"$(bindir)"' -DLIBDIR='"$(libdir)"' \
|
||||
@LARGEFILE_CPPFLAGS@ @HDEFINES@ @COREFLAG@ @TDEFINES@ \
|
||||
$(CSEARCH) $(CSWITCHES) $(HAVEVECS) @INCINTL@
|
11
debian/patches/157_ar_scripts_with_tilde.patch
vendored
Normal file
11
debian/patches/157_ar_scripts_with_tilde.patch
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/binutils/arlex.l
|
||||
+++ b/binutils/arlex.l
|
||||
@@ -78,7 +78,7 @@ int linenumber;
|
||||
"(" { return '('; }
|
||||
")" { return ')'; }
|
||||
"," { return ','; }
|
||||
-[A-Za-z0-9/\\$:.\-\_\+]+ {
|
||||
+[A-Za-z0-9/\\$:.\-\_\+~]+ {
|
||||
yylval.name = xstrdup (yytext);
|
||||
return FILENAME;
|
||||
}
|
42
debian/patches/158_ld_system_root.patch
vendored
Normal file
42
debian/patches/158_ld_system_root.patch
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
Index: b/ld/configure.ac
|
||||
===================================================================
|
||||
--- a/ld/configure.ac
|
||||
+++ b/ld/configure.ac
|
||||
@@ -56,7 +56,9 @@
|
||||
*) TARGET_SYSTEM_ROOT=$with_sysroot ;;
|
||||
esac
|
||||
|
||||
+ if test "x$TARGET_SYSTEM_ROOT" != x/; then
|
||||
TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
|
||||
+ fi
|
||||
use_sysroot=yes
|
||||
|
||||
if test "x$prefix" = xNONE; then
|
||||
Index: b/ld/configure
|
||||
===================================================================
|
||||
--- a/ld/configure
|
||||
+++ b/ld/configure
|
||||
@@ -4283,7 +4283,9 @@
|
||||
*) TARGET_SYSTEM_ROOT=$with_sysroot ;;
|
||||
esac
|
||||
|
||||
+ if test "x$TARGET_SYSTEM_ROOT" != x/; then
|
||||
TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
|
||||
+ fi
|
||||
use_sysroot=yes
|
||||
|
||||
if test "x$prefix" = xNONE; then
|
||||
Index: b/ld/ldmain.c
|
||||
===================================================================
|
||||
--- a/ld/ldmain.c
|
||||
+++ b/ld/ldmain.c
|
||||
@@ -226,8 +226,8 @@
|
||||
{
|
||||
if (*TARGET_SYSTEM_ROOT == 0)
|
||||
{
|
||||
- einfo ("%P%F: this linker was not configured to use sysroots\n");
|
||||
ld_sysroot = "";
|
||||
+ ld_canon_sysroot = "";
|
||||
}
|
||||
else
|
||||
ld_canon_sysroot = lrealpath (ld_sysroot);
|
14
debian/patches/164_ld_doc_remove_xref.diff
vendored
Normal file
14
debian/patches/164_ld_doc_remove_xref.diff
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
# DP: In ld.texi, remove cross reference to BFD internals documentation.
|
||||
|
||||
--- a/ld/ld.texi
|
||||
+++ b/ld/ld.texi
|
||||
@@ -9717,7 +9717,8 @@ may be spent optimizing algorithms for a
|
||||
One minor artifact of the BFD solution which you should bear in
|
||||
mind is the potential for information loss. There are two places where
|
||||
useful information can be lost using the BFD mechanism: during
|
||||
-conversion and during output. @xref{BFD information loss}.
|
||||
+conversion and during output. See BFD information loss in the BFD
|
||||
+internal documentation.
|
||||
|
||||
@menu
|
||||
* BFD outline:: How it works: an outline of BFD
|
25
debian/patches/aarch64-libpath.diff
vendored
Normal file
25
debian/patches/aarch64-libpath.diff
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
--- a/ld/emulparams/aarch64linux.sh
|
||||
+++ b/ld/emulparams/aarch64linux.sh
|
||||
@@ -40,12 +40,15 @@ PLT=".plt ${RELOCATING-0} : ALI
|
||||
|
||||
# Linux modifies the default library search path to first include
|
||||
# a 64-bit specific directory.
|
||||
-case "$target" in
|
||||
- aarch64*-linux*)
|
||||
- case "$EMULATION_NAME" in
|
||||
- aarch64linux*) LIBPATH_SUFFIX=64 ;;
|
||||
- esac
|
||||
- ;;
|
||||
-esac
|
||||
+
|
||||
+# not for multiarch systems ...
|
||||
+
|
||||
+#case "$target" in
|
||||
+# aarch64*-linux*)
|
||||
+# case "$EMULATION_NAME" in
|
||||
+# aarch64linux*) LIBPATH_SUFFIX=64 ;;
|
||||
+# esac
|
||||
+# ;;
|
||||
+#esac
|
||||
|
||||
ELF_INTERPRETER_NAME=\"/lib/ld-linux-aarch64.so.1\"
|
30
debian/patches/armhf-64k-alignment.diff
vendored
Normal file
30
debian/patches/armhf-64k-alignment.diff
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
The upstream binutils commit below reduced the section alignment of
|
||||
armhf executables (including shared libraries) from 64k to 4k, on the
|
||||
basis that the additional bloat is not justified, given that arm64 hosts
|
||||
running 64k pagesize kernels with armhf user space are not used in
|
||||
practice.
|
||||
|
||||
However, the situation is slightly different today on Debian, where a
|
||||
16k pagesize kernel is provided that enables compat support, and is
|
||||
therefore able to execute armhf user space. The only impediment is the
|
||||
fact that armhf binaries are no longer compatible with this, due to the
|
||||
change below.
|
||||
|
||||
To accommodate this use case, revert the patch. This makes the generated
|
||||
executables compatible with compat mode on arm64 systems running 16k
|
||||
kernels.
|
||||
|
||||
--- a/bfd/elf32-arm.c
|
||||
+++ b/bfd/elf32-arm.c
|
||||
@@ -20356,7 +20356,11 @@ elf32_arm_backend_symbol_processing (bfd
|
||||
#define ELF_ARCH bfd_arch_arm
|
||||
#define ELF_TARGET_ID ARM_ELF_DATA
|
||||
#define ELF_MACHINE_CODE EM_ARM
|
||||
+#ifdef __QNXTARGET__
|
||||
#define ELF_MAXPAGESIZE 0x1000
|
||||
+#else
|
||||
+#define ELF_MAXPAGESIZE 0x10000
|
||||
+#endif
|
||||
#define ELF_COMMONPAGESIZE 0x1000
|
||||
|
||||
#define bfd_elf32_mkobject elf32_arm_mkobject
|
1369
debian/patches/branch-updates.diff
vendored
Normal file
1369
debian/patches/branch-updates.diff
vendored
Normal file
File diff suppressed because it is too large
Load Diff
540
debian/patches/branch-version.diff
vendored
Normal file
540
debian/patches/branch-version.diff
vendored
Normal file
@@ -0,0 +1,540 @@
|
||||
# DP: Don't bump the version when doing distro builds
|
||||
|
||||
git diff 2a07e06e26918c83071cb7c5789439315f505430 2bc7af1ff7732451b6a7b09462a815c3284f9613
|
||||
|
||||
diff --git a/bfd/configure b/bfd/configure
|
||||
index 86561b30ac4..ec09f5bc834 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.69 for bfd 2.45.0.
|
||||
+# Generated by GNU Autoconf 2.69 for bfd 2.45.
|
||||
#
|
||||
#
|
||||
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
|
||||
@@ -587,8 +587,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='bfd'
|
||||
PACKAGE_TARNAME='bfd'
|
||||
-PACKAGE_VERSION='2.45.0'
|
||||
-PACKAGE_STRING='bfd 2.45.0'
|
||||
+PACKAGE_VERSION='2.45'
|
||||
+PACKAGE_STRING='bfd 2.45'
|
||||
PACKAGE_BUGREPORT=''
|
||||
PACKAGE_URL=''
|
||||
|
||||
@@ -1409,7 +1409,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 bfd 2.45.0 to adapt to many kinds of systems.
|
||||
+\`configure' configures bfd 2.45 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1480,7 +1480,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
- short | recursive ) echo "Configuration of bfd 2.45.0:";;
|
||||
+ short | recursive ) echo "Configuration of bfd 2.45:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1625,7 +1625,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
-bfd configure 2.45.0
|
||||
+bfd configure 2.45
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
@@ -2219,7 +2219,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 bfd $as_me 2.45.0, which was
|
||||
+It was created by bfd $as_me 2.45, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -3202,7 +3202,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='bfd'
|
||||
- VERSION='2.45.0'
|
||||
+ VERSION='2.45'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@@ -17754,7 +17754,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 bfd $as_me 2.45.0, which was
|
||||
+This file was extended by bfd $as_me 2.45, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -17820,7 +17820,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="\\
|
||||
-bfd config.status 2.45.0
|
||||
+bfd config.status 2.45
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
diff --git a/bfd/development.sh b/bfd/development.sh
|
||||
index b8014261bfb..8b004da7d52 100644
|
||||
--- a/bfd/development.sh
|
||||
+++ b/bfd/development.sh
|
||||
@@ -16,7 +16,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Controls whether to enable development-mode features by default.
|
||||
-development=true
|
||||
+development=false
|
||||
|
||||
# Indicate whether this is a release branch.
|
||||
experimental=false
|
||||
diff --git a/bfd/version.m4 b/bfd/version.m4
|
||||
index 848470098f5..00d03934d68 100644
|
||||
--- a/bfd/version.m4
|
||||
+++ b/bfd/version.m4
|
||||
@@ -1 +1 @@
|
||||
-m4_define([BFD_VERSION], [2.45.0])
|
||||
+m4_define([BFD_VERSION], [2.45])
|
||||
diff --git a/binutils/configure b/binutils/configure
|
||||
index 0ff4539f458..94be22505d4 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.45.0.
|
||||
+# Generated by GNU Autoconf 2.69 for binutils 2.45.
|
||||
#
|
||||
#
|
||||
# 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.45.0'
|
||||
-PACKAGE_STRING='binutils 2.45.0'
|
||||
+PACKAGE_VERSION='2.45'
|
||||
+PACKAGE_STRING='binutils 2.45'
|
||||
PACKAGE_BUGREPORT=''
|
||||
PACKAGE_URL=''
|
||||
|
||||
@@ -1407,7 +1407,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.45.0 to adapt to many kinds of systems.
|
||||
+\`configure' configures binutils 2.45 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1478,7 +1478,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
- short | recursive ) echo "Configuration of binutils 2.45.0:";;
|
||||
+ short | recursive ) echo "Configuration of binutils 2.45:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1640,7 +1640,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
-binutils configure 2.45.0
|
||||
+binutils configure 2.45
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
@@ -2108,7 +2108,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.45.0, which was
|
||||
+It was created by binutils $as_me 2.45, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -3091,7 +3091,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='binutils'
|
||||
- VERSION='2.45.0'
|
||||
+ VERSION='2.45'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@@ -16879,7 +16879,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.45.0, which was
|
||||
+This file was extended by binutils $as_me 2.45, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -16945,7 +16945,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.45.0
|
||||
+binutils config.status 2.45
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
diff --git a/gas/configure b/gas/configure
|
||||
index ca149e79195..9c640c870cd 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.69 for gas 2.45.0.
|
||||
+# Generated by GNU Autoconf 2.69 for gas 2.45.
|
||||
#
|
||||
#
|
||||
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
|
||||
@@ -587,8 +587,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='gas'
|
||||
PACKAGE_TARNAME='gas'
|
||||
-PACKAGE_VERSION='2.45.0'
|
||||
-PACKAGE_STRING='gas 2.45.0'
|
||||
+PACKAGE_VERSION='2.45'
|
||||
+PACKAGE_STRING='gas 2.45'
|
||||
PACKAGE_BUGREPORT=''
|
||||
PACKAGE_URL=''
|
||||
|
||||
@@ -1393,7 +1393,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 gas 2.45.0 to adapt to many kinds of systems.
|
||||
+\`configure' configures gas 2.45 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1464,7 +1464,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
- short | recursive ) echo "Configuration of gas 2.45.0:";;
|
||||
+ short | recursive ) echo "Configuration of gas 2.45:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1621,7 +1621,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
-gas configure 2.45.0
|
||||
+gas configure 2.45
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
@@ -2032,7 +2032,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 gas $as_me 2.45.0, which was
|
||||
+It was created by gas $as_me 2.45, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -3012,7 +3012,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='gas'
|
||||
- VERSION='2.45.0'
|
||||
+ VERSION='2.45'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@@ -16548,7 +16548,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 gas $as_me 2.45.0, which was
|
||||
+This file was extended by gas $as_me 2.45, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -16614,7 +16614,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="\\
|
||||
-gas config.status 2.45.0
|
||||
+gas config.status 2.45
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
diff --git a/gprof/configure b/gprof/configure
|
||||
index e40de173a1e..36ac75e49b3 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.69 for gprof 2.45.0.
|
||||
+# Generated by GNU Autoconf 2.69 for gprof 2.45.
|
||||
#
|
||||
#
|
||||
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
|
||||
@@ -587,8 +587,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='gprof'
|
||||
PACKAGE_TARNAME='gprof'
|
||||
-PACKAGE_VERSION='2.45.0'
|
||||
-PACKAGE_STRING='gprof 2.45.0'
|
||||
+PACKAGE_VERSION='2.45'
|
||||
+PACKAGE_STRING='gprof 2.45'
|
||||
PACKAGE_BUGREPORT=''
|
||||
PACKAGE_URL=''
|
||||
|
||||
@@ -1351,7 +1351,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 gprof 2.45.0 to adapt to many kinds of systems.
|
||||
+\`configure' configures gprof 2.45 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1422,7 +1422,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
- short | recursive ) echo "Configuration of gprof 2.45.0:";;
|
||||
+ short | recursive ) echo "Configuration of gprof 2.45:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1541,7 +1541,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
-gprof configure 2.45.0
|
||||
+gprof configure 2.45
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
@@ -1906,7 +1906,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 gprof $as_me 2.45.0, which was
|
||||
+It was created by gprof $as_me 2.45, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -2886,7 +2886,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='gprof'
|
||||
- VERSION='2.45.0'
|
||||
+ VERSION='2.45'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@@ -14255,7 +14255,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 gprof $as_me 2.45.0, which was
|
||||
+This file was extended by gprof $as_me 2.45, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -14321,7 +14321,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="\\
|
||||
-gprof config.status 2.45.0
|
||||
+gprof config.status 2.45
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
diff --git a/ld/configure b/ld/configure
|
||||
index 4afc58566fc..78b54b39eb2 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.69 for ld 2.45.0.
|
||||
+# Generated by GNU Autoconf 2.69 for ld 2.45.
|
||||
#
|
||||
#
|
||||
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
|
||||
@@ -587,8 +587,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='ld'
|
||||
PACKAGE_TARNAME='ld'
|
||||
-PACKAGE_VERSION='2.45.0'
|
||||
-PACKAGE_STRING='ld 2.45.0'
|
||||
+PACKAGE_VERSION='2.45'
|
||||
+PACKAGE_STRING='ld 2.45'
|
||||
PACKAGE_BUGREPORT=''
|
||||
PACKAGE_URL=''
|
||||
|
||||
@@ -1436,7 +1436,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 ld 2.45.0 to adapt to many kinds of systems.
|
||||
+\`configure' configures ld 2.45 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1507,7 +1507,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
- short | recursive ) echo "Configuration of ld 2.45.0:";;
|
||||
+ short | recursive ) echo "Configuration of ld 2.45:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1690,7 +1690,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
-ld configure 2.45.0
|
||||
+ld configure 2.45
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
@@ -2222,7 +2222,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 ld $as_me 2.45.0, which was
|
||||
+It was created by ld $as_me 2.45, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -3206,7 +3206,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='ld'
|
||||
- VERSION='2.45.0'
|
||||
+ VERSION='2.45'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@@ -19661,7 +19661,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 ld $as_me 2.45.0, which was
|
||||
+This file was extended by ld $as_me 2.45, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -19727,7 +19727,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="\\
|
||||
-ld config.status 2.45.0
|
||||
+ld config.status 2.45
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
diff --git a/opcodes/configure b/opcodes/configure
|
||||
index 3dd6b692f89..d878234c88f 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.69 for opcodes 2.45.0.
|
||||
+# Generated by GNU Autoconf 2.69 for opcodes 2.45.
|
||||
#
|
||||
#
|
||||
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
|
||||
@@ -587,8 +587,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='opcodes'
|
||||
PACKAGE_TARNAME='opcodes'
|
||||
-PACKAGE_VERSION='2.45.0'
|
||||
-PACKAGE_STRING='opcodes 2.45.0'
|
||||
+PACKAGE_VERSION='2.45'
|
||||
+PACKAGE_STRING='opcodes 2.45'
|
||||
PACKAGE_BUGREPORT=''
|
||||
PACKAGE_URL=''
|
||||
|
||||
@@ -1368,7 +1368,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 opcodes 2.45.0 to adapt to many kinds of systems.
|
||||
+\`configure' configures opcodes 2.45 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1439,7 +1439,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
- short | recursive ) echo "Configuration of opcodes 2.45.0:";;
|
||||
+ short | recursive ) echo "Configuration of opcodes 2.45:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1560,7 +1560,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
-opcodes configure 2.45.0
|
||||
+opcodes configure 2.45
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
@@ -1971,7 +1971,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 opcodes $as_me 2.45.0, which was
|
||||
+It was created by opcodes $as_me 2.45, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -2951,7 +2951,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='opcodes'
|
||||
- VERSION='2.45.0'
|
||||
+ VERSION='2.45'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@@ -14623,7 +14623,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 opcodes $as_me 2.45.0, which was
|
||||
+This file was extended by opcodes $as_me 2.45, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -14689,7 +14689,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="\\
|
||||
-opcodes config.status 2.45.0
|
||||
+opcodes config.status 2.45
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
435
debian/patches/env-package-metadata.diff
vendored
Normal file
435
debian/patches/env-package-metadata.diff
vendored
Normal file
@@ -0,0 +1,435 @@
|
||||
--- a/ld/ldelf.c
|
||||
+++ b/ld/ldelf.c
|
||||
@@ -98,6 +98,18 @@ ldelf_after_parse (void)
|
||||
fatal (_("%P: common page size (0x%v) > maximum page size (0x%v)\n"),
|
||||
link_info.commonpagesize, link_info.maxpagesize);
|
||||
}
|
||||
+
|
||||
+ if (!ldelf_emit_note_fdo_package_metadata)
|
||||
+ {
|
||||
+ char *package_metadata = getenv("ELF_PACKAGE_METADATA");
|
||||
+
|
||||
+ if (package_metadata)
|
||||
+ {
|
||||
+ char * const p = xmalloc (strlen (package_metadata) + 1);
|
||||
+ strcpy (p, package_metadata);
|
||||
+ ldelf_emit_note_fdo_package_metadata = (const char *)p;
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
/* Handle the generation of DT_NEEDED tags. */
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -2823,6 +2823,8 @@ do-check:
|
||||
@: $(MAKE); $(unstage)
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
+ echo "Unset ELF_PACKAGE_METADATA for tests"; \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
$(MAKE) $(RECURSE_FLAGS_TO_PASS) check-host check-target
|
||||
|
||||
# Automated reporting of test results.
|
||||
@@ -4328,6 +4330,7 @@ check-bfd:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/bfd && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -5468,6 +5471,7 @@ check-opcodes:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/opcodes && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -6608,6 +6612,7 @@ check-binutils:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/binutils && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -7533,6 +7538,7 @@ check-cgen:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/cgen && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -8001,6 +8007,7 @@ check-dejagnu:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/dejagnu && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -8469,6 +8476,7 @@ check-etc:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/etc && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -10094,6 +10102,7 @@ check-fixincludes:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/fixincludes && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -11674,6 +11683,7 @@ check-gas:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/gas && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -12823,6 +12833,7 @@ check-gcc:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/gcc && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -13972,6 +13983,7 @@ check-gmp:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/gmp && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -15109,6 +15121,7 @@ check-mpfr:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/mpfr && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -16246,6 +16259,7 @@ check-mpc:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/mpc && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -17383,6 +17397,7 @@ check-isl:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/isl && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) V=1 $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -18511,6 +18526,7 @@ check-gold:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/gold && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -18965,6 +18981,7 @@ check-gprof:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/gprof && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -19433,6 +19450,7 @@ check-gprofng:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/gprofng && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -20596,6 +20614,7 @@ check-gettext:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/gettext && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -20899,6 +20918,7 @@ check-tcl:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/tcl && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -21352,6 +21372,7 @@ check-itcl:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/itcl && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -22506,6 +22527,7 @@ check-ld:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/ld && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -23646,6 +23668,7 @@ check-libbacktrace:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/libbacktrace && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -24786,6 +24809,7 @@ check-libcpp:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/libcpp && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -25926,6 +25950,7 @@ check-libcody:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/libcody && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -26915,6 +26940,7 @@ check-libdecnumber:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/libdecnumber && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -27354,6 +27380,7 @@ check-libgui:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/libgui && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -28517,6 +28544,7 @@ check-libiberty:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/libiberty && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -29666,6 +29694,7 @@ check-libiberty-linker-plugin:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/libiberty-linker-plugin && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) @extra_linker_plugin_flags@ $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -30815,6 +30844,7 @@ check-libiconv:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/libiconv && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -31164,6 +31194,7 @@ check-m4:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/m4 && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -31632,6 +31663,7 @@ check-readline:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/readline && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -32100,6 +32132,7 @@ check-sid:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/sid && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -32568,6 +32601,7 @@ check-sim:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/sim && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -33036,6 +33070,7 @@ check-texinfo:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/texinfo && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -34623,6 +34658,7 @@ check-gnulib:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/gnulib && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -35091,6 +35127,7 @@ check-gdbsupport:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/gdbsupport && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -35559,6 +35596,7 @@ check-gdbserver:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/gdbserver && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -36027,6 +36065,7 @@ check-gdb:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/gdb && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -36495,6 +36534,7 @@ check-expect:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/expect && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -36963,6 +37003,7 @@ check-guile:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/guile && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -37431,6 +37472,7 @@ check-tk:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/tk && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -38763,6 +38805,7 @@ check-c++tools:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/c++tools && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -39215,6 +39258,7 @@ check-gnattools:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/gnattools && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -40378,6 +40422,7 @@ check-lto-plugin:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/lto-plugin && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) @extra_linker_plugin_flags@ $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -40832,6 +40877,7 @@ check-libcc1:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/libcc1 && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -41300,6 +41346,7 @@ check-gotools:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/gotools && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
@@ -42454,6 +42501,7 @@ check-libctf:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/libctf && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -43594,6 +43642,7 @@ check-libsframe:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/libsframe && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
|
||||
|
||||
@@ -44048,6 +44097,7 @@ check-libgrust:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/libgrust && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) check)
|
||||
|
||||
--- a/Makefile.tpl
|
||||
+++ b/Makefile.tpl
|
||||
@@ -1008,6 +1008,8 @@ do-check:
|
||||
@: $(MAKE); $(unstage)
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
+ echo "Unset ELF_PACKAGE_METADATA for tests"; \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
$(MAKE) $(RECURSE_FLAGS_TO_PASS) check-host check-target
|
||||
|
||||
# Automated reporting of test results.
|
||||
@@ -1389,6 +1391,7 @@ check-[+module+]:
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) [+ IF bootstrap +]$(EXTRA_HOST_EXPORTS)[+
|
||||
ENDIF bootstrap +] \
|
||||
+ export -n ELF_PACKAGE_METADATA; \
|
||||
(cd $(HOST_SUBDIR)/[+module+] && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+][+
|
||||
IF bootstrap +] $(EXTRA_BOOTSTRAP_FLAGS)[+ ENDIF bootstrap +] check)
|
14
debian/patches/gprof-build.diff
vendored
Normal file
14
debian/patches/gprof-build.diff
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
# DP: Fix gprof build error.
|
||||
|
||||
--- a/gprof/gconfig.in
|
||||
+++ b/gprof/gconfig.in
|
||||
@@ -117,9 +117,6 @@
|
||||
#endif
|
||||
|
||||
|
||||
-/* Version number of package */
|
||||
-#undef VERSION
|
||||
-
|
||||
/* Enable large inode numbers on Mac OS X 10.5. */
|
||||
#ifndef _DARWIN_USE_64_BIT_INODE
|
||||
# define _DARWIN_USE_64_BIT_INODE 1
|
54
debian/patches/gprofng-cross-build.diff
vendored
Normal file
54
debian/patches/gprofng-cross-build.diff
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
--- a/gprofng/configure.ac
|
||||
+++ b/gprofng/configure.ac
|
||||
@@ -212,24 +212,22 @@ AM_ZLIB
|
||||
# Generate manpages, if possible.
|
||||
build_man=false
|
||||
build_doc=false
|
||||
-if test $cross_compiling = no; then
|
||||
- AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo])
|
||||
- case "x$MAKEINFO" in
|
||||
- x | */missing\ makeinfo*)
|
||||
- AC_MSG_WARN([gprofng: makeinfo is missing. Info documentation will not be built.])
|
||||
- ;;
|
||||
- *)
|
||||
- case x"`$MAKEINFO --version | grep 'GNU texinfo'`" in
|
||||
- x*\ [[1-5]].*|x*\ 6.[[0-4]].* )
|
||||
- AC_MSG_WARN([gprofng: $MAKEINFO is too old. Info documentation will not be built.])
|
||||
- MAKEINFO="@echo $MAKEINFO is too old, 6.5 or newer required; true"
|
||||
- ;;
|
||||
- x* ) build_doc=true ;;
|
||||
- esac
|
||||
- ;;
|
||||
- esac
|
||||
- AC_SUBST(MAKEINFO)
|
||||
-fi
|
||||
+AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo])
|
||||
+case "x$MAKEINFO" in
|
||||
+ x | */missing\ makeinfo*)
|
||||
+ AC_MSG_WARN([gprofng: makeinfo is missing. Info documentation will not be built.])
|
||||
+ ;;
|
||||
+ *)
|
||||
+ case x"`$MAKEINFO --version | grep 'GNU texinfo'`" in
|
||||
+ x*\ [[1-5]].*|x*\ 6.[[0-4]].* )
|
||||
+ AC_MSG_WARN([gprofng: $MAKEINFO is too old. Info documentation will not be built.])
|
||||
+ MAKEINFO="@echo $MAKEINFO is too old, 6.5 or newer required; true"
|
||||
+ ;;
|
||||
+ x* ) build_doc=true ;;
|
||||
+ esac
|
||||
+ ;;
|
||||
+ esac
|
||||
+AC_SUBST(MAKEINFO)
|
||||
AM_CONDITIONAL([BUILD_MAN], [test x$build_man = xtrue])
|
||||
AM_CONDITIONAL([BUILD_DOC], [test x$build_doc = xtrue])
|
||||
|
||||
--- a/gprofng/configure
|
||||
+++ b/gprofng/configure
|
||||
@@ -17011,7 +17011,7 @@ fi
|
||||
# Generate manpages, if possible.
|
||||
build_man=false
|
||||
build_doc=false
|
||||
-if test $cross_compiling = no; then
|
||||
+if :; then
|
||||
for ac_prog in makeinfo
|
||||
do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
28
debian/patches/gprofng-examples-tgz-deterministic.diff
vendored
Normal file
28
debian/patches/gprofng-examples-tgz-deterministic.diff
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
Author: James Addison <jay@jp-hosting.net>
|
||||
Description: Generate a deterministic gprofng example documentation tarball
|
||||
Bug-Debian: https://bugs.debian.org/1090395
|
||||
Bug-Debian: https://bugs.debian.org/1092870
|
||||
Last-Update: 2025-01-13
|
||||
|
||||
--- a/gprofng/doc/Makefile.am
|
||||
+++ b/gprofng/doc/Makefile.am
|
||||
@@ -61,7 +61,7 @@ EXTRA_DIST = $(man_MANS) version.texi
|
||||
info: $(man_MANS)
|
||||
|
||||
examples.tar.gz:
|
||||
- $(AM_V_at)( tar czf $@ $(srcdir)/../examples )
|
||||
+ $(AM_V_at)( tar czf $@ --sort=name --mtime="@${SOURCE_DATE_EPOCH}" --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime --mode=a=rX,u+w $(srcdir)/../examples )
|
||||
|
||||
.PHONY: install-data-local
|
||||
|
||||
--- a/gprofng/doc/Makefile.in
|
||||
+++ b/gprofng/doc/Makefile.in
|
||||
@@ -895,7 +895,7 @@ gprofng-display-text.1: $(srcdir)/gprofn
|
||||
info: $(man_MANS)
|
||||
|
||||
examples.tar.gz:
|
||||
- $(AM_V_at)( tar czf $@ $(srcdir)/../examples )
|
||||
+ $(AM_V_at)( tar czf $@ --sort=name --mtime="@${SOURCE_DATE_EPOCH}" --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime --mode=a=rX,u+w $(srcdir)/../examples )
|
||||
|
||||
.PHONY: install-data-local
|
||||
|
1030
debian/patches/libctf-soname.diff
vendored
Normal file
1030
debian/patches/libctf-soname.diff
vendored
Normal file
File diff suppressed because it is too large
Load Diff
12
debian/patches/mips-hack.diff
vendored
Normal file
12
debian/patches/mips-hack.diff
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
--- a/gas/config/tc-mips.c
|
||||
+++ b/gas/config/tc-mips.c
|
||||
@@ -16762,6 +16762,9 @@ parse_code_option (char * name)
|
||||
else
|
||||
return OPTION_TYPE_BAD;
|
||||
|
||||
+ if (mips_opts.isa == ISA_MIPS1 && mips_opts.fp == 0)
|
||||
+ mips_opts.isa = ISA_MIPS2;
|
||||
+
|
||||
return isa_set ? OPTION_TYPE_ISA : OPTION_TYPE_NORMAL;
|
||||
}
|
||||
|
8
debian/patches/perl-shebang.diff
vendored
Normal file
8
debian/patches/perl-shebang.diff
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
--- a/gprofng/gp-display-html/gp-display-html.in
|
||||
+++ b/gprofng/gp-display-html/gp-display-html.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env perl
|
||||
+#!/usr/bin/perl
|
||||
# Copyright (C) 2021-2025 Free Software Foundation, Inc.
|
||||
# Contributed by Oracle.
|
||||
#
|
158
debian/patches/pr-ld-16428.diff
vendored
Normal file
158
debian/patches/pr-ld-16428.diff
vendored
Normal file
@@ -0,0 +1,158 @@
|
||||
# DP: Proposed patch for PR ld/16428, disallow -shared/-pie, -shared/-static, -pie/-static.
|
||||
|
||||
2014-01-10 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/16428
|
||||
* ld.texinfo: Updated for -static/-non_shared change.
|
||||
* ldlex.h (option_values): Add OPTION_STATIC.
|
||||
* lexsup.c (ld_options): Use OPTION_STATIC for -static/-non_shared.
|
||||
(parse_args): Handle OPTION_STATIC. Disallow -shared and -pie,
|
||||
-shared and -static, -pie and -static.
|
||||
|
||||
2014-01-10 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/16428
|
||||
* ld-elf/pr16428a.d: New file.
|
||||
* ld-elf/pr16428b.d: Likewise.
|
||||
* ld-elf/pr16428c.d: Likewise.
|
||||
* ld-elf/pr16428d.d: Likewise.
|
||||
|
||||
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
|
||||
index ae3d568..bddfdfe 100644
|
||||
--- a/ld/ld.texinfo
|
||||
+++ b/ld/ld.texinfo
|
||||
@@ -1204,11 +1204,11 @@ platforms for which shared libraries are supported. The different
|
||||
variants of this option are for compatibility with various systems. You
|
||||
may use this option multiple times on the command line: it affects
|
||||
library searching for @option{-l} options which follow it. This
|
||||
-option also implies @option{--unresolved-symbols=report-all}. This
|
||||
-option can be used with @option{-shared}. Doing so means that a
|
||||
-shared library is being created but that all of the library's external
|
||||
-references must be resolved by pulling in entries from static
|
||||
-libraries.
|
||||
+option also implies @option{--unresolved-symbols=report-all}.
|
||||
+@option{-Bstatic} and @option{-dn} can be used with @option{-shared}.
|
||||
+Doing so means that a shared library is being created but that all of
|
||||
+the library's external references must be resolved by pulling in entries
|
||||
+from static libraries.
|
||||
|
||||
@kindex -Bsymbolic
|
||||
@item -Bsymbolic
|
||||
diff --git a/ld/ldlex.h b/ld/ldlex.h
|
||||
index 99f4282..6f237dc 100644
|
||||
--- a/ld/ldlex.h
|
||||
+++ b/ld/ldlex.h
|
||||
@@ -49,6 +49,7 @@ enum option_values
|
||||
OPTION_NO_WARN_SEARCH_MISMATCH,
|
||||
OPTION_NOINHIBIT_EXEC,
|
||||
OPTION_NON_SHARED,
|
||||
+ OPTION_STATIC,
|
||||
OPTION_NO_WHOLE_ARCHIVE,
|
||||
OPTION_OFORMAT,
|
||||
OPTION_RELAX,
|
||||
diff --git a/ld/lexsup.c b/ld/lexsup.c
|
||||
index 2f71750..a366613 100644
|
||||
--- a/ld/lexsup.c
|
||||
+++ b/ld/lexsup.c
|
||||
@@ -269,9 +269,9 @@ static const struct ld_option ld_options[] =
|
||||
'\0', NULL, N_("Do not link against shared libraries"), ONE_DASH },
|
||||
{ {"dn", no_argument, NULL, OPTION_NON_SHARED},
|
||||
'\0', NULL, NULL, ONE_DASH },
|
||||
- { {"non_shared", no_argument, NULL, OPTION_NON_SHARED},
|
||||
+ { {"non_shared", no_argument, NULL, OPTION_STATIC},
|
||||
'\0', NULL, NULL, ONE_DASH },
|
||||
- { {"static", no_argument, NULL, OPTION_NON_SHARED},
|
||||
+ { {"static", no_argument, NULL, OPTION_STATIC},
|
||||
'\0', NULL, NULL, ONE_DASH },
|
||||
{ {"Bsymbolic", no_argument, NULL, OPTION_SYMBOLIC},
|
||||
'\0', NULL, N_("Bind global references locally"), ONE_DASH },
|
||||
@@ -523,6 +523,7 @@ parse_args (unsigned argc, char **argv)
|
||||
struct option *really_longopts;
|
||||
int last_optind;
|
||||
enum report_method how_to_report_unresolved_symbols = RM_GENERATE_ERROR;
|
||||
+ bfd_boolean seen_pie = FALSE, seen_shared = FALSE, seen_static = FALSE;
|
||||
|
||||
shortopts = (char *) xmalloc (OPTION_COUNT * 3 + 2);
|
||||
longopts = (struct option *)
|
||||
@@ -707,6 +708,8 @@ parse_args (unsigned argc, char **argv)
|
||||
case OPTION_CALL_SHARED:
|
||||
input_flags.dynamic = TRUE;
|
||||
break;
|
||||
+ case OPTION_STATIC:
|
||||
+ seen_static = TRUE;
|
||||
case OPTION_NON_SHARED:
|
||||
input_flags.dynamic = FALSE;
|
||||
break;
|
||||
@@ -1087,6 +1090,7 @@ parse_args (unsigned argc, char **argv)
|
||||
case OPTION_SHARED:
|
||||
if (config.has_shared)
|
||||
{
|
||||
+ seen_shared = TRUE;
|
||||
link_info.shared = TRUE;
|
||||
/* When creating a shared library, the default
|
||||
behaviour is to ignore any unresolved references. */
|
||||
@@ -1101,6 +1105,7 @@ parse_args (unsigned argc, char **argv)
|
||||
case OPTION_PIE:
|
||||
if (config.has_shared)
|
||||
{
|
||||
+ seen_pie = TRUE;
|
||||
link_info.shared = TRUE;
|
||||
link_info.pie = TRUE;
|
||||
}
|
||||
@@ -1445,6 +1450,16 @@ parse_args (unsigned argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
+ if (seen_shared)
|
||||
+ {
|
||||
+ if (seen_pie)
|
||||
+ einfo (_("%P%F: -shared and -pie are incompatible\n"));
|
||||
+ if (seen_static)
|
||||
+ einfo (_("%P%F: -shared and -static are incompatible\n"));
|
||||
+ }
|
||||
+ if (seen_pie && seen_static)
|
||||
+ einfo (_("%P%F: -pie and -static are incompatible\n"));
|
||||
+
|
||||
while (ingroup)
|
||||
{
|
||||
lang_leave_group ();
|
||||
diff --git a/ld/testsuite/ld-elf/pr16428a.d b/ld/testsuite/ld-elf/pr16428a.d
|
||||
new file mode 100644
|
||||
index 0000000..8f5e833
|
||||
--- /dev/null
|
||||
+++ b/ld/testsuite/ld-elf/pr16428a.d
|
||||
@@ -0,0 +1,4 @@
|
||||
+#source: start.s
|
||||
+#ld: -shared -static
|
||||
+#target: *-*-linux* *-*-gnu* *-*-nacl*
|
||||
+#error: -shared and -static are incompatible
|
||||
diff --git a/ld/testsuite/ld-elf/pr16428b.d b/ld/testsuite/ld-elf/pr16428b.d
|
||||
new file mode 100644
|
||||
index 0000000..f4ccba0
|
||||
--- /dev/null
|
||||
+++ b/ld/testsuite/ld-elf/pr16428b.d
|
||||
@@ -0,0 +1,4 @@
|
||||
+#source: start.s
|
||||
+#ld: -shared -non_shared
|
||||
+#target: *-*-linux* *-*-gnu* *-*-nacl*
|
||||
+#error: -shared and -static are incompatible
|
||||
diff --git a/ld/testsuite/ld-elf/pr16428c.d b/ld/testsuite/ld-elf/pr16428c.d
|
||||
new file mode 100644
|
||||
index 0000000..747e8da
|
||||
--- /dev/null
|
||||
+++ b/ld/testsuite/ld-elf/pr16428c.d
|
||||
@@ -0,0 +1,4 @@
|
||||
+#source: start.s
|
||||
+#ld: -shared -pie
|
||||
+#target: *-*-linux* *-*-gnu* *-*-nacl*
|
||||
+#error: -shared and -pie are incompatible
|
||||
diff --git a/ld/testsuite/ld-elf/pr16428d.d b/ld/testsuite/ld-elf/pr16428d.d
|
||||
new file mode 100644
|
||||
index 0000000..6e7a915
|
||||
--- /dev/null
|
||||
+++ b/ld/testsuite/ld-elf/pr16428d.d
|
||||
@@ -0,0 +1,4 @@
|
||||
+#source: start.s
|
||||
+#ld: -pie -static
|
||||
+#target: *-*-linux* *-*-gnu* *-*-nacl*
|
||||
+#error: -pie and -static are incompatible
|
11
debian/patches/pr32392-workaround.diff
vendored
Normal file
11
debian/patches/pr32392-workaround.diff
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/gprofng/libcollector/Makefile.in
|
||||
+++ b/gprofng/libcollector/Makefile.in
|
||||
@@ -441,7 +441,7 @@ CSOURCES = \
|
||||
collector.c \
|
||||
$(NULL)
|
||||
|
||||
-AM_CFLAGS = $(GPROFNG_CFLAGS) $(GPROFNG_NO_NONNULL_COMPARE_CFLAGS)
|
||||
+AM_CFLAGS = $(GPROFNG_CFLAGS) $(GPROFNG_NO_NONNULL_COMPARE_CFLAGS) -Wno-incompatible-pointer-types
|
||||
AM_CPPFLAGS = $(GPROFNG_CPPFLAGS) -I.. -I$(srcdir) \
|
||||
-I$(srcdir)/../common -I$(srcdir)/../src \
|
||||
-I$(srcdir)/../../include
|
37
debian/patches/series
vendored
Normal file
37
debian/patches/series
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
branch-updates.diff
|
||||
branch-version.diff
|
||||
001_ld_makefile_patch.patch
|
||||
002_gprof_profile_arcs.patch
|
||||
003_gprof_see_also_monitor.patch
|
||||
006_better_file_error.patch
|
||||
013_bash_in_ld_testsuite.patch
|
||||
128_ppc64_powerpc_biarch.patch
|
||||
129_multiarch_libpath.patch
|
||||
131_ld_bootstrap_testsuite.patch
|
||||
135_bfd_soversion.patch
|
||||
136_bfd_pic.patch
|
||||
157_ar_scripts_with_tilde.patch
|
||||
#158_ld_system_root.patch
|
||||
|
||||
# only applied for GFDL builds
|
||||
164_ld_doc_remove_xref.diff
|
||||
|
||||
gprof-build.diff
|
||||
aarch64-libpath.diff
|
||||
#pr-ld-16428.diff
|
||||
|
||||
# trunk backports
|
||||
|
||||
libctf-soname.diff
|
||||
|
||||
mips-hack.diff
|
||||
|
||||
perl-shebang.diff
|
||||
env-package-metadata.diff
|
||||
pr32392-workaround.diff
|
||||
|
||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=30033
|
||||
armhf-64k-alignment.diff
|
||||
|
||||
gprofng-examples-tgz-deterministic.diff
|
||||
gprofng-cross-build.diff
|
2066
debian/rules
vendored
Executable file
2066
debian/rules
vendored
Executable file
File diff suppressed because it is too large
Load Diff
236
debian/rules.defs
vendored
Normal file
236
debian/rules.defs
vendored
Normal file
@@ -0,0 +1,236 @@
|
||||
# these macros are also used for binutils & gcc combined builds
|
||||
# these must not conflict with definitions in the gcc packaging
|
||||
|
||||
# GCC must use: BINUTILS_GCCCONF BINUTILS_GCCENV
|
||||
|
||||
# macros that have to be defined before inclusion:
|
||||
# DEB_HOST_ARCH, BASE_VERSION (GCC)
|
||||
|
||||
# only used in the GCC sources
|
||||
bd_binutils_only = file, help2man, libjansson-dev,
|
||||
|
||||
# Map a Debian architecture alias to a GNU type or a multiarch path component.
|
||||
run_dpkg_arch = $(or $(dpkg_arch_$1),$(eval \
|
||||
dpkg_arch_$1 := $(shell dpkg-architecture -f -a$1))$(dpkg_arch_$1))
|
||||
_gnu_type = $(call vafilt,$(run_dpkg_arch),DEB_HOST_GNU_TYPE)
|
||||
_multiarch = $(call vafilt,$(run_dpkg_arch),DEB_HOST_MULTIARCH)
|
||||
|
||||
gprofng_archs = amd64 i386 arm64 x32 riscv64
|
||||
|
||||
ifneq (,$(filter $(DEB_HOST_ARCH), $(gprofng_archs)))
|
||||
with_gprofng = yes
|
||||
CONF_GPROFNG = --enable-gprofng
|
||||
ifeq (,$(findstring pkg.binutils.nojava, $(DEB_BUILD_PROFILES)))
|
||||
CONF_GPROFNG += --with-jdk=/usr/lib/jvm/default-java
|
||||
endif
|
||||
endif
|
||||
|
||||
gold_targets = \
|
||||
amd64 arm64 armel armhf i386 \
|
||||
powerpc ppc64 ppc64el sparc sparc64 s390x \
|
||||
x32 hurd-amd64 hurd-i386
|
||||
# cannot handles gnu hashstyle
|
||||
#gold_targets += \
|
||||
mips mipsel mipsn32 mipsn32el mips64 mips64el \
|
||||
mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
|
||||
|
||||
gold_build = deprecated
|
||||
|
||||
ifeq ($(gold_build),included)
|
||||
ifneq (,$(filter $(DEB_HOST_ARCH), $(gold_targets)))
|
||||
with_gold = yes
|
||||
gold_substvars = -Vgold:Provides=binutils-gold
|
||||
gold_natsubstvars =
|
||||
endif
|
||||
else ifeq ($(gold_build),split)
|
||||
ifneq (,$(filter $(DEB_HOST_ARCH), $(gold_targets)))
|
||||
with_gold =
|
||||
gold_substvars = -Vgold:Depends=binutils-gold
|
||||
gold_natsubstvars = -Vgoldnat:Depends=binutils-gold-$(subst _,-,$(DEB_HOST_GNU_TYPE))
|
||||
endif
|
||||
else ifeq ($(gold_build),deprecated)
|
||||
ifneq (,$(filter $(DEB_HOST_ARCH), $(gold_targets)))
|
||||
with_gold =
|
||||
gold_substvars = -Vgold:Suggests=binutils-gold
|
||||
gold_natsubstvars = -Vgoldnat:Suggests=binutils-gold-$(subst _,-,$(DEB_HOST_GNU_TYPE))
|
||||
endif
|
||||
else ifeq ($(gold_build),removed)
|
||||
with_gold =
|
||||
gold_substvars =
|
||||
gold_natsubstvars =
|
||||
endif
|
||||
|
||||
binutils_programs = addr2line ar as c++filt elfedit gprof ld ld.bfd
|
||||
binutils_programs += nm objcopy objdump ranlib readelf size strings strip
|
||||
ifeq ($(with_gold),yes)
|
||||
binutils_programs += gold ld.gold dwp
|
||||
endif
|
||||
|
||||
BINUTILS_BASECONF = \
|
||||
--disable-silent-rules \
|
||||
--enable-obsolete \
|
||||
--enable-plugins \
|
||||
--enable-threads \
|
||||
--enable-jansson \
|
||||
--enable-default-hash-style=gnu \
|
||||
--enable-deterministic-archives \
|
||||
--disable-compressed-debug-sections \
|
||||
--enable-new-dtags \
|
||||
--disable-x86-used-note \
|
||||
--disable-default-execstack \
|
||||
--with-gold-ldflags=-static-libstdc++
|
||||
|
||||
DEB_TARGET_MULTIARCH32_amd64 = i386-linux-gnu
|
||||
DEB_TARGET_MULTIARCHX32_amd64 = x86_64-linux-gnux32
|
||||
|
||||
DEB_TARGET_MULTIARCH32_x32 = i386-linux-gnu
|
||||
DEB_TARGET_MULTIARCH64_x32 = x86_64-linux-gnu
|
||||
|
||||
DEB_TARGET_MULTIARCH32_powerpc = powerpc-linux-gnu
|
||||
|
||||
DEB_TARGET_MULTIARCH32_s390x = s390-linux-gnu
|
||||
|
||||
DEB_TARGET_MULTIARCH32_sparc64 = sparc-linux-gnu
|
||||
|
||||
DEB_TARGET_MULTIARCH64_i386 = x86_64-linux-gnu
|
||||
DEB_TARGET_MULTIARCHX32_i386 = x86_64-linux-gnux32
|
||||
|
||||
DEB_TARGET_MULTIARCH64_powerpc = powerpc64-linux-gnu
|
||||
|
||||
DEB_TARGET_MULTIARCH64_sparc = sparc64-linux-gnu
|
||||
|
||||
DEB_TARGET_MULTIARCH64_s390 = s390x-linux-gnu
|
||||
|
||||
DEB_TARGET_MULTIARCH64_mips = mips64-linux-gnuabi64
|
||||
DEB_TARGET_MULTIARCHN32_mips = mips64-linux-gnuabin32
|
||||
|
||||
DEB_TARGET_MULTIARCH64_mipsel = mips64el-linux-gnuabi64
|
||||
DEB_TARGET_MULTIARCHN32_mipsel = mips64el-linux-gnuabin32
|
||||
|
||||
DEB_TARGET_MULTIARCH64_mipsn32 = mips64-linux-gnuabi64
|
||||
DEB_TARGET_MULTIARCH32_mipsn32 = mips-linux-gnu
|
||||
|
||||
DEB_TARGET_MULTIARCH64_mipsn32el = mips64el-linux-gnuabi64
|
||||
DEB_TARGET_MULTIARCH32_mipsn32el = mipsel-linux-gnu
|
||||
|
||||
DEB_TARGET_MULTIARCH32_mips64 = mips-linux-gnu
|
||||
DEB_TARGET_MULTIARCHN32_mips64 = mips64-linux-gnuabin32
|
||||
|
||||
DEB_TARGET_MULTIARCH32_mips64el = mipsel-linux-gnu
|
||||
DEB_TARGET_MULTIARCHN32_mips64el = mips64el-linux-gnuabin32
|
||||
|
||||
DEB_TARGET_MULTIARCH64_mipsr6 = mipsisa64r6-linux-gnuabi64
|
||||
DEB_TARGET_MULTIARCHN32_mipsr6 = mipsisa64r6-linux-gnuabin32
|
||||
|
||||
DEB_TARGET_MULTIARCH64_mipsr6el = mipsisa64r6el-linux-gnuabi64
|
||||
DEB_TARGET_MULTIARCHN32_mipsr6el = mipsisa64r6el-linux-gnuabin32
|
||||
|
||||
DEB_TARGET_MULTIARCH64_mipsn32r6 = mipsisa64r6-linux-gnuabi64
|
||||
DEB_TARGET_MULTIARCH32_mipsn32r6 = mipsisa32r6-linux-gnu
|
||||
|
||||
DEB_TARGET_MULTIARCH64_mipsn32r6el = mipsisa64r6el-linux-gnuabi64
|
||||
DEB_TARGET_MULTIARCH32_mipsn32r6el = mipsisa32r6el-linux-gnu
|
||||
|
||||
DEB_TARGET_MULTIARCH32_mips64r6 = mipsisa32r6-linux-gnu
|
||||
DEB_TARGET_MULTIARCHN32_mips64r6 = mipsisa64r6-linux-gnuabin32
|
||||
|
||||
DEB_TARGET_MULTIARCH32_mips64r6el = mipsisa32r6el-linux-gnu
|
||||
DEB_TARGET_MULTIARCHN32_mips64r6el = mipsisa64r6el-linux-gnuabin32
|
||||
|
||||
DEB_TARGET_MULTIARCH32_arm64 = aarch64_ilp32-linux-gnu
|
||||
|
||||
SET_BINUTILS_MULTIARCH_ENV = \
|
||||
DEB_TARGET_MULTIARCH=$(call _multiarch,$1) \
|
||||
$(if $(DEB_TARGET_MULTIARCH32_$1) ,DEB_TARGET_MULTIARCH32=$(DEB_TARGET_MULTIARCH32_$1)) \
|
||||
$(if $(DEB_TARGET_MULTIARCH64_$1) ,DEB_TARGET_MULTIARCH64=$(DEB_TARGET_MULTIARCH64_$1)) \
|
||||
$(if $(DEB_TARGET_MULTIARCHX32_$1),DEB_TARGET_MULTIARCHX32=$(DEB_TARGET_MULTIARCHX32_$1)) \
|
||||
$(if $(DEB_TARGET_MULTIARCHN32_$1),DEB_TARGET_MULTIARCHN32=$(DEB_TARGET_MULTIARCHN32_$1))
|
||||
|
||||
# see https://bugs.debian.org/1098970,
|
||||
# --enable-warn-rwx-segments not enabled on hppa, sparc, sparc64
|
||||
|
||||
CONFARGS_TARGET_sparc = --enable-targets=sparc64-linux-gnu
|
||||
CONFLICTS_TARGET_sparc = -VextraConflicts="libc6-dev-sparc64 (<< 2.2.5-7)"
|
||||
|
||||
CONFARGS_TARGET_sparc64 = --enable-targets=sparc-linux-gnu
|
||||
CONFLICTS_TARGET_sparc64 = -VextraConflicts="libc6-dev-sparc64 (<< 2.2.5-7)"
|
||||
|
||||
CONFARGS_TARGET_powerpc = --enable-targets=powerpc64-linux-gnu \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_ppc64 = --enable-targets=powerpc-linux-gnu \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_ppc64el = --enable-targets=powerpc-linux-gnu \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_s390 = --enable-targets=s390x-linux-gnu \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_s390x = --enable-targets=s390-linux-gnu \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_amd64 = --enable-targets=i686-linux-gnu,x86_64-linux-gnux32,x86_64-pep \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_i386 = --enable-targets=x86_64-linux-gnu,x86_64-linux-gnux32,x86_64-pep \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_x32 = --enable-targets=i686-linux-gnu,x86_64-linux-gnu,x86_64-pep \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFLICTS_TARGET_amd64 = -VextraConflicts="binutils-mingw-w64-i686 (<< 2.23.52.20130612-1+3), binutils-mingw-w64-x86-64 (<< 2.23.52.20130612-1+3)"
|
||||
CONFLICTS_TARGET_i386 = $(CONFLICTS_TARGET_amd64)
|
||||
CONFLICTS_TARGET_x32 = $(CONFLICTS_TARGET_amd64)
|
||||
|
||||
CONFARGS_TARGET_riscv64 = --with-isa-spec=2.2 --enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_mips = --enable-targets=mips64-linux-gnuabi64,mips64-linux-gnuabin32 \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_mipsel = --enable-targets=mips64el-linux-gnuabi64,mips64el-linux-gnuabin32 \
|
||||
--enable-mips-fix-loongson3-llsc=yes --enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_mipsn32 = --enable-targets=mips64-linux-gnuabi64,mips-linux-gnu \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_mipsn32el = --enable-targets=mips64el-linux-gnuabi64,mipsel-linux-gnu \
|
||||
--enable-mips-fix-loongson3-llsc=yes --enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_mips64 = --enable-targets=mips64-linux-gnuabin32,mips-linux-gnu \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_mips64el = --enable-targets=mips64el-linux-gnuabin32,mipsel-linux-gnu \
|
||||
--enable-mips-fix-loongson3-llsc=yes --enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_mipsr6 = --enable-targets=mipsisa64r6-linux-gnuabi64,mipsisa64r6-linux-gnuabin32 \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_mipsr6el = --enable-targets=mipsisa64r6el-linux-gnuabi64,mipsisa64r6el-linux-gnuabin32 \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_mipsn32r6 = --enable-targets=mipsisa64r6-linux-gnuabi64,mipsisa32r6-linux-gnu \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_mipsn32r6el = --enable-targets=mipsisa64r6el-linux-gnuabi64,mipsisa32r6el-linux-gnu \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_mips64r6 = --enable-targets=mipsisa64r6-linux-gnuabin32,mipsisa32r6-linux-gnu \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_mips64r6el = --enable-targets=mipsisa64r6el-linux-gnuabin32,mipsisa32r6el-linux-gnu \
|
||||
--enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_aarch64 = --enable-targets=aarch64_be-linux-gnu --enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_arc = --with-cpu=hs38_linux --enable-warn-rwx-segments
|
||||
|
||||
CONFARGS_TARGET_hppa = --enable-targets=hppa64-linux-gnu
|
||||
|
||||
BINUTILS_GCCCONF = $(BINUTILS_BASECONF) $(CONFARGS_TARGET_$(DEB_HOST_ARCH))
|
||||
ifeq ($(with_gold),yes)
|
||||
BINUTILS_GCCCONF += --enable-ld=default --enable-gold
|
||||
endif
|
||||
BINUTILS_GCCCONF += $(CONF_GPROFNG)
|
||||
|
||||
BINUTILS_GCCENV = BFD_SOVER_EXT=-tc$(BASE_VERSION) CTF_SOVER_EXT=-tc$(BASE_VERSION)
|
12
debian/source.lintian-overrides
vendored
Normal file
12
debian/source.lintian-overrides
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
# handled via diversions
|
||||
binutils source: binaries-have-file-conflict
|
||||
|
||||
# wrong positive
|
||||
binutils source: license-problem-gfdl-invariants
|
||||
|
||||
# yes, we know what we are doing
|
||||
debian-rules-sets-dpkg-architecture-variable
|
||||
|
||||
# test data
|
||||
binutils source: source-is-missing [binutils/testsuite/binutils-all/nfp/test1_nfp6000.nffw]
|
||||
binutils source: source-is-missing [binutils/testsuite/binutils-all/nfp/test2_nfp6000.nffw]
|
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
@@ -0,0 +1 @@
|
||||
3.0 (quilt)
|
259
debian/test-suite-compare.py
vendored
Normal file
259
debian/test-suite-compare.py
vendored
Normal file
@@ -0,0 +1,259 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
# Quick'n'dirty regression check for dejagnu testsuites
|
||||
# Copyright (C) 2003, 2004, 2005, 2006, 2007 James Troup <james@nocrew.org>
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU;5B General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
################################################################################
|
||||
|
||||
import optparse
|
||||
import os
|
||||
import sys
|
||||
|
||||
################################################################################
|
||||
|
||||
ignored_regressions = {
|
||||
# 'gprofng.display/gp-collect-app_F.exp': ('tmpdir/gp-collect-app_F',),
|
||||
'gprofng.display/display.exp': ('mttest', 'synprog',),
|
||||
# 'ld-bootstrap/bootstrap.exp': ('*',),
|
||||
# 'ld-ifunc/ifunc.exp': ('Run pr18841 with libpr18841c.so', 'Run pr18841 with libpr18841cn.so (-z now)'),
|
||||
# 'ld-loongarch-elf/pic.exp': ('nopic link exec test',),
|
||||
# 'ld-x86-64/x86-64.exp': ('*',),
|
||||
}
|
||||
#ignored_regressions = {}
|
||||
|
||||
def ignore_regression(section, test):
|
||||
ign_tests = ignored_regressions.get(section)
|
||||
if ign_tests == None:
|
||||
return False
|
||||
return ign_tests[0] == '*' or test in ign_tests
|
||||
|
||||
################################################################################
|
||||
|
||||
def fubar(msg, exit_code=1):
|
||||
sys.stderr.write("E: %s\n" % (msg))
|
||||
sys.exit(exit_code)
|
||||
|
||||
def warn(msg):
|
||||
sys.stderr.write("W: %s\n" % (msg))
|
||||
|
||||
def info(msg):
|
||||
sys.stderr.write("I: %s\n" % (msg))
|
||||
|
||||
################################################################################
|
||||
|
||||
def read_testsummary(filename):
|
||||
results = {}
|
||||
file = open(filename)
|
||||
for line in file.readlines():
|
||||
if not line:
|
||||
continue
|
||||
if line.startswith("Running"):
|
||||
s = line.split()
|
||||
if "/" in s[1]:
|
||||
x = s[1]
|
||||
if x.find("/testsuite/") == -1:
|
||||
fubar("Can't find /testsuite/ in '%s'." % (x))
|
||||
# 'Running /home/james/debian/packages/binutils/binutils-2.14.90.0.7/gas/testsuite/gas/hppa/unsorted/unsorted.exp ...' -> 'gas/hppa/unsorted/unsorted.exp'
|
||||
# ... since using basename() isn't dupe safe.
|
||||
section = x[x.find("/testsuite/"):].replace("/testsuite/","").split()[0]
|
||||
|
||||
# Tests can be duplicated, e.g. hppa/basic/basic.exp
|
||||
# is run twice, once for hppa-linux and once for
|
||||
# hppa64-linux. This is of course a horrible bodge,
|
||||
# but I can't think of anything trivial and better off
|
||||
# hand.
|
||||
|
||||
if section in results:
|
||||
extra = 1
|
||||
too_many = 10
|
||||
while section in results and extra < too_many:
|
||||
section = "%s.%s" % (section, extra)
|
||||
extra += 1
|
||||
if extra >= too_many:
|
||||
fubar("gave up trying to unduplicate %s." % (section))
|
||||
|
||||
results[section] = {}
|
||||
continue
|
||||
|
||||
got_state = 0
|
||||
for state in [ "PASS", "XPASS", "FAIL", "XFAIL", "UNRESOLVED",
|
||||
"UNTESTED", "UNSUPPORTED" ]:
|
||||
if line.startswith(state):
|
||||
s = line.split(':')
|
||||
state = s[0]
|
||||
test = ':'.join(s[1:]).strip()
|
||||
if test in results:
|
||||
warn("%s/%s is duplicated." % (section, test))
|
||||
results[section][test] = state
|
||||
got_state = 1
|
||||
break
|
||||
|
||||
if got_state:
|
||||
continue
|
||||
|
||||
return results
|
||||
|
||||
################################################################################
|
||||
|
||||
def compare_results(old, new):
|
||||
total_num = 0
|
||||
pass_count = 0
|
||||
fail_count = 0
|
||||
xfail_count = 0
|
||||
untested_count = 0
|
||||
regression_count = 0
|
||||
ign_regression_count = 0
|
||||
progression_count = 0
|
||||
change_count = 0
|
||||
|
||||
for section in list(new.keys()):
|
||||
for test in list(new[section].keys()):
|
||||
state = new[section][test]
|
||||
|
||||
# Stats pr0n
|
||||
total_num += 1
|
||||
if state == "PASS" or state == "XPASS":
|
||||
pass_count += 1
|
||||
elif state == "FAIL" or state == "UNRESOLVED":
|
||||
fail_count += 1
|
||||
elif state == "XFAIL":
|
||||
xfail_count += 1
|
||||
elif state == "UNTESTED":
|
||||
untested_count += 1
|
||||
|
||||
# Compare to old
|
||||
if section not in old:
|
||||
continue
|
||||
if test not in old[section]:
|
||||
continue
|
||||
old_state = old[section][test]
|
||||
if state == "PASS":
|
||||
if old_state != "PASS":
|
||||
progression_count += 1
|
||||
info("[%s] progression (%s -> %s): %s" % (section, old_state, state, test))
|
||||
elif state == "XPASS":
|
||||
if old_state != "XPASS" and old_state != "PASS":
|
||||
progression_count += 1
|
||||
warn("[%s] %s: %s" % (section, state, test))
|
||||
elif state == "FAIL":
|
||||
if old_state != "FAIL":
|
||||
if ignore_regression(section, test):
|
||||
ign_regression_count += 1
|
||||
warn("[%s] IGNORED REGRESSION (%s -> %s): %s" % (section, old_state, state, test))
|
||||
else:
|
||||
regression_count += 1
|
||||
warn("[%s] REGRESSION (%s -> %s): %s" % (section, old_state, state, test))
|
||||
elif state == "XFAIL":
|
||||
if old_state != "XFAIL":
|
||||
change_count += 1
|
||||
info("[%s] change (%s -> %s): %s" % (section, old_state, state, test))
|
||||
elif state == "UNRESOLVED":
|
||||
if old_state != "UNRESOLVED" and old_state != "FAIL":
|
||||
if ignore_regression(section, test):
|
||||
ign_regression_count += 1
|
||||
warn("[%s] IGNORED REGRESSION (%s -> %s): %s" % (section, old_state, state, test))
|
||||
else:
|
||||
regression_count += 1
|
||||
warn("[%s] REGRESSION (%s -> %s): %s" % (section, old_state, state, test))
|
||||
if old_state == "FAIL":
|
||||
change_count += 1
|
||||
info("[%s] change (%s -> %s): %s" % (section, old_state, state, test))
|
||||
elif state == "UNTESTED":
|
||||
if old_state != "UNTESTED":
|
||||
change_count += 1
|
||||
warn("[%s] REGRESSION (%s -> %s): %s" % (section, old_state, state, test))
|
||||
|
||||
if ign_regression_count:
|
||||
print("%d IGNORED REGRESSIONS (%.2f%%)." % (ign_regression_count, (float(ign_regression_count)/total_num)*100))
|
||||
if regression_count:
|
||||
print("%d REGRESSIONS (%.2f%%)." % (regression_count, (float(regression_count)/total_num)*100))
|
||||
if progression_count:
|
||||
print("%d progressions (%.2f%%)." % (progression_count, (float(progression_count)/total_num)*100))
|
||||
|
||||
if change_count:
|
||||
print("%d changes (%.2f%%)." % (change_count, (float(change_count)/total_num)*100))
|
||||
|
||||
print("%d tests: %d pass (%.2f%%), %d fail (%.2f%%), %d xfail (%.2f%%) %d untested (%.2f%%)." \
|
||||
% (total_num, pass_count, (float(pass_count)/total_num)*100,
|
||||
fail_count, (float(fail_count)/total_num)*100,
|
||||
xfail_count, (float(xfail_count)/total_num)*100,
|
||||
untested_count, (float(untested_count)/total_num)*100))
|
||||
|
||||
if regression_count:
|
||||
sys.exit(1)
|
||||
|
||||
################################################################################
|
||||
|
||||
def compare_multiple(directory, first_version, second_version):
|
||||
architectures = [ "alpha", "arm", "hppa", "i386", "ia64", "mips",
|
||||
"m68k", "mipsel", "powerpc", "s390", "sparc" ]
|
||||
|
||||
for arch in architectures:
|
||||
print("*********************************** %s ******************************" % (arch))
|
||||
second_filename = "%s/%s_%s" % (directory, second_version, arch)
|
||||
if not os.path.exists(second_filename):
|
||||
print(" -- NOT AVAILABLE --")
|
||||
continue
|
||||
|
||||
new = read_testsummary(second_filename)
|
||||
first_filename = "%s/%s_%s" % (directory, first_version, arch)
|
||||
old = read_testsummary(first_filename)
|
||||
compare_results(old, new)
|
||||
|
||||
################################################################################
|
||||
|
||||
def init():
|
||||
"""Initalization, including parsing of options."""
|
||||
|
||||
usage = """usage: %prog [OPTIONS] <OLD> <NEW>
|
||||
compare (binutils) dejagnu testsuite results.
|
||||
|
||||
Example usage:
|
||||
|
||||
test-suite-compare.py binutils-2.17/test-summary binutils-2.18/test-summary
|
||||
|
||||
Or to compare across all architectures (with test results stored in a
|
||||
'test-summary' directory):
|
||||
|
||||
test-suite-compare.py -mtest-summary 2.17-3 2.18-1"""
|
||||
parser = optparse.OptionParser(usage)
|
||||
parser.add_option("-m", "--multiple", dest="multiple",
|
||||
nargs=1, type="string",
|
||||
help="compare multiple architectures")
|
||||
(options, args) = parser.parse_args()
|
||||
|
||||
if len(args) > 2 or len(args) < 2:
|
||||
parser.error("takes 2 arguments (old and new)")
|
||||
(old_version, new_version) = args
|
||||
|
||||
return options, old_version, new_version
|
||||
|
||||
################################################################################
|
||||
|
||||
def main():
|
||||
(options, old_version, new_version) = init()
|
||||
if options.multiple:
|
||||
compare_multiple(options.multiple, old_version, new_version)
|
||||
else:
|
||||
old = read_testsummary(old_version)
|
||||
new = read_testsummary(new_version)
|
||||
compare_results(old, new)
|
||||
|
||||
################################################################################
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
21
debian/tests/build
vendored
Normal file
21
debian/tests/build
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
CPUS=$(getconf _NPROCESSORS_ONLN)
|
||||
case "$CPUS" in
|
||||
[0-9]|[0-9][0-9]|[0-9][0-9][0-9]) ;;
|
||||
*) CPUS=1
|
||||
esac
|
||||
|
||||
if [ -n "${DEB_HOST_ARCH:-}" ]; then
|
||||
CROSS="-a$DEB_HOST_ARCH"
|
||||
else
|
||||
CROSS=
|
||||
fi
|
||||
|
||||
echo "Memory on this machine:"
|
||||
egrep '^(Mem|Swap)' /proc/meminfo || true
|
||||
|
||||
set -x
|
||||
DEB_BUILD_OPTIONS="parallel=$CPUS nohppa nomult nocross" dpkg-buildpackage -d -B --no-sign $CROSS
|
19
debian/tests/control
vendored
Normal file
19
debian/tests/control
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
Tests: build
|
||||
# this doesn't work well, without building -hppa, -multiarch and -cross packages
|
||||
#Depends: build-essential
|
||||
#Restrictions: build-needed
|
||||
Depends: build-essential,
|
||||
fakeroot,
|
||||
autoconf (>= 2.64),
|
||||
bison, flex, gettext, texinfo, dejagnu, quilt, chrpath, dwz, debugedit (>= 4.16),
|
||||
python3:any, file, xz-utils, lsb-release, zlib1g-dev, procps, libstdc++-dev,
|
||||
libjansson-dev, pkg-config,
|
||||
default-jdk-headless [amd64 arm64 i386 riscv64 x32],
|
||||
# build process emits warnings on stderr
|
||||
Restrictions: allow-stderr
|
||||
|
||||
Tests: libc-link
|
||||
Depends: build-essential
|
||||
|
||||
Tests: shlib-build
|
||||
Depends: build-essential
|
29
debian/tests/libc-link
vendored
Normal file
29
debian/tests/libc-link
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
# autopkgtest check: Build and run a simple program against libc, to verify
|
||||
# basic binutils compile-time and run-time linking functionality.
|
||||
#
|
||||
# (C) 2012 Canonical Ltd.
|
||||
# Author: Martin Pitt <martin.pitt@ubuntu.com>
|
||||
|
||||
set -e
|
||||
|
||||
WORKDIR=$(mktemp -d)
|
||||
trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
|
||||
cd $WORKDIR
|
||||
cat <<EOF > libctest.c
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
assert (1 > 0);
|
||||
assert (strcmp ("hello", "hello") == 0);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
gcc -o libctest libctest.c
|
||||
echo "build: OK"
|
||||
[ -x libctest ]
|
||||
./libctest
|
||||
echo "run: OK"
|
44
debian/tests/shlib-build
vendored
Normal file
44
debian/tests/shlib-build
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
# autopkgtest check: Build and link against a simple shared library, to test
|
||||
# basic binutils compile-time and run-time linking functionality.
|
||||
#
|
||||
# (C) 2012 Canonical Ltd.
|
||||
# Author: Martin Pitt <martin.pitt@ubuntu.com>
|
||||
|
||||
set -e
|
||||
|
||||
WORKDIR=$(mktemp -d)
|
||||
trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
|
||||
cd $WORKDIR
|
||||
cat <<EOF > testlib.c
|
||||
|
||||
int ultimate_answer()
|
||||
{
|
||||
return 42;
|
||||
}
|
||||
EOF
|
||||
|
||||
gcc -Wall -Werror -shared -o libultimate.so testlib.c
|
||||
echo "library build: OK"
|
||||
|
||||
# should export the symbol
|
||||
nm -D libultimate.so | grep -q 'T ultimate_answer'
|
||||
|
||||
# link it against a program
|
||||
cat <<EOF > testprog.c
|
||||
#include <assert.h>
|
||||
|
||||
int ultimate_answer();
|
||||
|
||||
int main()
|
||||
{
|
||||
assert (ultimate_answer() == 42);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
gcc -Wall -Werror -L . -o testprog testprog.c -lultimate
|
||||
echo "program build: OK"
|
||||
[ -x testprog ]
|
||||
LD_LIBRARY_PATH=. ./testprog
|
||||
echo "run: OK"
|
2
debian/watch
vendored
Normal file
2
debian/watch
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
version=4
|
||||
http://ftp.gnu.org/gnu/binutils/binutils-([\d\.]*).tar.gz
|
Reference in New Issue
Block a user