about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJubilee <workingjubilee@gmail.com>2024-09-11 15:53:25 -0700
committerGitHub <noreply@github.com>2024-09-11 15:53:25 -0700
commitb4201d3f78f31146c53e8dbaefba9fdd79cdf6b6 (patch)
tree317c9de7d672a4ead2cb76df76570854ccb0a957
parent82655065194063be4a58536e2a722d8e4cad1c36 (diff)
parent368231c9954f2a672ba5e484b2de3aee36d911cc (diff)
downloadrust-b4201d3f78f31146c53e8dbaefba9fdd79cdf6b6.tar.gz
rust-b4201d3f78f31146c53e8dbaefba9fdd79cdf6b6.zip
Rollup merge of #130248 - nyurik:fix-129895, r=workingjubilee
Limit `libc::link` usage to `nto70` target only, not NTO OS

It seems QNX 7.0 does not support `linkat` at all (most tests were failing). Limiting to QNX 7.0 only, while using `linkat` for the future versions seems like the right path forward (tested on 7.0).

Fixes #129895

CC: `@japaric` `@flba-eb` `@saethlin`
-rw-r--r--library/std/src/sys/pal/unix/fs.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/library/std/src/sys/pal/unix/fs.rs b/library/std/src/sys/pal/unix/fs.rs
index 4ec577a0a01..d09cee2e89c 100644
--- a/library/std/src/sys/pal/unix/fs.rs
+++ b/library/std/src/sys/pal/unix/fs.rs
@@ -1731,7 +1731,7 @@ pub fn link(original: &Path, link: &Path) -> io::Result<()> {
     run_path_with_cstr(original, &|original| {
         run_path_with_cstr(link, &|link| {
             cfg_if::cfg_if! {
-                if #[cfg(any(target_os = "vxworks", target_os = "redox", target_os = "android", target_os = "espidf", target_os = "horizon", target_os = "vita", target_os = "nto"))] {
+                if #[cfg(any(target_os = "vxworks", target_os = "redox", target_os = "android", target_os = "espidf", target_os = "horizon", target_os = "vita", target_env = "nto70"))] {
                     // VxWorks, Redox and ESP-IDF lack `linkat`, so use `link` instead. POSIX leaves
                     // it implementation-defined whether `link` follows symlinks, so rely on the
                     // `symlink_hard_link` test in library/std/src/fs/tests.rs to check the behavior.