mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-25 00:50:22 +00:00
Ports/zig: Bump zig version to 0.12.0-dev.141+ddf5859c2
Fixes build error ``` error "It looks like you're trying to enable vendor availability markup, but you haven't defined the corresponding macros yet!" ``` while trying to #include <__availability> header without having the necessary preprocessor directive `_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS` set
This commit is contained in:
parent
ca16a1ed08
commit
14d8403a7b
Notes:
sideshowbarker
2024-07-17 03:45:48 +09:00
Author: https://github.com/moormaster Commit: https://github.com/SerenityOS/serenity/commit/14d8403a7b Pull-request: https://github.com/SerenityOS/serenity/pull/20241 Reviewed-by: https://github.com/MacDue Reviewed-by: https://github.com/sin-ack Reviewed-by: https://github.com/timschumi ✅
10 changed files with 219 additions and 77 deletions
|
@ -329,7 +329,7 @@ This list is also available at [ports.serenityos.net](https://ports.serenityos.n
|
|||
| [`xorriso`](xorriso/) | xorriso | 1.5.6 | https://www.gnu.org/software/xorriso |
|
||||
| [`xz`](xz/) | xz | 5.2.5 | https://tukaani.org/xz/ |
|
||||
| [`yasm`](yasm/) | Yasm Modular Assembler | 1.3.0 | https://yasm.tortall.net/ |
|
||||
| [`zig`](zig/) | Zig programming language | 0.11.0-dev.4003+c6aa29b6f | https://ziglang.org/ |
|
||||
| [`zig`](zig/) | Zig programming language | 0.12.0-dev.141+ddf5859c2 | https://ziglang.org/ |
|
||||
| [`zlib`](zlib/) | zlib | 1.3 | https://www.zlib.net/ |
|
||||
| [`zsh`](zsh/) | Z Shell (Zsh) | 5.9 | https://www.zsh.org |
|
||||
| [`zstd`](zstd/) | Zstandard | 1.5.2 | https://facebook.github.io/zstd/ |
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
#!/usr/bin/env -S bash ../.port_include.sh
|
||||
|
||||
port='zig'
|
||||
version='0.11.0-dev.4003+c6aa29b6f'
|
||||
version='0.12.0-dev.141+ddf5859c2'
|
||||
files=(
|
||||
'https://github.com/ziglang/zig-bootstrap/archive/bf1b2cdb83141ad9336eec42160c9fe87f90198d.tar.gz#363f97884f4a291c7167468e53cf4570fa03bc7b8973365dbce2019ffc103150'
|
||||
'https://github.com/ziglang/zig/archive/c6aa29b6fdba1606bfd218b17de89f64179c0ed8.tar.gz#d63c5087a737c46072f155eacacaa406af67addab39ad8179c44b0fc7d698ac1'
|
||||
'https://github.com/ziglang/zig-bootstrap/archive/34644ad5032c58e39327d33d7f96d63d7c330003.tar.gz#e502ae17b01f03c627927d60b2e26b5f7f83b0e8be27b6ef55511d52e5892ccf'
|
||||
'https://github.com/ziglang/zig/archive/ddf5859c22527c6bf5d8bb13310db996fcc58874.tar.gz#9adaf787b6233cfbe784d2d8a72398784f3742e2f5ac700cbd59ba952f9491ad'
|
||||
)
|
||||
|
||||
# The actual directory to build in.
|
||||
workdir='zig-bootstrap-bf1b2cdb83141ad9336eec42160c9fe87f90198d'
|
||||
workdir='zig-bootstrap-34644ad5032c58e39327d33d7f96d63d7c330003'
|
||||
# The newer Zig directory we move into the workdir.
|
||||
zigdir='zig-c6aa29b6fdba1606bfd218b17de89f64179c0ed8'
|
||||
zigdir='zig-ddf5859c22527c6bf5d8bb13310db996fcc58874'
|
||||
|
||||
post_fetch() {
|
||||
# Move the newer version of Zig into the bootstrap
|
||||
|
@ -33,6 +33,6 @@ install() {
|
|||
|
||||
mkdir -p "${DESTDIR}/usr/local/bin/."
|
||||
mkdir -p "${DESTDIR}/usr/local/lib/."
|
||||
cp -rv "${zig_install_dir}/bin/"* "${DESTDIR}/usr/local/bin/"
|
||||
cp -rv "${zig_install_dir}/zig" "${DESTDIR}/usr/local/bin/"
|
||||
cp -rv "${zig_install_dir}/lib/"* "${DESTDIR}/usr/local/lib/"
|
||||
}
|
||||
|
|
|
@ -11,23 +11,23 @@ Named "serenity" within the code to match what LLVM says.
|
|||
zig/src/codegen/llvm/bindings.zig | 1 +
|
||||
zig/src/libc_installation.zig | 6 +++++-
|
||||
zig/src/link/Elf.zig | 9 +++++++++
|
||||
zig/src/target.zig | 5 ++++-
|
||||
zig/src/target.zig | 7 +++++--
|
||||
zig/src/zig_llvm.h | 3 ++-
|
||||
8 files changed, 31 insertions(+), 3 deletions(-)
|
||||
8 files changed, 32 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/zig/lib/std/target.zig b/zig/lib/std/target.zig
|
||||
index 2a96e84001ebf67ce29a9059f62045776530549a..b137e48c02d7d7ecc0f5eae61f6225504bf0ba3d 100644
|
||||
index c3d12b2759cead4c23d3145fe018327f838399ff..608f0e958144fc53dfb67fa2efa29690a60599ba 100644
|
||||
--- a/zig/lib/std/target.zig
|
||||
+++ b/zig/lib/std/target.zig
|
||||
@@ -60,6 +60,7 @@ pub const Target = struct {
|
||||
@@ -57,6 +57,7 @@ pub const Target = struct {
|
||||
glsl450,
|
||||
vulkan,
|
||||
plan9,
|
||||
+ serenity,
|
||||
other,
|
||||
|
||||
pub fn isDarwin(tag: Tag) bool {
|
||||
@@ -267,6 +268,7 @@ pub const Target = struct {
|
||||
pub inline fn isDarwin(tag: Tag) bool {
|
||||
@@ -264,6 +265,7 @@ pub const Target = struct {
|
||||
.glsl450, // TODO: GLSL versions
|
||||
.vulkan,
|
||||
.plan9,
|
||||
|
@ -35,7 +35,7 @@ index 2a96e84001ebf67ce29a9059f62045776530549a..b137e48c02d7d7ecc0f5eae61f622550
|
|||
.other,
|
||||
=> return .{ .none = {} },
|
||||
|
||||
@@ -410,6 +412,7 @@ pub const Target = struct {
|
||||
@@ -407,6 +409,7 @@ pub const Target = struct {
|
||||
.openbsd,
|
||||
.haiku,
|
||||
.solaris,
|
||||
|
@ -43,7 +43,7 @@ index 2a96e84001ebf67ce29a9059f62045776530549a..b137e48c02d7d7ecc0f5eae61f622550
|
|||
=> true,
|
||||
|
||||
.linux,
|
||||
@@ -568,6 +571,7 @@ pub const Target = struct {
|
||||
@@ -565,6 +568,7 @@ pub const Target = struct {
|
||||
.watchos,
|
||||
.driverkit,
|
||||
.shadermodel,
|
||||
|
@ -51,7 +51,7 @@ index 2a96e84001ebf67ce29a9059f62045776530549a..b137e48c02d7d7ecc0f5eae61f622550
|
|||
=> return .none,
|
||||
}
|
||||
}
|
||||
@@ -1690,6 +1694,8 @@ pub const Target = struct {
|
||||
@@ -1689,6 +1693,8 @@ pub const Target = struct {
|
||||
// TODO revisit when multi-arch for Haiku is available
|
||||
.haiku => return copy(&result, "/system/runtime_loader"),
|
||||
|
||||
|
@ -81,10 +81,10 @@ index d42b02d931dc3afa7cc33b1576ec77d123fc5bd5..479c1bffc8df034ee2d876118c1aa257
|
|||
=> return error.InvalidOperatingSystemVersion,
|
||||
|
||||
diff --git a/zig/src/codegen/llvm.zig b/zig/src/codegen/llvm.zig
|
||||
index ec456e53a7b29be235ec329882e593545273c732..32baa8fbb39a699e57450ed36d5897991c32524b 100644
|
||||
index e36f411a01a631c7a52cf8ad8b50986ab26c69bd..7c651e4456ec984730e77a6f29e4c61aa4983310 100644
|
||||
--- a/zig/src/codegen/llvm.zig
|
||||
+++ b/zig/src/codegen/llvm.zig
|
||||
@@ -144,6 +144,7 @@ pub fn targetTriple(allocator: Allocator, target: std.Target) ![:0]u8 {
|
||||
@@ -148,6 +148,7 @@ pub fn targetTriple(allocator: Allocator, target: std.Target) ![]const u8 {
|
||||
.watchos => "watchos",
|
||||
.driverkit => "driverkit",
|
||||
.shadermodel => "shadermodel",
|
||||
|
@ -92,7 +92,7 @@ index ec456e53a7b29be235ec329882e593545273c732..32baa8fbb39a699e57450ed36d589799
|
|||
.opencl,
|
||||
.glsl450,
|
||||
.vulkan,
|
||||
@@ -250,6 +251,7 @@ pub fn targetOs(os_tag: std.Target.Os.Tag) llvm.OSType {
|
||||
@@ -254,6 +255,7 @@ pub fn targetOs(os_tag: std.Target.Os.Tag) llvm.OSType {
|
||||
.emscripten => .Emscripten,
|
||||
.driverkit => .DriverKit,
|
||||
.shadermodel => .ShaderModel,
|
||||
|
@ -101,10 +101,10 @@ index ec456e53a7b29be235ec329882e593545273c732..32baa8fbb39a699e57450ed36d589799
|
|||
}
|
||||
|
||||
diff --git a/zig/src/codegen/llvm/bindings.zig b/zig/src/codegen/llvm/bindings.zig
|
||||
index b093588e80c1dcbcd3d515ffa09b9ffefcd55828..385b17bd16a2f957f6e79bd7c068820415bcae6f 100644
|
||||
index 66826caa42547b19a68c2301ece99d1e7a6d5f86..2f9fae37aad13d16fe4fdf0f0ae205ad1c13855b 100644
|
||||
--- a/zig/src/codegen/llvm/bindings.zig
|
||||
+++ b/zig/src/codegen/llvm/bindings.zig
|
||||
@@ -1298,6 +1298,7 @@ pub const OSType = enum(c_int) {
|
||||
@@ -1191,6 +1191,7 @@ pub const OSType = enum(c_int) {
|
||||
WASI,
|
||||
Emscripten,
|
||||
ShaderModel,
|
||||
|
@ -113,10 +113,10 @@ index b093588e80c1dcbcd3d515ffa09b9ffefcd55828..385b17bd16a2f957f6e79bd7c0688204
|
|||
|
||||
pub const ArchType = enum(c_int) {
|
||||
diff --git a/zig/src/libc_installation.zig b/zig/src/libc_installation.zig
|
||||
index 355c3bad8dcd53a03e4df133f0a470b91d390a22..c048b865270640877e0bd042c21faa7e8317991f 100644
|
||||
index 2d42a03a32d7601dbdc8358af5c40e0aef482837..ce550aa8db4e1b3b75ad4a1669edbce3b2ddf8a0 100644
|
||||
--- a/zig/src/libc_installation.zig
|
||||
+++ b/zig/src/libc_installation.zig
|
||||
@@ -8,6 +8,7 @@ const build_options = @import("build_options");
|
||||
@@ -7,6 +7,7 @@ const Allocator = std.mem.Allocator;
|
||||
const is_darwin = builtin.target.isDarwin();
|
||||
const is_windows = builtin.target.os.tag == .windows;
|
||||
const is_haiku = builtin.target.os.tag == .haiku;
|
||||
|
@ -124,7 +124,7 @@ index 355c3bad8dcd53a03e4df133f0a470b91d390a22..c048b865270640877e0bd042c21faa7e
|
|||
|
||||
const log = std.log.scoped(.libc_installation);
|
||||
|
||||
@@ -205,6 +206,9 @@ pub const LibCInstallation = struct {
|
||||
@@ -213,6 +214,9 @@ pub const LibCInstallation = struct {
|
||||
try self.findNativeIncludeDirPosix(args);
|
||||
try self.findNativeCrtBeginDirHaiku(args);
|
||||
self.crt_dir = try args.allocator.dupeZ(u8, "/system/develop/lib");
|
||||
|
@ -134,7 +134,7 @@ index 355c3bad8dcd53a03e4df133f0a470b91d390a22..c048b865270640877e0bd042c21faa7e
|
|||
} else if (std.process.can_spawn) {
|
||||
try self.findNativeIncludeDirPosix(args);
|
||||
switch (builtin.target.os.tag) {
|
||||
@@ -308,7 +312,7 @@ pub const LibCInstallation = struct {
|
||||
@@ -316,7 +320,7 @@ pub const LibCInstallation = struct {
|
||||
const include_dir_example_file = if (is_haiku) "posix/stdlib.h" else "stdlib.h";
|
||||
const sys_include_dir_example_file = if (is_windows)
|
||||
"sys\\types.h"
|
||||
|
@ -144,10 +144,10 @@ index 355c3bad8dcd53a03e4df133f0a470b91d390a22..c048b865270640877e0bd042c21faa7e
|
|||
else
|
||||
"sys/errno.h";
|
||||
diff --git a/zig/src/link/Elf.zig b/zig/src/link/Elf.zig
|
||||
index 0258b0a6a70ad07bf6bad54ccf24954d67bb98d9..fc2d11a10eb8aa31a739a0da15b592cd0f0b90ac 100644
|
||||
index 9d71885e61dea3e9a5a2d45dd31462b0da963367..ed62c1cf0979e26179d18507abece2f0af2f3a04 100644
|
||||
--- a/zig/src/link/Elf.zig
|
||||
+++ b/zig/src/link/Elf.zig
|
||||
@@ -3382,6 +3382,15 @@ const CsuObjects = struct {
|
||||
@@ -3368,6 +3368,15 @@ const CsuObjects = struct {
|
||||
.static_pie => result.set( "rcrt0.o", null, "crtbegin.o", "crtend.o", null ),
|
||||
// zig fmt: on
|
||||
},
|
||||
|
@ -164,7 +164,7 @@ index 0258b0a6a70ad07bf6bad54ccf24954d67bb98d9..fc2d11a10eb8aa31a739a0da15b592cd
|
|||
// zig fmt: off
|
||||
.dynamic_lib => result.set( null, "crti.o", "crtbeginS.o", "crtendS.o", "crtn.o" ),
|
||||
diff --git a/zig/src/target.zig b/zig/src/target.zig
|
||||
index f07dcc43d21e516ef5e5f392d231207a4e6389eb..95efc730d9c2ba61a19200bf11ad1456a37650dc 100644
|
||||
index 2e7cd46e4376efe9d2c543b3aad937dbc5a6f4b0..0219d7419a54ebfc7dd78a058b8871d417b65d01 100644
|
||||
--- a/zig/src/target.zig
|
||||
+++ b/zig/src/target.zig
|
||||
@@ -190,7 +190,7 @@ pub fn libcNeedsLibUnwind(target: std.Target) bool {
|
||||
|
@ -176,7 +176,16 @@ index f07dcc43d21e516ef5e5f392d231207a4e6389eb..95efc730d9c2ba61a19200bf11ad1456
|
|||
}
|
||||
|
||||
/// This function returns whether non-pic code is completely invalid on the given target.
|
||||
@@ -476,6 +476,9 @@ pub fn libcFullLinkFlags(target: std.Target) []const []const u8 {
|
||||
@@ -378,7 +378,7 @@ pub fn is_libc_lib_name(target: std.Target, name: []const u8) bool {
|
||||
return false;
|
||||
}
|
||||
|
||||
- if (target.abi.isGnu() or target.abi.isMusl() or target.os.tag.isDarwin()) {
|
||||
+ if (target.abi.isGnu() or target.abi.isMusl() or target.os.tag.isDarwin() or target.os.tag == .serenity) {
|
||||
if (eqlIgnoreCase(ignore_case, name, "m"))
|
||||
return true;
|
||||
if (eqlIgnoreCase(ignore_case, name, "rt"))
|
||||
@@ -485,6 +485,9 @@ pub fn libcFullLinkFlags(target: std.Target) []const []const u8 {
|
||||
"-lpthread",
|
||||
"-lc",
|
||||
},
|
||||
|
@ -187,10 +196,10 @@ index f07dcc43d21e516ef5e5f392d231207a4e6389eb..95efc730d9c2ba61a19200bf11ad1456
|
|||
.android => &[_][]const u8{
|
||||
"-lm",
|
||||
diff --git a/zig/src/zig_llvm.h b/zig/src/zig_llvm.h
|
||||
index 74dcd105649ab9633f67a8caaf26e2d3ba5b5aef..6dc140d69c16935654a9d58658184def3464be35 100644
|
||||
index 6671922090761915ed74913602c8b0d5a21d559f..c8c90adfeac7a5a4ee8348bf119491aadaa4c156 100644
|
||||
--- a/zig/src/zig_llvm.h
|
||||
+++ b/zig/src/zig_llvm.h
|
||||
@@ -475,7 +475,8 @@ enum ZigLLVM_OSType {
|
||||
@@ -426,7 +426,8 @@ enum ZigLLVM_OSType {
|
||||
ZigLLVM_WASI, // Experimental WebAssembly OS
|
||||
ZigLLVM_Emscripten,
|
||||
ZigLLVM_ShaderModel, // DirectX ShaderModel
|
||||
|
|
|
@ -6,19 +6,19 @@ Subject: [PATCH] Implement SerenityOS support in std
|
|||
---
|
||||
zig/lib/std/Thread.zig | 2 +-
|
||||
zig/lib/std/c.zig | 1 +
|
||||
zig/lib/std/c/serenity.zig | 621 +++++++++++++++++++++++++++
|
||||
zig/lib/std/c/serenity.zig | 709 +++++++++++++++++++++++++++
|
||||
zig/lib/std/c/serenity/constants.zig | 6 +
|
||||
zig/lib/std/debug.zig | 3 +-
|
||||
zig/lib/std/fs.zig | 72 +++-
|
||||
zig/lib/std/debug.zig | 5 +-
|
||||
zig/lib/std/fs.zig | 79 ++-
|
||||
zig/lib/std/fs/get_app_data_dir.zig | 2 +-
|
||||
zig/lib/std/os.zig | 3 +-
|
||||
zig/lib/std/os.zig | 4 +-
|
||||
zig/lib/std/target.zig | 1 +
|
||||
9 files changed, 705 insertions(+), 6 deletions(-)
|
||||
9 files changed, 801 insertions(+), 8 deletions(-)
|
||||
create mode 100644 zig/lib/std/c/serenity.zig
|
||||
create mode 100644 zig/lib/std/c/serenity/constants.zig
|
||||
|
||||
diff --git a/zig/lib/std/Thread.zig b/zig/lib/std/Thread.zig
|
||||
index 99e2feb4cf432d7fb323b62412e810a7b932d9a9..4dcc644b36cf99a7c18084c5ccdaeffa7723e7bd 100644
|
||||
index 74f8e98df4bf212830933c150d6d7f0242007bda..fe8fc416fcb0c1ec4ec414c9f01e4d6639c1d87b 100644
|
||||
--- a/zig/lib/std/Thread.zig
|
||||
+++ b/zig/lib/std/Thread.zig
|
||||
@@ -636,7 +636,7 @@ const PosixThreadImpl = struct {
|
||||
|
@ -31,7 +31,7 @@ index 99e2feb4cf432d7fb323b62412e810a7b932d9a9..4dcc644b36cf99a7c18084c5ccdaeffa
|
|||
// /dev/kstat via ioctls, and traverse a linked list for each
|
||||
// cpu.
|
||||
diff --git a/zig/lib/std/c.zig b/zig/lib/std/c.zig
|
||||
index 149f3ab7e19919ad8d2b57988aa1db61213ea60d..d7720089a346f4c2ea8ef8f9aac15459b3fc2235 100644
|
||||
index 66875eadd0347c930632254901d37f1b4f4fabcc..c78c8aa3d0daa67279a17c359870ac3052e43bb9 100644
|
||||
--- a/zig/lib/std/c.zig
|
||||
+++ b/zig/lib/std/c.zig
|
||||
@@ -54,6 +54,7 @@ pub usingnamespace switch (builtin.os.tag) {
|
||||
|
@ -44,13 +44,16 @@ index 149f3ab7e19919ad8d2b57988aa1db61213ea60d..d7720089a346f4c2ea8ef8f9aac15459
|
|||
|
||||
diff --git a/zig/lib/std/c/serenity.zig b/zig/lib/std/c/serenity.zig
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..1c8dc37af9d528338d2c5543b5f3a47894264c0e
|
||||
index 0000000000000000000000000000000000000000..d85d44ee1f0c71706f6c17f15183ece261a42e28
|
||||
--- /dev/null
|
||||
+++ b/zig/lib/std/c/serenity.zig
|
||||
@@ -0,0 +1,621 @@
|
||||
@@ -0,0 +1,709 @@
|
||||
+const builtin = @import("builtin");
|
||||
+pub const std = @import("std");
|
||||
+pub const SerenityConstants = @import("serenity/constants.zig");
|
||||
+
|
||||
+const native_arch = builtin.cpu.arch;
|
||||
+
|
||||
+pub const fd_t = c_int;
|
||||
+pub const dev_t = u64;
|
||||
+pub const ino_t = u64;
|
||||
|
@ -199,6 +202,9 @@ index 0000000000000000000000000000000000000000..1c8dc37af9d528338d2c5543b5f3a478
|
|||
+ _,
|
||||
+};
|
||||
+
|
||||
+// see Kernel/API/POSIX/sys/limits.h
|
||||
+pub const HOST_NAME_MAX = SerenityConstants.HOST_NAME_MAX;
|
||||
+pub const NAME_MAX = SerenityConstants.NAME_MAX;
|
||||
+pub const PATH_MAX = SerenityConstants.PATH_MAX;
|
||||
+
|
||||
+pub const time_t = i64;
|
||||
|
@ -295,6 +301,7 @@ index 0000000000000000000000000000000000000000..1c8dc37af9d528338d2c5543b5f3a478
|
|||
+ pub const RAW = 255;
|
||||
+};
|
||||
+
|
||||
+// see Kernel/API/POSIX/types.h
|
||||
+pub const pthread_mutex_t = extern struct {
|
||||
+ lock: u32 = 0,
|
||||
+ owner: ?std.c.pthread_t = null,
|
||||
|
@ -308,6 +315,10 @@ index 0000000000000000000000000000000000000000..1c8dc37af9d528338d2c5543b5f3a478
|
|||
+ clockid: c_int = CLOCK.MONOTONIC_COARSE, // clockid_t
|
||||
+};
|
||||
+
|
||||
+pub const pthread_rwlock_t = extern struct {
|
||||
+ ptr: u64 = 0
|
||||
+};
|
||||
+
|
||||
+pub const PTHREAD_STACK_MIN = SerenityConstants.PTHREAD_STACK_MIN;
|
||||
+
|
||||
+pub const uid_t = u32;
|
||||
|
@ -410,6 +421,7 @@ index 0000000000000000000000000000000000000000..1c8dc37af9d528338d2c5543b5f3a478
|
|||
+ pub const END = SerenityConstants.SEEK_END;
|
||||
+};
|
||||
+
|
||||
+// see Kernel/API/POSIX/signal_numbers.h
|
||||
+pub const SIG = struct {
|
||||
+ pub const ABRT = SerenityConstants.SIGABRT;
|
||||
+ pub const ALRM = SerenityConstants.SIGALRM;
|
||||
|
@ -444,6 +456,11 @@ index 0000000000000000000000000000000000000000..1c8dc37af9d528338d2c5543b5f3a478
|
|||
+ pub const WINCH = SerenityConstants.SIGWINCH;
|
||||
+ pub const XCPU = SerenityConstants.SIGXCPU;
|
||||
+ pub const XFSZ = SerenityConstants.SIGXFSZ;
|
||||
+
|
||||
+ // see Kernel/API/POSIX/signal.h
|
||||
+ pub const ERR = @as(?Sigaction.handler_fn, @ptrFromInt(-1));
|
||||
+ pub const DFL = @as(?Sigaction.handler_fn, @ptrFromInt(0));
|
||||
+ pub const IGN = @as(?Sigaction.handler_fn, @ptrFromInt(1));
|
||||
+};
|
||||
+
|
||||
+pub const sigval = extern union {
|
||||
|
@ -475,7 +492,7 @@ index 0000000000000000000000000000000000000000..1c8dc37af9d528338d2c5543b5f3a478
|
|||
+ sigaction: ?sigaction_fn,
|
||||
+ },
|
||||
+ mask: sigset_t,
|
||||
+ flags: c_int,
|
||||
+ flags: c_uint,
|
||||
+};
|
||||
+
|
||||
+pub const SO = struct {
|
||||
|
@ -507,14 +524,8 @@ index 0000000000000000000000000000000000000000..1c8dc37af9d528338d2c5543b5f3a478
|
|||
+// see Kernel/API/POSIX/netinet/in.h
|
||||
+pub const in_port_t = u16;
|
||||
+
|
||||
+pub const in_addr = extern struct {
|
||||
+ addr: u32,
|
||||
+};
|
||||
+
|
||||
+pub const in6_addr = extern union {
|
||||
+ addr: [16]u8,
|
||||
+ addr32: [4]u32,
|
||||
+};
|
||||
+pub const in_addr = u32;
|
||||
+pub const in6_addr = [16]u8;
|
||||
+
|
||||
+// see Kernel/API/POSIX/sys/socket.h
|
||||
+pub const sockaddr = extern struct {
|
||||
|
@ -562,7 +573,27 @@ index 0000000000000000000000000000000000000000..1c8dc37af9d528338d2c5543b5f3a478
|
|||
+ pub const RDHUP = SerenityConstants.POLLRDHUP;
|
||||
+};
|
||||
+
|
||||
+// see Kernel/API/POSIX/signal.h
|
||||
+pub const SA = struct {
|
||||
+ pub const NOCLDSTOP = SerenityConstants.SA_NOCLDSTOP;
|
||||
+ pub const NOCLDWAIT = SerenityConstants.SA_NOCLDWAIT;
|
||||
+ pub const SIGINFO = SerenityConstants.SA_SIGINFO;
|
||||
+ pub const RESTART = SerenityConstants.SA_RESTART;
|
||||
+ pub const RESETHAND = SerenityConstants.SA_RESETHAND;
|
||||
+ pub const ONSTACK = SerenityConstants.SA_ONSTACK;
|
||||
+ pub const NODEFER = SerenityConstants.SA_NODEFER;
|
||||
+
|
||||
+ // see Toolchain/Tarballs/gcc-13.1.0/libsanitizer/sanitizer_common/sanitizer_linux.cpp
|
||||
+ pub const RESTORER = 0x04000000;
|
||||
+};
|
||||
+
|
||||
+//see Kernel/API/POSIX/sys/socket.h
|
||||
+pub const SHUT = struct {
|
||||
+ pub const RD = SerenityConstants.SHUT_RD;
|
||||
+ pub const WR = SerenityConstants.SHUT_WR;
|
||||
+ pub const RDWR = SerenityConstants.SHUT_RDWR;
|
||||
+};
|
||||
+
|
||||
+pub const SOCK = struct {
|
||||
+ pub const TYPE_MASK = 0xff;
|
||||
+ pub const STREAM = 1;
|
||||
|
@ -582,6 +613,63 @@ index 0000000000000000000000000000000000000000..1c8dc37af9d528338d2c5543b5f3a478
|
|||
+
|
||||
+pub const nfds_t = c_uint;
|
||||
+
|
||||
+// see Userland/Libraries/LibC/signal.h
|
||||
+pub extern "c" fn sigaltstack(ss: ?*stack_t, old_ss: ?*stack_t) c_int;
|
||||
+
|
||||
+// see Kernel/API/POSIX/signal.h
|
||||
+pub const stack_t = struct {
|
||||
+ sp: *anyopaque,
|
||||
+ flags: c_int,
|
||||
+ size: usize
|
||||
+};
|
||||
+
|
||||
+pub const mcontext_t = switch (native_arch) {
|
||||
+ .x86_64 =>
|
||||
+ // see Kernel/Arch/x86_64/mcontext.h
|
||||
+ struct {
|
||||
+ rax: u64,
|
||||
+ rcx: u64,
|
||||
+ rdx: u64,
|
||||
+ rbx: u64,
|
||||
+ rsp: u64,
|
||||
+ rbp: u64,
|
||||
+ rsi: u64,
|
||||
+ rdi: u64,
|
||||
+ rip: u64,
|
||||
+ r8: u64,
|
||||
+ r9: u64,
|
||||
+ r10: u64,
|
||||
+ r11: u64,
|
||||
+ r12: u64,
|
||||
+ r13: u64,
|
||||
+ r14: u64,
|
||||
+ r15: u64,
|
||||
+ rflags: u64,
|
||||
+ cs: u32,
|
||||
+ ss: u32,
|
||||
+ ds: u32,
|
||||
+ es: u32,
|
||||
+ fs: u32,
|
||||
+ gs: u32
|
||||
+ },
|
||||
+ .aarch64 =>
|
||||
+ // see Kernel/Arch/aarch64/mcontext.h
|
||||
+ struct {
|
||||
+ x: [31]u64,
|
||||
+ sp: u64,
|
||||
+ pc: u64
|
||||
+ },
|
||||
+ else => @compileError("Arch {native_arch} not implemented for serenity")
|
||||
+};
|
||||
+
|
||||
+// see Kernel/API/POSIX/ucontext.h
|
||||
+pub const ucontext_t = struct {
|
||||
+ uc_link: *ucontext_t,
|
||||
+ uc_sigmask: sigset_t,
|
||||
+ uc_stack: stack_t,
|
||||
+ uc_mcontext: mcontext_t
|
||||
+};
|
||||
+
|
||||
+pub const W = struct {
|
||||
+ pub const NOHANG = SerenityConstants.WNOHANG;
|
||||
+ pub const UNTRACED = SerenityConstants.WUNTRACED;
|
||||
|
@ -682,10 +770,19 @@ index 0000000000000000000000000000000000000000..94d7b1c091f7affb5c968738a8719cbb
|
|||
+ );
|
||||
+}
|
||||
diff --git a/zig/lib/std/debug.zig b/zig/lib/std/debug.zig
|
||||
index 44f6ce136759b773e2426656aa9907b5fc51d9fc..9b5f6f993ef870689d31a8ee99bb358b4d25278d 100644
|
||||
index 6de21ddd1be833db60a8460cfe15ca6cd36fb90a..ff8465975624ec09453f62824ee5d75bc8d0be4a 100644
|
||||
--- a/zig/lib/std/debug.zig
|
||||
+++ b/zig/lib/std/debug.zig
|
||||
@@ -771,6 +771,7 @@ pub fn openSelfDebugInfo(allocator: mem.Allocator) OpenSelfDebugInfoError!DebugI
|
||||
@@ -167,7 +167,7 @@ pub fn relocateContext(context: *ThreadContext) void {
|
||||
};
|
||||
}
|
||||
|
||||
-pub const have_getcontext = @hasDecl(os.system, "getcontext") and
|
||||
+pub const have_getcontext = @hasDecl(os.system, "getcontext") and builtin.os.tag != .serenity and
|
||||
builtin.os.tag != .openbsd and
|
||||
(builtin.os.tag != .linux or switch (builtin.cpu.arch) {
|
||||
.x86,
|
||||
@@ -984,6 +984,7 @@ pub fn openSelfDebugInfo(allocator: mem.Allocator) OpenSelfDebugInfoError!DebugI
|
||||
.dragonfly,
|
||||
.openbsd,
|
||||
.macos,
|
||||
|
@ -693,7 +790,7 @@ index 44f6ce136759b773e2426656aa9907b5fc51d9fc..9b5f6f993ef870689d31a8ee99bb358b
|
|||
.solaris,
|
||||
.windows,
|
||||
=> return try DebugInfo.init(allocator),
|
||||
@@ -1748,7 +1749,7 @@ pub const ModuleDebugInfo = switch (native_os) {
|
||||
@@ -2223,7 +2224,7 @@ pub const ModuleDebugInfo = switch (native_os) {
|
||||
};
|
||||
}
|
||||
},
|
||||
|
@ -703,19 +800,28 @@ index 44f6ce136759b773e2426656aa9907b5fc51d9fc..9b5f6f993ef870689d31a8ee99bb358b
|
|||
dwarf: DW.DwarfInfo,
|
||||
mapped_memory: []align(mem.page_size) const u8,
|
||||
diff --git a/zig/lib/std/fs.zig b/zig/lib/std/fs.zig
|
||||
index cb6ce2032ec7e2f2bc720f354558bb5335ae7d24..3894bc6dfc4bb383f7055dd4a264e9f9e2132d76 100644
|
||||
index f01bcb4f22c86a7a237fb43fa219ba6071c646d3..8beea7604a3965e322706e329476609a8ff198ac 100644
|
||||
--- a/zig/lib/std/fs.zig
|
||||
+++ b/zig/lib/std/fs.zig
|
||||
@@ -39,7 +39,7 @@ pub const Watch = @import("fs/watch.zig").Watch;
|
||||
/// fit into a UTF-8 encoded array of this length.
|
||||
/// The byte count includes room for a null sentinel byte.
|
||||
pub const MAX_PATH_BYTES = switch (builtin.os.tag) {
|
||||
- .linux, .macos, .ios, .freebsd, .openbsd, .netbsd, .dragonfly, .haiku, .solaris => os.PATH_MAX,
|
||||
+ .linux, .macos, .ios, .freebsd, .openbsd, .netbsd, .dragonfly, .haiku, .solaris, .serenity => os.PATH_MAX,
|
||||
- .linux, .macos, .ios, .freebsd, .openbsd, .netbsd, .dragonfly, .haiku, .solaris, .plan9 => os.PATH_MAX,
|
||||
+ .linux, .macos, .ios, .freebsd, .openbsd, .netbsd, .dragonfly, .haiku, .solaris, .plan9, .serenity => os.PATH_MAX,
|
||||
// Each UTF-16LE character may be expanded to 3 UTF-8 bytes.
|
||||
// If it would require 4 UTF-8 bytes, then there would be a surrogate
|
||||
// pair in the UTF-16LE, and we (over)account 3 bytes for it that way.
|
||||
@@ -528,6 +528,69 @@ pub const IterableDir = struct {
|
||||
@@ -59,7 +59,7 @@ pub const MAX_PATH_BYTES = switch (builtin.os.tag) {
|
||||
/// (depending on the platform) this assumption may not hold for every configuration.
|
||||
/// The byte count does not include a null sentinel byte.
|
||||
pub const MAX_NAME_BYTES = switch (builtin.os.tag) {
|
||||
- .linux, .macos, .ios, .freebsd, .openbsd, .netbsd, .dragonfly => os.NAME_MAX,
|
||||
+ .linux, .macos, .ios, .freebsd, .openbsd, .netbsd, .dragonfly, .serenity => os.NAME_MAX,
|
||||
// Haiku's NAME_MAX includes the null terminator, so subtract one.
|
||||
.haiku => os.NAME_MAX - 1,
|
||||
.solaris => os.system.MAXNAMLEN,
|
||||
@@ -528,6 +528,74 @@ pub const IterableDir = struct {
|
||||
self.first_iter = true;
|
||||
}
|
||||
},
|
||||
|
@ -781,11 +887,16 @@ index cb6ce2032ec7e2f2bc720f354558bb5335ae7d24..3894bc6dfc4bb383f7055dd4a264e9f9
|
|||
+ };
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ pub fn reset(self: *Self) void {
|
||||
+ // FIXME: Very small chance this may fail.
|
||||
+ self.dir_ptr = os.system.fdopendir(self.dir.fd).?;
|
||||
+ }
|
||||
+ },
|
||||
.haiku => struct {
|
||||
dir: Dir,
|
||||
buf: [1024]u8, // TODO align(@alignOf(os.dirent64)),
|
||||
@@ -913,6 +976,11 @@ pub const IterableDir = struct {
|
||||
@@ -913,6 +981,11 @@ pub const IterableDir = struct {
|
||||
.buf = undefined,
|
||||
.first_iter = first_iter_start_value,
|
||||
},
|
||||
|
@ -797,7 +908,7 @@ index cb6ce2032ec7e2f2bc720f354558bb5335ae7d24..3894bc6dfc4bb383f7055dd4a264e9f9
|
|||
.windows => return Iterator{
|
||||
.dir = self.dir,
|
||||
.index = 0,
|
||||
@@ -2993,7 +3061,7 @@ pub fn selfExePath(out_buffer: []u8) SelfExePathError![]u8 {
|
||||
@@ -3004,7 +3077,7 @@ pub fn selfExePath(out_buffer: []u8) SelfExePathError![]u8 {
|
||||
return result;
|
||||
}
|
||||
switch (builtin.os.tag) {
|
||||
|
@ -820,10 +931,10 @@ index 2f599c32130e2be12f44fa015df91816614d5f5b..896dde5ab8e0e573dc137d9a86be8298
|
|||
return fs.path.join(allocator, &[_][]const u8{ xdg, appname });
|
||||
}
|
||||
diff --git a/zig/lib/std/os.zig b/zig/lib/std/os.zig
|
||||
index cb988ca9a8e67f1c3c383a0b2a74bda7b0e14152..0c740baadaeb045c0c01dc7be92f3472b01afa17 100644
|
||||
index e4ac38051e3558ec796f9eefc96c5d8950425e3f..188c0f490bf10d588fbf4c6040bde416b88decf8 100644
|
||||
--- a/zig/lib/std/os.zig
|
||||
+++ b/zig/lib/std/os.zig
|
||||
@@ -35,6 +35,7 @@ pub const freebsd = std.c;
|
||||
@@ -32,6 +32,7 @@ pub const freebsd = std.c;
|
||||
pub const haiku = std.c;
|
||||
pub const netbsd = std.c;
|
||||
pub const openbsd = std.c;
|
||||
|
@ -831,7 +942,15 @@ index cb988ca9a8e67f1c3c383a0b2a74bda7b0e14152..0c740baadaeb045c0c01dc7be92f3472
|
|||
pub const solaris = std.c;
|
||||
pub const linux = @import("os/linux.zig");
|
||||
pub const plan9 = @import("os/plan9.zig");
|
||||
@@ -5205,7 +5206,7 @@ pub fn getFdPath(fd: fd_t, out_buffer: *[MAX_PATH_BYTES]u8) RealPathError![]u8 {
|
||||
@@ -5179,6 +5180,7 @@ pub fn isGetFdPathSupportedOnTarget(os: std.Target.Os) bool {
|
||||
.linux,
|
||||
.solaris,
|
||||
.freebsd,
|
||||
+ .serenity,
|
||||
=> true,
|
||||
// zig fmt: on
|
||||
.dragonfly => os.version_range.semver.max.order(.{ .major = 6, .minor = 0, .patch = 0 }) != .lt,
|
||||
@@ -5219,7 +5221,7 @@ pub fn getFdPath(fd: fd_t, out_buffer: *[MAX_PATH_BYTES]u8) RealPathError![]u8 {
|
||||
const len = mem.indexOfScalar(u8, out_buffer[0..], @as(u8, 0)) orelse MAX_PATH_BYTES;
|
||||
return out_buffer[0..len];
|
||||
},
|
||||
|
@ -841,10 +960,10 @@ index cb988ca9a8e67f1c3c383a0b2a74bda7b0e14152..0c740baadaeb045c0c01dc7be92f3472
|
|||
const proc_path = std.fmt.bufPrintZ(procfs_buf[0..], "/proc/self/fd/{d}", .{fd}) catch unreachable;
|
||||
|
||||
diff --git a/zig/lib/std/target.zig b/zig/lib/std/target.zig
|
||||
index b137e48c02d7d7ecc0f5eae61f6225504bf0ba3d..956edd944f587759ae04f69d477447f96441367c 100644
|
||||
index 608f0e958144fc53dfb67fa2efa29690a60599ba..08dc72f28c8bd06137b46510dffeae6a8358cce7 100644
|
||||
--- a/zig/lib/std/target.zig
|
||||
+++ b/zig/lib/std/target.zig
|
||||
@@ -2079,6 +2079,7 @@ pub const Target = struct {
|
||||
@@ -2121,6 +2121,7 @@ pub const Target = struct {
|
||||
.ananas,
|
||||
.fuchsia,
|
||||
.minix,
|
||||
|
|
|
@ -8,7 +8,7 @@ Subject: [PATCH] build: Adjust build process for SerenityOS
|
|||
1 file changed, 52 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/build b/build
|
||||
index 71b49cf828bc7f224a3a5dd0533fb4d4ccb873db..aae2f445209bbab53670a4809293e22e8a5091c0 100755
|
||||
index b1917f6bb18a587d9b5e98171c9f789d9a29aff6..e7d809893e46e247a579050ac61091a78c6b90a5 100755
|
||||
--- a/build
|
||||
+++ b/build
|
||||
@@ -17,6 +17,7 @@ case $TARGET_OS_CMAKE in
|
||||
|
|
|
@ -8,7 +8,7 @@ Subject: [PATCH] build: Remove unsupported zig linker flag -z seperate-code
|
|||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/build b/build
|
||||
index aae2f445209bbab53670a4809293e22e8a5091c0..31754a58c596a80bcb302b98faae15c88ebe798b 100755
|
||||
index e7d809893e46e247a579050ac61091a78c6b90a5..bf53f9ecca8fc15b9a80bd3c13b7c551f77979df 100755
|
||||
--- a/build
|
||||
+++ b/build
|
||||
@@ -190,6 +190,7 @@ cmake "$ROOTDIR/llvm" \
|
||||
|
|
|
@ -6,14 +6,14 @@ Subject: [PATCH] docgen: Filter ZIG_LIBC from the environment
|
|||
This environment variable can leak into the doctest builds and cause
|
||||
them to look for the host libraries in the target libc locations.
|
||||
---
|
||||
zig/doc/docgen.zig | 5 +++++
|
||||
zig/tools/docgen.zig | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/zig/doc/docgen.zig b/zig/doc/docgen.zig
|
||||
index 675dcccf70b599600112fd894e7b4bc3a38ad52f..1b0ba0e2775cb16e3bf324d4045d90ab6b81fee5 100644
|
||||
--- a/zig/doc/docgen.zig
|
||||
+++ b/zig/doc/docgen.zig
|
||||
@@ -1307,6 +1307,11 @@ fn genHtml(
|
||||
diff --git a/zig/tools/docgen.zig b/zig/tools/docgen.zig
|
||||
index e3a6aecabe170605bc5bfb54ff596ce6c8a16145..b23dc47ee5821f6e4a131109330110ecbd1716cd 100644
|
||||
--- a/zig/tools/docgen.zig
|
||||
+++ b/zig/tools/docgen.zig
|
||||
@@ -1309,6 +1309,11 @@ fn genHtml(
|
||||
var env_map = try process.getEnvMap(allocator);
|
||||
try env_map.put("YES_COLOR", "1");
|
||||
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: sin-ack <sin-ack@users.noreply.github.com>
|
||||
Date: Mon, 17 Jul 2023 03:26:04 +0300
|
||||
Subject: [PATCH] build: Set Zig version to 0.11.0-dev.4003+c6aa29b6f
|
||||
Subject: [PATCH] build: Set Zig version to 0.12.0-dev.141+ddf5859c2
|
||||
|
||||
---
|
||||
build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/build b/build
|
||||
index 31754a58c596a80bcb302b98faae15c88ebe798b..ce4ded52344a89fbad56141c5ad30b11f46d4527 100755
|
||||
index bf53f9ecca8fc15b9a80bd3c13b7c551f77979df..4b70377b43a35a1ba48ed50f1b29326798ab7c17 100755
|
||||
--- a/build
|
||||
+++ b/build
|
||||
@@ -6,7 +6,7 @@ TARGET="$1" # Example: riscv64-linux-gnu
|
||||
MCPU="$2" # Examples: `baseline`, `native`, `generic+v7a`, or `arm1176jzf_s`
|
||||
|
||||
ROOTDIR="$(pwd)"
|
||||
-ZIG_VERSION="0.11.0-dev.2680+a1aa55ebe"
|
||||
+ZIG_VERSION="0.11.0-dev.4003+c6aa29b6f"
|
||||
-ZIG_VERSION="0.11.0"
|
||||
+ZIG_VERSION="0.12.0-dev.141+ddf5859c2"
|
||||
|
||||
TARGET_OS_AND_ABI=${TARGET#*-} # Example: linux-gnu
|
||||
|
|
@ -23,6 +23,8 @@ This makes the compiler look for libraries and headers in the right
|
|||
places, and enables some security mitigations like stack-smashing
|
||||
protection and position-independent code by default.
|
||||
|
||||
Co-authored-by: kleines Filmröllchen <filmroellchen@serenityos.org>
|
||||
|
||||
## `0004-Driver-Default-to-ftls-model-initial-exec-on-Serenit.patch`
|
||||
|
||||
Default to -ftls-model=initial-exec on SerenityOS
|
||||
|
@ -120,8 +122,8 @@ docgen: Filter ZIG_LIBC from the environment
|
|||
This environment variable can leak into the doctest builds and cause
|
||||
them to look for the host libraries in the target libc locations.
|
||||
|
||||
## `0017-build-Set-Zig-version-to-0.11.0-dev.4003-c6aa29b6f.patch`
|
||||
## `0017-build-Set-Zig-version-to-0.12.0-dev.141-ddf5859c2.patch`
|
||||
|
||||
build: Set Zig version to 0.11.0-dev.4003+c6aa29b6f
|
||||
build: Set Zig version to 0.12.0-dev.141+ddf5859c2
|
||||
|
||||
|
||||
|
|
|
@ -99,6 +99,7 @@ F_SETFD
|
|||
F_SETFL
|
||||
F_SETLK
|
||||
F_SETLKW
|
||||
HOST_NAME_MAX
|
||||
IOV_MAX
|
||||
LOCK_EX
|
||||
LOCK_NB
|
||||
|
@ -118,6 +119,7 @@ MAP_STACK
|
|||
MS_ASYNC
|
||||
MS_INVALIDATE
|
||||
MS_SYNC
|
||||
NAME_MAX
|
||||
O_ACCMODE
|
||||
O_APPEND
|
||||
O_CLOEXEC
|
||||
|
@ -151,9 +153,19 @@ PROT_READ
|
|||
PROT_WRITE
|
||||
PTHREAD_STACK_MIN
|
||||
R_OK
|
||||
SA_NOCLDSTOP
|
||||
SA_NOCLDWAIT
|
||||
SA_SIGINFO
|
||||
SA_RESTART
|
||||
SA_RESETHAND
|
||||
SA_ONSTACK
|
||||
SA_NODEFER
|
||||
SEEK_CUR
|
||||
SEEK_END
|
||||
SEEK_SET
|
||||
SHUT_RD
|
||||
SHUT_WR
|
||||
SHUT_RDWR
|
||||
SIGABRT
|
||||
SIGALRM
|
||||
SIGBUS
|
||||
|
|
Loading…
Reference in a new issue