From 8bf0c566387e6a48d854d5f69c43c8bfa45092f9 Mon Sep 17 00:00:00 2001 From: Alex Kiernan Date: Sun, 24 Dec 2023 09:40:01 +0000 Subject: [PATCH] Revert "Map source absolute paths to OUT_DIR as relative. (#684)" This reverts commit c4f414f449bb7cffba3bc923f277704d1d08a8ec. Upstream-Status: Inappropriate [patches need rework] Signed-off-by: Alex Kiernan --- src/lib.rs | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) Index: rustc-1.76.0-src/vendor/cc/src/lib.rs =================================================================== --- rustc-1.76.0-src.orig/vendor/cc/src/lib.rs +++ rustc-1.76.0-src/vendor/cc/src/lib.rs @@ -54,12 +54,11 @@ #![deny(missing_docs)] use std::borrow::Cow; -use std::collections::{hash_map, HashMap}; +use std::collections::HashMap; use std::env; use std::ffi::{OsStr, OsString}; use std::fmt::{self, Display, Formatter}; use std::fs::{self, File}; -use std::hash::Hasher; use std::io::{self, BufRead, BufReader, Read, Write}; use std::path::{Component, Path, PathBuf}; use std::process::{Child, Command, Stdio}; @@ -1108,25 +1107,7 @@ let mut objects = Vec::new(); for file in self.files.iter() { - let obj = if file.has_root() || file.components().any(|x| x == Component::ParentDir) { - // If `file` is an absolute path or might not be usable directly as a suffix due to - // using "..", use the `basename` prefixed with the `dirname`'s hash to ensure name - // uniqueness. - let basename = file - .file_name() - .ok_or_else(|| Error::new(ErrorKind::InvalidArgument, "file_name() failure"))? - .to_string_lossy(); - let dirname = file - .parent() - .ok_or_else(|| Error::new(ErrorKind::InvalidArgument, "parent() failure"))? - .to_string_lossy(); - let mut hasher = hash_map::DefaultHasher::new(); - hasher.write(dirname.to_string().as_bytes()); - dst.join(format!("{:016x}-{}", hasher.finish(), basename)) - .with_extension("o") - } else { - dst.join(file).with_extension("o") - }; + let obj = dst.join(file).with_extension("o"); let obj = if !obj.starts_with(&dst) { dst.join(obj.file_name().ok_or_else(|| { Error::new(ErrorKind::IOError, "Getting object file details failed.") Index: rustc-1.76.0-src/vendor/cc/.cargo-checksum.json =================================================================== --- rustc-1.76.0-src.orig/vendor/cc/.cargo-checksum.json +++ rustc-1.76.0-src/vendor/cc/.cargo-checksum.json @@ -1 +1 @@ -{"files":{"Cargo.lock":"f36b5fb99e6a2272cb5ad088fb7e21baa135c5335f9babfd3d6e79cd915d5082","Cargo.toml":"2be00f2836c949a6ff7120610ee0191a6d12d50f141aafd6622d4c2e932f0d71","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"fe18a56553aa54cbef39b659e98340ddf4dbb18f156e7b34a8be25d97e4d123f","src/bin/gcc-shim.rs":"36dc4e447428e73c548cc7106ca1e8f282c098463b014e13a729a44445de4880","src/com.rs":"cf188faf2651f613ee5c38fd6af29188ff4b0c3036b615874bce0e3b6e61a96f","src/lib.rs":"cdf0c6dc4e12ad313fb93ab42f994e26c7e5aaeb07ca61620032d8f4014dacd0","src/os_pipe.rs":"5b950b491b93226885c34a9070387c081f50029fdf19770bb983bca2a64aa705","src/os_pipe/unix.rs":"64a765352b3e94c4590d11f99824dc60a887fe5bc61eba81398aab1180908f55","src/os_pipe/windows.rs":"fa35d5b6adb83a8442ec06b08f3d30631ac7b8513f3cf8b3986d27b7ee58cf93","src/registry.rs":"d888d22abd8a32a61562529274b2d5d2f9e5a3bfa754589d6beb04b740144771","src/setup_config.rs":"5fee84b80d089ae4a92f10080b072ea2bb32c2edbcdc759cb9072e380404fc46","src/vs_instances.rs":"2d3f8278a803b0e7052f4eeb1979b29f963dd0143f4458e2cb5f33c4e5f0963b","src/winapi.rs":"132a7c23d57911db0bef03446cd106e7f75818096132522219d72b9d2a8f247f","src/windows_registry.rs":"c58ae361caf3b6f13dff515e25b3a7e5cf443bb9470d2d347784b5872c3de06d","src/windows_sys.rs":"ff7cdf4450db85c8704dfd3aa765dd62da24f0650825457094405af82958f688","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"a3c8d116973bb16066bf6ec4de5143183f97de7aad085d85f8118a2eaac3e1e0","tests/test.rs":"bab74eb7e7a383cb5da4143e74c26ddfa3e7162b5f46c1d46a722250e925444d"},"package":"f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"} \ No newline at end of file +{"files":{"Cargo.lock":"f36b5fb99e6a2272cb5ad088fb7e21baa135c5335f9babfd3d6e79cd915d5082","Cargo.toml":"2be00f2836c949a6ff7120610ee0191a6d12d50f141aafd6622d4c2e932f0d71","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"fe18a56553aa54cbef39b659e98340ddf4dbb18f156e7b34a8be25d97e4d123f","src/bin/gcc-shim.rs":"36dc4e447428e73c548cc7106ca1e8f282c098463b014e13a729a44445de4880","src/com.rs":"cf188faf2651f613ee5c38fd6af29188ff4b0c3036b615874bce0e3b6e61a96f","src/lib.rs":"c5a1ae53355aae6da9179faa7c46277fc86d9ca46e37a0eb296cd92eb3f0ca72","src/os_pipe.rs":"5b950b491b93226885c34a9070387c081f50029fdf19770bb983bca2a64aa705","src/os_pipe/unix.rs":"64a765352b3e94c4590d11f99824dc60a887fe5bc61eba81398aab1180908f55","src/os_pipe/windows.rs":"fa35d5b6adb83a8442ec06b08f3d30631ac7b8513f3cf8b3986d27b7ee58cf93","src/registry.rs":"d888d22abd8a32a61562529274b2d5d2f9e5a3bfa754589d6beb04b740144771","src/setup_config.rs":"5fee84b80d089ae4a92f10080b072ea2bb32c2edbcdc759cb9072e380404fc46","src/vs_instances.rs":"2d3f8278a803b0e7052f4eeb1979b29f963dd0143f4458e2cb5f33c4e5f0963b","src/winapi.rs":"132a7c23d57911db0bef03446cd106e7f75818096132522219d72b9d2a8f247f","src/windows_registry.rs":"c58ae361caf3b6f13dff515e25b3a7e5cf443bb9470d2d347784b5872c3de06d","src/windows_sys.rs":"ff7cdf4450db85c8704dfd3aa765dd62da24f0650825457094405af82958f688","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"a3c8d116973bb16066bf6ec4de5143183f97de7aad085d85f8118a2eaac3e1e0","tests/test.rs":"bab74eb7e7a383cb5da4143e74c26ddfa3e7162b5f46c1d46a722250e925444d"},"package":"f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"} \ No newline at end of file