summaryrefslogtreecommitdiffstats
path: root/libs/wpewebkit/patches/131-JavaScriptCore-forward-MacroAssemblerRISCV64-header.patch
blob: 50ce4800b819ec6980bb869d3ec494f74f67b59b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
From 697fec69a7963a90633ec3c808c9811ceabfed25 Mon Sep 17 00:00:00 2001
From: Daniel Golle <daniel@makrotopia.org>
Date: Wed, 23 Sep 2026 14:33:27 +0100
Subject: [PATCH] JavaScriptCore: forward MacroAssemblerRISCV64.h and friends
 to PrivateHeaders

JSC's CMakeLists copies a curated list of assembler headers into
PrivateHeaders/JavaScriptCore/ so that external consumers (WebCore,
WebKit, JSC's own GLib bindings, ...) can resolve them via
'#include <JavaScriptCore/MacroAssembler.h>'. That header in turn
does '#include "MacroAssemblerRISCV64.h"' on RISCV64, which in turn
does '#include "RISCV64Assembler.h"', which in turn pulls in
RISCV64Registers.h. None of the three is in the forwarding list.

MacroAssemblerARM64.h / MacroAssemblerARMv7.h / MacroAssemblerX86_64.h
are listed alongside their respective ARM64Assembler.h / ARM64Registers.h
/ X86Assembler.h / X86_64Registers.h; the RISCV64 trio simply hadn't
been added.  As a result, on RISCV64 every WebCore translation unit
that pulls in JSC's MacroAssembler chain fails with:

  MacroAssembler.h:54:10: fatal error: MacroAssemblerRISCV64.h:
                                       No such file or directory

or

  MacroAssemblerRISCV64.h:33:10: fatal error: RISCV64Assembler.h:
                                              No such file or directory

Add the three RISCV64 headers to the forwarding-headers list, matching
what is already done for the other architectures.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
 Source/JavaScriptCore/CMakeLists.txt | 3 +++
 1 file changed, 3 insertions(+)

--- a/Source/JavaScriptCore/CMakeLists.txt
+++ b/Source/JavaScriptCore/CMakeLists.txt
@@ -639,7 +639,10 @@ set(JavaScriptCore_PRIVATE_FRAMEWORK_HEA
     assembler/MacroAssemblerARMv7.h
     assembler/MacroAssemblerCodeRef.h
     assembler/MacroAssemblerHelpers.h
+    assembler/MacroAssemblerRISCV64.h
     assembler/MacroAssemblerX86_64.h
+    assembler/RISCV64Assembler.h
+    assembler/RISCV64Registers.h
     assembler/MaxFrameExtentForSlowPathCall.h
     assembler/OSCheck.h
     assembler/Printer.h