From 97da4a0b9f58ad691ca72988914ff8341abd1557 Mon Sep 17 00:00:00 2001 From: Than Ngo Date: Tue, 10 Sep 2024 12:19:37 +0200 Subject: [PATCH] - removed workaround for missing bindgen-cli on el8 - removed partition-alloc-4k-detect.patch --- chromium.spec | 23 ------- partition-alloc-4k-detect.patch | 112 -------------------------------- sources | 2 - 3 files changed, 137 deletions(-) delete mode 100644 partition-alloc-4k-detect.patch diff --git a/chromium.spec b/chromium.spec index 00caad8d..68ee6af1 100644 --- a/chromium.spec +++ b/chromium.spec @@ -489,10 +489,6 @@ Source14: https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-%{esbuild_ve Source15: https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-%{esbuild_version}.tgz %endif -# bindgen for epel8 -Source16: https://than.fedorapeople.org/epel8/bindgen-cli-aarch64.tar.xz -Source17: https://than.fedorapeople.org/epel8/bindgen-cli-x86_64.tar.xz - # esbuild binary from fedora %if 0%{?fedora} BuildRequires: golang-github-evanw-esbuild @@ -519,12 +515,7 @@ BuildRequires: binutils %endif BuildRequires: rustc -%if 0%{?rhel} == 8 -# need to build bindgen on el8 -BuildRequires: cargo -%else BuildRequires: bindgen-cli -%endif %if ! %{bundlezstd} BuildRequires: libzstd-devel @@ -1167,20 +1158,6 @@ Qt6 UI for chromium. # See `man find` for how the `-exec command {} +` syntax works find -type f \( -iname "*.py" \) -exec sed -i '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{chromium_pybin}=' {} + -# workaround for missing bindgen on el8 -%if 0%{?rhel} == 8 -%ifarch aarch64 -tar -Jxf %{SOURCE16} -%endif -%ifarch x86_64 -tar -Jxf %{SOURCE17} -%endif -mkdir -p usr/%{_lib} -pushd usr/%{_lib} -ln -fs %{_libdir}/libclang* . -popd -%endif - # Add correct path for nodejs binary %if ! %{system_nodejs} pushd third_party/node/linux diff --git a/partition-alloc-4k-detect.patch b/partition-alloc-4k-detect.patch deleted file mode 100644 index a0a3f959..00000000 --- a/partition-alloc-4k-detect.patch +++ /dev/null @@ -1,112 +0,0 @@ ---- a/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h -+++ b/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h -@@ -100,21 +100,21 @@ - // other constant values, we pack _all_ `PartitionRoot::Alloc` sizes perfectly - // up against the end of a system page. - --#if defined(_MIPS_ARCH_LOONGSON) || defined(ARCH_CPU_LOONGARCH64) -+#if (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \ -+ defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE) - PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t - PartitionPageShift() { -- return 16; // 64 KiB -+ return PageAllocationGranularityShift() + 2; - } --#elif defined(ARCH_CPU_PPC64) -+#elif defined(_MIPS_ARCH_LOONGSON) || defined(ARCH_CPU_LOONGARCH64) - PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t - PartitionPageShift() { -- return 18; // 256 KiB -+ return 16; // 64 KiB - } --#elif (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \ -- defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE) -+#elif defined(ARCH_CPU_PPC64) - PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t - PartitionPageShift() { -- return PageAllocationGranularityShift() + 2; -+ return 18; // 256 KiB - } - #else - PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t ---- a/base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h -+++ b/base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h -@@ -26,7 +26,8 @@ - #define PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR __attribute__((const)) - - #elif (BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS)) || \ -- (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)) -+ (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)) || \ -+ (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_PPC64)) - // This should work for all POSIX (if needed), but currently all other - // supported OS/architecture combinations use either hard-coded values - // (such as x86) or have means to determine these values without needing -@@ -86,17 +87,7 @@ - - PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t - PageAllocationGranularityShift() { --#if BUILDFLAG(IS_WIN) || defined(ARCH_CPU_PPC64) -- // Modern ppc64 systems support 4kB (shift = 12) and 64kB (shift = 16) page -- // sizes. Since 64kB is the de facto standard on the platform and binaries -- // compiled for 64kB are likely to work on 4kB systems, 64kB is a good choice -- // here. -- return 16; // 64kB --#elif defined(_MIPS_ARCH_LOONGSON) || defined(ARCH_CPU_LOONGARCH64) -- return 14; // 16kB --#elif BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS) -- return static_cast(vm_page_shift); --#elif defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE) -+#if defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE) - // arm64 supports 4kb (shift = 12), 16kb (shift = 14), and 64kb (shift = 16) - // page sizes. Retrieve from or initialize cache. - size_t shift = page_characteristics.shift.load(std::memory_order_relaxed); -@@ -106,6 +97,16 @@ - page_characteristics.shift.store(shift, std::memory_order_relaxed); - } - return shift; -+#elif BUILDFLAG(IS_WIN) || defined(ARCH_CPU_PPC64) -+ // Modern ppc64 systems support 4kB (shift = 12) and 64kB (shift = 16) page -+ // sizes. Since 64kB is the de facto standard on the platform and binaries -+ // compiled for 64kB are likely to work on 4kB systems, 64kB is a good choice -+ // here. -+ return 16; // 64kB -+#elif defined(_MIPS_ARCH_LOONGSON) || defined(ARCH_CPU_LOONGARCH64) -+ return 14; // 16kB -+#elif BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS) -+ return static_cast(vm_page_shift); - #else - return 12; // 4kB - #endif ---- a/base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h -+++ b/base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h -@@ -180,10 +180,10 @@ - #else // !BUILDFLAG(IS_AIX) && !defined(ARCH_CPU_BIG_ENDIAN) - - // Little-endian Linux PPC has 48 bits of virtual addressing. Use 46. -- PA_ALWAYS_INLINE constexpr uintptr_t ASLRMask() { -+ PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR uintptr_t ASLRMask() { - return AslrMask(46); - } -- PA_ALWAYS_INLINE constexpr uintptr_t ASLROffset() { -+ PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR uintptr_t ASLROffset() { - return AslrAddress(0); - } - ---- a/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h -+++ b/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h -@@ -17,10 +17,15 @@ - // PartitionPageSize() is 4 times the OS page size. - static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 14) / kSmallestBucket; - #elif defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE) -+#if defined(ARCH_CPU_PPC64) -+// System page size can be 4 or 64 kiB on Linux on ppc64. Use 64 kiB maximum. -+static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 16) / kSmallestBucket; -+#else - // System page size can be 4, 16, or 64 kiB on Linux on arm64. 64 kiB is - // currently (kMaxSlotsPerSlotSpanBits == 13) not supported by the code, - // so we use the 16 kiB maximum (64 kiB will crash). - static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 14) / kSmallestBucket; -+#endif - #elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_PPC64) - // System page size is not a constant on OpenPOWER systems, but is either 4kiB - // or 64kiB (1 << 12 or 1 << 16) diff --git a/sources b/sources index c282601d..4f4f7c23 100644 --- a/sources +++ b/sources @@ -2,6 +2,4 @@ SHA512 (node-v20.6.1-linux-arm64.tar.xz) = adfcaf2c22614797fd69fb46d94c1cbf64dea SHA512 (node-v20.6.1-linux-x64.tar.xz) = 7e15c05041a9a50f0046266aadb2e092a5aefbec19be1c7c809471add520cb57c7df3c47d88b1888b29bf2979dca3c92adddfd965370fa2a9da4ea02186464fd SHA512 (linux-arm64-0.19.2.tgz) = 8a0d8fec6786fffcd6954d00820037a55d61e60762c74300df0801f8db27057562c221a063bedfb8df56af9ba80abb366336987e881782c5996e6f871abd3dc6 SHA512 (linux-x64-0.19.2.tgz) = a31cc74c4bfa54f9b75d735a1cfc944d3b5efb7c06bfba9542da9a642ae0b2d235ea00ae84d3ad0572c406405110fe7b61377af0fd15803806ef78d20fc6f05d -SHA512 (bindgen-cli-aarch64.tar.xz) = 1a5ae4e8fdd31d80e8111c4d5f2115336684763ecd3a442ffecdbc2a37bab146f88bdee0bb1ea7a98e1049f81b12e64bd0ce5510529b30a74ce3306488ac129b -SHA512 (bindgen-cli-x86_64.tar.xz) = 7ccc9b43b32d3a064a75cfc150e060711356da8fe98e83d855bae017108ef8e9e172fbdd6e2579433c19cfb56ababa5b77a8db6fa57a5e657a3878778ca10a37 SHA512 (chromium-128.0.6613.119-clean.tar.xz) = d7aeba7d9aa34ce85dae9bea52da40d4534c11343332a4bfde4af6bc58c07911bb6f9147bc8931f9e3dac6efce2b8b56a91d624367bf0cfb572af0b09d141db9