Uh oh!
There was an error while loading. Please reload this page.
give BSDs some attention - #13699
Conversation
4ab7715 to
76edf77Comparesemarie
commented
Dec 3, 2022
FYI, openbsd build work well with the diff, and tests are still passing. |
6b84514 to
3f167f5CompareIs it just me or does building this PR cause an entire 64 gb of swap to be used when compiling stage3 (build-host-zig) with zig-bootstrap 🤔 I tried to use zig bootstrap but I replaced the |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
It's not just you! Trying to narrow down what is causing this. Strange tho, I am able to manually use the update: I threw out the mission-creep of linking to system c++ via regular |
17430f0 to
1277900Comparesemarie
commented
Dec 31, 2022
@mikdusan do you think that PR could be splitted and commits incrementally done (instead of pushing all in one big PR) ? currently, several OS are broken waiting for only some commits in this PR (like "avoid Dir.realpathAlloc"). having a good BSD support is a very good target (and thanks for your work on it), but I would be glad to have a working compiler too. |
mikdusan
commented
Dec 31, 2022
I'd like to get a review from andrew first. But yeah if it makes some pieces land faster, I'm open to splitting things up. |
andrewrk
left a comment
There was a problem hiding this comment.
Thank you for giving some attention to the BSDs. In particular you have made me realize that a problematic commit has been residing in master branch for quite some time, which I have reverted.
I left a few review comments, but with those resolved, this changeset looks ready to merge to me.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
- first convert to lower-case then perform mappings - effect: freebsd, netbsd and openbsd convert arch `amd64` to `x86_64` - effect: convert `arm64` to `aarch64`
- per darwin-xnu source, fcntl F_GETPATH will return ENOSPC when path exceeds either user-supplied buffer or system MAXPATHLEN - macOS does not document this (and other) possible errno values
- add conditional compile error - add conditional skip test
- https://github.com/DragonFlyBSD/DPorts/tree/master/devel/libc++/files for hints as to which patches are needed
- freebsd, netbsd, openbsd, dragonfly
- add netbsd - add dragonfly - fixup freebsd
This allows for a more optimal std.crypto.tlcsprng codepath. Without it a an "incorrect alignment" panic is triggered from crypto.tlcsprng which aligns a threadlocal but it's actually not aligned, thus detected by the safety check. It appears that LLVM-IR does attribute the storage with alignment but it is ultimately not respected in the final binary for netbsd and dragonfly.
andrewrk
commented
Jan 3, 2023
Great work, thank you very much! |
closes#13700
please see status/details in #13700