diff options
| author | David Carlier <devnexen@gmail.com> | 2023-10-23 22:00:13 +0100 |
|---|---|---|
| committer | David CARLIER <devnexen@gmail.com> | 2023-10-23 22:51:16 +0100 |
| commit | 1d3d5aaa881bec2206d306a3cf68c8ffdaabcd22 (patch) | |
| tree | cf17d62a43ffce692084f679cee64c2170495436 | |
| parent | e2068cdb0964ccbae614ab60cddeed7b24473cdd (diff) | |
| download | rust-1d3d5aaa881bec2206d306a3cf68c8ffdaabcd22.tar.gz rust-1d3d5aaa881bec2206d306a3cf68c8ffdaabcd22.zip | |
stack_overflow: get_stackp using MAP_STACK flag on dragonflybsd too.
| -rw-r--r-- | library/std/src/sys/unix/stack_overflow.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/library/std/src/sys/unix/stack_overflow.rs b/library/std/src/sys/unix/stack_overflow.rs index 73c530786b2..3dbab4cc486 100644 --- a/library/std/src/sys/unix/stack_overflow.rs +++ b/library/std/src/sys/unix/stack_overflow.rs @@ -134,9 +134,19 @@ mod imp { // OpenBSD requires this flag for stack mapping // otherwise the said mapping will fail as a no-op on most systems // and has a different meaning on FreeBSD - #[cfg(any(target_os = "openbsd", target_os = "netbsd", target_os = "linux",))] + #[cfg(any( + target_os = "openbsd", + target_os = "netbsd", + target_os = "linux", + target_os = "dragonfly", + ))] let flags = MAP_PRIVATE | MAP_ANON | libc::MAP_STACK; - #[cfg(not(any(target_os = "openbsd", target_os = "netbsd", target_os = "linux",)))] + #[cfg(not(any( + target_os = "openbsd", + target_os = "netbsd", + target_os = "linux", + target_os = "dragonfly", + )))] let flags = MAP_PRIVATE | MAP_ANON; let stackp = mmap64(ptr::null_mut(), SIGSTKSZ + page_size(), PROT_READ | PROT_WRITE, flags, -1, 0); |
