enable package: qt5-qtwebkit
This commit is contained in:
parent
dd0670a457
commit
6cbcf00a2c
@ -0,0 +1,30 @@
|
|||||||
|
From 5b698ba3faffd4e198a45be9fe74f53307395e4b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabian Vogt <fvogt@suse.de>
|
||||||
|
Date: Wed, 7 Apr 2021 13:38:09 +0200
|
||||||
|
Subject: [PATCH] Remove invalid g_object declarations to fix build with glib
|
||||||
|
>= 2.68
|
||||||
|
|
||||||
|
g_object_ref_sink is defined as a macro meanwhile and so the build fails.
|
||||||
|
Just remove the declarations, glib.h is included anyway.
|
||||||
|
|
||||||
|
(Backported to 5.212. The glib include was added later, so the description
|
||||||
|
didn't match yet.)
|
||||||
|
---
|
||||||
|
Source/WTF/wtf/glib/GRefPtr.h | 3 ---
|
||||||
|
1 file changed, 3 deletions(-)
|
||||||
|
|
||||||
|
Index: qtwebkit-5.212.0-alpha4/Source/WTF/wtf/glib/GRefPtr.h
|
||||||
|
===================================================================
|
||||||
|
--- qtwebkit-5.212.0-alpha4.orig/Source/WTF/wtf/glib/GRefPtr.h
|
||||||
|
+++ qtwebkit-5.212.0-alpha4/Source/WTF/wtf/glib/GRefPtr.h
|
||||||
|
@@ -28,9 +28,7 @@
|
||||||
|
#include <wtf/GetPtr.h>
|
||||||
|
#include <wtf/RefPtr.h>
|
||||||
|
#include <algorithm>
|
||||||
|
-
|
||||||
|
-extern "C" void g_object_unref(gpointer);
|
||||||
|
-extern "C" gpointer g_object_ref_sink(gpointer);
|
||||||
|
+#include <glib.h>
|
||||||
|
|
||||||
|
namespace WTF {
|
||||||
|
|
12
x11-packages/qt5-qtwebkit/build.sh
Normal file
12
x11-packages/qt5-qtwebkit/build.sh
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
TERMUX_PKG_HOMEPAGE=https://github.com/qtwebkit/qtwebkit
|
||||||
|
TERMUX_PKG_DESCRIPTION="Qt 5 WebKit Library"
|
||||||
|
TERMUX_PKG_LICENSE="LGPL-2.1"
|
||||||
|
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
|
||||||
|
TERMUX_PKG_VERSION="5.212.0-alpha4"
|
||||||
|
TERMUX_PKG_REVISION=6
|
||||||
|
TERMUX_PKG_SRCURL="https://github.com/qtwebkit/qtwebkit/releases/download/qtwebkit-${TERMUX_PKG_VERSION}/qtwebkit-${TERMUX_PKG_VERSION}.tar.xz"
|
||||||
|
TERMUX_PKG_SHA256=9ca126da9273664dd23a3ccd0c9bebceb7bb534bddd743db31caf6a5a6d4a9e6
|
||||||
|
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtdeclarative, qt5-qtlocation, qt5-qtmultimedia, qt5-qtsensors, zlib, libxslt, libxcomposite, libhyphen, libwebp"
|
||||||
|
TERMUX_PKG_BUILD_DEPENDS="qt5-qtbase-cross-tools"
|
||||||
|
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DPORT=Qt -DUSE_LD_GOLD=OFF -DUSE_GSTREAMER=OFF -DUSE_QT_MULTIMEDIA=ON -DENABLE_OPENGL=OFF -DENABLE_SAMPLING_PROFILER=OFF -DENABLE_WEBKIT2=OFF"
|
||||||
|
# TODO SAMPLING_PROFILER requires glibc. We might be able to patch the source to make it work with bionic
|
124
x11-packages/qt5-qtwebkit/icu-68.patch
Normal file
124
x11-packages/qt5-qtwebkit/icu-68.patch
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
commit 335f29d266c5b169ff1e781f9851a3a203f3198c
|
||||||
|
Author: Andreas Sturmlechner <asturm@gentoo.org>
|
||||||
|
AuthorDate: 2020-11-06 08:22:15 +0000
|
||||||
|
Subject: dev-qt/qtwebkit: Fix build with ICU-68
|
||||||
|
--- a/Source/WebCore/platform/text/icu/UTextProvider.h
|
||||||
|
+++ b/Source/WebCore/platform/text/icu/UTextProvider.h
|
||||||
|
@@ -80,12 +80,12 @@
|
||||||
|
// Ensure chunk offset is well formed if computed offset exceeds int32_t range.
|
||||||
|
ASSERT(offset < std::numeric_limits<int32_t>::max());
|
||||||
|
text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0;
|
||||||
|
- isAccessible = TRUE;
|
||||||
|
+ isAccessible = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (nativeIndex >= nativeLength && text->chunkNativeLimit == nativeLength) {
|
||||||
|
text->chunkOffset = text->chunkLength;
|
||||||
|
- isAccessible = FALSE;
|
||||||
|
+ isAccessible = false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
@@ -94,12 +94,12 @@
|
||||||
|
// Ensure chunk offset is well formed if computed offset exceeds int32_t range.
|
||||||
|
ASSERT(offset < std::numeric_limits<int32_t>::max());
|
||||||
|
text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0;
|
||||||
|
- isAccessible = TRUE;
|
||||||
|
+ isAccessible = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (nativeIndex <= 0 && !text->chunkNativeStart) {
|
||||||
|
text->chunkOffset = 0;
|
||||||
|
- isAccessible = FALSE;
|
||||||
|
+ isAccessible = false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--- a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
|
||||||
|
+++ b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
|
||||||
|
@@ -100,23 +100,23 @@
|
||||||
|
if (index < uText->chunkNativeLimit && index >= uText->chunkNativeStart) {
|
||||||
|
// Already inside the buffer. Set the new offset.
|
||||||
|
uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
|
||||||
|
- return TRUE;
|
||||||
|
+ return true;
|
||||||
|
}
|
||||||
|
if (index >= length && uText->chunkNativeLimit == length) {
|
||||||
|
// Off the end of the buffer, but we can't get it.
|
||||||
|
uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
|
||||||
|
- return FALSE;
|
||||||
|
+ return false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (index <= uText->chunkNativeLimit && index > uText->chunkNativeStart) {
|
||||||
|
// Already inside the buffer. Set the new offset.
|
||||||
|
uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
|
||||||
|
- return TRUE;
|
||||||
|
+ return true;
|
||||||
|
}
|
||||||
|
if (!index && !uText->chunkNativeStart) {
|
||||||
|
// Already at the beginning; can't go any farther.
|
||||||
|
uText->chunkOffset = 0;
|
||||||
|
- return FALSE;
|
||||||
|
+ return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -144,7 +144,7 @@
|
||||||
|
|
||||||
|
uText->nativeIndexingLimit = uText->chunkLength;
|
||||||
|
|
||||||
|
- return TRUE;
|
||||||
|
+ return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int32_t uTextLatin1Extract(UText* uText, int64_t start, int64_t limit, UChar* dest, int32_t destCapacity, UErrorCode* status)
|
||||||
|
@@ -336,7 +336,7 @@
|
||||||
|
static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward)
|
||||||
|
{
|
||||||
|
if (!text->context)
|
||||||
|
- return FALSE;
|
||||||
|
+ return false;
|
||||||
|
int64_t nativeLength = uTextLatin1ContextAwareNativeLength(text);
|
||||||
|
UBool isAccessible;
|
||||||
|
if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible))
|
||||||
|
@@ -356,7 +356,7 @@
|
||||||
|
ASSERT(newContext == UTextProviderContext::PriorContext);
|
||||||
|
textLatin1ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward);
|
||||||
|
}
|
||||||
|
- return TRUE;
|
||||||
|
+ return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int32_t uTextLatin1ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode)
|
||||||
|
--- a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
|
||||||
|
+++ b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
|
||||||
|
@@ -125,7 +125,7 @@
|
||||||
|
static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward)
|
||||||
|
{
|
||||||
|
if (!text->context)
|
||||||
|
- return FALSE;
|
||||||
|
+ return false;
|
||||||
|
int64_t nativeLength = uTextUTF16ContextAwareNativeLength(text);
|
||||||
|
UBool isAccessible;
|
||||||
|
if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible))
|
||||||
|
@@ -145,7 +145,7 @@
|
||||||
|
ASSERT(newContext == UTextProviderContext::PriorContext);
|
||||||
|
textUTF16ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward);
|
||||||
|
}
|
||||||
|
- return TRUE;
|
||||||
|
+ return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int32_t uTextUTF16ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode)
|
||||||
|
--- a/Source/WebCore/platform/text/TextCodecICU.cpp
|
||||||
|
+++ b/Source/WebCore/platform/text/TextCodecICU.cpp
|
||||||
|
@@ -308,7 +308,7 @@
|
||||||
|
m_converterICU = ucnv_open(m_canonicalConverterName, &err);
|
||||||
|
ASSERT(U_SUCCESS(err));
|
||||||
|
if (m_converterICU)
|
||||||
|
- ucnv_setFallback(m_converterICU, TRUE);
|
||||||
|
+ ucnv_setFallback(m_converterICU, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
int TextCodecICU::decodeToBuffer(UChar* target, UChar* targetLimit, const char*& source, const char* sourceLimit, int32_t* offsets, bool flush, UErrorCode& err)
|
20
x11-packages/qt5-qtwebkit/no_execinfo_header.patch
Normal file
20
x11-packages/qt5-qtwebkit/no_execinfo_header.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
--- src/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp 2021-05-14 19:39:34.587524906 +0000
|
||||||
|
+++ src.mod/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp 2021-05-14 19:38:52.431421074 +0000
|
||||||
|
@@ -49,7 +49,7 @@
|
||||||
|
#include <wtf/Stopwatch.h>
|
||||||
|
|
||||||
|
#include <cxxabi.h>
|
||||||
|
-#if OS(DARWIN) || (OS(LINUX) && !PLATFORM(GTK))
|
||||||
|
+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
|
||||||
|
#include <dlfcn.h>
|
||||||
|
#include <execinfo.h>
|
||||||
|
#endif
|
||||||
|
@@ -187,7 +187,7 @@
|
||||||
|
|
||||||
|
void JSGlobalObjectInspectorController::appendAPIBacktrace(ScriptCallStack* callStack)
|
||||||
|
{
|
||||||
|
-#if OS(DARWIN) || (OS(LINUX) && !PLATFORM(GTK))
|
||||||
|
+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
|
||||||
|
static const int framesToShow = 31;
|
||||||
|
static const int framesToSkip = 3; // WTFGetBacktrace, appendAPIBacktrace, reportAPIException.
|
||||||
|
|
@ -0,0 +1,127 @@
|
|||||||
|
--- src/Tools/QtTestBrowser/launcherwindow.h 2021-05-15 10:11:33.614702181 +0000
|
||||||
|
+++ src.mod/Tools/QtTestBrowser/launcherwindow.h 2021-05-15 10:07:13.279616364 +0000
|
||||||
|
@@ -35,13 +35,6 @@
|
||||||
|
|
||||||
|
#include <QtNetwork/QNetworkRequest>
|
||||||
|
|
||||||
|
-#ifndef QT_NO_OPENGL
|
||||||
|
-#include <QtOpenGL/QGLWidget>
|
||||||
|
-#endif
|
||||||
|
-#if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0)
|
||||||
|
-#include <QOpenGLWidget>
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
|
#include <cstdio>
|
||||||
|
@@ -161,10 +154,6 @@
|
||||||
|
void showFindBar();
|
||||||
|
void find(int mode);
|
||||||
|
#endif
|
||||||
|
-#ifndef QT_NO_OPENGL
|
||||||
|
- void toggleQGLWidgetViewport(bool enable);
|
||||||
|
- void toggleQOpenGLWidgetViewport(bool enable);
|
||||||
|
-#endif
|
||||||
|
void toggleForcedAntialiasing(bool enable);
|
||||||
|
|
||||||
|
void changeViewportUpdateMode(int mode);
|
||||||
|
--- src/Tools/QtTestBrowser/launcherwindow.cpp 2021-05-15 10:11:33.618702166 +0000
|
||||||
|
+++ src.mod/Tools/QtTestBrowser/launcherwindow.cpp 2021-05-15 10:14:30.829994642 +0000
|
||||||
|
@@ -170,12 +170,7 @@
|
||||||
|
} else {
|
||||||
|
WebViewGraphicsBased* view = new WebViewGraphicsBased(splitter);
|
||||||
|
m_view = view;
|
||||||
|
- if (!m_windowOptions.useQOpenGLWidgetViewport)
|
||||||
|
- toggleQGLWidgetViewport(m_windowOptions.useQGLWidgetViewport);
|
||||||
|
-#ifdef QT_OPENGL_LIB
|
||||||
|
- if (!m_windowOptions.useQGLWidgetViewport)
|
||||||
|
- toggleQOpenGLWidgetViewport(m_windowOptions.useQOpenGLWidgetViewport);
|
||||||
|
-#endif
|
||||||
|
+
|
||||||
|
view->setPage(page());
|
||||||
|
|
||||||
|
connect(view, SIGNAL(currentFPSUpdated(int)), this, SLOT(updateFPS(int)));
|
||||||
|
@@ -219,10 +214,6 @@
|
||||||
|
void LauncherWindow::applyPrefs()
|
||||||
|
{
|
||||||
|
QWebSettings* settings = page()->settings();
|
||||||
|
-#ifndef QT_NO_OPENGL
|
||||||
|
- settings->setAttribute(QWebSettings::AcceleratedCompositingEnabled, m_windowOptions.useCompositing
|
||||||
|
- && (m_windowOptions.useQGLWidgetViewport || m_windowOptions.useQOpenGLWidgetViewport));
|
||||||
|
-#endif
|
||||||
|
settings->setAttribute(QWebSettings::TiledBackingStoreEnabled, m_windowOptions.useTiledBackingStore);
|
||||||
|
settings->setAttribute(QWebSettings::FrameFlatteningEnabled, m_windowOptions.useFrameFlattening);
|
||||||
|
settings->setAttribute(QWebSettings::WebGLEnabled, m_windowOptions.useWebGL);
|
||||||
|
@@ -437,21 +428,6 @@
|
||||||
|
toggleTiledBackingStore->setEnabled(isGraphicsBased());
|
||||||
|
toggleTiledBackingStore->connect(toggleGraphicsView, SIGNAL(toggled(bool)), SLOT(setEnabled(bool)));
|
||||||
|
|
||||||
|
-#ifndef QT_NO_OPENGL
|
||||||
|
- QAction* toggleQGLWidgetViewport = graphicsViewMenu->addAction("Toggle use of QGLWidget Viewport", this, SLOT(toggleQGLWidgetViewport(bool)));
|
||||||
|
- toggleQGLWidgetViewport->setCheckable(true);
|
||||||
|
- toggleQGLWidgetViewport->setChecked(m_windowOptions.useQGLWidgetViewport);
|
||||||
|
- toggleQGLWidgetViewport->setEnabled(isGraphicsBased());
|
||||||
|
- toggleQGLWidgetViewport->connect(toggleGraphicsView, SIGNAL(toggled(bool)), SLOT(setEnabled(bool)));
|
||||||
|
-#if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0)
|
||||||
|
- QAction* toggleQOpenGLWidgetViewport = graphicsViewMenu->addAction("Toggle use of QOpenGLWidget Viewport", this, SLOT(toggleQOpenGLWidgetViewport(bool)));
|
||||||
|
- toggleQOpenGLWidgetViewport->setCheckable(true);
|
||||||
|
- toggleQOpenGLWidgetViewport->setChecked(m_windowOptions.useQOpenGLWidgetViewport);
|
||||||
|
- toggleQOpenGLWidgetViewport->setEnabled(isGraphicsBased());
|
||||||
|
- toggleQOpenGLWidgetViewport->connect(toggleGraphicsView, SIGNAL(toggled(bool)), SLOT(setEnabled(bool)));
|
||||||
|
-#endif
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
QMenu* viewportUpdateMenu = graphicsViewMenu->addMenu("Change Viewport Update Mode");
|
||||||
|
viewportUpdateMenu->setEnabled(isGraphicsBased());
|
||||||
|
viewportUpdateMenu->connect(toggleGraphicsView, SIGNAL(toggled(bool)), SLOT(setEnabled(bool)));
|
||||||
|
@@ -848,13 +824,6 @@
|
||||||
|
label->setWindowTitle(QString("Screenshot - Saved at %1").arg(fileName));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
-
|
||||||
|
-#ifndef QT_NO_OPENGL
|
||||||
|
- if (!m_windowOptions.useQOpenGLWidgetViewport)
|
||||||
|
- toggleQGLWidgetViewport(m_windowOptions.useQGLWidgetViewport);
|
||||||
|
- if (!m_windowOptions.useQGLWidgetViewport)
|
||||||
|
- toggleQOpenGLWidgetViewport(m_windowOptions.useQOpenGLWidgetViewport);
|
||||||
|
-#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void LauncherWindow::setEditable(bool on)
|
||||||
|
@@ -1062,36 +1031,6 @@
|
||||||
|
page()->settings()->setAttribute(QWebSettings::PluginsEnabled, !enable);
|
||||||
|
}
|
||||||
|
|
||||||
|
-#ifndef QT_NO_OPENGL
|
||||||
|
-void LauncherWindow::toggleQGLWidgetViewport(bool enable)
|
||||||
|
-{
|
||||||
|
- if (!isGraphicsBased())
|
||||||
|
- return;
|
||||||
|
-
|
||||||
|
- if (enable)
|
||||||
|
- m_windowOptions.useQOpenGLWidgetViewport = false;
|
||||||
|
- m_windowOptions.useQGLWidgetViewport = enable;
|
||||||
|
-
|
||||||
|
- WebViewGraphicsBased* view = static_cast<WebViewGraphicsBased*>(m_view);
|
||||||
|
- view->setViewport(enable ? new QGLWidget() : 0);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-void LauncherWindow::toggleQOpenGLWidgetViewport(bool enable)
|
||||||
|
-{
|
||||||
|
- if (!isGraphicsBased())
|
||||||
|
- return;
|
||||||
|
-
|
||||||
|
-#if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0)
|
||||||
|
- if (enable)
|
||||||
|
- m_windowOptions.useQGLWidgetViewport = false;
|
||||||
|
- m_windowOptions.useQOpenGLWidgetViewport = enable;
|
||||||
|
-
|
||||||
|
- WebViewGraphicsBased* view = static_cast<WebViewGraphicsBased*>(m_view);
|
||||||
|
- view->setViewport(enable ? new QOpenGLWidget() : 0);
|
||||||
|
-#endif
|
||||||
|
-}
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
void LauncherWindow::toggleForcedAntialiasing(bool enable)
|
||||||
|
{
|
||||||
|
m_windowOptions.useForcedAntialiasing = enable;
|
71
x11-packages/qt5-qtwebkit/webkit-bwo141288.patch
Normal file
71
x11-packages/qt5-qtwebkit/webkit-bwo141288.patch
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
From 7cc86ebe881f36bfef18d8eeee666d2a55eae892 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Guilherme Iscaro <iscaro@profusion.mobi>
|
||||||
|
Date: Fri, 31 Mar 2017 10:31:49 -0300
|
||||||
|
Subject: [PATCH] Fix build on ARMv6.
|
||||||
|
|
||||||
|
The ARMv6 and older architures does not support the movw and movl
|
||||||
|
instructions, thus causing a build break.
|
||||||
|
This patch fix the problem by creating a new offlineasm instruction,
|
||||||
|
which will use the ldr instruction to load a immediate into a register.
|
||||||
|
|
||||||
|
https://bugs.webkit.org/show_bug.cgi?id=141288
|
||||||
|
|
||||||
|
Reviewed by NOBODY (OOPS!).
|
||||||
|
|
||||||
|
* llint/LowLevelInterpreter.asm:
|
||||||
|
* offlineasm/arm.rb:
|
||||||
|
* offlineasm/instructions.rb:
|
||||||
|
---
|
||||||
|
Source/JavaScriptCore/llint/LowLevelInterpreter.asm | 8 +++++++-
|
||||||
|
Source/JavaScriptCore/offlineasm/arm.rb | 2 ++
|
||||||
|
Source/JavaScriptCore/offlineasm/instructions.rb | 3 ++-
|
||||||
|
3 files changed, 11 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
|
||||||
|
index ab3c0c8e771..6c32eef8852 100644
|
||||||
|
--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
|
||||||
|
+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
|
||||||
|
@@ -1167,7 +1167,13 @@ macro setEntryAddress(index, label)
|
||||||
|
move index, t4
|
||||||
|
storep t1, [a0, t4, 8]
|
||||||
|
elsif ARM or ARMv7 or ARMv7_TRADITIONAL
|
||||||
|
- mvlbl (label - _relativePCBase), t4
|
||||||
|
+ if ARM
|
||||||
|
+ ldrlbl t4, label
|
||||||
|
+ ldrlbl t3, _relativePCBase
|
||||||
|
+ subp t4, t3, t4
|
||||||
|
+ else
|
||||||
|
+ mvlbl (label - _relativePCBase), t4
|
||||||
|
+ end
|
||||||
|
addp t4, t1, t4
|
||||||
|
move index, t3
|
||||||
|
storep t4, [a0, t3, 4]
|
||||||
|
diff --git a/Source/JavaScriptCore/offlineasm/arm.rb b/Source/JavaScriptCore/offlineasm/arm.rb
|
||||||
|
index c8064a59196..a9c40c8995c 100644
|
||||||
|
--- a/Source/JavaScriptCore/offlineasm/arm.rb
|
||||||
|
+++ b/Source/JavaScriptCore/offlineasm/arm.rb
|
||||||
|
@@ -504,6 +504,8 @@ class Instruction
|
||||||
|
when "mvlbl"
|
||||||
|
$asm.puts "movw #{operands[1].armOperand}, \#:lower16:#{operands[0].value}"
|
||||||
|
$asm.puts "movt #{operands[1].armOperand}, \#:upper16:#{operands[0].value}"
|
||||||
|
+ when "ldrlbl"
|
||||||
|
+ $asm.puts "ldr #{operands[0].armOperand}, =#{operands[1].value}"
|
||||||
|
when "nop"
|
||||||
|
$asm.puts "nop"
|
||||||
|
when "bieq", "bpeq", "bbeq"
|
||||||
|
diff --git a/Source/JavaScriptCore/offlineasm/instructions.rb b/Source/JavaScriptCore/offlineasm/instructions.rb
|
||||||
|
index bbfce7193b3..8cc1cb961ce 100644
|
||||||
|
--- a/Source/JavaScriptCore/offlineasm/instructions.rb
|
||||||
|
+++ b/Source/JavaScriptCore/offlineasm/instructions.rb
|
||||||
|
@@ -261,7 +261,8 @@ X86_INSTRUCTIONS =
|
||||||
|
ARM_INSTRUCTIONS =
|
||||||
|
[
|
||||||
|
"clrbp",
|
||||||
|
- "mvlbl"
|
||||||
|
+ "mvlbl",
|
||||||
|
+ "ldrlbl"
|
||||||
|
]
|
||||||
|
|
||||||
|
ARM64_INSTRUCTIONS =
|
||||||
|
--
|
||||||
|
2.12.1
|
Loading…
Reference in New Issue
Block a user