diff options
| author | Daniel Silverman <iladin@gmail.com> | 2021-04-30 15:53:14 -0700 |
|---|---|---|
| committer | Daniel Silverman <iladin@gmail.com> | 2021-04-30 15:53:14 -0700 |
| commit | fe68b1ab327297fea9ed2fb273fe0a7ac5aedfdd (patch) | |
| tree | a4a8d0fd537bb759627f6e422207937acc34641a /compiler/rustc_codegen_ssa/src/back | |
| parent | a45f0d724ed7116ed475fb0d628bc118418e7cbf (diff) | |
| download | rust-fe68b1ab327297fea9ed2fb273fe0a7ac5aedfdd.tar.gz rust-fe68b1ab327297fea9ed2fb273fe0a7ac5aedfdd.zip | |
Fix linker_args with --target=sparcv9-sun-solaris
Moved -z ignore to add_as_needed Trying to cross-compile for sparcv9-sun-solaris getting an error message for -zignore Introduced when -z -ignore was separated here 22d0ab0 No formatting done Reproduce ``` bash rustup target add sparcv9-sun-solaris cargo new --bin hello && cd hello && cargo run --target=sparcv9-sun-solaris ``` config.toml [target.sparcv9-sun-solaris] linker = "gcc"
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/back')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/back/linker.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/linker.rs b/compiler/rustc_codegen_ssa/src/back/linker.rs index 77d8ab49ff2..8ba124a1fa8 100644 --- a/compiler/rustc_codegen_ssa/src/back/linker.rs +++ b/compiler/rustc_codegen_ssa/src/back/linker.rs @@ -432,8 +432,6 @@ impl<'a> Linker for GccLinker<'a> { // insert it here. if self.sess.target.is_like_osx { self.linker_arg("-dead_strip"); - } else if self.sess.target.is_like_solaris { - self.linker_arg("-zignore"); // If we're building a dylib, we don't use --gc-sections because LLVM // has already done the best it can do, and we also don't want to @@ -655,6 +653,10 @@ impl<'a> Linker for GccLinker<'a> { fn add_as_needed(&mut self) { if self.sess.target.linker_is_gnu { self.linker_arg("--as-needed"); + } else if self.sess.target.is_like_solaris { + // -z ignore is the Solaris equivalent to the GNU ld --as-needed option + self.linker_arg("-z"); + self.linker_arg("ignore"); } } } |
