[upstream_utils] Remove patch that results in building with NDEBUG causing ODR issues (#8539)

Semiwrap / meson / robotpy define `NDEBUG` when building their software
in all modes, while `allwplib` only does it when building debug. This
causes the size of `DenseMap` to differ between the shared libraries
built here, and the extension modules built in `mostrobotpy`, causing
segfaults when you try to execute code that uses `DenseMap`. This is not
a problem with the robotpy code in `allwpilib`, because bazel uses the
exact same compiler flags when building the shared libraries and
pybind11 extensions.
This commit is contained in:
PJ Reiniger
2026-01-03 16:32:16 -05:00
committed by GitHub
parent 5a3f2ce13a
commit 32cd2ddf8e
37 changed files with 36 additions and 58 deletions

View File

@@ -0,0 +1,25 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Peter Johnson <johnson.peter@gmail.com>
Date: Sun, 29 Oct 2023 23:00:08 -0700
Subject: [PATCH 29/35] raw_ostream: Add SetNumBytesInBuffer
---
llvm/include/llvm/Support/raw_ostream.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/llvm/include/llvm/Support/raw_ostream.h b/llvm/include/llvm/Support/raw_ostream.h
index 264b8192a0473b94363765995517851cbf30d045..d0e5ba46a9e748037c2ad444207fc8fc236ec5d5 100644
--- a/llvm/include/llvm/Support/raw_ostream.h
+++ b/llvm/include/llvm/Support/raw_ostream.h
@@ -365,6 +365,11 @@ protected:
SetBufferAndMode(BufferStart, Size, BufferKind::ExternalBuffer);
}
+ /// Force-set the number of bytes in the raw_ostream buffer.
+ void SetNumBytesInBuffer(size_t Size) {
+ OutBufCur = OutBufStart + Size;
+ }
+
/// Return an efficient buffer size for the underlying output mechanism.
virtual size_t preferred_buffer_size() const;