Skip to content

Commit 32b4d85

Browse files
authored
Merge pull request #19406 from jacobly0/haiku
haiku: get a cross-compiled compiler working
2 parents ef31d8f + 2dd74cd commit 32b4d85

19 files changed

+403
-101
lines changed

bootstrap.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ static const char *get_host_os(void) {
6464
return "linux";
6565
#elif defined(__FreeBSD__)
6666
return "freebsd";
67+
#elif defined(__HAIKU__)
68+
return "haiku";
6769
#else
6870
panic("unknown host os, specify with ZIG_HOST_TARGET_OS");
6971
#endif

lib/std/c.zig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1687,8 +1687,8 @@ pub extern "c" fn getpeername(sockfd: c.fd_t, noalias addr: *c.sockaddr, noalias
16871687
pub extern "c" fn connect(sockfd: c.fd_t, sock_addr: *const c.sockaddr, addrlen: c.socklen_t) c_int;
16881688
pub extern "c" fn accept(sockfd: c.fd_t, noalias addr: ?*c.sockaddr, noalias addrlen: ?*c.socklen_t) c_int;
16891689
pub extern "c" fn accept4(sockfd: c.fd_t, noalias addr: ?*c.sockaddr, noalias addrlen: ?*c.socklen_t, flags: c_uint) c_int;
1690-
pub extern "c" fn getsockopt(sockfd: c.fd_t, level: u32, optname: u32, noalias optval: ?*anyopaque, noalias optlen: *c.socklen_t) c_int;
1691-
pub extern "c" fn setsockopt(sockfd: c.fd_t, level: u32, optname: u32, optval: ?*const anyopaque, optlen: c.socklen_t) c_int;
1690+
pub extern "c" fn getsockopt(sockfd: c.fd_t, level: i32, optname: u32, noalias optval: ?*anyopaque, noalias optlen: *c.socklen_t) c_int;
1691+
pub extern "c" fn setsockopt(sockfd: c.fd_t, level: i32, optname: u32, optval: ?*const anyopaque, optlen: c.socklen_t) c_int;
16921692
pub extern "c" fn send(sockfd: c.fd_t, buf: *const anyopaque, len: usize, flags: u32) isize;
16931693
pub extern "c" fn sendto(
16941694
sockfd: c.fd_t,

lib/std/c/darwin.zig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1139,7 +1139,7 @@ pub const siginfo_t = extern struct {
11391139
pid: pid_t,
11401140
uid: uid_t,
11411141
status: c_int,
1142-
addr: *anyopaque,
1142+
addr: *allowzero anyopaque,
11431143
value: extern union {
11441144
int: c_int,
11451145
ptr: *anyopaque,
@@ -1151,7 +1151,7 @@ pub const siginfo_t = extern struct {
11511151
/// Renamed from `sigaction` to `Sigaction` to avoid conflict with function name.
11521152
pub const Sigaction = extern struct {
11531153
pub const handler_fn = *align(1) const fn (c_int) callconv(.C) void;
1154-
pub const sigaction_fn = *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
1154+
pub const sigaction_fn = *const fn (c_int, *const siginfo_t, ?*anyopaque) callconv(.C) void;
11551155

11561156
handler: extern union {
11571157
handler: ?handler_fn,

lib/std/c/dragonfly.zig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,7 @@ pub const siginfo_t = extern struct {
668668
pid: c_int,
669669
uid: uid_t,
670670
status: c_int,
671-
addr: ?*anyopaque,
671+
addr: *allowzero anyopaque,
672672
value: sigval,
673673
band: c_long,
674674
__spare__: [7]c_int,
@@ -691,7 +691,7 @@ pub const sig_atomic_t = c_int;
691691

692692
pub const Sigaction = extern struct {
693693
pub const handler_fn = *align(1) const fn (c_int) callconv(.C) void;
694-
pub const sigaction_fn = *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
694+
pub const sigaction_fn = *const fn (c_int, *const siginfo_t, ?*anyopaque) callconv(.C) void;
695695

696696
/// signal handler
697697
handler: extern union {

lib/std/c/freebsd.zig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1172,7 +1172,7 @@ const NSIG = 32;
11721172
/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
11731173
pub const Sigaction = extern struct {
11741174
pub const handler_fn = *align(1) const fn (c_int) callconv(.C) void;
1175-
pub const sigaction_fn = *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
1175+
pub const sigaction_fn = *const fn (c_int, *const siginfo_t, ?*anyopaque) callconv(.C) void;
11761176

11771177
/// signal handler
11781178
handler: extern union {
@@ -1206,7 +1206,7 @@ pub const siginfo_t = extern struct {
12061206
/// Exit value.
12071207
status: c_int,
12081208
/// Faulting instruction.
1209-
addr: ?*anyopaque,
1209+
addr: *allowzero anyopaque,
12101210
/// Signal value.
12111211
value: sigval,
12121212
reason: extern union {

0 commit comments

Comments
 (0)