From 2981d27df6ca73a688fbc53718b56ae9c8b4ba55 Mon Sep 17 00:00:00 2001 From: Chris R Date: Sat, 7 Nov 2026 13:14:19 +1100 Subject: [PATCH 1/2] Retain exact Ubuntu patch text for caller preservation proof --- .../source/UBUNTU-SOURCE-BUNDLE-v1.json | 422 ++++++++++++++++++ 1 file changed, 422 insertions(+) create mode 100644 research/h25-caller-proof-completion/source/UBUNTU-SOURCE-BUNDLE-v1.json diff --git a/research/h25-caller-proof-completion/source/UBUNTU-SOURCE-BUNDLE-v1.json b/research/h25-caller-proof-completion/source/UBUNTU-SOURCE-BUNDLE-v1.json new file mode 100644 index 0000000000..72ede5d94d --- /dev/null +++ b/research/h25-caller-proof-completion/source/UBUNTU-SOURCE-BUNDLE-v1.json @@ -0,0 +1,422 @@ +{ + "schema": "exact-ubuntu-binutils-source-text-bundle-v1", + "source_package": "binutils2.42-4ubuntu2.10", + "archive_bytes": 196552, + "archive_sha256": "6acc777971890cb1efaeeb33a0a5358651c71067ced69dcfd59da7d0977f7530", + "original_archive_bytes": 27567160, + "original_archive_sha256": "f6e4d41fd5fc778b06b7891457b3620da5ecea1006c6a4a41ae998109f85a800", + "source_url": "https://launchpad.net/ubuntu/+source/binutils/2.42-4ubuntu2.10", + "exact_order": [ + "branch-updates.diff", + "branch-version.diff", + "bpf-updates.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", + "130_gold_disable_testsuite_build.patch", + "131_ld_bootstrap_testsuite.patch", + "135_bfd_soversion.patch", + "136_bfd_pic.patch", + "157_ar_scripts_with_tilde.patch", + "161_gold_dummy_zoption.diff", + "164_ld_doc_remove_xref.diff", + "gprof-build.diff", + "aarch64-libpath.diff", + "gold-no-keep-files-mapped.diff", + "libctf-soname.diff", + "mips-hack.diff", + "perl-shebang.diff", + "link-jansson.diff", + "env-package-metadata.diff", + "CVE-2024-57360.patch", + "CVE-2025-0840.patch", + "CVE-2025-1153.patch", + "CVE-2025-1176.patch", + "CVE-2025-1178.patch", + "CVE-2025-1181-pre.patch", + "CVE-2025-1181.patch", + "CVE-2025-1182.patch", + "CVE-2025-11082.patch", + "CVE-2025-11083.patch", + "CVE-2025-1147.patch", + "CVE-2025-1148.patch", + "CVE-2025-3198.patch", + "CVE-2025-5244.patch", + "CVE-2025-5245.patch", + "CVE-2025-7545.patch", + "CVE-2025-7546.patch", + "CVE-2025-8225.patch", + "CVE-2025-11839.patch", + "CVE-2025-11840.patch", + "CVE-2025-11412.patch", + "CVE-2025-11413.patch", + "CVE-2025-11414.patch", + "CVE-2025-11494.patch", + "lp-2108997-s390-Simplify-dis-assembly-of-insn-operands.patch", + "lp-2108997-s390-Add-arch15-instructions.patch", + "lp-2108997-s390-Add-support-for-z17-as-CPU-name.patch", + "lp-2108997-s390-Add-arch15-Concurrent-Functions-Facility-insns.patch", + "lp-2108997-s390-Add-arch15-instruction-names.patch" + ], + "members": [ + { + "path": "debian/patches/series", + "bytes": 1573, + "sha256": "471736d5ca682f59e71bd3a3eb6b3d8f2913cde6df64358ade1fc1f5b2c32a39", + "content": "branch-updates.diff\nbranch-version.diff\nbpf-updates.diff\n001_ld_makefile_patch.patch\n002_gprof_profile_arcs.patch\n003_gprof_see_also_monitor.patch\n006_better_file_error.patch\n013_bash_in_ld_testsuite.patch\n#014_hash_style-both.patch\n128_ppc64_powerpc_biarch.patch\n129_multiarch_libpath.patch\n130_gold_disable_testsuite_build.patch\n131_ld_bootstrap_testsuite.patch\n135_bfd_soversion.patch\n136_bfd_pic.patch\n157_ar_scripts_with_tilde.patch\n#158_ld_system_root.patch\n161_gold_dummy_zoption.diff\n\n# only applied for GFDL builds\n164_ld_doc_remove_xref.diff\n\ngprof-build.diff\naarch64-libpath.diff\n#pr-ld-16428.diff\ngold-no-keep-files-mapped.diff\n\n# trunk backports\n\n# experimental ...\n#infinity-notes.diff\nlibctf-soname.diff\n\nmips-hack.diff\n\nperl-shebang.diff\n\nlink-jansson.diff\nenv-package-metadata.diff\nCVE-2024-57360.patch\nCVE-2025-0840.patch\nCVE-2025-1153.patch\nCVE-2025-1176.patch\nCVE-2025-1178.patch\nCVE-2025-1181-pre.patch\nCVE-2025-1181.patch\nCVE-2025-1182.patch\nCVE-2025-11082.patch\nCVE-2025-11083.patch\nCVE-2025-1147.patch\nCVE-2025-1148.patch\nCVE-2025-3198.patch\nCVE-2025-5244.patch\nCVE-2025-5245.patch\nCVE-2025-7545.patch\nCVE-2025-7546.patch\nCVE-2025-8225.patch\nCVE-2025-11839.patch\nCVE-2025-11840.patch\nCVE-2025-11412.patch\nCVE-2025-11413.patch\nCVE-2025-11414.patch\nCVE-2025-11494.patch\nlp-2108997-s390-Simplify-dis-assembly-of-insn-operands.patch\nlp-2108997-s390-Add-arch15-instructions.patch\nlp-2108997-s390-Add-support-for-z17-as-CPU-name.patch\nlp-2108997-s390-Add-arch15-Concurrent-Functions-Facility-insns.patch\nlp-2108997-s390-Add-arch15-instruction-names.patch\n" + }, + { + "path": "debian/rules", + "bytes": 74935, + "sha256": "4e63c6a968412dc4e804e7e5917dd722a10adce9b4d1326a0881e27fc09b7e6b", + "content": "#!/usr/bin/make -f\n# debian/rules file - for binutils (2.29)\n# Based on sample debian/rules file - for GNU Hello (1.3).\n# Copyright 1994,1995 by Ian Jackson.\n# Copyright 1998-2007 James Troup.\n# Portions Copyright 2008-2023 Canonical Ltd.\n# Portions Copyright 2008-2023 Matthias Klose.\n# I hereby give you perpetual unlimited permission to copy,\n# modify and relicense this file, provided that you do not remove\n# my name from the file itself. (I assert my moral right of\n# paternity under the Copyright, Designs and Patents Act 1988.)\n# This file may have to be extensively modified\n\n###############################################################################\n\ninclude /usr/share/dpkg/pkg-info.mk\n\nvafilt = $(subst $(2)=,,$(filter $(2)=%,$(1)))\nDPKG_VARS := $(shell dpkg-architecture)\nDEB_BUILD_GNU_TYPE\t?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_GNU_TYPE)\nDEB_HOST_ARCH\t\t?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH)\nDEB_HOST_GNU_CPU\t?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_CPU)\nDEB_HOST_GNU_TYPE\t?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_TYPE)\nDEB_HOST_MULTIARCH\t?= $(call vafilt,$(DPKG_VARS),DEB_HOST_MULTIARCH)\n\ninclude debian/rules.defs\n\nifeq (,$(filter no, $(DEB_RULES_REQUIRES_ROOT)))\n require_root = yes\nendif\nifeq ($(require_root),yes)\n CHOWN = chown\n DPKG_DEB = dpkg-deb\nelse\n CHOWN = : chown\n DPKG_DEB = dpkg-deb --root-owner-group\nendif\n\nifeq (,$(filter $(distrelease),lenny etch squeeze wheezy jessie))\n ifeq ($(DEB_HOST_GNU_TYPE),i586-linux-gnu)\n DEB_BUILD_GNU_TYPE\t= i686-linux-gnu\n DEB_HOST_GNU_CPU\t= i686\n DEB_HOST_GNU_TYPE\t= i686-linux-gnu\n TRIPLET_SYMLINK\t= i586-linux-gnu\n else ifeq ($(DEB_HOST_GNU_TYPE),i586-kfreebsd-gnu)\n DEB_BUILD_GNU_TYPE\t= i686-kfreebsd-gnu\n DEB_HOST_GNU_CPU\t= i686\n DEB_HOST_GNU_TYPE\t= i686-kfreebsd-gnu\n TRIPLET_SYMLINK\t= i586-kfreebsd-gnu\n else ifeq ($(DEB_HOST_GNU_TYPE),i586-gnu)\n DEB_BUILD_GNU_TYPE\t= i686-gnu\n DEB_HOST_GNU_CPU\t= i686\n DEB_HOST_GNU_TYPE\t= i686-gnu\n TRIPLET_SYMLINK\t= i586-gnu\n endif\nendif\n\np_bin = binutils\np_com = $(p_bin)-common\np_lib = lib$(p_bin)\np_nat = $(p_bin)-$(subst _,-,$(DEB_HOST_GNU_TYPE))\np_dev = $(p_bin)-dev\np_mul = $(p_bin)-multiarch\np_mdev = $(p_mul)-dev\np_doc = $(p_bin)-doc\np_hppa64 = $(p_bin)-hppa64-linux-gnu\np_src = $(p_bin)-source\n\np_ctf = libctf0\np_ctfn = libctf-nobfd0\np_gpng = libgprofng0\np_sfrm = libsframe1\n\np_hst = $(p_bin)-for-host\np_bld = $(p_bin)-for-build\n\np_cross = $(p_bin)-$(subst _,-,$(DEB_TARGET_GNU_TYPE))\n\n# version used for p_bld/p_hst dependencies\nmin_ver = 2.30-2\n\ndistribution := $(shell lsb_release -is)\ndistrelease := $(shell lsb_release -cs)\nifeq ($(distrelease),n/a)\n distrelease := sid\nendif\n\n# BACKPORT is used for cross builds for a -source package not conflicting\n# with the source package of the native package.\nifeq ($(BACKPORT),true)\n p_src = $(p_bin)-$(VERSION)-source\nelse\n p_src = $(p_bin)-source\nendif\n\npwd := $(shell pwd)\nd = debian/tmp\nd_bin = $(d)\nd_com = debian/$(p_com)\nd_lib = debian/$(p_lib)\nd_nat = debian/$(p_nat)\nd_dev = debian/$(p_dev)\nd_mul = debian/$(p_mul)\nd_mdev = debian/$(p_mdev)\nd_doc = debian/$(p_doc)\nd_hppa64 = debian/$(p_hppa64)\nd_src = debian/$(p_src)\n\nd_ctf = debian/$(p_ctf)\nd_ctfn = debian/$(p_ctfn)\nd_gpng = debian/$(p_gpng)\nd_sfrm = debian/$(p_sfrm)\n\nd_hst = debian/$(p_hst)\nd_bld = debian/$(p_bld)\n\nd_cross = debian/$(p_cross)\n\ninstall_dir = install -d -m 755\ninstall_file = install -m 644\ninstall_script = install -m 755\ninstall_binary = install -m 755 -s --strip-program=\"$(STRIP)\"\n\nNATIVE_ARCHS ?= amd64 i386 arm64 armhf armel ppc64el s390x\nNATIVE_ARCHS += alpha arc hppa ia64 loong64 m68k powerpc ppc64 \\\n\triscv64 sh4 sparc64 x32\nNATIVE_ARCHS += hurd-amd64 hurd-i386 kfreebsd-amd64 kfreebsd-i386\n#NATIVE_ARCHS += nios2 or1k s390 sparc\n\n# don't generate the control file entries for native packages which are never\n# built. Only valid for Ubuntu. The autopkg testers get confused otherwise\nifneq ($(distribution)-$(CROSS_ARCHS),Ubuntu-)\n NATIVE_ARCHS += mips mipsel mips64 mips64el\n NATIVE_ARCHS += mipsn32 mipsn32el\n NATIVE_ARCHS += mipsn32r6 mipsn32r6el mipsr6 mipsr6el mips64r6 mips64r6el\nendif\n\nwith_cross = yes\nifeq ($(DEB_SOURCE),binutils)\n with_native\t= yes\n same_source\t= yes\n ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 x32))\n # DEB_HOST_ARCH is filtered-out later anyway, do not test here.\n CROSS_ARCHS ?= amd64 i386 x32 \\\n s390x ppc64el arm64 armhf armel \\\n alpha arc hppa loong64 m68k \\\n powerpc ppc64 sh4 sparc64 \\\n ia64 riscv64 \\\n kfreebsd-amd64 kfreebsd-i386 hurd-amd64 hurd-i386\n else ifeq ($(DEB_HOST_ARCH),arm64)\n CROSS_ARCHS ?= amd64 armel armhf i386 powerpc ppc64el riscv64 s390x \\\n\t\t alpha arc hppa loong64 m68k sh4 sparc64 x32\n else ifeq ($(DEB_HOST_ARCH),ppc64)\n CROSS_ARCHS ?= ppc64el\n else ifeq ($(DEB_HOST_ARCH),ppc64el)\n CROSS_ARCHS ?= powerpc ppc64 amd64 armel armhf arm64 i386 riscv64 s390x \\\n\t\t alpha arc hppa loong64 m68k sh4 sparc64 x32\n else ifeq ($(DEB_HOST_ARCH),s390x)\n CROSS_ARCHS ?= amd64 armhf arm64 i386 riscv64 powerpc ppc64 ppc64el\n endif\nelse ifeq ($(DEB_SOURCE),binutils-ports)\n CROSS_ARCHS ?= m68k sh4\nelse ifeq ($(DEB_SOURCE),binutils-mipsen)\n with_native\t=\n same_source\t=\n ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 x32 arm64 ppc64el))\n CROSS_ARCHS ?= mips mipsel mips64el mips64 mipsn32 mipsn32el \\\n mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el\n else ifneq (,$(filter $(DEB_HOST_ARCH), arm64 ppc64el))\n CROSS_ARCHS ?= mipsel mips64el\n endif\nelse\n $(error unexpected source package name: $(DEB_SOURCE))\nendif\n# c-t-b passes this one ...\nCROSS_ARCHS := $(filter-out $(DEB_HOST_ARCH),$(CROSS_ARCHS))\n\nifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 x32 hppa))\n with_hppa64 = yes\nendif\n\nwith_multiarch := yes\n\n# disabled: no build-needed restriction used in the autopkg test\nifeq (0,1)\n# only build the basic package when running the autopkg tests\nifneq (,$(ADT_TEST_TRIGGERS))\n # c-t-b sets CROSS_ARCHS which has to be respected, can't unset it here\n #CROSS_ARCHS :=\n with_hppa64 :=\n with_multiarch :=\nendif\nendif\n\nHOST_ARCHS_armhf = amd64 i386 x32 arm64 ppc64el s390x\nHOST_ARCHS_armel = amd64 i386 x32 arm64 ppc64el\nHOST_ARCHS_arm64 = amd64 i386 x32 ppc64el s390x\nHOST_ARCHS_powerpc = amd64 i386 x32 arm64 ppc64el s390x\nHOST_ARCHS_ppc64el = amd64 i386 x32 ppc64 arm64 s390x\nHOST_ARCHS_s390x = amd64 i386 x32 arm64 ppc64el\nHOST_ARCHS_amd64 = arm64 i386 ppc64el x32 s390x\nHOST_ARCHS_i386 = amd64 arm64 ppc64el x32 s390x\nHOST_ARCHS_ia64 = amd64 i386 x32\nHOST_ARCHS_riscv64 = amd64 i386 x32 arm64 ppc64el s390x\n\nHOST_ARCHS_alpha = amd64 i386 x32 arm64 ppc64el\nHOST_ARCHS_arc = amd64 i386 x32 arm64 ppc64el\nHOST_ARCHS_hppa = amd64 i386 x32 arm64 ppc64el\nHOST_ARCHS_loong64 = amd64 i386 x32 arm64 ppc64el\nHOST_ARCHS_m68k = amd64 i386 x32 arm64 ppc64el\nHOST_ARCHS_ppc64 = amd64 i386 x32 ppc64el s390x\nHOST_ARCHS_sh4 = amd64 i386 x32 arm64 ppc64el\nHOST_ARCHS_sparc64 = amd64 i386 x32 arm64 ppc64el\nHOST_ARCHS_x32 = amd64 arm64 i386 ppc64el\n\nHOST_ARCHS_mips = amd64 i386 x32\nHOST_ARCHS_mipsel = amd64 i386 x32 arm64 ppc64el\nHOST_ARCHS_mipsn32 = amd64 i386 x32\nHOST_ARCHS_mipsn32el = amd64 i386 x32\nHOST_ARCHS_mips64 = amd64 i386 x32\nHOST_ARCHS_mips64el = amd64 i386 x32 arm64 ppc64el\n\nHOST_ARCHS_mipsr6 = amd64 i386 x32\nHOST_ARCHS_mipsr6el = amd64 i386 x32\nHOST_ARCHS_mipsn32r6 = amd64 i386 x32\nHOST_ARCHS_mipsn32r6el = amd64 i386 x32\nHOST_ARCHS_mips64r6 = amd64 i386 x32\nHOST_ARCHS_mips64r6el = amd64 i386 x32\n\nHOST_ARCHS_kfreebsd-amd64 = amd64 i386 x32\nHOST_ARCHS_kfreebsd-i386 = amd64 i386 x32\nHOST_ARCHS_hurd-amd64 = amd64 i386 x32\nHOST_ARCHS_hurd-i386 = amd64 i386 x32\n\n# Convenient shortcuts for {configure,build,install,binary}.%: generic recipes.\nCROSS_ARCH\t= $(subst .,,$(suffix $@))\nCROSS_GNU_TYPE\t= $(subst i586,i686,$(call _gnu_type,$(CROSS_ARCH)))\nP_CROSS\t\t= binutils-$(subst _,-,$(CROSS_GNU_TYPE))\nD_CROSS\t\t= debian/$(P_CROSS)\n\n# If $(TARGET) is not set, try reading debian/target\nifeq (,$(TARGET))\n ifneq (,$(wildcard debian/target))\n TARGET := $(shell cat debian/target 2>/dev/null)\n endif\nendif\n\nifneq (,$(TARGET))\n with_native\t=\n with_cross\t= disabled by TARGET\n same_source\t=\n # Support TARGET both as Debian architecture specification (e.g. arm),\n # and as the target name (e.g. arm-linux-gnu).\n DEB_TARGET_ARCH := $(or $(shell dpkg-architecture -f -t$(TARGET) -qDEB_HOST_ARCH 2>/dev/null),\\\n $(TARGET))\n DEB_TARGET_GNU_TYPE = $(call _gnu_type,$(DEB_TARGET_ARCH))\n DEB_TARGET_MULTIARCH = $(call _multiarch,$(DEB_TARGET_ARCH))\n for_target = $(call run_dpkg_arch,$(DEB_TARGET_ARCH))\nelse\n for_target =\nendif\n\nifneq (,$(TARGET))\n APPEND_TOOLLIBDIR=yes\n export APPEND_TOOLLIBDIR\nendif\n\nifeq (,$(DEB_HOST_MULTIARCH))\n ifeq ($(DEB_HOST_ARCH),i386)\n DEB_HOST_MULTIARCH = i386-linux-gnu\n else\n DEB_HOST_MULTIARCH = $(DEB_HOST_GNU_TYPE)\n endif\nendif\n\nSHELL = /bin/bash\n\ngold_targets = \\\n\tamd64 arm64 armel armhf i386 \\\n\tmips mipsel mipsn32 mipsn32el mips64 mips64el \\\n\tmipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el \\\n\tpowerpc ppc64 ppc64el sparc sparc64 s390x \\\n\tx32 kfreebsd-amd64 kfreebsd-i386 hurd-amd64 hurd-i386\n\nifeq ($(with_gold),yes)\n gold_provides = -Vgold:Provides=binutils-gold\nendif\n\nCFLAGS = -g -O2 -ffile-prefix-map=$(CURDIR)=.\nCXXFLAGS = -g -O2 -ffile-prefix-map=$(CURDIR)=.\nLDFLAGS =\nCROSS := $(DEB_HOST_GNU_TYPE)-\nCC = $(CROSS)gcc\nCXX = $(CROSS)g++\nifneq (,$(shell dpkg-buildflags | grep '^CFLAGS=.*-fno-omit-frame-pointer'))\n CFLAGS += -fno-omit-frame-pointer\n CXXFLAGS += -fno-omit-frame-pointer\nendif\nifneq (,$(shell dpkg-buildflags | grep '^CFLAGS=.*-mbackchain'))\n CFLAGS += -mbackchain\n CXXFLAGS += -mbackchain\nendif\nSTRIP = $(CROSS)strip -R .comment -R .note\nSTRIP_LTO = $(CROSS)strip -R .gnu.lto_* -R .gnu.debuglto_* -N __gnu_lto_slim -N __gnu_lto_v1\n\nifeq (,$(findstring nopgo,$(DEB_BUILD_OPTIONS)))\n ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))\n ifeq (,$(filter $(DEB_HOST_ARCH), mipsel))\n CONF_PGO = --enable-pgo-build=lto\n endif\n endif\nendif\n\nifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))\n CFLAGS = -g -O0\n CONF_PGO =\nendif\n\n# this outputs 0 or 1 depending on whether a macro appears in the *default* cpp\n# -dM -P output; this is used to test the toolchain *default* configuration\ncheck_cpp = $(shell $(CROSS)cpp -dM -P /dev/null | grep -q '^\\#define $(1)' && echo 1 || echo 0)\n\n# testsuite doesn't expect to be built with -mthumb\n# TODO if the testsuite is only broken with Thumb-2 (and not with \"Thumb-1\"),\n# we should test for __thumb2__ instead\nifneq (,$(filter $(DEB_HOST_ARCH), armel armhf))\n ifeq ($(call check_cpp,__thumb__),1)\n CFLAGS += -marm\n endif\nendif\n\nSPACE = $(EMPTY) $(EMPTY)\nCOMMA = ,\n\nDEB_SVERSION\t:= $(shell echo $(DEB_VERSION) | sed 's/+b[0-9][0-9]*$$//')\n\nVERSION\t\t:= $(shell sed -n 's/^ *VERSION=\\(.*\\)/\\1/p' bfd/configure | head -1 | tr -d \\')\nDATE\t\t:= $(shell sed -n 's/.* \\([0-9]*\\)$$/\\1/p' bfd/version.h)\nifneq (,$(DATE))\n# DATE_EXT\t:= .$(DATE)\nendif\nBUILD_DATE := $(shell dpkg-parsechangelog | sed -n -e 's/^Date: //p')\nBUILD_DAY := $(shell date -Idate -u -d \"$(BUILD_DATE)\")\n\nis_rc = yes\nis_rc =\n\nifneq ($(DEB_VERSION_UPSTREAM),$(VERSION)$(DATE_EXT))\n $(error upstream ($(VERSION)$(DATE_EXT)) and debian ($(DEB_VERSION_UPSTREAM)) version mismatch)\nendif\n\nSINGLE_VERSION= -system\nMULTI_VERSION = -multiarch\nHPPA64_VERSION= -hppa64\n\nifeq (,$(filter $(distrelease),squeeze wheezy precise trusty))\n DPKG_DEV = dpkg-dev (>= 1.17.11),\nendif\nifeq (,$(filter $(distrelease),squeeze wheezy stretch precise trusty xenial zesty artful))\n DPKG_DEV = dpkg-dev (>= 1.19.0.5),\nendif\n\nNJOBS =\n# Support parallel= in DEB_BUILD_OPTIONS (see #209008)\nifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))\n NJOBS := -j $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))\nendif\nifneq (,$(findstring nogold,$(DEB_BUILD_OPTIONS)))\n with_gold = disabled in DEB_BUILD_OPTIONS\nendif\nifneq (,$(findstring nomult,$(DEB_BUILD_OPTIONS)))\n with_multiarch = disabled in DEB_BUILD_OPTIONS\nendif\nifneq (,$(findstring nocross,$(DEB_BUILD_OPTIONS)))\n with_cross = disabled in DEB_BUILD_OPTIONS\nendif\nifneq (,$(findstring nohppa,$(DEB_BUILD_OPTIONS)))\n with_hppa64 = disabled in DEB_BUILD_OPTIONS\nendif\n\n# PF is the installation prefix for the package without the leading slash.\n# It's \"usr\" for gcc releases, so use this if not explicitly set\nifeq ($(PF),)\n PF = usr\nendif\n\n# Don't include docs with GFDL invariant sections\nGFDL_INVARIANT_FREE := yes\nifeq ($(distribution),Ubuntu)\n GFDL_INVARIANT_FREE := no\nendif\n\ngfdl_toplevel_texinfo_files = \\\n\tbfd/doc/bfd.texi \\\n\tbfd/doc/bfdint.texi \\\n\tld/ldint.texi\n\ngfdl_generated_files = \\\n\tbfd/doc/bfd.info\n\n\n########################################\n\nCONFARGS = $(BINUTILS_BASECONF) \\\n\t--prefix=/$(PF) \\\n\t--sysconfdir=/etc \\\n\t--enable-shared \\\n\t--with-system-zlib \\\n\t--build=$(DEB_BUILD_GNU_TYPE) \\\n\t--host=$(DEB_HOST_GNU_TYPE) \\\n\t--with-pkgversion=\"GNU Binutils for $(distribution)\"\n\n# not yet ready for GCC 4.9\nCONFARGS += --disable-werror\n\nwith_check := yes\nifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))\n # override buildd admins to run the testsuite anyway ...\n ifeq (,$(filter $(DEB_HOST_ARCH), m68k sh4))\n with_check := disabled through DEB_BUILD_OPTIONS\n endif\nendif\nifneq (,$(filter $(DEB_HOST_ARCH), none))\n with_check := disabled for architecture $(DEB_HOST_ARCH)\nendif\nwith_check := disabled for this upload\n\nregression_archs = m68k\nifneq (,$(filter $(DEB_HOST_ARCH), $(regression_archs)))\n ignore_regressions := regressions ignored on architecture $(DEB_HOST_ARCH)\nendif\n#ignore_regressions := regressions ignored on architecture $(DEB_HOST_ARCH)\n\nwith_strip := yes\nifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))\n\twith_strip := disabled through DEB_BUILD_OPTIONS\nendif\n\nsource_files = $(addprefix $(shell basename $(pwd))/, \\\n\t\t $(filter-out stamps .pc CVS debian builddir-% test-summary%, $(wildcard *)))\n\n###############################################################################\n\nupdate-patches: export QUILT_PATCHES := debian/patches\nupdate-patches:\n\twhile quilt push; do \\\n\t quilt refresh --no-timestamps --no-index -pab --sort; \\\n\tdone\n\n###############################################################################\n\n################\n# clean target #\n################\n\nclean:\n\t$(checkdir)\n\trm -rf stamps\n\trm -rf builddir-*\n\trm -rf stamps\n\tfind . -name \\*.gmo -o -name \\*~ -o -name \\*.info ! -name sysroff.info | xargs -r rm -f\n\trm -f test-summary*\n\trm -rf $(d_bin) $(d_com) $(d_lib) $(d_lib)-dbg $(d_nat) $(d_nat)-dbg \\\n\t $(d_hst) $(d_dev) $(d_mul) $(d_mul)-dbg $(d_mdev) $(d_doc) \\\n\t $(d_hppa64) $(d_hppa64)-dbg $(d_src) $(d_bld) \\\n\t $(d_ctf) $(d_ctf)-dbg $(d_ctfn) $(d_ctfn)-dbg $(d_gpng) $(d_gpng)-dbg \\\n\t $(d_sfrm) $(d_sfrm)-dbg\n\trm -rf $(foreach ca,$(CROSS_ARCHS),debian/binutils-$(subst _,-,$(subst i586,i686,$(call _gnu_type,$(ca)))){,-dbg})\n\trm -rf debian/tmp debian/files* debian/substvars\n\trm -f debian/*.orig debian/*.rej\n\trm -f debian/files debian/substvars\nifneq (,$(TARGET))\n\trm -rf $(d_cross)\nendif\n\tfor i in debian/*.in; do \\\n\t case \"$$i\" in debian/control*.in) continue; esac; \\\n\t rm -f $${i%*.in}; \\\n\tdone\n\n\trm -f *-stamp\n\n###############################################################################\n\nstamps/control: debian/control.in debian/control.cross.in\nifneq (,$(TARGET))\n\tsed -n -e 's/@dpkg_dev@/$(DPKG_DEV)/;/^Package: binutils-for-build$$/q;p' \\\n\t\t< debian/control.in > debian/control\n\tsed -e \"s/@target@/$(subst _,-,$(DEB_TARGET_GNU_TYPE))/g\" \\\n\t\t-e \"s/@host_archs@/any/\" \\\n\t\t-e 's/@binutils_alt_triplet@//' \\\n\t\t< debian/control.cross.in >> debian/control\nelse\n\tsed -e 's/@dpkg_dev@/$(DPKG_DEV)/' \\\n\t\tdebian/control.in > debian/control\n\t$(foreach ca,$(NATIVE_ARCHS), \\\n\t sed \\\n\t -e 's/@host_archs@/$(ca)$(if $(and $(filter yes,$(with_cross)),$(filter $(ca),$(DEB_HOST_ARCH) $(CROSS_ARCHS))), $(HOST_ARCHS_$(ca)))/g' \\\n\t -e 's/@target@/$(subst _,-,$(subst i586,i686,$(call _gnu_type,$(ca))))/g' \\\n\t -e 's/@binutils_alt_triplet@/$(if $(findstring i386,$(ca)),binutils-$(subst i686,i586,$(call _gnu_type,$(ca))))/g' \\\n\t -e '$(if $(filter yes,$(same_source)),/^Built-Using/d)' \\\n\t debian/control.cross.in >> debian/control; \\\n\t)\nendif\n\t@mkdir -p stamps\n\ttouch $@\n\n#######################\n# single-arch targets #\n#######################\n\nSINGLE_CONFARGS = $(CONFARGS) $(CONFARGS_TARGET_$(DEB_HOST_ARCH))\nifeq ($(with_gold),yes)\n\tSINGLE_CONFARGS += --enable-ld=default --enable-gold\nendif\nSINGLE_CONFARGS += $(CONF_PGO) $(CONF_GPROFNG)\n\nstamps/configure-single:\n\t$(checkdir)\n\tenv\n\t@echo BEGIN $@\nifeq ($(with_check),yes)\n\t@if echo \"spawn true\" | /usr/bin/expect -f - >/dev/null; then \\\n\t : ; \\\n\telse \\\n\t echo \"expect is failing on your system with the above error, which means the\"; \\\n\t echo \"testsuite will fail. Please resolve the above issues and retry the build.\"; \\\n\t echo \"-----------------------------------------------------------------------------\"; \\\n\t exit 1; \\\n\tfi\nendif\n\n\t: # force regeneration, not needed for releases\n\trm -f ld/ldgram.c ld/ldgram.h ld/ldlex.c\n\n\tfind -name '*.[1-8]' -size 0 | xargs -r rm -f\n\n\trm -rf stamps/configure-single builddir-single\n\tmkdir builddir-single\n\tcd builddir-single && env CC=\"$(CC)\" CXX=\"$(CXX)\" CFLAGS=\"$(CFLAGS)\" CXXFLAGS=\"$(CXXFLAGS)\" LDFLAGS=\"$(LDFLAGS)\" \\\n\t\t$(call SET_BINUTILS_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \\\n\t\t../configure --with-sysroot=/ \\\n\t\t\t--libdir=/$(PF)/lib/$(DEB_HOST_MULTIARCH) \\\n\t\t\t$(SINGLE_CONFARGS)\n\t@mkdir -p stamps\n\ttouch $@\n\nstamps/build-single: stamps/configure-single\n\t$(checkdir)\n\t@echo BEGIN $@\n\tenv BFD_SOVER_EXT=\"$(SINGLE_VERSION)\" CTF_SOVER_EXT=\"\" \\\n\t $(call SET_BINUTILS_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \\\n\t $(MAKE) $(NJOBS) -C builddir-single \\\n\t\tLDFLAGS=\"-Wl,-z,relro\"\nifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))\nifeq ($(with_check),yes)\n\t-env MAKE=\"$(MAKE) VERSION=$(SINGLE_VERSION)\" \\\n\t $(call SET_BINUTILS_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \\\n\t $(MAKE) -C builddir-single -k check\n\trm -f $(pwd)/test-summary\n\tfor f in \\\n\t builddir-single/binutils/binutils.sum \\\n\t builddir-single/gas/testsuite/gas.sum \\\n\t builddir-single/ld/ld.sum \\\n\t builddir-single/libctf/libctf.sum \\\n\t builddir-single/gprofng/gprofng.sum \\\n\t builddir-single/libsframe/libsframe.sum \\\n\t; do \\\n\t [ -f $$f ] || continue; \\\n\t cat $$f >> $(pwd)/test-summary; \\\n\tdone\n\tset -e; \\\n\ttsi=test-summary-installed; \\\n\trm -f $$tsi; \\\n\tif [ -f /usr/share/doc/binutils/test-summary-$(DEB_HOST_ARCH).gz ]; then \\\n\t zcat /usr/share/doc/binutils/test-summary-$(DEB_HOST_ARCH).gz > $$tsi; \\\n\telif [ -f /usr/share/doc/binutils/test-summary.gz ]; then \\\n\t zcat /usr/share/doc/binutils/test-summary.gz > $$tsi; \\\n\telif [ -f /usr/share/doc/binutils/test-summary ]; then \\\n\t cat /usr/share/doc/binutils/test-summary > $$tsi; \\\n\tfi; \\\n\tif [ ! -f $$tsi ]; then \\\n\t echo \"No test results available for the installed binutils version\"; \\\n\telif [ -x /usr/bin/python3 ]; then \\\n\t echo \"Test results, compared with installed binutils:\"; \\\n\t if python3 debian/test-suite-compare.py $$tsi test-summary; then \\\n\t : ; \\\n\t elif [ -n \"$(ignore_regressions)\" ]; then \\\n\t echo \"$(ignore_regressions)\"; \\\n\t else \\\n\t false; \\\n\t fi; \\\n\telse \\\n\t echo \"python3 not installed, not comparing test results.\"; \\\n\tfi\nendif\nendif\n\ttouch $@\n\n\n###############################################################################\n\n#######################\n# pic build #\n#######################\n\nPIC_CONFARGS = $(CONFARGS) $(CONFARGS_TARGET_$(DEB_HOST_ARCH))\nPIC_CONFARGS += --enable-ld=default --disable-gold\n\nstamps/configure-pic:\n\t$(checkdir)\n\tfind -name '*.[1-8]' -size 0 | xargs -r rm -f\n\n\trm -rf stamps/configure-pic builddir-pic\n\tmkdir builddir-pic\n\tcd builddir-pic && env CC=\"$(CC)\" CXX=\"$(CXX)\" CFLAGS=\"-fPIC $(CFLAGS)\" CXXFLAGS=\"-fPIC $(CXXFLAGS)\" LDFLAGS=\"$(LDFLAGS)\" \\\n\t\t$(call SET_BINUTILS_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \\\n\t\t../configure --with-sysroot=/ \\\n\t\t\t--libdir=/$(PF)/lib/$(DEB_HOST_MULTIARCH) \\\n\t\t\t$(PIC_CONFARGS)\n\t@mkdir -p stamps\n\ttouch $@\n\nstamps/build-pic: stamps/configure-pic\n\t$(checkdir)\n\t@echo BEGIN $@\n\tenv BFD_SOVER_EXT=\"$(SINGLE_VERSION)\" CTF_SOVER_EXT=\"\" \\\n\t $(call SET_BINUTILS_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \\\n\t $(MAKE) $(NJOBS) -C builddir-pic \\\n\t\tLDFLAGS=\"-Wl,-z,relro\"\n\ttouch $@\n\n\n###############################################################################\n\n#####################\n# multiarch targets #\n#####################\n\nmultiarch_targets = \\\n\taarch64-linux-gnu \\\n\taarch64_be-linux-gnu \\\n\talpha-linux-gnu \\\n\tarm-linux-gnueabi \\\n\thppa-linux-gnu \\\n\ti686-linux-gnu \\\n\tia64-linux-gnu \\\n\tloongarch64-linux-gnu \\\n\tm32r-linux-gnu \\\n\tm68k-linux-gnu \\\n\tm68k-rtems \\\n\tmips-linux-gnu \\\n\tmipsel-linux-gnu \\\n\tmips64-linux-gnuabin32 \\\n\tmips64el-linux-gnuabin32 \\\n\tmips64-linux-gnu \\\n\tmips64el-linux-gnu \\\n\tmipsisa32r6-linux-gnu \\\n\tmipsisa32r6el-linux-gnu \\\n\tmipsisa64r6-linux-gnuabin32 \\\n\tmipsisa64r6el-linux-gnuabin32 \\\n\tmipsisa64r6-linux-gnuabi64 \\\n\tmipsisa64r6el-linux-gnuabi64 \\\n\tpowerpc-linux-gnu \\\n\tpowerpc64-linux-gnu \\\n\tpowerpc64le-linux-gnu \\\n\triscv64-linux-gnu \\\n\ts390-linux-gnu \\\n\ts390x-linux-gnu \\\n\tsh-linux-gnu \\\n\tsparc-linux-gnu \\\n\tsparc64-linux-gnu \\\n\tx86_64-linux-gnu \\\n\tx86_64-linux-gnux32 \\\n\tm32r-linux-gnu \\\n\tx86_64-pep\n\n# try to work around #758830\nifeq ($(DEB_HOST_ARCH),sh4)\n multiarch_targets := $(filter-out hppa-linux-gnu, $(multiarch_targets))\nendif\n\nstamps/configure-multi:\n\t$(checkdir)\n\t@echo BEGIN $@\n\trm -rf stamps/configure-multi \\\n\t\tbuilddir-multi\n\tmkdir builddir-multi\n\tcd builddir-multi \\\n\t && env CC=\"$(CC)\" CXX=\"$(CXX)\" CFLAGS=\"$(CFLAGS)\" CXXFLAGS=\"$(CXXFLAGS)\" LDFLAGS=\"$(LDFLAGS)\" \\\n\t $(call SET_BINUTILS_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \\\n\t\t../configure $(CONFARGS) $(CONF_PGO) $(CONF_GPROFNG) \\\n\t\t $(filter-out --enable-targets=%, $(CONFARGS_TARGET_$(DEB_HOST_ARCH))) \\\n\t\t --with-sysroot=/ \\\n\t\t --libdir=/$(PF)/lib/$(DEB_HOST_MULTIARCH) \\\n\t\t --enable-targets=$(subst $(SPACE),$(COMMA),$(multiarch_targets))\n\t@mkdir -p stamps\n\ttouch $@\n\nstamps/build-multi: stamps/configure-multi\n\t$(checkdir)\n\t@echo BEGIN $@\n\tenv BFD_SOVER_EXT=\"$(MULTI_VERSION)\" CTF_SOVER_EXT=\"$(MULTI_VERSION)\" \\\n\t $(call SET_BINUTILS_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \\\n\t $(MAKE) $(NJOBS) -C builddir-multi \\\n\t\tLDFLAGS=\"-Wl,-z,relro\"\n\ttouch $@\n\n###############################################################################\n\n#################\n# cross targets #\n#################\n\nCROSS_CONFARGS = $(CONFARGS) --enable-initfini-array\n\nifeq ($(with_gold),yes)\n\tCROSS_CONFARGS += --enable-ld=default --enable-gold\nendif\n\nstamps/configure.%:\n\t$(checkdir)\n\t@echo BEGIN $@\n\trm -rf $@ builddir-$*\n\tmkdir builddir-$*\n\tcd builddir-$* \\\n\t && env CC=\"$(CC)\" CXX=\"$(CXX)\" \\\n\t $(call SET_BINUTILS_MULTIARCH_ENV,$*) \\\n\t\t../configure \\\n\t\t $(CROSS_CONFARGS) \\\n\t\t $(CONFARGS_TARGET_$(*)) \\\n\t\t --with-sysroot=/ \\\n\t\t --libdir=/$(PF)/lib/$(call _multiarch,$*) \\\n\t\t $(if $(filter $*, $(gold_targets)),--enable-ld=default --enable-gold,--disable-gold) \\\n\t\t --target=$(CROSS_GNU_TYPE)\n\t@mkdir -p stamps\n\ttouch $@\n\nstamps/build.%: stamps/configure.%\n\t$(checkdir)\n\t@echo BEGIN $@\n\tenv BFD_SOVER_EXT=\"-$*\" CTF_SOVER_EXT=\"-$*\" \\\n\t $(call SET_BINUTILS_MULTIARCH_ENV,$*) \\\n\t $(MAKE) -C builddir-$* $(NJOBS) \\\n\t\tCFLAGS=\"$(CFLAGS)\" \\\n\t\tCXXFLAGS=\"$(CXXFLAGS)\" \\\n\t\tLDFLAGS=\"$(LDFLAGS) -Wl,-z,relro\"\nifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))\nifeq ($(with_check),yes)\n\t-env MAKE=\"$(MAKE) VERSION=$(VERSION)-$*\" \\\n\t $(call SET_BINUTILS_MULTIARCH_ENV,$*) \\\n\t $(MAKE) -C builddir-$* -k check\n\trm -f $(pwd)/test-summary-$*\n\tfor f in \\\n\t builddir-$*/binutils/binutils.sum \\\n\t builddir-$*/gas/testsuite/gas.sum \\\n\t builddir-$*/ld/ld.sum \\\n\t builddir-$*/libctf/libctf.sum \\\n\t builddir-$*/gprofng/gprofng.sum \\\n\t builddir-$*/libsframe/libsframe.sum \\\n\t; do \\\n\t [ -f $$f ] || continue; \\\n\t cat $$f >> $(pwd)/test-summary-$*; \\\n\tdone\n\tset -e; \\\n\ttsi=test-summary-$*-installed; \\\n\trm -f $$tsi; \\\n\tif [ -f /usr/share/doc/$(P_CROSS)/test-summary.gz ]; then \\\n\t zcat /usr/share/doc/$(P_CROSS)/test-summary.gz > $$tsi; \\\n\telif [ -f /usr/share/doc/binutils/test-summary-$*.gz ]; then \\\n\t zcat /usr/share/doc/binutils/test-summary-$*.gz > $$tsi; \\\n\tfi; \\\n\tif [ ! -f $$tsi ]; then \\\n\t echo \"No test results available for the installed $(P_CROSS) version\"; \\\n\telif [ -x /usr/bin/python3 ]; then \\\n\t echo \"Test results, compared with installed binutils:\"; \\\n\t if python3 debian/test-suite-compare.py $$tsi test-summary-$*; then \\\n\t : ; \\\n\t elif echo $(regression_archs) | grep --word-regexp --silent \"$*\"; then \\\n\t echo \"regressions ignore for target $*\"; \\\n\t else \\\n\t false; \\\n\t fi; \\\n\telse \\\n\t echo \"python3 not installed, not comparing test results.\"; \\\n\tfi\nendif\nendif\n\ttouch $@\n\nstamps/install.%: stamps/build.%\n\t$(checkdir)\n\t@echo BEGIN $@\n\trm -rf $(D_CROSS)\n\tenv MAKE=\"$(MAKE) VERSION=$(VERSION)-$*\" \\\n\t $(MAKE) -C builddir-$* DESTDIR=$(CURDIR)/$(D_CROSS) install\n\n\trm -rf \\\n\t\t$(D_CROSS)/$(PF)/share/info \\\n\t\t$(D_CROSS)/$(PF)/share/locale\n\n\trm -rf \\\n\t\t$(D_CROSS)/$(PF)/etc $(D_CROSS)/etc\n\n\tmkdir -p $(D_CROSS)/$(PF)/lib/$(DEB_HOST_MULTIARCH)\n\tset -e; \\\n\td_src=$(D_CROSS)/$(PF)/$(DEB_HOST_GNU_TYPE)/$(CROSS_GNU_TYPE)/lib; \\\n\td_dst=$(D_CROSS)/$(PF)/lib/$(DEB_HOST_MULTIARCH); \\\n\tfor lib in libbfd libopcodes; do \\\n\t so=$$(basename $$(echo $$d_src/$$lib*$**.so)); \\\n\t mv $$d_src/$$so $$d_dst/.; \\\n\t ln -sf ../../../lib/$(DEB_HOST_MULTIARCH)/$$so $$d_src/$$lib.so; \\\n\t mv $$d_src/$$lib.a $$d_dst/$${lib}-$(VERSION)-$*.a; \\\n\t ln -sf ../../../lib/$(DEB_HOST_MULTIARCH)/$$lib-$(VERSION)-$*.a $$d_src/$$lib.a; \\\n\tdone\n\tmv $(D_CROSS)/$(PF)/lib/$(call _multiarch,$*)/libctf*.so* \\\n\t $(D_CROSS)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/.\n\n\t: # replace hard links with soft links\n\tfor i in $(D_CROSS)/usr/$(CROSS_GNU_TYPE)/bin/*; do \\\n\t ln -sf ../../bin/$(CROSS_GNU_TYPE)-$$(basename $$i) $$i; \\\n\tdone\n\tln -sf $(CROSS_GNU_TYPE)-ld.bfd $(D_CROSS)/usr/bin/$(CROSS_GNU_TYPE)-ld\n\n\t$(call strip_package, $(P_CROSS),$(D_CROSS),.)\n\tchmod ugo-x $(D_CROSS)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so\n\tchmod ugo-x $(D_CROSS)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so.*\n\tchmod ugo-x $(D_CROSS)/$(PF)/lib/*/bfd-plugins/*.so\n\n\t: # Get rid of .la files since libtool obviously has no idea about transient paths\n\trm -f $(D_CROSS)/$(PF)/$(DEB_HOST_GNU_TYPE)/$(CROSS_GNU_TYPE)/lib/*.la\n\n\tfor i in $(D_CROSS)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.a; do \\\n\t echo \"lto-stripping $(basename $$i) ...\"; \\\n\t $(STRIP_LTO) $$i; \\\n\t if which strip-nondeterminism >/dev/null 2>&1; then \\\n\t echo \"strip-nondeterminism $(basename $$i) ...\"; \\\n\t strip-nondeterminism $$i; \\\n\t fi; \\\n\tdone\n\n\t: # gold symlinks\n\t$(if $(filter $*, $(gold_targets)), \\\n\t ln -sf $(CROSS_GNU_TYPE)-ld.gold $(D_CROSS)/usr/bin/$(CROSS_GNU_TYPE)-gold; \\\n\t ln -sf ../../bin/$(CROSS_GNU_TYPE)-gold $(D_CROSS)/usr/$(CROSS_GNU_TYPE)/bin/gold \\\n\t)\n\n\t: # no spu toolchain\n\trm -f $(D_CROSS)/$(PF)/bin/*embedspu\n\n\t: # no gprofng in cross packages\n\trm -f $(D_CROSS)/$(PF)/bin/*-gprofng\n\trm -f $(D_CROSS)/$(PF)/bin/*-gp-*\n\trm -rf $(D_CROSS)/$(PF)/lib/*/gprofng\n\trm -f $(D_CROSS)/$(PF)/lib/$(call _multiarch,$*)/libgprofng*\n\trm -f $(D_CROSS)/$(PF)/lib/$(call _multiarch,$*)/libsframe*\n\n\t: # Remove windows related manpages\n\trm -f $(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-{dlltool,nlmconv,windmc,windres}.1\n\n\t: # symlink man pages\n\tmv $(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-ld.1 \\\n\t $(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-ld.bfd.1\n\tgzip -9n $(D_CROSS)/$(PF)/share/man/man1/*\n\tfor i in $(D_CROSS)/$(PF)/share/man/man1/*; do \\\n\t b=$$(basename $$i | sed 's/$(CROSS_GNU_TYPE)-//'); \\\n\t ln -sf $$b $$i; \\\n\tdone\n\tln -sf $(CROSS_GNU_TYPE)-ld.bfd.1.gz \\\n\t $(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-ld.1.gz\n\n\t: # gold man pages\n\t$(if $(filter $*, $(gold_targets)), \\\n\t ln -sf ld.gold.1.gz $(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-gold.1.gz; \\\n\t ln -sf ld.gold.1.gz $(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-ld.gold.1.gz; \\\n\t ln -sf dwp.1.gz $(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-dwp.1.gz; \\\n\t)\n\n\t: # Don't want /usr/-linux to exist in any package, don't ship development files\n\trm -rf $(D_CROSS)/$(PF)/$(DEB_HOST_GNU_TYPE)\n\n\trm -f $(D_CROSS)/$(PF)/lib/*.a $(D_CROSS)/$(PF)/lib/*/*.a\n\trm -f $(D_CROSS)/$(PF)/lib/*.la $(D_CROSS)/$(PF)/lib/*/*.la\n\trm -f $(D_CROSS)/$(PF)/$(DEB_HOST_GNU_TYPE)/$(CROSS_GNU_TYPE)/lib/*.a\n\trm -f $(D_CROSS)/$(PF)/$(DEB_HOST_GNU_TYPE)/$(CROSS_GNU_TYPE)/lib/libctf*\n\trm -f $(D_CROSS)/$(PF)/lib/$(CROSS_GNU_TYPE)/libctf*\n\trm -f $(D_CROSS)/$(PF)/lib/$(CROSS_GNU_TYPE)/libsframe*\n\trm -f $(D_CROSS)/$(PF)/include/*.h\n\n\t: # remove RPATH\n\tchrpath -k -d $$(file $(D_CROSS)/usr/bin/*|awk -F: '/ ELF/ {print $$1}')\n\tchrpath -k -d $$(file $(D_CROSS)/usr/lib/$(DEB_HOST_MULTIARCH)/lib*.so*|awk -F: '/ ELF/ {print $$1}')\n\nifneq (,$(filter $(distrelease),lenny etch squeeze wheezy jessie stretch))\n\t: # temporary i586-* symlinks for stretch\n\tcompat=$$(echo $(CROSS_GNU_TYPE) | sed 's/i686/i586/'); \\\n\tcase \"$(CROSS_GNU_TYPE)\" in i686-*) \\\n\t for i in $(binutils_programs); do \\\n\t ln -sf $(CROSS_GNU_TYPE)-$$i $(D_CROSS)/$(PF)/bin/$$compat-$$i; \\\n\t ln -sf $(CROSS_GNU_TYPE)-$$i.1.gz $(D_CROSS)/$(PF)/share/man/man1/$$compat-$$i.1.gz; \\\n\t done; \\\n\tesac\nendif\n\ttouch $@\n\n###############################################################################\n\n#################\n# hppa64 target #\n#################\n\nstamps/configure-hppa64:\n\t$(checkdir)\n\t@echo BEGIN $@\n\trm -rf stamps/configure-hppa64 \\\n\t\tbuilddir-hppa64\n\tmkdir builddir-hppa64\n\tcd builddir-hppa64 \\\n\t && env CC=\"$(CC)\" CXX=\"$(CXX)\" CFLAGS=\"$(CFLAGS)\" CXXFLAGS=\"$(CXXFLAGS)\" LDFLAGS=\"$(LDFLAGS)\" ../configure \\\n\t\t$(filter-out --enable-targets=%, $(CONFARGS)) \\\n\t\t--libdir=/$(PF)/lib/hppa64-linux-gnu \\\n\t\t--target=hppa64-linux-gnu\n\t@mkdir -p stamps\n\ttouch $@\n\nstamps/build-hppa64: stamps/configure-hppa64\n\t$(checkdir)\n\t@echo BEGIN $@\n\tenv BFD_SOVER_EXT=\"$(HPPA64_VERSION)\" CTF_SOVER_EXT=\"$(HPPA64_VERSION)\" \\\n\t $(MAKE) $(NJOBS) -C builddir-hppa64 \\\n\t LDFLAGS=\"-Wl,-z,relro\"\n\ttouch $@\n\n###############################################################################\n\npre-build:\n#ifneq (,$(filter $(DEB_HOST_ARCH), armel powerpc))\n#\t@echo Build it ...\n#else\n#\t@echo Explicitely fail the build for architecture $(DEB_HOST_ARCH)\n#\tfalse\n#endif\n\nbuild_stamps = stamps/build-single\nbuild_stamps += stamps/build-pic\nifeq ($(with_multiarch),yes)\n build_stamps += stamps/build-multi\nendif\nifeq ($(with_hppa64),yes)\n build_stamps += stamps/build-hppa64\nendif\nifeq ($(with_cross),yes)\n build_stamps += $(addprefix stamps/build.,$(CROSS_ARCHS))\nendif\nifneq (,$(TARGET))\n ifeq ($(DEB_TARGET_GNU_TYPE),hppa64-linux-gnu)\n build_stamps = stamps/build-hppa64\n else\n build_stamps = stamps/build.$(DEB_TARGET_ARCH)\n endif\nendif\nifeq ($(BACKPORT),true)\n build_stamps :=\n with_check := no\nendif\n\nbuild: pre-build stamps/build\nbuild-arch: pre-build stamps/build\nbuild-indep: pre-build stamps/build\nstamps/build: $(build_stamps)\n\ttouch $@\n\n###############################################################################\n\n##################\n# install target #\n##################\n\ninstall_stamps =\nifeq ($(with_hppa64),yes)\n install_stamps += stamps/install-hppa64\nendif\nifeq ($(with_cross),yes)\n install_stamps += $(addprefix stamps/install.,$(CROSS_ARCHS))\nendif\n\nifneq (,$(TARGET))\n ifeq ($(DEB_TARGET_GNU_TYPE),hppa64-linux-gnu)\n install_stamp = stamps/install-hppa64\n else\n install_stamp = stamps/install.$(DEB_TARGET_ARCH)\n endif\nelse\n install_stamp = stamps/install\nendif\nifeq ($(BACKPORT),true)\n install_stamps :=\nendif\ninstall: $(install_stamp)\nstamps/install: checkroot stamps/build $(install_stamps)\n\t$(checkdir)\n\n\trm -fr $(d_bin) $(d_com) $(d_lib) $(d_nat) $(d_dev) $(d_mul) $(d_mdev) $(d_doc) $(d_src) $(d_bld) $(d_ctf) $(d_ctfn) $(d_gpng)\n\t$(install_dir) $(d_bin) $(d_com) $(d_lib) $(d_nat) $(d_dev) $(d_mul) $(d_mdev) $(d_doc) $(d_src) $(d_bld)\n\n\t: # install binutils and -dev stuff\n\tenv MAKE=\"$(MAKE) VERSION=$(SINGLE_VERSION)\" \\\n\t $(MAKE) -C builddir-single \\\n\t\tCFLAGS=\"$(CFLAGS)\" \\\n\t\tCXXFLAGS=\"$(CXXFLAGS)\" \\\n\t\tLDFLAGS=\"$(LDFLAGS)\" \\\n\t\tDESTDIR=$(CURDIR)/$(d_bin) install\n\n\t$(install_dir) $(d_com)/$(PF)/share\n\tmv $(d_bin)/$(PF)/share/locale $(d_com)/$(PF)/share/locale\n\n\t$(install_dir) $(d_doc)/$(PF)/share\n\tmv $(d_bin)/$(PF)/share/info $(d_doc)/$(PF)/share/info\n\n\t$(install_dir) $(d_nat)/$(PF)/lib/$(DEB_HOST_MULTIARCH)\n\tmv $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/bfd-plugins \\\n\t\t$(d_nat)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/.\n\tmv $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/ldscripts \\\n\t\t$(d_nat)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/.\n\n\t$(install_dir) $(d_com)/$(PF)/share/man\n\tmv $(d_bin)/$(PF)/share/man/man1 $(d_com)/$(PF)/share/man/.\n\tfor f in $(d_com)/$(PF)/share/man/man1/*.1; do \\\n\t sed -i -e '/^\\.TH /s/[0-9]*-[0-9]*-[0-9]*/$(BUILD_DAY)/' $$f; \\\n\tdone\n\nifeq ($(with_gprofng),yes)\n\tchrpath -k -d $$(file $(d_bin)/usr/bin/{gprofng,gp-*}|awk -F: '/ ELF/ {print $$1}')\nendif\n\nifeq ($(with_multiarch),yes)\n\t: # now install binutils-multiarch stuff\n\tenv MAKE=\"$(MAKE) VERSION=$(MULTI_VERSION)\" \\\n\t $(MAKE) -C builddir-multi \\\n\t\tCFLAGS=\"$(CFLAGS)\" \\\n\t\tCXXFLAGS=\"$(CXXFLAGS)\" \\\n\t\tLDFLAGS=\"$(LDFLAGS)\" \\\n\t\tDESTDIR=$(CURDIR)/$(d_mul) install\nendif\n\n\t: # fix bfd.h, removing the safety inclusion guard\n\tawk '/PR 14072/,/^#endif/ {next} {print}' $(d_bin)/$(PF)/include/bfd.h \\\n\t > $(d_bin)/$(PF)/include/bfd.h.new\n\tmv $(d_bin)/$(PF)/include/bfd.h.new $(d_bin)/$(PF)/include/bfd.h\n\n\t: # fix multilib conflicts of generated values by __WORDSIZE-based expressions\n\tsed -i -e '/^#include \"ansidecl.h\"/{p;s~^.*$$~#include ~;}' \\\n\t -e 's/^#define BFD_DEFAULT_TARGET_SIZE \\(32\\|64\\) *$$/#define BFD_DEFAULT_TARGET_SIZE __WORDSIZE/' \\\n\t -e 's/^#define BFD_HOST_64BIT_LONG [01] *$$/#define BFD_HOST_64BIT_LONG (__WORDSIZE == 64)/' \\\n\t -e 's/^#define BFD_HOST_64_BIT \\(long \\)\\?long *$$/#if __WORDSIZE == 32\\\n#define BFD_HOST_64_BIT long long\\\n#else\\\n#define BFD_HOST_64_BIT long\\\n#endif/' \\\n\t -e 's/^#define BFD_HOST_U_64_BIT unsigned \\(long \\)\\?long *$$/#define BFD_HOST_U_64_BIT unsigned BFD_HOST_64_BIT/' \\\n\t $(d_bin)/$(PF)/include/bfd.h\n\n\t: # copy plugin-api.h ...\n\tcp -f include/plugin-api.h $(d_bin)/$(PF)/include\n\n\t: # We don't need to distribute everything in binutils and -dev\n\trm -rf $(d_bin)/$(PF)/include/obstack.h\n\trm -f $(d_doc)/$(PF)/share/info/configure.* $(d_doc)/$(PF)/share/info/standards.*\n\nifneq (,$(filter $(DEB_HOST_ARCH),powerpc ppc64 ppc64el))\n\trm -f $(d_bin)/$(PF)/bin/embedspu\nendif\n\nifeq ($(with_multiarch),yes)\n\t: # Now get rid of just about everything in binutils-multiarch\n\trm -rf $(d_mul)/$(PF)/man $(d_mul)/$(PF)/info $(d_mul)/$(PF)/include\n\trm -rf $(d_mul)/$(PF)/share/man $(d_mul)/$(PF)/share/info $(d_mul)/$(PF)/share/locale\n\trm -rf $(d_mul)/$(PF)/etc $(d_mul)/etc\n\n\t: # elfedit (even with its --input-mach option)\n\t: # is the same for all targets.\n\trm -f $(d_mul)/$(PF)/bin/elfedit\n\n\t: # c++filt does not link to libbfd for anything more than\n\t: # the help message, and its behavior does not vary\n\t: # between arches aside from the --version message.\n\trm -f $(d_mul)/$(PF)/bin/c++filt\n\n\t: # As gas/README points out (search for --enable-targets),\n\t: # multi-arch gas is not ready yet.\n\trm -f $(d_mul)/$(PF)/bin/as\n\trm -f $(d_mul)/$(PF)/bin/ld\n\trm -f $(d_mul)/$(PF)/bin/ld.bfd\n\trm -f $(d_mul)/$(PF)/bin/ld.gold\n\n\trm -f $(d_mul)/$(PF)/bin/gprofng\n\trm -f $(d_mul)/$(PF)/bin/gp-*\n\trm -rf $(d_mul)/$(PF)/lib/*/gprofng\n\n ifneq (,$(filter $(DEB_HOST_ARCH),powerpc ppc64 ppc64el))\n\trm -f $(d_mul)/$(PF)/bin/embedspu\n endif\n\trm -rf $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/ldscripts\n\trm -rf $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/bfd-plugins\nendif\n\n#\trm -rf debian/binutils-*-*-*/$(PF)/lib/$(DEB_HOST_MULTIARCH)/ldscripts \\\n#\t debian/binutils-*-gnu/$(PF)/lib/$(DEB_HOST_MULTIARCH)/ldscripts\n\n\t$(install_dir) $(d_dev)/$(PF)/include\n\tmv $(d_bin)/$(PF)/include/* $(d_dev)/$(PF)/include/\n\n\t$(install_dir) $(d_ctf)/$(PF)/lib/$(DEB_HOST_MULTIARCH)\n\tmv $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libctf.so.* \\\n\t\t$(d_ctf)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/.\n\t$(install_dir) $(d_ctfn)/$(PF)/lib/$(DEB_HOST_MULTIARCH)\n\tmv $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libctf-nobfd.so.* \\\n\t\t$(d_ctfn)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/.\nifeq ($(with_gprofng),yes)\n\t$(install_dir) $(d_gpng)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/gprofng\n\tmv $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libgprofng.so.* \\\n\t\t$(d_gpng)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/.\n\tmv $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/gprofng/libgp-*.so \\\n\t\t$(d_gpng)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/gprofng/.\nendif\n\n\t$(install_dir) $(d_lib)/$(PF)/lib/$(DEB_HOST_MULTIARCH) $(d_dev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)\n\tmv $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.a \\\n\t $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libbfd.so \\\n\t $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libopcodes.so \\\n\t $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libctf*.so \\\n\t\t$(d_dev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)\n\tmv $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libsframe.so \\\n\t\t$(d_dev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)\n\tcp builddir-pic/opcodes/.libs/libopcodes.a \\\n\t\t$(d_dev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libopcodes_pic.a\n\tcp builddir-pic/bfd/.libs/libbfd.a \\\n\t\t$(d_dev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libbfd_pic.a\nifeq ($(with_gprofng),yes)\n\tmv $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libgprofng.so \\\n\t\t$(d_dev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)\nendif\n\tmv $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so \\\n\t $(d_lib)/$(PF)/lib/$(DEB_HOST_MULTIARCH)\n\t$(install_dir) $(d_sfrm)/$(PF)/lib/$(DEB_HOST_MULTIARCH)\n\tmv $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libsframe.so.* \\\n\t $(d_sfrm)/$(PF)/lib/$(DEB_HOST_MULTIARCH)\n\nifeq ($(with_multiarch),yes)\n\t$(install_dir) $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH) $(d_mdev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)\n\tmv $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libbfd.so \\\n\t $(d_mdev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libbfd-multiarch.so\n\tmv $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libopcodes.so \\\n\t $(d_mdev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libopcodes-multiarch.so\n\tmv $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libctf-*.so \\\n\t $(d_mdev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/.\n\trm -f $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libsframe.so*\n\trm -f $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libgprofng.so*\n\trm -f $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.la \\\n\t $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.a\n\trm -f $(d_mul)/$(PF)/lib*/$(DEB_HOST_MULTIARCH)/libiberty*\nendif\n\n\t: # Get rid of .la files since libtool obviously has no idea about transient paths\n\trm -f $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.la\n\trm -f $(d_bin)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/gprofng/*.la\n\n\tchmod ugo-x $(d_lib)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so\n\tchmod ugo-x $(d_ctf)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so.*\n\tchmod ugo-x $(d_ctfn)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so.*\n\tchmod ugo-x $(d_nat)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/bfd-plugins/*.so\nifeq ($(with_gprofng),yes)\n\tchmod ugo-x $(d_gpng)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so.*\n\tchmod ugo-x $(d_gpng)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/gprofng/*.so\nendif\n\tchmod ugo-x $(d_sfrm)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so.*\nifeq ($(with_native),yes)\n\t$(call strip_package, $(p_lib), $(d_lib))\n\t$(call strip_package, $(p_ctf), $(d_ctf))\n\t$(call strip_package, $(p_ctfn), $(d_ctfn))\n ifeq ($(with_gprofng),yes)\n\t$(call strip_package, $(p_gpng), $(d_gpng))\n endif\n\t$(call strip_package, $(p_sfrm), $(d_sfrm))\nendif\nifeq ($(with_multiarch),yes)\n\tchmod ugo-x $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so\n\tchmod ugo-x $(d_mul)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so.*\n\t$(call strip_package, $(p_mul), $(d_mul))\nendif\n\n\tfor i in $(d_dev)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.a; do \\\n\t echo \"lto-stripping $(basename $$i) ...\"; \\\n\t $(STRIP_LTO) $$i; \\\n\t if which strip-nondeterminism >/dev/null 2>&1; then \\\n\t echo \"strip-nondeterminism $(basename $$i) ...\"; \\\n\t strip-nondeterminism $$i; \\\n\t fi; \\\n\tdone\n\n\t: # Don't want /usr/-linux to exist in any package\n\trm -rf $(d_bin)/$(PF)/$(DEB_HOST_GNU_TYPE)\n\n\t: # Remove windows related manpages\n\trm -f $(d_com)/$(PF)/share/man/man1/{dlltool,nlmconv,windmc,windres}.1\n\nifeq ($(with_multiarch),yes)\n\trm -rf $(d_mul)/$(PF)/$(DEB_HOST_GNU_TYPE)\n\trm -f $(d_mul)/$(PF)/share/man/man1/{dlltool,nlmconv,windmc,windres}.1\nendif\n\n\trm -f $(d_bin)/$(PF)/bin/ld.bfd\n\tmv $(d_bin)/$(PF)/bin/ld $(d_bin)/$(PF)/bin/ld.bfd\n\tmv $(d_com)/$(PF)/share/man/man1/ld.1 \\\n\t\t$(d_com)/$(PF)/share/man/man1/ld.bfd.1\n\tln -sf $(DEB_HOST_GNU_TYPE)-ld.bfd $(d_bin)/$(PF)/bin/ld\n\t$(install_dir) $(d_com)/$(PF)/share/man/man1\n\tln -sf ld.bfd.1.gz $(d_com)/$(PF)/share/man/man1/ld.1.gz\nifeq ($(with_gold),yes)\n\tln -s ld.gold $(d_bin)/$(PF)/bin/gold\n ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))\n\tfind debian -name '*gold' -o -name '*dwp'\n\tif which help2man >/dev/null 2>&1; then \\\n\t help2man -N -n 'The GNU ELF linker' \\\n\t $(d_bin)/$(PF)/bin/ld.gold \\\n\t | sed -e 's,debian/.*-ld.gold,ld.gold,g' \\\n\t\t-e 's/$(DEB_HOST_GNU_TYPE)-//g' \\\n\t\t-e '/supported emulations/d' \\\n\t\t-e '/supported targets/s/.*/Run gold --help for a list of supported targets and emulations./' \\\n\t\t-e '/Keep files mapped across passes/s/passes.*$$/passes (default on 64bit architectures)/' \\\n\t\t-e '/Map whole files to memory/s/memory.*$$/memory (default on 64bit architectures)/' \\\n\t\t-e '/Map relevant file parts to memory/s/memory.*$$/memory (default on 32bit architectures)/' \\\n\t\t-e '/Release mapped files after each pass/s/pass.*$$/pass (default on 32bit architectures)/' \\\n\t\t> debian/ld.gold.1; \\\n\t help2man -N -n 'The DWARF packaging utility' \\\n\t $(d_bin)/$(PF)/bin/dwp \\\n\t | sed -e 's,debian/.*-dwp,dwp,g' \\\n\t\t-e 's/$(DEB_HOST_GNU_TYPE)-//g' \\\n\t\t> debian/dwp.1; \\\n\tfi\n endif\n\tcp debian/dwp.1 $(d_com)/$(PF)/share/man/man1/\n\tcp debian/ld.gold.1 $(d_com)/$(PF)/share/man/man1/\n\tln -s ld.gold.1.gz $(d_com)/$(PF)/share/man/man1/gold.1.gz\n\n\t: # install a symlink for the gold linker\n\t$(install_dir) $(d_bin)/$(PF)/lib/gold-ld\n\tln -s ../../bin/ld.gold $(d_bin)/$(PF)/lib/gold-ld/ld\nendif\n\t: # install a symlink for the bfd linker\n\t$(install_dir) $(d_bin)/$(PF)/lib/compat-ld\n\tln -s ../../bin/ld.bfd $(d_bin)/$(PF)/lib/compat-ld/ld\n\n\t: # Remove empty directory\n\trmdir $(d_bin)/$(PF)/include/\n\nifeq ($(with_gprofng),yes)\n\t$(install_dir) $(d_com)/etc\n\tmv $(d_bin)/etc/gprofng.rc $(d_com)/etc/.\nendif\n\n\t: # Rename non-prefixed binaries to $(DEB_HOST_GNU_TYPE)- prefixed binaries\n\t: # and provide symlinks to the prefixed binaries.\n\t$(install_dir) $(d_nat)/$(PF)/bin $(d_nat)/$(PF)/share/man/man1\n\tfor i in $(binutils_programs); do \\\n\t mv $(d_bin)/$(PF)/bin/$$i $(d_nat)/$(PF)/bin/$(DEB_HOST_GNU_TYPE)-$$i; \\\n\t ln -sf $(DEB_HOST_GNU_TYPE)-$$i $(d_bin)/$(PF)/bin/$$i; \\\n\tdone\nifeq ($(with_gold),yes)\n\tln -sf $(DEB_HOST_GNU_TYPE)-ld.gold $(d_nat)/usr/bin/$(DEB_HOST_GNU_TYPE)-gold\nendif\n\tfor i in $(binutils_programs); do \\\n\t ln -sf $$i.1.gz $(d_nat)/$(PF)/share/man/man1/$(DEB_HOST_GNU_TYPE)-$$i.1.gz; \\\n\tdone\nifeq ($(with_native),yes)\n\t$(call strip_package, $(p_nat), $(d_nat))\nendif\nifeq ($(with_multiarch),yes)\n\tfor i in \\\n\t addr2line ar gprof \\\n\t nm objcopy objdump ranlib readelf size strings strip; \\\n\tdo \\\n\t mv $(d_mul)/$(PF)/bin/$$i $(d_mul)/$(PF)/bin/$(DEB_HOST_GNU_TYPE)-$$i; \\\n\tdone\n\trm -f $(d_mul)/$(PF)/bin/embedspu\nendif\n\nifneq (,$(filter $(DEB_HOST_ARCH),i386 kfreebsd-i386 hurd-i386))\n# temporary i586-* symlinks for stretch/sid\n ifneq (,$(TRIPLET_SYMLINK))\n\tfor i in $(binutils_programs); do \\\n\t ln -sf $(DEB_HOST_GNU_TYPE)-$$i $(d_nat)/$(PF)/bin/$(TRIPLET_SYMLINK)-$$i; \\\n\t ln -sf $(DEB_HOST_GNU_TYPE)-$$i.1.gz $(d_nat)/$(PF)/share/man/man1/$(TRIPLET_SYMLINK)-$$i.1.gz; \\\n\tdone\n endif\n# temporary i486-* symlinks for jessie/sid\n ifeq ($(DEB_HOST_GNU_CPU),i586)\n\tgnutype=$(subst i586,i486,$(DEB_HOST_GNU_TYPE)); \\\n\tfor i in $(binutils_programs); do \\\n\t ln -sf $(DEB_HOST_GNU_TYPE)-$$i $(d_nat)/$(PF)/bin/$$gnutype-$$i; \\\n\t ln -sf $(DEB_HOST_GNU_TYPE)-$$i.1.gz $(d_nat)/$(PF)/share/man/man1/$$gnutype-$$i.1.gz; \\\n\tdone\n endif\n# for backports to wheezy and squeeze\n ifeq ($(DEB_HOST_GNU_CPU),i486)\n\tgnutype=$(subst i486,i586,$(DEB_HOST_GNU_TYPE)); \\\n\tfor i in $(binutils_programs); do \\\n\t ln -sf $(DEB_HOST_GNU_TYPE)-$$i $(d_nat)/$(PF)/bin/$$gnutype-$$i; \\\n\t ln -sf $(DEB_HOST_GNU_TYPE)-$$i.1.gz $(d_nat)/$(PF)/share/man/man1/$$gnutype-$$i.1.gz; \\\n\tdone\n endif\nendif\n\ttouch $@\n\nstamps/install-hppa64: checkroot stamps/build-hppa64\n\t$(checkdir)\n\n\trm -fr $(d_hppa64)\n\t$(install_dir) $(d_hppa64)\n\t$(install_dir) $(d_hppa64)/$(PF)/lib/$(DEB_HOST_MULTIARCH)\n\n\t: # install binutils-hppa64 stuff\n\tenv MAKE=\"$(MAKE) VERSION=$(HPPA64_VERSION)\" \\\n $(MAKE) -C builddir-hppa64 \\\n\t\tCFLAGS=\"$(CFLAGS)\" \\\n\t\tCXXFLAGS=\"$(CXXFLAGS)\" \\\n\t\tLDFLAGS=\"$(LDFLAGS)\" \\\n\t\tDESTDIR=$(CURDIR)/$(d_hppa64) install\n\n\t: # move shared libs to the standard path\n\tmv $(d_hppa64)/$(PF)/$(DEB_HOST_GNU_TYPE)/hppa64-linux-gnu/lib/lib*-*.so \\\n\t\t$(d_hppa64)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/.\n\tmv $(d_hppa64)/$(PF)/lib/hppa64-linux-gnu/libctf*.so.* \\\n\t\t$(d_hppa64)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/.\n\n\t: # Now get rid of just about everything in binutils-hppa64\n\trm -rf $(d_hppa64)/$(PF)/man\n\trm -rf $(d_hppa64)/$(PF)/info\n\trm -rf $(d_hppa64)/$(PF)/include\n\trm -rf $(d_hppa64)/$(PF)/share\n\trm -rf $(d_hppa64)/$(PF)/hppa-linux-gnu\n\trm -rf $(d_hppa64)/$(PF)/lib/libiberty.a\n\trm -rf $(d_hppa64)/$(PF)/lib/hppa64-linux-gnu/libctf*\n\trm -rf $(d_hppa64)/$(PF)/lib/hppa64-linux-gnu/libsframe*\n\n\t: # replace hard links with soft links\n\tfor i in $(d_hppa64)/usr/hppa64-linux-gnu/bin/*; do \\\n\t ln -sf ../../bin/hppa64-linux-gnu-$$(basename $$i) $$i; \\\n\tdone\n\tln -sf hppa64-linux-gnu-ld.bfd $(d_hppa64)/usr/bin/hppa64-linux-gnu-ld\n\n\t$(call strip_package, $(p_hppa64), $(d_hppa64))\n\tchmod ugo-x $(d_hppa64)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so\n\tchmod ugo-x $(d_hppa64)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/*.so.*\n\tchmod ugo-x $(d_hppa64)/$(PF)/lib/*/bfd-plugins/*.so\n\n\t: # remove RPATH\n\tchrpath -k -d $$(file $(d_hppa64)/usr/bin/*|awk -F: '/ ELF/ {print $$1}')\n\tchrpath -k -d $$(file $(d_hppa64)/usr/lib/$(DEB_HOST_MULTIARCH)/lib*.so*|awk -F: '/ ELF/ {print $$1}')\n\n\t: # Don't want /usr/-linux to exist in any package\n\trm -rf $(d_hppa64)/$(PF)/$(DEB_HOST_GNU_TYPE)\n\n\ttouch $@\n\n###############################################################################\n\n#######################\n# binary-indep target #\n#######################\n\nbinary-indep: checkroot build install\n\t$(checkdir)\n\n\trm -f debian/files debian/substvars\n\n# Cross builds do not have documentation packages\nifeq (,$(TARGET))\n\n\t$(install_dir) $(d_doc)/DEBIAN\n\nifeq ($(GFDL_INVARIANT_FREE),yes)\n\trm -f $(d_doc)/$(PF)/share/info/bfd.info*\n\trm -f $(d_doc)/$(PF)/share/info/bfdint.info*\n\trm -f $(d_doc)/$(PF)/share/info/ldint.info*\nendif\n\nifneq ($(BACKPORT),true)\n\t$(install_dir) $(d_doc)/$(PF)/share/doc/$(p_doc)/\n\t$(install_file)\tdebian/changelog $(d_doc)/$(PF)/share/doc/$(p_doc)/changelog.Debian\n\t$(install_file)\tdebian/copyright $(d_doc)/$(PF)/share/doc/$(p_doc)/\n\tfor i in bfd gas gprof ld; do \\\n\t ln -sf ../$(p_bin)/$$i $(d_doc)/$(PF)/share/doc/$(p_doc)/$$i; \\\n\tdone\n\tfind $(d_doc)/$(PF)/share/doc/$(p_doc) -maxdepth 1 -type f ! -name copyright | xargs gzip -9n\n\tgzip -9n $(d_doc)/$(PF)/share/info/*\n\n\tdpkg-gencontrol -P$(d_doc) -p$(p_doc)\n\t$(CHOWN) -R root:root $(d_doc)\n\tchmod -R go=rX $(d_doc)\n\tfind $(d_doc) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_doc) ..\n\n\t$(install_dir) $(d_src)/$(PF)/share/doc/$(p_src)/\n\t$(install_file)\tdebian/changelog $(d_src)/$(PF)/share/doc/$(p_src)/changelog.Debian\n\t$(install_file)\tdebian/copyright $(d_src)/$(PF)/share/doc/$(p_src)/\n\tfind $(d_src)/$(PF)/share/doc/$(p_src) -maxdepth 1 -type f ! -name copyright | xargs gzip -9n\nendif # ifndef BACKPORT\n\n\t$(install_dir) $(d_src)/DEBIAN\n\t$(install_dir) $(d_src)/$(PF)/src/binutils/patches\n\t$(install_file) debian/patches/* $(d_src)/$(PF)/src/binutils/patches/\n\tcd .. && find $(source_files) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)' && \\\n\t\tfind $(source_files) -type f -print0 | LC_ALL=C sort -z | \\\n\t\tXZ_OPT=-9 tar --null -T - -c --xz --mode=go=rX,u+rw,a-s \\\n\t\t--owner=0 --group=0 --numeric-owner --sort=name \\\n\t\t--xform='s=^[^/]*\\/=binutils-$(VERSION)/=' \\\n\t\t-f $(pwd)/$(d_src)/$(PF)/src/binutils/binutils-$(VERSION).tar.xz \\\n\t\t$(source_files)\n\n\ttar cf - $$(find './debian' -mindepth 1 \\( \\\n\t\t-path './debian/binutils*' -type d -prune -o \\\n\t\t-path './debian/libbinutils' -type d -prune -o \\\n\t\t-path './debian/binutils*-dbg' -type d -prune -o \\\n\t\t-path './debian/libbinutils-dbg' -type d -prune -o \\\n\t\t-path './debian/patches' -prune -o \\\n\t\t-path './debian/libctf*' -type d -prune -o \\\n\t\t-path './debian/libgprofng*' -type d -prune -o \\\n\t\t-path './debian/libsframe*' -type d -prune -o \\\n\t\t-path './debian/tmp*' -prune -o \\\n\t\t-path './debian/.bzr*' -prune -o \\\n\t\t-path './debian/files' -prune -o \\\n\t\t-print \\) ) \\\n\t | tar -x -C $(d_src)/$(PF)/src/binutils -f -\n\t-chmod 755 $(d_src)/$(PF)/src/binutils/debian/*.{pre,post}{inst,rm}\n\tchmod 755 $(d_src)/$(PF)/src/binutils/debian/test-suite-compare.py\n\n\tdpkg-gencontrol -P$(d_src) -p$(p_src)\n\t$(CHOWN) -R root:root $(d_src)\n\tchmod -R go=rX $(d_src)\n\tfind $(d_src) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_src) ..\n\n\n\t$(install_dir) $(d_bld)/DEBIAN $(d_bld)/$(PF)/share/doc/\n\tln -sf $(p_com) $(d_bld)/$(PF)/share/doc/$(p_bld)\n\tdpkg-gencontrol -P$(d_bld) -p$(p_bld) -Vbinutils:minver=$(min_ver)\n\t$(CHOWN) -R root:root $(d_bld)\n\tchmod -R go=rX $(d_bld)\n\tfind $(d_bld) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_bld) ..\nendif\n\n###############################################################################\n\n#######################\n# binary-arch target #\n#######################\n\nbinary.%: stamps/install.% install\n\trm -rf $(D_CROSS)/$(PF)/share/info\n\n\trm -rf $(D_CROSS)/DEBIAN $(D_CROSS)-dbg/DEBIAN\n\n\t: # make lintian happy\n\t$(install_dir) $(D_CROSS)/$(PF)/share/lintian/overrides\n\tsed 's/@PKG@/$(P_CROSS)/' debian/binutils-cross.overrides \\\n\t > $(D_CROSS)/$(PF)/share/lintian/overrides/$(P_CROSS)\n\n\t: # install maintainer scrtips\n\t$(install_dir) $(D_CROSS)/$(PF)/share/doc/$(P_CROSS)\n\t$(install_file)\tdebian/changelog \\\n\t $(D_CROSS)/$(PF)/share/doc/$(P_CROSS)/changelog.Debian\n\t$(install_file)\tdebian/copyright debian/README.cross \\\n\t $(D_CROSS)/$(PF)/share/doc/$(P_CROSS)/\n\tgzip -9nf $(D_CROSS)/$(PF)/share/doc/$(P_CROSS)/changelog.Debian\n\nifeq ($(with_check),yes)\n\t: # remove user and date from test-summary for reproducible builds\n\tsed -i -e '/Test run by/d' test-summary-$*\n\t$(install_file) test-summary-$* \\\n\t $(D_CROSS)/$(PF)/share/doc/$(P_CROSS)/test-summary\n\tgzip -9nf $(D_CROSS)/$(PF)/share/doc/$(P_CROSS)/test-summary\n\t$(install_dir) $(D_CROSS)/$(PF)/share/doc/$(p_bin)\n\tln -sf ../$(P_CROSS)/test-summary.gz \\\n\t $(D_CROSS)/$(PF)/share/doc/$(p_bin)/test-summary-$*.gz\nendif\n\n\tfor pkg in bfd gas gprof ld; do \\\n\t ln -sf ../binutils/$$pkg \\\n\t $(D_CROSS)/$(PF)/share/doc/$(P_CROSS)/$$pkg; \\\n\tdone\n\n\t$(install_dir) $(D_CROSS)/DEBIAN $(D_CROSS)-dbg/DEBIAN\n\tif [ \"$(is_rc)\" = yes ]; then \\\n\t nver=$$(echo $(DEB_VERSION_UPSTREAM) | awk -F. '{ OFS=\".\"; NF--; $$NF=$$NF+1; print }'); \\\n\telse \\\n\t nver=$$(echo $(DEB_VERSION_UPSTREAM) | awk -F. '{ OFS=\".\"; if (NF > 2) $$NF=$$NF+1; else $$++NF=1; print }'); \\\n\tfi; \\\n\tdate_ext=$(DATE_EXT); \\\n\t[ \"$(is_rc)\" = yes ] && date_ext=; \\\n\t$(install_file) debian/binutils.triggers $(D_CROSS)/DEBIAN/triggers\n\n\trm -f debian/substvars\n\tdpkg-shlibdeps $(D_CROSS)/$(PF)/bin/* -l$(d_lib)/$(PF)/lib/$(DEB_HOST_MULTIARCH)\n\tdpkg-gencontrol -P$(D_CROSS) -p$(P_CROSS) \\\n\t\t-VBuilt-Using=\"$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W binutils-source)\"\n\tcd $(D_CROSS) && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\tdpkg-gencontrol -P$(D_CROSS)-dbg -p$(P_CROSS)-dbg\n\tcd $(D_CROSS)-dbg && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\t$(CHOWN) -R root:root $(D_CROSS) $(D_CROSS)-dbg\n\tchmod -R go=rX $(D_CROSS) $(D_CROSS)-dbg\n\tfind $(D_CROSS) $(D_CROSS)-dbg -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(D_CROSS) ..\n\t$(DPKG_DEB) --build $(D_CROSS)-dbg ..\n\nbinary-for-host: checkroot\n\t$(checkdir)\n\n\trm -fr $(d_hst)\n\t$(install_dir) $(d_hst)/DEBIAN/ $(d_hst)/$(PF)/share/doc/\n\tln -sf $(p_com) $(d_hst)/$(PF)/share/doc/$(p_hst)\n\n\trm -f debian/substvars\n\t$(for_target) dpkg-gencontrol -P$(d_hst) -p$(p_hst) \\\n\t\t-Vbinutils:native=$(if $(TARGET),$(p_cross),$(p_nat)) \\\n\t\t-Vbinutils:minver=$(min_ver)\n\n\t$(CHOWN) -R root:root $(d_hst)\n\tchmod -R go=rX $(d_hst)\n\n\tfind $(d_hst) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_hst) ..\n\nbinary-arch: checkroot binary-native binary-for-host \\\n $(if $(filter yes, $(with_cross)),$(addprefix binary.,$(CROSS_ARCHS)))\n\t$(checkdir)\n\nbinary-native: checkroot build install $(checkdir)\n\nifneq ($(BACKPORT),true)\n# Process the following only if $(TARGET) is set\nifneq (,$(TARGET))\n\trm -rf $(d_cross)/$(PF)/share/info $(d_cross)/$(PF)/share/man\n\n\t$(install_dir) $(d_cross)/DEBIAN\n\n\t$(install_dir) $(d_cross)/$(PF)/share/doc/$(p_cross)/\n\t$(install_file)\tdebian/changelog $(d_cross)/$(PF)/share/doc/$(p_cross)/changelog.Debian\n\t$(install_file)\tdebian/copyright debian/README.cross $(d_cross)/$(PF)/share/doc/$(p_cross)/\n\tgzip -9nf $(d_cross)/$(PF)/share/doc/$(p_cross)/changelog.Debian\n\n\tfor pkg in bfd gas gprof ld; do \\\n\t ln -sf ../binutils/$$pkg $(d_cross)/$(PF)/share/doc/$(p_cross)/$$pkg; \\\n\tdone\n\n\trm -f debian/substvars\n\tdpkg-shlibdeps $(d_cross)/$(PF)/bin/* \\\n\t -ldebian/tmp/$(PF)/lib/$(DEB_TARGET_MULTIARCH) -l$(d_lib)/$(PF)/lib/$(DEB_TARGET_MULTIARCH)\n\tdpkg-gencontrol -P$(d_cross) -p$(p_cross) \\\n\t\t-VBuilt-Using=\"$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W binutils-source)\"\n\tfind $(d_cross) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_cross) ..\n\nelse\n\t: # generate some control & helper files\n\tif [ \"$(is_rc)\" = yes ]; then \\\n\t nver=$$(echo $(DEB_VERSION_UPSTREAM) | awk -F. '{ OFS=\".\"; NF--; $$NF=$$NF+1; print }'); \\\n\telse \\\n\t nver=$$(echo $(DEB_VERSION_UPSTREAM) | awk -F. '{ OFS=\".\"; if (NF > 2) $$NF=$$NF+1; else $$++NF=1; print }'); \\\n\tfi; \\\n\tfor i in debian/*.in; do \\\n\t case \"$$i\" in debian/control.in|debian/control.cross.in) continue; esac; \\\n\t date_ext=$(DATE_EXT); \\\n\t case \"$$i\" in debian/*.shlibs.in) [ \"$(is_rc)\" = yes ] && date_ext=; esac; \\\n\t sed -e 's/@VER@/$(VERSION)/g' \\\n\t\t-e 's/@DEB_VER@/$(DEB_VERSION)/g' \\\n\t\t-e 's/@DEB_SVER@/$(DEB_SVERSION)/g' \\\n\t\t-e 's/@DEB_UVER@/$(DEB_VERSION_UPSTREAM)/g' \\\n\t\t-e \"s/@DEB_NVER@/$$nver/g\" \\\n\t\t-e \"s/@DATE_EXT@/$$date_ext/g\" \\\n\t\t-e 's/@DEB_ARCH@/$(DEB_HOST_ARCH)/g' \\\n\t\t-e 's/@DEB_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n\t\t-e 's/@DEB_TRIPLET@/$(DEB_HOST_GNU_TYPE)/g' \\\n\t\t-e \"s/@dpkg_dev@/$(DPKG_DEV)/\" \\\n\t\t$$i > $${i%*.in}; \\\n\t case \"$$i\" in *.post*|*.pre*) chmod 755 $${i%*.in}; esac; \\\n\tdone\n\n\t: # install bug reporting information\n\t$(install_file) -D debian/$(p_bin).presubj \\\n\t\t$(d_bin)/$(PF)/share/bug/$(p_bin)/presubj\nifeq ($(with_multiarch),yes)\n\t$(install_dir) $(d_mul)/$(PF)/share/bug\n\tln -sf $(p_bin) $(d_mul)/$(PF)/share/bug/$(p_mul)\nendif\nifeq ($(with_hppa64),yes)\n\t$(install_dir) $(d_hppa64)/$(PF)/share/bug\n\tln -sf $(p_bin) $(d_hppa64)/$(PF)/share/bug/$(p_hppa64)\nendif\n\n\t: # make lintian happy\n\t$(install_file) -D debian/$(p_com).overrides \\\n\t\t$(d_com)/$(PF)/share/lintian/overrides/$(p_com)\n\t$(install_file) -D debian/$(p_lib).overrides \\\n\t\t$(d_lib)/$(PF)/share/lintian/overrides/$(p_lib)\n\t$(install_file) -D debian/binutils.overrides \\\n\t\t$(d_bin)/$(PF)/share/lintian/overrides/$(p_bin)\n\t$(install_dir) $(d_nat)/$(PF)/share/lintian/overrides\n\tsed 's/@PKG@/$(p_nat)/' debian/binutils-triplet.overrides \\\n\t > $(d_nat)/$(PF)/share/lintian/overrides/$(p_nat)\nifeq ($(with_multiarch),yes)\n\t$(install_file) -D debian/$(p_mul).overrides \\\n\t\t$(d_mul)/$(PF)/share/lintian/overrides/$(p_mul)\n\t$(install_file) -D debian/$(p_mdev).overrides \\\n\t\t$(d_mdev)/$(PF)/share/lintian/overrides/$(p_mdev)\nendif\nifeq ($(with_hppa64),yes)\n\t$(install_file) -D debian/$(p_hppa64).overrides \\\n\t\t$(d_hppa64)/$(PF)/share/lintian/overrides/$(p_hppa64)\nendif\n\n\t: # install maintainer scripts\n\t$(install_dir) $(d_bin)/DEBIAN\n\n\t$(install_dir) $(d_lib)/DEBIAN $(d_lib)-dbg/DEBIAN\n\t$(install_file) debian/binutils.triggers $(d_lib)/DEBIAN/triggers\n\t$(install_file) debian/libbinutils.shlibs $(d_lib)/DEBIAN/shlibs\n\n\t$(install_dir) $(d_ctf)/DEBIAN $(d_ctf)-dbg/DEBIAN\n\t$(install_file) debian/binutils.triggers $(d_ctf)/DEBIAN/triggers\n\t$(install_file) debian/libctf0.shlibs $(d_ctf)/DEBIAN/shlibs\n\t$(install_file) debian/libctf0.symbols $(d_ctf)/DEBIAN/symbols\n\n\t$(install_dir) $(d_ctfn)/DEBIAN $(d_ctfn)-dbg/DEBIAN\n\t$(install_file) debian/binutils.triggers $(d_ctfn)/DEBIAN/triggers\n\t$(install_file) debian/libctf-nobfd0.shlibs $(d_ctfn)/DEBIAN/shlibs\n\t$(install_file) debian/libctf-nobfd0.symbols $(d_ctfn)/DEBIAN/symbols\n\nifeq ($(with_gprofng),yes)\n\t$(install_dir) $(d_gpng)/DEBIAN $(d_gpng)-dbg/DEBIAN\n\t$(install_file) debian/binutils.triggers $(d_gpng)/DEBIAN/triggers\n\t$(install_file) debian/libgprofng0.shlibs $(d_gpng)/DEBIAN/shlibs\n\n\t$(install_dir) $(d_com)/DEBIAN\n\t$(install_file) debian/binutils-common.conffiles $(d_com)/DEBIAN/conffiles\nendif\n\t$(install_dir) $(d_sfrm)/DEBIAN $(d_sfrm)-dbg/DEBIAN\n\t$(install_file) debian/binutils.triggers $(d_sfrm)/DEBIAN/triggers\n\t$(install_file) debian/libsframe1.shlibs $(d_sfrm)/DEBIAN/shlibs\n\t$(install_file) debian/libsframe1.symbols $(d_sfrm)/DEBIAN/symbols\n\n\t$(install_dir) $(d_nat)/DEBIAN $(d_nat)-dbg/DEBIAN\n\n\t$(install_dir) $(d_dev)/DEBIAN\n\nifeq ($(with_multiarch),yes)\n\t$(install_dir) $(d_mul)/DEBIAN $(d_mul)-dbg/DEBIAN\n\t$(install_script) debian/binutils-multiarch.preinst $(d_mul)/DEBIAN/preinst\n\t$(install_script) debian/binutils-multiarch.postinst $(d_mul)/DEBIAN/postinst\n\t$(install_script) debian/binutils-multiarch.prerm $(d_mul)/DEBIAN/prerm\n\t$(install_script) debian/binutils-multiarch.postrm $(d_mul)/DEBIAN/postrm\n\t$(install_file) debian/binutils-multiarch.shlibs $(d_mul)/DEBIAN/shlibs\n\t$(install_file) debian/binutils.triggers $(d_mul)/DEBIAN/triggers\n\t$(install_dir) $(d_mdev)/DEBIAN\nendif\n\nifeq ($(with_hppa64),yes)\n\t$(install_dir) $(d_hppa64)/DEBIAN $(d_hppa64)-dbg/DEBIAN\n\t$(install_file) debian/binutils.triggers $(d_hppa64)/DEBIAN/triggers\nendif\n\n\t: # install docs\n\t$(install_dir) $(d_bin)/$(PF)/share/doc/$(p_bin)/\n\t$(install_file)\tdebian/changelog $(d_bin)/$(PF)/share/doc/$(p_bin)/changelog.Debian\n\t$(install_file)\tdebian/copyright $(d_bin)/$(PF)/share/doc/$(p_bin)/\n\n\t$(install_dir) $(d_com)/$(PF)/share/doc/$(p_com)/\n\t$(install_file) debian/changelog $(d_com)/$(PF)/share/doc/$(p_com)/changelog.Debian\n\t$(install_file) debian/copyright $(d_com)/$(PF)/share/doc/$(p_com)/\n\n\t$(install_dir) $(d_lib)/$(PF)/share/doc/\n\tln -sf $(p_com) $(d_lib)/$(PF)/share/doc/$(p_lib)\n\n\t$(install_dir) $(d_ctf)/$(PF)/share/doc/\n\tln -sf $(p_lib) $(d_ctf)/$(PF)/share/doc/$(p_ctf)\n\n\t$(install_dir) $(d_ctfn)/$(PF)/share/doc/$(p_ctfn)\n\t$(install_file)\tdebian/changelog $(d_ctfn)/$(PF)/share/doc/$(p_ctfn)/changelog.Debian\n\t$(install_file)\tdebian/copyright $(d_ctfn)/$(PF)/share/doc/$(p_ctfn)/\n\nifeq ($(with_gprofng),yes)\n\t$(install_dir) $(d_gpng)/$(PF)/share/doc/\n\tln -sf $(p_lib) $(d_gpng)/$(PF)/share/doc/$(p_gpng)\nendif\n\t$(install_dir) $(d_sfrm)/$(PF)/share/doc/$(p_sfrm)\n\t$(install_file) debian/changelog $(d_sfrm)/$(PF)/share/doc/$(p_sfrm)/changelog.Debian\n\t$(install_file) debian/copyright $(d_sfrm)/$(PF)/share/doc/$(p_sfrm)/\n\n\t$(install_dir) $(d_nat)/$(PF)/share/doc/\n\tln -sf $(p_lib) $(d_nat)/$(PF)/share/doc/$(p_nat)\n\n\t$(install_dir) $(d_dev)/$(PF)/share/doc/\n\tln -sf $(p_bin) $(d_dev)/$(PF)/share/doc/$(p_dev)\nifeq ($(with_multiarch),yes)\n\t$(install_dir) $(d_mul)/$(PF)/share/doc/\n\tln -sf $(p_bin) $(d_mul)/$(PF)/share/doc/$(p_mul)\n\t$(install_dir) $(d_mdev)/$(PF)/share/doc/\n\tln -sf $(p_mul) $(d_mdev)/$(PF)/share/doc/$(p_mdev)\nendif\nifeq ($(with_hppa64),yes)\n\t$(install_dir) $(d_hppa64)/$(PF)/share/doc/\n\tln -sf $(p_bin) $(d_hppa64)/$(PF)/share/doc/$(p_hppa64)\nendif\n\nifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))\nifeq ($(with_check),yes)\n\t: # remove user and date from test-summary for reproducible builds\n\tsed -i -e '/Test run by/d' $(pwd)/test-summary\n\t$(install_dir) $(d_nat)/$(PF)/share/doc/$(p_bin)\n\t$(install_file) test-summary \\\n\t $(d_nat)/$(PF)/share/doc/$(p_bin)/test-summary-$(DEB_HOST_ARCH)\n\tgzip -9nf \\\n\t $(d_nat)/$(PF)/share/doc/$(p_bin)/test-summary-$(DEB_HOST_ARCH)\n\n\t: # save log and sum files in $(p_dev)\n\t$(install_dir) $(d_dev)/$(PF)/share/doc/$(p_bin)/tests\n\tfor i in $$(find builddir-single -name '*.sum'); do \\\n\t b=$$(basename $$i .sum); \\\n\t $(install_file) $$i $(d_dev)/$(PF)/share/doc/$(p_bin)/tests/$$b.sum; \\\n\t sed -i -e '/Test run by/d' $(d_dev)/$(PF)/share/doc/$(p_bin)/tests/$$b.sum; \\\n\t xz -9v $(d_dev)/$(PF)/share/doc/$(p_bin)/tests/$$b.sum; \\\n\t $(install_file) $${i%.sum}.log $(d_dev)/$(PF)/share/doc/$(p_bin)/tests/$$b.log; \\\n\t xz -9v $(d_dev)/$(PF)/share/doc/$(p_bin)/tests/$$b.log; \\\n\tdone\nendif\nendif\n\t$(install_dir) $(d_com)/$(PF)/share/doc/$(p_bin)\n\t$(install_file) binutils/NEWS debian/README.cross \\\n $(d_com)/$(PF)/share/doc/$(p_bin)/\n\n\t$(install_file) binutils/ChangeLog $(d_com)/$(PF)/share/doc/$(p_bin)/changelog\n\n\tfor pkg in bfd gas gprof ld; do \\\n\t $(install_dir) $(d_com)/$(PF)/share/doc/$(p_bin)/$$pkg; \\\n\tdone\n\t$(install_file) bfd/ChangeLog bfd/PORTING bfd/TODO \\\n\t\t\t$(d_com)/$(PF)/share/doc/$(p_bin)/bfd/\n\t$(install_file) gas/ChangeLog gas/NEWS $(d_com)/$(PF)/share/doc/$(p_bin)/gas/\n\t$(install_file) gprof/ChangeLog gprof/TODO gprof/TEST \\\n\t\t\t$(d_com)/$(PF)/share/doc/$(p_bin)/gprof/\n\t$(install_file) ld/ChangeLog ld/TODO ld/NEWS \\\n\t\t\t$(d_com)/$(PF)/share/doc/$(p_bin)/ld/\n\n\t: # These only exist in H. J. Lu releases not GNU ones.\n\tfor dir in binutils bfd gas gprof ld; do \\\n\t if [ -f $$dir/ChangeLog.linux ]; then \\\n\t $(install_file) $$dir/ChangeLog.linux $(d_com)/$(PF)/share/doc/$(p_bin)/$$dir/; \\\n\t fi; \\\n\tdone\n\n\t: # Copy bbconv.pl to the doc dir for use by interested people\n\t$(install_file) gprof/bbconv.pl $(d_com)/$(PF)/share/doc/$(p_bin)/gprof/.\n\n\t: # Compress stuff that needs it\n\tgzip -9n $(d_ctfn)/$(PF)/share/doc/$(p_ctfn)/changelog.Debian\n\n\tgzip -9n $(d_bin)/$(PF)/share/doc/$(p_bin)/changelog.Debian\n\tfind $(d_com)/$(PF)/share/doc/$(p_bin)/ -type f ! -name bbconv.pl | xargs gzip -9n\n\tgzip -9n $(d_com)/$(PF)/share/doc/$(p_com)/changelog.Debian\n\tgzip -9n $(d_com)/$(PF)/share/man/man1/*.1\n\n\tgzip -9n $(d_sfrm)/$(PF)/share/doc/$(p_sfrm)/changelog.Debian\n\n\t: # Finish it all up\n\tdpkg-gencontrol -P$(d_bin) -p$(p_bin) \\\n\t\t$(CONFLICTS_TARGET_$(DEB_HOST_ARCH)) $(gold_provides) \\\n\t\t-Vbinutils:native=$(p_nat)\n\tcd $(d_bin) && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\n\trm -f debian/substvars\n\tfind $(d_lib) -type f | xargs file | grep ELF | cut -d: -f 1 | xargs dpkg-shlibdeps\n\tdpkg-gencontrol -P$(d_lib) -p$(p_lib)\n\tcd $(d_lib) && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\tdpkg-gencontrol -P$(d_lib)-dbg -p$(p_lib)-dbg\n\tcd $(d_lib)-dbg && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\n\tdpkg-gensymbols -P$(d_ctf) -p$(p_ctf) -l$(d_lib)\n\tdpkg-gensymbols -P$(d_ctfn) -p$(p_ctfn)\nifeq ($(with_gprofng),yes)\n\t-dpkg-gensymbols -P$(d_gpng) -p$(p_gpng) -l$(d_lib)\nendif\n\tdpkg-gensymbols -P$(d_sfrm) -p$(p_sfrm)\n\n\trm -f debian/substvars\n\tfind $(d_ctf) -type f | xargs file | grep ELF | cut -d: -f 1 | xargs dpkg-shlibdeps\n\tdpkg-gencontrol -P$(d_ctf) -p$(p_ctf)\n\tcd $(d_ctf) && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\tdpkg-gencontrol -P$(d_ctf)-dbg -p$(p_ctf)-dbg\n\tcd $(d_ctf)-dbg && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\n\trm -f debian/substvars\n\tfind $(d_ctfn) -type f | xargs file | grep ELF | cut -d: -f 1 | xargs dpkg-shlibdeps\n\tdpkg-gencontrol -P$(d_ctfn) -p$(p_ctfn)\n\tcd $(d_ctfn) && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\tdpkg-gencontrol -P$(d_ctfn)-dbg -p$(p_ctfn)-dbg\n\tcd $(d_ctfn)-dbg && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\nifeq ($(with_gprofng),yes)\n\trm -f debian/substvars\n\tfind $(d_gpng) -type f | xargs file | grep ELF | cut -d: -f 1 | xargs dpkg-shlibdeps\n\tdpkg-gencontrol -P$(d_gpng) -p$(p_gpng)\n\tcd $(d_gpng) && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\tdpkg-gencontrol -P$(d_gpng)-dbg -p$(p_gpng)-dbg\n\tcd $(d_gpng)-dbg && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\nendif\n\n\trm -f debian/substvars\n\tfind $(d_sfrm) -type f | xargs file | grep ELF | cut -d: -f 1 | xargs dpkg-shlibdeps\n\tdpkg-gencontrol -P$(d_sfrm) -p$(p_sfrm)\n\tcd $(d_sfrm) && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\tdpkg-gencontrol -P$(d_sfrm)-dbg -p$(p_sfrm)-dbg\n\tcd $(d_sfrm)-dbg && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\n\trm -f debian/substvars\n\tmkdir -p $(d_com)/DEBIAN\n\tdpkg-gencontrol -P$(d_com) -p$(p_com)\n\tcd $(d_com) && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\n\trm -f debian/substvars\n\tfind $(d_nat) -type f | xargs file | grep ELF | cut -d: -f 1 | xargs dpkg-shlibdeps -l$(d_lib)/$(PF)/lib/$(DEB_HOST_MULTIARCH)\n\tdpkg-gencontrol -P$(d_nat) -p$(p_nat) -VextraDepends='libbinutils (= $${binary:Version})'\n\tcd $(d_nat) && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\tdpkg-gencontrol -P$(d_nat)-dbg -p$(p_nat)-dbg -VextraDepends='libbinutils (= $${binary:Version})'\n\tcd $(d_nat)-dbg && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\n\trm -f debian/substvars\n\tdpkg-gencontrol -P$(d_dev) -p$(p_dev)\n\tcd $(d_dev) && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\nifeq ($(with_multiarch),yes)\n\trm -f debian/substvars\n\tfind $(d_mul) -type f | xargs file | grep ELF | cut -d: -f 1 | xargs dpkg-shlibdeps\n\tdpkg-gencontrol -P$(d_mul) -p$(p_mul)\n\tcd $(d_mul) && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\tdpkg-gencontrol -P$(d_mul)-dbg -p$(p_mul)-dbg\n\tcd $(d_mul)-dbg && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\n\trm -f debian/substvars\n\tmkdir -p $(d_mdev)/DEBIAN\n\tdpkg-gencontrol -P$(d_mdev) -p$(p_mdev)\n\tcd $(d_mdev) && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs -r md5sum > DEBIAN/md5sums\nendif\n\nifeq ($(with_hppa64),yes)\n\trm -f debian/substvars\n\tfind $(d_hppa64) -type f | xargs file | grep ELF | cut -d: -f 1 | xargs dpkg-shlibdeps\n\tdpkg-gencontrol -P$(d_hppa64) -p$(p_hppa64)\n\tcd $(d_hppa64) && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\n\tdpkg-gencontrol -P$(d_hppa64)-dbg -p$(p_hppa64)-dbg\n\tcd $(d_hppa64)-dbg && find -type f ! -regex './DEBIAN/.*' -printf '%P\\n' | LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums\nendif\n\n\t$(CHOWN) -R root:root $(d_bin) $(d_com) $(d_lib) $(d_lib)-dbg $(d_ctf) $(d_ctf)-dbg $(d_ctfn) $(d_ctfn)-dbg $(d_nat) $(d_nat)-dbg $(d_dev) $(d_sfrm) $(d_sfrm)-dbg\n\tchmod -R go=rX $(d_bin) $(d_com) $(d_lib) $(d_lib)-dbg $(d_ctf) $(d_ctf)-dbg $(d_ctfn) $(d_ctfn)-dbg $(d_nat) $(d_nat)-dbg $(d_dev) $(d_sfrm) $(d_sfrm)-dbg\n\tfind $(d_bin) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_bin) ..\n\tfind $(d_com) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_com) ..\n\tfind $(d_ctf) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_ctf) ..\n\tfind $(d_ctf)-dbg -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_ctf)-dbg ..\n\tfind $(d_ctfn) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_ctfn) ..\n\tfind $(d_ctfn)-dbg -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_ctfn)-dbg ..\nifeq ($(with_gprofng),yes)\n\t$(CHOWN) -R root:root $(d_gpng) $(d_gpng)-dbg\n\tchmod -R go=rX $(d_gpng) $(d_gpng)-dbg\n\tfind $(d_gpng) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_gpng) ..\n\tfind $(d_gpng)-dbg -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_gpng)-dbg ..\nendif\n\tfind $(d_sfrm) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_sfrm) ..\n\tfind $(d_sfrm)-dbg -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_sfrm)-dbg ..\n\tfind $(d_lib) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_lib) ..\n\tfind $(d_lib)-dbg -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_lib)-dbg ..\n\tfind $(d_nat) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_nat) ..\n\tfind $(d_nat)-dbg -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_nat)-dbg ..\n\tfind $(d_dev) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_dev) ..\nifeq ($(with_multiarch),yes)\n\t$(CHOWN) -R root:root $(d_mul) $(d_mul)-dbg\n\tchmod -R go=rX $(d_mul) $(d_mul)-dbg\n\tfind $(d_mul) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_mul) ..\n\tfind $(d_mul)-dbg -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_mul)-dbg ..\n\n\t$(CHOWN) -R root:root $(d_mdev)\n\tchmod -R go=rX $(d_mdev)\n\tfind $(d_mdev) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_mdev) ..\nendif\nifeq ($(with_hppa64),yes)\n\t$(CHOWN) -R root:root $(d_hppa64)-dbg\n\tchmod -R go=rX $(d_hppa64) $(d_hppa64)-dbg\n\tfind $(d_hppa64) -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_hppa64) ..\n\tfind $(d_hppa64)-dbg -depth -newermt '$(BUILD_DATE)' -print0 | \\\n\t\txargs -0r touch --no-dereference --date='$(BUILD_DATE)'\n\t$(DPKG_DEB) --build $(d_hppa64)-dbg ..\nendif\n\t@echo '==================== Build finished ===================='\n\tps aux\n\nendif # Process the following only if $(TARGET) is set\nendif # ifndef BACKPORT\n\n###############################################################################\n\ndefine checkdir\n test -f bfd/elf32.c -a -f debian/rules\nendef\n\n#\tif which pkg_create_dbgsym >/dev/null 2>&1; then \\\n#\t pkg_create_dbgsym $1 $2; \\\n#\tfi\n\nifeq ($(with_strip),yes)\n# strip_package: \ndefine strip_package\n\t$(install_dir) $(strip $2)-dbg/usr/share/doc/\n\tln -sf $(strip $1) $(strip $2)-dbg/usr/share/doc/$(strip $1)-dbg\n\t: # Strip shared libraries and binaries\n\tset -e; \\\n\tnfiles=0; \\\n\tfor i in \\\n\t $(strip $2)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libbfd-*so \\\n\t $(strip $2)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libopcodes-*so \\\n\t $(strip $2)/$(PF)/lib/*/bfd-plugins/libdep.so \\\n\t $(strip $2)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libctf*.so.0.0.0 \\\n\t $(strip $2)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libgprofng.so.0.0.0 \\\n\t $(strip $2)/$(PF)/lib/*/gprofng/libgp-*.so \\\n\t $(strip $2)/$(PF)/lib/*/libgprofng.so.0.0 \\\n\t $(strip $2)/$(PF)/lib/*/libsframe.so.1.0.0 \\\n\t $$(file $(strip $2)/$(PF)/bin/* |awk -F: '$$0 !~ /script/ {print $$1}'); \\\n\tdo \\\n\t test ! -h $$i || continue; test -f $$i || continue; \\\n\t files=\"$$files $$i\"; \\\n\t nfiles=$$(expr $$nfiles + 1); \\\n\tdone; \\\n\tfor i in $$files; do \\\n\t id=$$(debugedit --build-id --build-id-seed='$(strip $1)-$(DEB_VERSION)' $$i); \\\n\tdone; \\\n\tmkdir -p $(strip $2)-dbg/usr/lib/debug/.dwz/$(DEB_HOST_MULTIARCH); \\\n\tdwz=usr/lib/debug/.dwz/$(DEB_HOST_MULTIARCH)/$(strip $1).debug; \\\n\tif [ $$nfiles -gt 1 ]; then \\\n\t dwz -m $(strip $2)-dbg/$$dwz -M /$$dwz $$files; \\\n\t $(CROSS)objcopy --compress-debug-sections $(strip $2)-dbg/$$dwz; \\\n\telse \\\n\t dwz $$files; \\\n\tfi; \\\n\tfor i in $$files; do \\\n\t b_id=$$(LC_ALL=C $(CROSS)readelf -n $$i | sed -n 's/ *Build ID: *\\([0-9a-f][0-9a-f]*\\)/\\1/p'); \\\n\t if [ -z \"$$b_id\" ]; then \\\n\t id=$$(echo $$i | sed -r 's,debian/[^/]+,$2-dbg/usr/lib/debug,'); \\\n\t echo strip $$i; \\\n\t mkdir -p $$(dirname $$id); \\\n\t $(CROSS)objcopy --only-keep-debug $$i $$id; \\\n\t chmod 644 $$id; \\\n\t $(STRIP) $$i; \\\n\t $(CROSS)objcopy --add-gnu-debuglink $$id $$i; \\\n\t else \\\n\t echo \"ID: $${b_id} -> $$(echo $$i | sed 's,$(strip $2),,')\"; \\\n\t d=usr/lib/debug/.build-id/$${b_id:0:2}; \\\n\t f=$${b_id:2}.debug; \\\n\t mkdir -p $(strip $2)-dbg/$$d; \\\n\t $(CROSS)objcopy --only-keep-debug --compress-debug-sections $$i $(strip $2)-dbg/$$d/$$f; \\\n\t chmod 644 $(strip $2)-dbg/$$d/$$f; \\\n\t $(STRIP) $$i; \\\n\t fi; \\\n\tdone\nendef\nelse\ndefine strip_package\n\t$(install_dir) $(strip $2)-dbg/usr/share/doc/\n\tln -sf $(strip $1) $(strip $2)-dbg/usr/share/doc/$(strip $1)-dbg\nendef\nendif\n\nremove-gfdl-files:\n\trm -rf .git* .cvs* gdb* libbacktrace libdecnumber readline sim\nifeq ($(GFDL_INVARIANT_FREE),yes)\n\tfor i in $(gfdl_toplevel_texinfo_files); do \\\n\t if [ -f $$i ]; then \\\n\t sed \"s/@name@/$$(basename $$i)/g\" debian/gfdl.texi > $$i; \\\n\t fi; \\\n\tdone\n\trm -f $(gfdl_generated_files)\n\trm -f zlib/contrib/dotzlib/DotZLib.chm\nendif\n\n# Below here is fairly generic really\n\nbinary: binary-indep binary-arch\n\ncheckroot:\n\t$(checkdir)\nifeq ($(require_root),yes)\n\ttest root = \"`whoami`\"\nendif\n\n.PHONY: binary binary-arch binary-indep clean checkroot\n\n.PRECIOUS: stamps/configure.% stamps/build.% stamps/install.%\n" + }, + { + "path": "debian/rules.defs", + "bytes": 7318, + "sha256": "7e95a7b7486317b0217dce1a599da80ee0832ffbe9f06978a751fccf441f0cc7", + "content": "# these macros are also used for binutils & gcc combined builds\n# these must not conflict with definitions in the gcc packaging\n\n# GCC must use: BINUTILS_GCCCONF BINUTILS_GCCENV\n\n# macros that have to be defined before inclusion:\n# DEB_HOST_ARCH, BASE_VERSION (GCC)\n\n# only used in the GCC sources\nbd_binutils_only = file, help2man, libjansson-dev,\n\n# Map a Debian architecture alias to a GNU type or a multiarch path component.\nrun_dpkg_arch = $(or $(dpkg_arch_$1),$(eval \\\n dpkg_arch_$1 := $(shell dpkg-architecture -f -a$1))$(dpkg_arch_$1))\n_gnu_type = $(call vafilt,$(run_dpkg_arch),DEB_HOST_GNU_TYPE)\n_multiarch = $(call vafilt,$(run_dpkg_arch),DEB_HOST_MULTIARCH)\n\nifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 arm64 x32))\n with_gprofng = yes\n CONF_GPROFNG = --enable-gprofng\nendif\n\ngold_targets = \\\n\tamd64 arm64 armel armhf i386 \\\n\tmips mipsel mipsn32 mipsn32el mips64 mips64el \\\n\tmipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el \\\n\tpowerpc ppc64 ppc64el sparc sparc64 s390x \\\n\tx32 kfreebsd-amd64 kfreebsd-i386 hurd-amd64 hurd-i386\n\nifneq (,$(filter $(DEB_HOST_ARCH), $(gold_targets)))\n with_gold = yes\nendif\n\nbinutils_programs = addr2line ar as c++filt elfedit gprof ld ld.bfd\nbinutils_programs += nm objcopy objdump ranlib readelf size strings strip\nifeq ($(with_gprofng),yes)\n binutils_programs += gprofng gp-collect-app\n binutils_programs += gp-archive gp-display-html gp-display-src gp-display-text\nendif\nifeq ($(with_gold),yes)\n binutils_programs += gold ld.gold dwp\nendif\n\nBINUTILS_BASECONF = \\\n\t--disable-silent-rules \\\n\t--enable-obsolete \\\n\t--enable-plugins \\\n\t--enable-threads \\\n\t--enable-jansson \\\n\t--enable-deterministic-archives \\\n\t--disable-compressed-debug-sections \\\n\t--enable-new-dtags \\\n\t--disable-x86-used-note \\\n\t--with-gold-ldflags=-static-libstdc++\n\nDEB_TARGET_MULTIARCH32_amd64\t\t= i386-linux-gnu\nDEB_TARGET_MULTIARCHX32_amd64\t\t= x86_64-linux-gnux32\n\nDEB_TARGET_MULTIARCH32_x32\t\t= i386-linux-gnu\nDEB_TARGET_MULTIARCH64_x32\t\t= x86_64-linux-gnu\n\nDEB_TARGET_MULTIARCH32_powerpc\t\t= powerpc-linux-gnu\n\nDEB_TARGET_MULTIARCH32_s390x\t\t= s390-linux-gnu\n\nDEB_TARGET_MULTIARCH32_sparc64\t\t= sparc-linux-gnu\n\nDEB_TARGET_MULTIARCH32_kfreebsd-amd64\t= i386-kfreebsd-gnu\n\nDEB_TARGET_MULTIARCH64_i386\t\t= x86_64-linux-gnu\nDEB_TARGET_MULTIARCHX32_i386\t\t= x86_64-linux-gnux32\n\nDEB_TARGET_MULTIARCH64_powerpc\t\t= powerpc64-linux-gnu\n\nDEB_TARGET_MULTIARCH64_sparc\t\t= sparc64-linux-gnu\n\nDEB_TARGET_MULTIARCH64_s390\t\t= s390x-linux-gnu\n\nDEB_TARGET_MULTIARCH64_kfreebsd-i386\t= x86_64-kfreebsd-gnu\n\nDEB_TARGET_MULTIARCH64_mips\t\t= mips64-linux-gnuabi64\nDEB_TARGET_MULTIARCHN32_mips\t\t= mips64-linux-gnuabin32\n\nDEB_TARGET_MULTIARCH64_mipsel\t\t= mips64el-linux-gnuabi64\nDEB_TARGET_MULTIARCHN32_mipsel\t\t= mips64el-linux-gnuabin32\n\nDEB_TARGET_MULTIARCH64_mipsn32\t\t= mips64-linux-gnuabi64\nDEB_TARGET_MULTIARCH32_mipsn32\t\t= mips-linux-gnu\n\nDEB_TARGET_MULTIARCH64_mipsn32el \t= mips64el-linux-gnuabi64\nDEB_TARGET_MULTIARCH32_mipsn32el \t= mipsel-linux-gnu\n\nDEB_TARGET_MULTIARCH32_mips64\t\t= mips-linux-gnu\nDEB_TARGET_MULTIARCHN32_mips64\t\t= mips64-linux-gnuabin32\n\nDEB_TARGET_MULTIARCH32_mips64el\t\t= mipsel-linux-gnu\nDEB_TARGET_MULTIARCHN32_mips64el\t= mips64el-linux-gnuabin32\n\nDEB_TARGET_MULTIARCH64_mipsr6\t\t= mipsisa64r6-linux-gnuabi64\nDEB_TARGET_MULTIARCHN32_mipsr6\t= mipsisa64r6-linux-gnuabin32\n\nDEB_TARGET_MULTIARCH64_mipsr6el\t= mipsisa64r6el-linux-gnuabi64\nDEB_TARGET_MULTIARCHN32_mipsr6el\t= mipsisa64r6el-linux-gnuabin32\n\nDEB_TARGET_MULTIARCH64_mipsn32r6\t= mipsisa64r6-linux-gnuabi64\nDEB_TARGET_MULTIARCH32_mipsn32r6\t= mipsisa32r6-linux-gnu\n\nDEB_TARGET_MULTIARCH64_mipsn32r6el \t= mipsisa64r6el-linux-gnuabi64\nDEB_TARGET_MULTIARCH32_mipsn32r6el \t= mipsisa32r6el-linux-gnu\n\nDEB_TARGET_MULTIARCH32_mips64r6\t\t= mipsisa32r6-linux-gnu\nDEB_TARGET_MULTIARCHN32_mips64r6\t= mipsisa64r6-linux-gnuabin32\n\nDEB_TARGET_MULTIARCH32_mips64r6el\t= mipsisa32r6el-linux-gnu\nDEB_TARGET_MULTIARCHN32_mips64r6el\t= mipsisa64r6el-linux-gnuabin32\n\nDEB_TARGET_MULTIARCH32_arm64\t\t= aarch64_ilp32-linux-gnu\n\nSET_BINUTILS_MULTIARCH_ENV = \\\n\tDEB_TARGET_MULTIARCH=$(call _multiarch,$1) \\\n\t$(if $(DEB_TARGET_MULTIARCH32_$1) ,DEB_TARGET_MULTIARCH32=$(DEB_TARGET_MULTIARCH32_$1)) \\\n\t$(if $(DEB_TARGET_MULTIARCH64_$1) ,DEB_TARGET_MULTIARCH64=$(DEB_TARGET_MULTIARCH64_$1)) \\\n\t$(if $(DEB_TARGET_MULTIARCHX32_$1),DEB_TARGET_MULTIARCHX32=$(DEB_TARGET_MULTIARCHX32_$1)) \\\n\t$(if $(DEB_TARGET_MULTIARCHN32_$1),DEB_TARGET_MULTIARCHN32=$(DEB_TARGET_MULTIARCHN32_$1))\n\nCONFARGS_TARGET_sparc\t\t= --enable-targets=sparc64-linux-gnu\nCONFLICTS_TARGET_sparc\t\t= -VextraConflicts=\"libc6-dev-sparc64 (<< 2.2.5-7)\"\n\nCONFARGS_TARGET_sparc64\t\t= --enable-targets=sparc-linux-gnu\nCONFLICTS_TARGET_sparc64\t= -VextraConflicts=\"libc6-dev-sparc64 (<< 2.2.5-7)\"\n\nCONFARGS_TARGET_powerpc\t\t= --enable-targets=powerpc64-linux-gnu\n\nCONFARGS_TARGET_ppc64\t\t= --enable-targets=powerpc-linux-gnu\n\nCONFARGS_TARGET_ppc64el\t\t= --enable-targets=powerpc-linux-gnu\n\nCONFARGS_TARGET_s390\t\t= --enable-targets=s390x-linux-gnu\n\nCONFARGS_TARGET_s390x\t\t= --enable-targets=s390-linux-gnu\n\nCONFARGS_TARGET_amd64\t\t= --enable-targets=i686-linux-gnu,x86_64-linux-gnux32,x86_64-pep\n\nCONFARGS_TARGET_i386\t\t= --enable-targets=x86_64-linux-gnu,x86_64-linux-gnux32,x86_64-pep\n\nCONFARGS_TARGET_x32\t\t= --enable-targets=i686-linux-gnu,x86_64-linux-gnu,x86_64-pep\n\nCONFLICTS_TARGET_amd64\t\t= -VextraConflicts=\"binutils-mingw-w64-i686 (<< 2.23.52.20130612-1+3), binutils-mingw-w64-x86-64 (<< 2.23.52.20130612-1+3)\"\nCONFLICTS_TARGET_i386 = $(CONFLICTS_TARGET_amd64)\nCONFLICTS_TARGET_x32 = $(CONFLICTS_TARGET_amd64)\n\nCONFARGS_TARGET_riscv64\t\t= --with-isa-spec=2.2\n\nCONFARGS_TARGET_kfreebsd-i386\t= --enable-targets=x86_64-kfreebsd-gnu\n\nCONFARGS_TARGET_mips\t\t= --enable-targets=mips64-linux-gnuabi64,mips64-linux-gnuabin32\n\nCONFARGS_TARGET_mipsel\t\t= --enable-targets=mips64el-linux-gnuabi64,mips64el-linux-gnuabin32 --enable-mips-fix-loongson3-llsc=yes\n\nCONFARGS_TARGET_mipsn32\t\t= --enable-targets=mips64-linux-gnuabi64,mips-linux-gnu\n\nCONFARGS_TARGET_mipsn32el\t= --enable-targets=mips64el-linux-gnuabi64,mipsel-linux-gnu --enable-mips-fix-loongson3-llsc=yes\n\nCONFARGS_TARGET_mips64\t\t= --enable-targets=mips64-linux-gnuabin32,mips-linux-gnu\n\nCONFARGS_TARGET_mips64el\t= --enable-targets=mips64el-linux-gnuabin32,mipsel-linux-gnu --enable-mips-fix-loongson3-llsc=yes\n\nCONFARGS_TARGET_mipsr6\t= --enable-targets=mipsisa64r6-linux-gnuabi64,mipsisa64r6-linux-gnuabin32\n\nCONFARGS_TARGET_mipsr6el\t= --enable-targets=mipsisa64r6el-linux-gnuabi64,mipsisa64r6el-linux-gnuabin32\n\nCONFARGS_TARGET_mipsn32r6\t= --enable-targets=mipsisa64r6-linux-gnuabi64,mipsisa32r6-linux-gnu\n\nCONFARGS_TARGET_mipsn32r6el\t= --enable-targets=mipsisa64r6el-linux-gnuabi64,mipsisa32r6el-linux-gnu\n\nCONFARGS_TARGET_mips64r6\t= --enable-targets=mipsisa64r6-linux-gnuabin32,mipsisa32r6-linux-gnu\n\nCONFARGS_TARGET_mips64r6el\t= --enable-targets=mipsisa64r6el-linux-gnuabin32,mipsisa32r6el-linux-gnu\n\nCONFARGS_TARGET_aarch64\t\t= --enable-targets=aarch64_be-linux-gnu\n\nCONFARGS_TARGET_arc\t\t= --with-cpu=hs38_linux\n\nCONFARGS_TARGET_hppa\t\t= --enable-targets=hppa64-linux-gnu\n\nBINUTILS_GCCCONF = $(BINUTILS_BASECONF) $(CONFARGS_TARGET_$(DEB_HOST_ARCH))\nifeq ($(with_gold),yes)\n BINUTILS_GCCCONF += --enable-ld=default --enable-gold\nendif\nBINUTILS_GCCCONF += $(CONF_GPROFNG)\n\nBINUTILS_GCCENV = BFD_SOVER_EXT=-tc$(BASE_VERSION) CTF_SOVER_EXT=-tc$(BASE_VERSION)\n" + }, + { + "path": "debian/README.source", + "bytes": 584, + "sha256": "5e241763b8056235179faa6e3606ff6ff3666825daf83e696890819c0dbcf973", + "content": "This source package builds native packages and packages targeting\ndebian architectures. To shorten a test build, some of these builds\ncan be skipped.\n\nDEB_BUILD_OPTIONS=\"parallel=