Commit Graph

14232 Commits

Author SHA1 Message Date
gingerBill d3f0b31fcc Improve or_else type inference logic 2025-03-27 15:08:53 +00:00
gingerBill 71db9ac1ba Merge pull request #4976 from voutilad/openbsd-linker
Fix linking of programs on OpenBSD
2025-03-27 15:05:34 +00:00
Dave Voutila 5274aa53b3 Fix linker invocation on OpenBSD.
Firstly, we need to explicitly request pthreads and also need to
mind the fact ports (like SDL2) install in /usr/local/lib.

Secondly, since OpenBSD 7.4 the system enforces indirect branch
targets on hardware platforms that support it. Until the LLVM
integration in Odin can be changed to emit proper branch targets
(e.g. endbr64 on amd64), we need to request the linker make the
resulting program opt-out of enforcement.
2025-03-27 10:37:36 -04:00
Dave Voutila 18988b5f94 Fix use of errno on OpenBSD. 2025-03-27 10:36:40 -04:00
gingerBill 8b30adf60b Merge pull request #4973 from openhood/sys-wasm-prevent-empty-lines-in-console
Prevent odin.js from printing empty line in the console for the ending "\n"
2025-03-27 09:09:46 +00:00
gingerBill 729b6a4337 Merge pull request #4974 from harold-b/hb.fix-syscall-memory-dep
Add `~{memory}` clobber to syscall intrinsics for platforms where it was missing
2025-03-27 09:09:18 +00:00
Harold Brenes 6fda041e17 Add ~{memory} clobber to syscall intrinsics for platforms where it was not yet added.
This fixes #4972 and #4588.

