Title: [279616] releases/WebKitGTK/webkit-2.32/Source
Revision
279616
Author
ape...@igalia.com
Date
2021-07-06 13:51:54 -0700 (Tue, 06 Jul 2021)

Log Message

Merge r278302 - [WPE][GTK] Support building against uClibc
https://bugs.webkit.org/show_bug.cgi?id=226244

Reviewed by Michael Catanzaro.

Source/_javascript_Core:

* assembler/MacroAssemblerARM64.cpp:
(getauxval): Provide a fallback implementation of getauxval() for
systems which do not provide <sys/auxv.h>, like those using uClibc
as their C library.

Source/WTF:

* wtf/PlatformRegisters.h: Use the <sys/ucontext.h> header instead of
<ucontext.h>, which is enough to gain access to the type definitions
for CPU registers and is available on every libc. On the other hand,
uClibc does not have <ucontext.h>, so this fixes the build in that
case.

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/ChangeLog (279615 => 279616)


--- releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/ChangeLog	2021-07-06 20:46:58 UTC (rev 279615)
+++ releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/ChangeLog	2021-07-06 20:51:54 UTC (rev 279616)
@@ -1,3 +1,15 @@
+2021-06-01  Adrian Perez de Castro  <ape...@igalia.com>
+
+        [WPE][GTK] Support building against uClibc
+        https://bugs.webkit.org/show_bug.cgi?id=226244
+
+        Reviewed by Michael Catanzaro.
+
+        * assembler/MacroAssemblerARM64.cpp:
+        (getauxval): Provide a fallback implementation of getauxval() for
+        systems which do not provide <sys/auxv.h>, like those using uClibc
+        as their C library.
+
 2021-05-27  Daniel Kolesa  <dkol...@igalia.com>
 
         [JSC] Fix crash on 32-bit big endian systems.

Modified: releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/assembler/MacroAssemblerARM64.cpp (279615 => 279616)


--- releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/assembler/MacroAssemblerARM64.cpp	2021-07-06 20:46:58 UTC (rev 279615)
+++ releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/assembler/MacroAssemblerARM64.cpp	2021-07-06 20:51:54 UTC (rev 279616)
@@ -34,8 +34,26 @@
 
 #if OS(LINUX)
 #include <asm/hwcap.h>
+#if __has_include(<sys/auxv.h>)
 #include <sys/auxv.h>
+#else
+#include <linux/auxvec.h>
+// Provide an implementation for C libraries which do not ship one.
+static unsigned long getauxval(unsigned long type)
+{
+    char** env = environ;
+    while (*env++) { /* no-op */ }
+
+    for (auto* auxv = reinterpret_cast<unsigned long*>(env); *auxv != AT_NULL; auxv += 2) {
+        if (*auxv == type)
+            return auxv[1];
+    }
+
+    errno = ENOENT;
+    return 0;
+}
 #endif
+#endif
 
 namespace JSC {
 

Modified: releases/WebKitGTK/webkit-2.32/Source/WTF/ChangeLog (279615 => 279616)


--- releases/WebKitGTK/webkit-2.32/Source/WTF/ChangeLog	2021-07-06 20:46:58 UTC (rev 279615)
+++ releases/WebKitGTK/webkit-2.32/Source/WTF/ChangeLog	2021-07-06 20:51:54 UTC (rev 279616)
@@ -1,3 +1,16 @@
+2021-06-01  Adrian Perez de Castro  <ape...@igalia.com>
+
+        [WPE][GTK] Support building against uClibc
+        https://bugs.webkit.org/show_bug.cgi?id=226244
+
+        Reviewed by Michael Catanzaro.
+
+        * wtf/PlatformRegisters.h: Use the <sys/ucontext.h> header instead of
+        <ucontext.h>, which is enough to gain access to the type definitions
+        for CPU registers and is available on every libc. On the other hand,
+        uClibc does not have <ucontext.h>, so this fixes the build in that
+        case.
+
 2021-04-28  Daniel Kolesa  <dkol...@igalia.com>
 
         [WPE][GTK] More correct fixes for stack size issues on musl libc

Modified: releases/WebKitGTK/webkit-2.32/Source/WTF/wtf/PlatformRegisters.h (279615 => 279616)


--- releases/WebKitGTK/webkit-2.32/Source/WTF/wtf/PlatformRegisters.h	2021-07-06 20:46:58 UTC (rev 279615)
+++ releases/WebKitGTK/webkit-2.32/Source/WTF/wtf/PlatformRegisters.h	2021-07-06 20:51:54 UTC (rev 279616)
@@ -35,7 +35,7 @@
 #elif OS(WINDOWS)
 #include <windows.h>
 #else
-#include <ucontext.h>
+#include <sys/ucontext.h>
 #endif
 
 namespace WTF {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to