|
@@ -1,82 +0,0 @@
|
|
|
-From 624d3b6a99778443e35fb260bef50a3969df9215 Mon Sep 17 00:00:00 2001
|
|
|
-From: Adrian Perez de Castro <aperez@igalia.com>
|
|
|
-Date: Wed, 26 May 2021 01:24:59 +0300
|
|
|
-Subject: [PATCH] Support building against uClibc
|
|
|
- https://bugs.webkit.org/show_bug.cgi?id=226244
|
|
|
-
|
|
|
-Reviewed by Michael Catanzaro.
|
|
|
-
|
|
|
-Source/JavaScriptCore:
|
|
|
-
|
|
|
-* 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.
|
|
|
-
|
|
|
-Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
|
|
|
-[Backport from upstream:
|
|
|
- - https://bugs.webkit.org/show_bug.cgi?id=226244
|
|
|
- - https://trac.webkit.org/changeset/278302 (current svn, soon legacy)
|
|
|
- - https://commits.webkit.org/238339@main (future-proof for after the migration to git)
|
|
|
-]
|
|
|
-[yann.morin.1998@free.fr: add upstream commit refs]
|
|
|
-Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
|
|
|
----
|
|
|
- .../assembler/MacroAssemblerARM64.cpp | 18 ++++++++++++++++++
|
|
|
- Source/WTF/wtf/PlatformRegisters.h | 2 +-
|
|
|
- 2 files changed, 19 insertions(+), 1 deletion(-)
|
|
|
-
|
|
|
-diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerARM64.cpp b/Source/JavaScriptCore/assembler/MacroAssemblerARM64.cpp
|
|
|
-index 9e5c5147ea0..d20e632d825 100644
|
|
|
---- a/Source/JavaScriptCore/assembler/MacroAssemblerARM64.cpp
|
|
|
-+++ b/Source/JavaScriptCore/assembler/MacroAssemblerARM64.cpp
|
|
|
-@@ -34,7 +34,25 @@
|
|
|
-
|
|
|
- #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 {
|
|
|
-diff --git a/Source/WTF/wtf/PlatformRegisters.h b/Source/WTF/wtf/PlatformRegisters.h
|
|
|
-index d26ef985169..e7f15b7eb62 100644
|
|
|
---- a/Source/WTF/wtf/PlatformRegisters.h
|
|
|
-+++ b/Source/WTF/wtf/PlatformRegisters.h
|
|
|
-@@ -35,7 +35,7 @@
|
|
|
- #elif OS(WINDOWS)
|
|
|
- #include <windows.h>
|
|
|
- #else
|
|
|
--#include <ucontext.h>
|
|
|
-+#include <sys/ucontext.h>
|
|
|
- #endif
|
|
|
-
|
|
|
- namespace WTF {
|
|
|
---
|
|
|
-2.31.1
|
|
|
-
|