As laytan asserts, there is no guarantee that a syscall will not modify memory that it just obtained from the user, or held onto via a previous syscall. Therefore this constraint should be required for all syscalls.
2025-03-26 19:25:06 -04:00
Jonathan Tron 1b5e83bfb6 Prevent odin.js from printing empty line in the console for the ending "\n" 2025-03-26 21:58:58 +01:00
Jeroen van Rijn 660598ca8a Fix #4968 2025-03-25 12:01:02 +01:00
gingerBill 5e89e5ad8b Use store 2025-03-24 13:40:24 +00:00
gingerBill fe6117fc63 Use store over memcpy 2025-03-24 13:14:54 +00:00
gingerBill ce026ff2c4 Fix #4949 2025-03-24 13:13:25 +00:00
gingerBill 56e0ab7655 Fix #4952 2025-03-24 13:11:41 +00:00
gingerBill acb578f184 Fix #4962 2025-03-24 11:35:10 +00:00
gingerBill 2b8c76354d Use copy over intrinsics.mem_copy_non_overlapping 2025-03-24 11:31:05 +00:00
gingerBill 4a595f9dac Merge pull request #4954 from Feoramund/os2-path
Add new path API for `os2`
2025-03-24 11:19:21 +00:00
gingerBill 6fd752f647 Merge pull request #4959 from wisonye/master
Fixed: Freebsd syscall 'getpeername' is missing.
2025-03-24 10:10:15 +00:00
gingerBill 3d9a8baba8 Merge pull request #4965 from dogue/master
`vendor:x11/xlib`: add proc binding for SetWindowBorder
2025-03-24 10:09:58 +00:00
dogue 87db5f2df4 xlib: add proc binding for SetWindowBorder 2025-03-23 22:09:42 -04:00
Laytan 2e64f5f639 Merge pull request #4960 from jimhub/wgpu-js-fixes
Bug fixes for wgpu.js
2025-03-23 17:01:49 +01:00
Jeroen van Rijn 242f59a43d Merge pull request #4124 from Yawning/feature/crypto
core/crypto: More improvements
2025-03-23 11:38:11 +01:00
Yawning Angel 38665431dd core/crypto/_aes/ct64: Disable bounds checking 2025-03-23 19:17:18 +09:00
Yawning Angel 2f301e46dc core/crypto: Switch to using ensure 2025-03-23 19:14:33 +09:00
Yawning Angel dc94452fb9 core/crypto/blake2: Add the ability to easily alter digest size 2025-03-23 19:14:33 +09:00
Yawning Angel 93951ac72a core/crypto/sha2: Clean up the portable code slightly 2025-03-23 19:14:33 +09:00
Yawning Angel 982ab11aa1 core/crypto/sha2: Use hardware SHA224/256 when available (AMD64) 2025-03-23 19:14:33 +09:00
Yawning Angel f3f5fbd373 test/benchmarks/crypto: Improve benchmarks
- Use text/table for results
- Add more benchmarks
2025-03-23 19:14:33 +09:00
Yawning Angel b220df60b8 core:crypto/deoxysii: Initial import 2025-03-23 19:14:33 +09:00
Yawning Angel c2786a6dd5 core/crypto/aegis: Initial import 2025-03-23 19:14:33 +09:00
Yawning Angel 9fdcc4e39a core/crypto/x448: Initial import 2025-03-23 19:14:33 +09:00
Yawning Angel bb395aeb41 core/crypto: Add rodata annotations (NFC) 2025-03-23 19:14:33 +09:00
Yawning Angel 50d40c2a26 core/crypto/chacha20poly1305: Add missing assertions 2025-03-23 19:14:33 +09:00
Yawning Angel 6e8710fce4 core/crypto/chacha20: Misc Simd128 improvements
- Detect the RISC-V `v` profile
- Don't bother trying to process 4 blocks at a time if emulated
2025-03-23 19:14:33 +09:00
Yawning Angel e4e76f27f6 core/crypto: Use panic_contextless instead of intrinsics.trap 2025-03-23 19:14:33 +09:00
Yawning Angel 4c28f6d170 core/crypto/_aes/hw_intel: Fix comment (NFC) 2025-03-23 19:14:33 +09:00
James Liljenquist 0113907527 Bug fixes for wgpu.js 2025-03-22 21:01:15 -06:00
Wison Ye 61acb15529 #4959, fixed the broken CI build. 2025-03-23 13:32:11 +13:00
Wison Ye 2af691f587 Fixed: Freebsd syscall 'getpeername' is missing. 2025-03-23 13:22:19 +13:00
Jeroen van Rijn f578ce3acb Merge pull request #4957 from Barinzaya/fix-mem-make_map
Fix `mem.make_map`
2025-03-22 16:34:32 +01:00
Barinzaya 7819797a03 Split mem.make_map to match the runtime procs.
The existing `mem.make_map` passes a capacity, but the builtin
`make_map` no longer takes a capacity--it was separated to
`make_map_cap` to allow for making a map without an allocation (#4340).

`core:mem` was not updated to reflect this, so any usage of `mem.make`
to make a map will currently result in a compile error.
2025-03-22 11:03:04 -04:00
Laytan 7ffbb68fff Merge pull request #4955 from wisonye/master
Fixed #4892: 'EPoll_Event.events' should be bit set.
2025-03-22 12:59:32 +01:00
Wison Ye 17a01dcebf Merge remote-tracking branch 'upstream/master' 2025-03-22 17:52:43 +13:00
Wison Ye 01e81fe597 Fixed #4892: 'EPoll_Event.events' should be bit set. 2025-03-22 17:51:08 +13:00
Laytan Laats e4bc9677af fix unmarshalling bit sets in json
Fixes #4761
2025-03-22 00:20:00 +01:00
Feoramund 649376fcfe Add require_results to getters in os2 path API 2025-03-21 19:14:15 -04:00
Feoramund cfa3e97968 Make os2 Linux _is_path_separator compare against _Path_Separator 2025-03-21 19:14:15 -04:00
Feoramund 6a6980fda8 Remove if ODIN_OS == .Windows in file that can only be built on Windows 2025-03-21 19:14:15 -04:00
Feoramund 3525e71739 Add tests for new os2 path API 2025-03-21 19:14:15 -04:00
Feoramund 4e7f54c565 Decouple usage of filepath from os2 2025-03-21 19:14:15 -04:00
Feoramund abe0c30837 Add new path API for os2 2025-03-21 19:14:15 -04:00