From 4266a7c1664d1f736d270b5eb0c7a9bc31cfe700 Mon Sep 17 00:00:00 2001 From: flga Date: Tue, 7 Nov 2023 23:19:14 +0000 Subject: sys/linux: munmap was not using the correct syscall --- core/sys/linux/sys.odin | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'core/sys/linux') diff --git a/core/sys/linux/sys.odin b/core/sys/linux/sys.odin index dfb25e5dd..314591d06 100644 --- a/core/sys/linux/sys.odin +++ b/core/sys/linux/sys.odin @@ -161,7 +161,7 @@ mprotect :: proc "contextless" (addr: rawptr, size: uint, prot: Mem_Protection) /// Unmap memory /// Available since Linux 1.0 munmap :: proc "contextless" (addr: rawptr, size: uint) -> (Errno) { - ret := syscall(SYS_mmap, addr, size) + ret := syscall(SYS_munmap, addr, size) return Errno(-ret) } -- cgit v1.2.3 From fc6edf65d7dfb24265eff84c22f3dd097e6569d6 Mon Sep 17 00:00:00 2001 From: Laytan Date: Thu, 9 Nov 2023 14:17:22 +0100 Subject: fix linux.accept, addrlen should be a pointer to the length instead of the length itself --- core/sys/linux/sys.odin | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'core/sys/linux') diff --git a/core/sys/linux/sys.odin b/core/sys/linux/sys.odin index 314591d06..e0e19056a 100644 --- a/core/sys/linux/sys.odin +++ b/core/sys/linux/sys.odin @@ -331,7 +331,8 @@ where T == Sock_Addr_In6 || T == Sock_Addr_Any { - ret := syscall(SYS_accept4, sock, addr, size_of(T), transmute(int) sockflags) + addr_len: i32 = size_of(T) + ret := syscall(SYS_accept4, sock, addr, &addr_len, transmute(int) sockflags) return errno_unwrap(ret, Fd) } -- cgit v1.2.3 From 6de2b7700fc646f67668febd814a8712a50b609e Mon Sep 17 00:00:00 2001 From: flga Date: Fri, 10 Nov 2023 12:58:53 +0000 Subject: core:sys/linux: make Perf_Read_Format a bitset --- core/sys/linux/bits.odin | 2 +- core/sys/linux/types.odin | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'core/sys/linux') diff --git a/core/sys/linux/bits.odin b/core/sys/linux/bits.odin index 0cf90ed3b..1ca60d494 100644 --- a/core/sys/linux/bits.odin +++ b/core/sys/linux/bits.odin @@ -718,7 +718,7 @@ Perf_Event_Sample_Type_Bits :: enum { } /// Describes field sets to include in mmaped page -Perf_Read_Format :: enum { +Perf_Read_Format_Bits :: enum { TOTAL_TIME_ENABLED = 0, TOTAL_TIME_RUNNING = 1, ID = 2, diff --git a/core/sys/linux/types.odin b/core/sys/linux/types.odin index 8789ca2d1..308b77aee 100644 --- a/core/sys/linux/types.odin +++ b/core/sys/linux/types.odin @@ -282,6 +282,7 @@ Get_Random_Flags :: bit_set[Get_Random_Flags_Bits; i32] Perf_Flags :: bit_set[Perf_Flags_Bits; uint] Perf_Event_Flags :: distinct bit_set[Perf_Event_Flags_Bits; u64] +Perf_Read_Format_Flags :: distinct bit_set[Perf_Read_Format_Bits; u64] Perf_Cap_Flags :: distinct bit_set[Perf_Cap_Flags_Bits; u64] @@ -305,7 +306,7 @@ Perf_Event_Attr :: struct #packed { frequency: u64, }, sample_type: Perf_Event_Sample_Type, - read_format: Perf_Read_Format, + read_format: Perf_Read_Format_Flags, flags: Perf_Event_Flags, wakeup: struct #raw_union { events: u32, -- cgit v1.2.3 From 5a8da5dcdb36e3ef37853ba571b84603c7bd9f96 Mon Sep 17 00:00:00 2001 From: flga Date: Fri, 10 Nov 2023 19:41:01 +0000 Subject: core:sys/linux: rename Perf_Read_Format_Flags --- core/sys/linux/types.odin | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'core/sys/linux') diff --git a/core/sys/linux/types.odin b/core/sys/linux/types.odin index 308b77aee..afa7faf33 100644 --- a/core/sys/linux/types.odin +++ b/core/sys/linux/types.odin @@ -282,7 +282,8 @@ Get_Random_Flags :: bit_set[Get_Random_Flags_Bits; i32] Perf_Flags :: bit_set[Perf_Flags_Bits; uint] Perf_Event_Flags :: distinct bit_set[Perf_Event_Flags_Bits; u64] -Perf_Read_Format_Flags :: distinct bit_set[Perf_Read_Format_Bits; u64] + +Perf_Read_Format :: distinct bit_set[Perf_Read_Format_Bits; u64] Perf_Cap_Flags :: distinct bit_set[Perf_Cap_Flags_Bits; u64] @@ -306,7 +307,7 @@ Perf_Event_Attr :: struct #packed { frequency: u64, }, sample_type: Perf_Event_Sample_Type, - read_format: Perf_Read_Format_Flags, + read_format: Perf_Read_Format, flags: Perf_Event_Flags, wakeup: struct #raw_union { events: u32, -- cgit v1.2.3