Package: release.debian.org Severity: normal Tags: jessie User: [email protected] Usertags: pu
Hi folks, Binutils in jessie is building (some) broken packages on arm64, particularly those using gold. See #850814 for more details - I've scanned the archive for affected packages. There's a simple fix proposed with a single change backported from upstream. I've built and tested 2.25-5+deb8u1.1 locally on amd64 and arm64. Debdiff attached. OK to upload? Once this is in the archive, we'll need some binnmus scheduling to fix the packages in that list in #850814. -- System Information: Debian Release: 8.6 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.8.0-0.bpo.2-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)
diff -u binutils-2.25/debian/changelog binutils-2.25/debian/changelog --- binutils-2.25/debian/changelog +++ binutils-2.25/debian/changelog @@ -1,3 +1,11 @@ +binutils (2.25-5+deb8u1.1) stable; urgency=medium + + * NMU + * Apply patch from upstream to fix gold on arm64. The ABI specifies + using a pagesize of 64k for ELF binaries. + + -- Steve McIntyre <[email protected]> Thu, 12 Jan 2017 10:36:22 +0000 + binutils (2.25-5) unstable; urgency=medium * Remove '*.rej' files in the source package. Closes: #775679. diff -u binutils-2.25/debian/patches/series binutils-2.25/debian/patches/series --- binutils-2.25/debian/patches/series +++ binutils-2.25/debian/patches/series @@ -46,0 +47 @@ +gold_arm64_pagesize.patch only in patch2: unchanged: --- binutils-2.25.orig/debian/patches/gold_arm64_pagesize.patch +++ binutils-2.25/debian/patches/gold_arm64_pagesize.patch @@ -0,0 +1,47 @@ +commit 3b0357dadaf2366cc418ec725dec55b1cea1a2e7 +Author: Andreas Schwab <[email protected]> +Date: Thu Oct 1 12:30:18 2015 +0200 + + gold: fix ABI pagesize for aarch64 + + * aarch64.cc (aarch64_info): Set abi_pagesize to 64K. + +diff a/gold/aarch64.cc b/gold/aarch64.cc +--- a/gold/aarch64.cc 2017-01-12 10:43:43.948866937 +0000 ++++ b/gold/aarch64.cc 2017-01-12 10:44:21.913133322 +0000 +@@ -2232,7 +2232,7 @@ + '\0', // wrap_char + "/lib/ld.so.1", // program interpreter + 0x400000, // default_text_segment_address +- 0x1000, // abi_pagesize (overridable by -z max-page-size) ++ 0x10000, // abi_pagesize (overridable by -z max-page-size) + 0x1000, // common_pagesize (overridable by -z common-page-size) + false, // isolate_execinstr + 0, // rosegment_gap +@@ -2259,7 +2259,7 @@ + '\0', // wrap_char + "/lib/ld.so.1", // program interpreter + 0x400000, // default_text_segment_address +- 0x1000, // abi_pagesize (overridable by -z max-page-size) ++ 0x10000, // abi_pagesize (overridable by -z max-page-size) + 0x1000, // common_pagesize (overridable by -z common-page-size) + false, // isolate_execinstr + 0, // rosegment_gap +@@ -2286,7 +2286,7 @@ + '\0', // wrap_char + "/lib/ld.so.1", // program interpreter + 0x400000, // default_text_segment_address +- 0x1000, // abi_pagesize (overridable by -z max-page-size) ++ 0x10000, // abi_pagesize (overridable by -z max-page-size) + 0x1000, // common_pagesize (overridable by -z common-page-size) + false, // isolate_execinstr + 0, // rosegment_gap +@@ -2313,7 +2313,7 @@ + '\0', // wrap_char + "/lib/ld.so.1", // program interpreter + 0x400000, // default_text_segment_address +- 0x1000, // abi_pagesize (overridable by -z max-page-size) ++ 0x10000, // abi_pagesize (overridable by -z max-page-size) + 0x1000, // common_pagesize (overridable by -z common-page-size) + false, // isolate_execinstr + 0, // rosegment_gap

