Merge pull request #6880 from lazka/binutils-high-base-addr

binutils: move the base addr above 4gb so we get full ASLR support if enabled
This commit is contained in:
Christoph Reiter
2020-08-27 22:38:32 +02:00
committed by GitHub
2 changed files with 33 additions and 3 deletions

View File

@@ -0,0 +1,26 @@
--- binutils-2.35/ld/emultempl/pep.em.orig 2020-08-27 08:46:36.064000100 +0200
+++ binutils-2.35/ld/emultempl/pep.em 2020-08-27 09:00:44.598810700 +0200
@@ -104,19 +104,19 @@
#undef NT_EXE_IMAGE_BASE
#define NT_EXE_IMAGE_BASE \
((bfd_vma) (${move_default_addr_high} ? 0x100400000LL \
- : 0x400000LL))
+ : 0x140000000LL))
#undef NT_DLL_IMAGE_BASE
#define NT_DLL_IMAGE_BASE \
((bfd_vma) (${move_default_addr_high} ? 0x400000000LL \
- : 0x10000000LL))
+ : 0x180000000LL))
#undef NT_DLL_AUTO_IMAGE_BASE
#define NT_DLL_AUTO_IMAGE_BASE \
((bfd_vma) (${move_default_addr_high} ? 0x400000000LL \
- : 0x61300000LL))
+ : 0x1C0000000LL))
#undef NT_DLL_AUTO_IMAGE_MASK
#define NT_DLL_AUTO_IMAGE_MASK \
((bfd_vma) (${move_default_addr_high} ? 0x1ffff0000LL \
- : 0x0ffc0000LL))
+ : 0x1ffff0000LL))
#else
#undef NT_EXE_IMAGE_BASE
#define NT_EXE_IMAGE_BASE \

View File

@@ -6,7 +6,7 @@ _realname=binutils
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=2.35
pkgrel=1
pkgrel=2
pkgdesc="A set of programs to assemble and manipulate binary and object files (mingw-w64)"
arch=('any')
url="https://www.gnu.org/software/binutils/"
@@ -23,7 +23,8 @@ source=(https://ftp.gnu.org/gnu/binutils/${_realname}-${pkgver}.tar.xz{,.sig}
0010-bfd-Increase-_bfd_coff_max_nscns-to-65279.patch
0020-binutils_2.31_mkdtemp_impl.patch
0110-binutils-mingw-gnu-print.patch
0120-windres-handle-spaces.patch)
0120-windres-handle-spaces.patch
0320-aslr-compat-base-addr.patch)
sha256sums=('1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85'
'SKIP'
'93296b909e1a4f9d8a4bbe2437aafa17ca565ef6642a9812b0360c05be228c9d'
@@ -31,7 +32,8 @@ sha256sums=('1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85'
'604e76e0f702ced493ee22aa3c1768b4776b2008a7d70ae0dd35fe5be3522141'
'34ba6c001ff7f95ae1da0619c73130112b76d0d2a31bb8a00602eb22f1f84cb8'
'76658ef1bb8c5fc3fe6c26e2b5dd9ee0f1d12661988c0c65562b0a3e2d32ae1f'
'86ae90d997e986a54aaebb5251f3a71800b0c5c3f5b57b9094a42995e9f5c478')
'86ae90d997e986a54aaebb5251f3a71800b0c5c3f5b57b9094a42995e9f5c478'
'd8c2b3e217b9ee2ba888ee73f16137cbc144a50c3aa976351cc13df9542675ad')
validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93'
'3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F')
@@ -43,6 +45,8 @@ prepare() {
patch -p1 -i "${srcdir}"/0020-binutils_2.31_mkdtemp_impl.patch
patch -p1 -i "${srcdir}"/0110-binutils-mingw-gnu-print.patch
patch -p1 -i "${srcdir}"/0120-windres-handle-spaces.patch
# https://github.com/msys2/MINGW-packages/issues/6674
patch -p1 -i "${srcdir}"/0320-aslr-compat-base-addr.patch
}
build() {