Browse Source

dont require getentropy if --enable-stdcxx-compat

Bill Gianopoulos 3 years ago
parent
commit
94326ab6b7

+ 45 - 0
mozilla-central/patches/9999999-getentropy-stdcxx.patch

@@ -0,0 +1,45 @@
+# HG changeset patch
+# User Bill Gianopoulos <wgianopoulos@gmail.com>
+# Date 1622556869 14400
+#      Tue Jun 01 10:14:29 2021 -0400
+bug 9999999 - Remove getentrpy depndecy in --enable-stdcxx-compat builds.
+
+diff --git a/build/unix/stdc++compat/stdc++compat.cpp b/build/unix/stdc++compat/stdc++compat.cpp
+--- a/build/unix/stdc++compat/stdc++compat.cpp
++++ b/build/unix/stdc++compat/stdc++compat.cpp
+@@ -6,16 +6,17 @@
+ #include <istream>
+ #include <sstream>
+ #include <memory>
+ #include <string>
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <mozilla/Assertions.h>
+ #include <cxxabi.h>
++#include <errno.h>
+ 
+ /*
+    GLIBCXX_3.4.19 is from gcc 4.8.1 (199309)
+    GLIBCXX_3.4.20 is from gcc 4.9.0 (199307)
+    GLIBCXX_3.4.21 is from gcc 5.0 (210290)
+    GLIBCXX_3.4.22 is from gcc 6.0 (222482)
+    GLIBCXX_3.4.23 is from gcc 7
+    GLIBCXX_3.4.24 is from gcc 8
+@@ -195,8 +196,17 @@ basic_string<wchar_t, char_traits<wchar_
+  * implementation).
+  * The __cxa_thread_atexit symbol itself is marked CXXABI_1.3.7, which is
+  * equivalent to GLIBCXX_3.4.18.
+  */
+ extern "C" int __cxa_thread_atexit_impl(void (*dtor)(void*), void* obj,
+                                         void* dso_handle) {
+   return __cxxabiv1::__cxa_thread_atexit(dtor, obj, dso_handle);
+ }
++/* The getentropy symbol is only available on GLIBC 2.25, but we
++ * want things to keep working on 2.17.
++ */
++extern "C" int
++getentropy (void *buffer, size_t length)
++{
++  __set_errno (ENOSYS);
++  return -1;
++}

+ 1 - 0
mozilla-central/patches/series

@@ -1,3 +1,4 @@
 1624546-vs2019-runtime-mc.patch
 1659298-extensions-moz-v1_1-mc.patch
 9999999-with-vs2019.patch
+9999999-getentropy-stdcxx.patch