void-packages/srcpkgs/qt6-webengine/patches/0300-chromium-musl-hacks.patch

53 lines
2.0 KiB
Diff

--- qt6-webengine-6.4.2.orig/src/3rdparty/chromium/base/debug/stack_trace.cc
+++ qt6-webengine-6.4.2/src/3rdparty/chromium/base/debug/stack_trace.cc
@@ -234,7 +234,7 @@ bool StackTrace::WillSymbolizeToStreamFo
// Symbols are not expected to be reliable when gn args specifies
// symbol_level=0.
return false;
-#elif defined(__UCLIBC__) || defined(_AIX)
+#elif defined(__GLIBC__) || defined(_AIX)
// StackTrace::OutputToStream() is not implemented under uclibc, nor AIX.
// See https://crbug.com/706728
return false;
@@ -273,7 +273,9 @@ void StackTrace::Print() const {
}
void StackTrace::OutputToStream(std::ostream* os) const {
+#if defined(__GLIBC__)
OutputToStreamWithPrefix(os, nullptr);
+#endif
}
std::string StackTrace::ToString() const {
@@ -281,14 +283,14 @@ std::string StackTrace::ToString() const
}
std::string StackTrace::ToStringWithPrefix(const char* prefix_string) const {
std::stringstream stream;
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__) && !defined(_AIX)
OutputToStreamWithPrefix(&stream, prefix_string);
#endif
return stream.str();
}
std::ostream& operator<<(std::ostream& os, const StackTrace& s) {
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__) && !defined(_AIX)
s.OutputToStream(&os);
#else
os << "StackTrace::OutputToStream not implemented.";
--- qt6-webengine-6.4.2.orig/src/3rdparty/chromium/net/socket/udp_socket_posix.cc
+++ qt6-webengine-6.4.2/src/3rdparty/chromium/net/socket/udp_socket_posix.cc
@@ -1157,7 +1157,11 @@ SendResult UDPSocketPosixSender::Interna
msg_iov->push_back({const_cast<char*>(buffer->data()), buffer->length()});
msgvec->reserve(buffers.size());
for (size_t j = 0; j < buffers.size(); j++)
+#ifdef __GLIBC__
msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, nullptr, 0, 0}, 0});
+#else
+ msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, 0, 0, 0}, 0});
+#endif
int result = HANDLE_EINTR(Sendmmsg(fd, &msgvec[0], buffers.size(), 0));
SendResult send_result(0, 0, std::move(buffers));
if (result < 0) {