From 35a10e4ebc9da916c470d2a9e5b68c3cfc3efd02 Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Sun, 13 Dec 2020 11:36:22 -0800 Subject: [PATCH] Add patch to make codesign_allocate compatible with Apple's Github-Pull: #20644 Rebased-From: a4118c6e200e02e7560f8bc213697aa2909d95b1 --- depends/packages/native_cctools.mk | 5 +++-- depends/patches/native_cctools/segalign.patch | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 depends/patches/native_cctools/segalign.patch diff --git a/depends/packages/native_cctools.mk b/depends/packages/native_cctools.mk index d56b636695..33f69375cc 100644 --- a/depends/packages/native_cctools.mk +++ b/depends/packages/native_cctools.mk @@ -4,7 +4,7 @@ $(package)_download_path=https://github.com/tpoechtrager/cctools-port/archive $(package)_file_name=$($(package)_version).tar.gz $(package)_sha256_hash=e51995a843533a3dac155dd0c71362dd471597a2d23f13dff194c6285362f875 $(package)_build_subdir=cctools -$(package)_patches=ld64_disable_threading.patch +$(package)_patches=ld64_disable_threading.patch segalign.patch ifeq ($(strip $(FORCE_USE_SYSTEM_CLANG)),) $(package)_clang_version=8.0.0 @@ -80,7 +80,8 @@ endef define $(package)_preprocess_cmds CC=$($(package)_cc) CXX=$($(package)_cxx) INSTALLPREFIX=$($(package)_extract_dir) ./libtapi/build.sh && \ CC=$($(package)_cc) CXX=$($(package)_cxx) INSTALLPREFIX=$($(package)_extract_dir) ./libtapi/install.sh && \ - patch -p1 < $($(package)_patch_dir)/ld64_disable_threading.patch + patch -p1 < $($(package)_patch_dir)/ld64_disable_threading.patch && \ + patch -p1 < $($(package)_patch_dir)/segalign.patch endef define $(package)_config_cmds diff --git a/depends/patches/native_cctools/segalign.patch b/depends/patches/native_cctools/segalign.patch new file mode 100644 index 0000000000..bcdbd67a6c --- /dev/null +++ b/depends/patches/native_cctools/segalign.patch @@ -0,0 +1,19 @@ +commit 7f2eb11ce6ebec7eb9b8e1429535e453054143e5 +Author: Pieter Wuille +Date: Sun Dec 13 11:34:21 2020 -0800 + + Make cctools_port's codesign_allocate compatible with Apple's + +diff --git a/cctools/libstuff/arch.c b/cctools/libstuff/arch.c +index 6f2332f..d85c25c 100644 +--- a/cctools/libstuff/arch.c ++++ b/cctools/libstuff/arch.c +@@ -134,7 +134,7 @@ static const struct cpu_entry cpu_entries[] = { + { CPU_TYPE_ARM, LITTLE_ENDIAN_BYTE_SEX, 0, 0x4000 }, + + /* desktop */ +- { CPU_TYPE_X86_64, LITTLE_ENDIAN_BYTE_SEX, 0x7fff5fc00000LL, 0x1000 }, ++ { CPU_TYPE_X86_64, LITTLE_ENDIAN_BYTE_SEX, 0x7fff5fc00000LL, 0x2000 /* Used to be 0x1000; changed to 0x2000 to match Apple's distributed codesign_allocate. */}, + { CPU_TYPE_I386, LITTLE_ENDIAN_BYTE_SEX, 0xc0000000, 0x1000 }, + { CPU_TYPE_POWERPC, BIG_ENDIAN_BYTE_SEX, 0xc0000000, 0x1000 }, + { CPU_TYPE_POWERPC64, BIG_ENDIAN_BYTE_SEX, 0x7ffff00000000LL, 0x1000 },