git: af6504f9e7ec - main - math/stp: remove nonsensical sbrk use

From: Brooks Davis <brooks_at_FreeBSD.org>
Date: Mon, 11 Dec 2023 17:42:38 UTC
The branch main has been updated by brooks:

URL: https://cgit.FreeBSD.org/ports/commit/?id=af6504f9e7ecf4fda8cb04ac0271447049fcda31

commit af6504f9e7ecf4fda8cb04ac0271447049fcda31
Author:     Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2023-12-11 17:39:48 +0000
Commit:     Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2023-12-11 17:42:26 +0000

    math/stp: remove nonsensical sbrk use
    
    This code called sbrk(4000000) and beyond error checking ignored
    the result meaning the 4MB of address space allocated could
    never be used without another call to sbrk and reference to
    INITIAL_MEMORY_PREALLOCATION_SIZE, but nothing in the repo does
    either.
    
    Submitted upstream as https://github.com/stp/stp/pull/474
    
    Approved by:    arrowd (maintainer)
    Sponsored by:   DARPA
    Differential Revision:  https://reviews.freebsd.org/D42978
---
 math/stp/Makefile                               |  5 +--
 math/stp/files/patch-tools_stp_main__common.cpp | 45 +++++++++++++++++++++++++
 2 files changed, 46 insertions(+), 4 deletions(-)

diff --git a/math/stp/Makefile b/math/stp/Makefile
index 6661895d29e7..1ac149d4b152 100644
--- a/math/stp/Makefile
+++ b/math/stp/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	stp
 DISTVERSION=	2.3.3
-PORTREVISION=	11
+PORTREVISION=	12
 PORTEPOCH=	1
 CATEGORIES=	math
 
@@ -11,9 +11,6 @@ WWW=		https://stp.github.io/
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BROKEN_aarch64=		fails to link: missing sbrk
-BROKEN_riscv64=		fails to link: missing sbrk
-
 LIB_DEPENDS=	libboost_program_options.so:devel/boost-libs \
 		libminisat.so:math/minisat \
 		libcryptominisat5.so:math/cryptominisat
diff --git a/math/stp/files/patch-tools_stp_main__common.cpp b/math/stp/files/patch-tools_stp_main__common.cpp
new file mode 100644
index 000000000000..1ad6bb03f991
--- /dev/null
+++ b/math/stp/files/patch-tools_stp_main__common.cpp
@@ -0,0 +1,45 @@
+--- tools/stp/main_common.cpp.orig
++++ tools/stp/main_common.cpp
+@@ -27,16 +27,8 @@
+ #include "stp/Parser/parser.h"
+ #include "stp/cpp_interface.h"
+ 
+-//for srbk() function
+-#if !defined(__MINGW32__) && !defined(__MINGW64__) && !defined(_MSC_VER)
+-#include <unistd.h>
+-#endif
+-
+ extern void errorHandler(const char* error_msg);
+ 
+-// Amount of memory to ask for at beginning of main.
+-extern const intptr_t INITIAL_MEMORY_PREALLOCATION_SIZE;
+-
+ using namespace stp;
+ using std::unique_ptr;
+ using std::cout;
+@@ -49,9 +41,6 @@
+   exit(-1);
+ }
+ 
+-// Amount of memory to ask for at beginning of main.
+-const intptr_t INITIAL_MEMORY_PREALLOCATION_SIZE = 4000000;
+-
+ Main::Main() : onePrintBack(false)
+ {
+   bm = NULL;
+@@ -62,15 +51,6 @@
+ 
+   // Register the error handler
+   vc_error_hdlr = errorHandler;
+-
+-#if !defined(__MINGW32__) && !defined(__MINGW64__) && !defined(_MSC_VER)
+-  // Grab some memory from the OS upfront to reduce system time when
+-  // individual hash tables are being allocated
+-  if (sbrk(INITIAL_MEMORY_PREALLOCATION_SIZE) == ((void*)-1))
+-  {
+-    FatalError("Initial allocation of memory failed.");
+-  }
+-#endif
+ 
+   bm = new STPMgr();
+   GlobalParserBM = bm;