pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/devel/ninja-build
Module Name: pkgsrc
Committed By: tsutsui
Date: Fri Feb 7 16:00:27 UTC 2025
Modified Files:
pkgsrc/devel/ninja-build: Makefile distinfo
Added Files:
pkgsrc/devel/ninja-build/patches: patch-src_deps__log.cc
Log Message:
ninja-build: avoid allocating 512KB on stack.
Patch from isaki@. Tested on NetBSD/amd64, NetBSD/i386, and
NetBSD/virt68k (with 512KB DFLSSIZ and MAXSSIZ) by me.
Bump PKGREVISION.
To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 pkgsrc/devel/ninja-build/Makefile
cvs rdiff -u -r1.21 -r1.22 pkgsrc/devel/ninja-build/distinfo
cvs rdiff -u -r0 -r1.1 \
pkgsrc/devel/ninja-build/patches/patch-src_deps__log.cc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/devel/ninja-build/Makefile
diff -u pkgsrc/devel/ninja-build/Makefile:1.22 pkgsrc/devel/ninja-build/Makefile:1.23
--- pkgsrc/devel/ninja-build/Makefile:1.22 Sat May 11 18:58:09 2024
+++ pkgsrc/devel/ninja-build/Makefile Fri Feb 7 16:00:27 2025
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.22 2024/05/11 18:58:09 adam Exp $
+# $NetBSD: Makefile,v 1.23 2025/02/07 16:00:27 tsutsui Exp $
DISTNAME= ninja-1.12.1
PKGNAME= ${DISTNAME:S/ninja/ninja-build/}
+PKGREVISION= 1
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GITHUB:=ninja-build/}
GITHUB_PROJECT= ninja
Index: pkgsrc/devel/ninja-build/distinfo
diff -u pkgsrc/devel/ninja-build/distinfo:1.21 pkgsrc/devel/ninja-build/distinfo:1.22
--- pkgsrc/devel/ninja-build/distinfo:1.21 Sat May 11 18:58:09 2024
+++ pkgsrc/devel/ninja-build/distinfo Fri Feb 7 16:00:27 2025
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.21 2024/05/11 18:58:09 adam Exp $
+$NetBSD: distinfo,v 1.22 2025/02/07 16:00:27 tsutsui Exp $
BLAKE2s (ninja-1.12.1.tar.gz) = 089334f5bf22900dbe44fd5a691d4e88dcc504e8d4d9d15ec980901ee1b7a6c8
SHA512 (ninja-1.12.1.tar.gz) = d6e6f0e89a4844a69069ff0c7cefc07704a41c7b0c062a57534de87decdde63e27928147b321111b806aa7efa1061f031a1319b074391db61b0cbdccf096954c
Size (ninja-1.12.1.tar.gz) = 240483 bytes
+SHA1 (patch-src_deps__log.cc) = c8a652f4084693a5ee35e07962dbdff4a2b8f6e2
SHA1 (patch-src_subprocess-posix.cc) = aff45ff1080c8556bc9a749666c532896bd73609
Added files:
Index: pkgsrc/devel/ninja-build/patches/patch-src_deps__log.cc
diff -u /dev/null pkgsrc/devel/ninja-build/patches/patch-src_deps__log.cc:1.1
--- /dev/null Fri Feb 7 16:00:27 2025
+++ pkgsrc/devel/ninja-build/patches/patch-src_deps__log.cc Fri Feb 7 16:00:27 2025
@@ -0,0 +1,28 @@
+$NetBSD: patch-src_deps__log.cc,v 1.1 2025/02/07 16:00:27 tsutsui Exp $
+
+- avoid allocating 512KB on stack.
+ The upstream claims systems that cannot allocate 512KB on stack
+ should not use ninja:
+ https://github.com/ninja-build/ninja/issues/2567
+
+--- src/deps_log.cc.orig 2025-02-07 13:51:02.703555493 +0000
++++ src/deps_log.cc
+@@ -151,7 +151,8 @@ void DepsLog::Close() {
+
+ LoadStatus DepsLog::Load(const string& path, State* state, string* err) {
+ METRIC_RECORD(".ninja_deps load");
+- char buf[kMaxRecordSize + 1];
++ vector<char> vbuf(kMaxRecordSize + 1);
++ char *buf = &vbuf[0];
+ FILE* f = fopen(path.c_str(), "rb");
+ if (!f) {
+ if (errno == ENOENT)
+@@ -162,7 +163,7 @@ LoadStatus DepsLog::Load(const string& p
+
+ bool valid_header = true;
+ int version = 0;
+- if (!fgets(buf, sizeof(buf), f) || fread(&version, 4, 1, f) < 1)
++ if (!fgets(buf, vbuf.size(), f) || fread(&version, 4, 1, f) < 1)
+ valid_header = false;
+ // Note: For version differences, this should migrate to the new format.
+ // But the v1 format could sometimes (rarely) end up with invalid data, so
Home |
Main Index |
Thread Index |
Old Index