diff --git a/src/gn/ninja_rust_binary_target_writer.cc b/src/gn/ninja_rust_binary_target_writer.cc
index 59960a1..38f4686 100644
--- a/src/gn/ninja_rust_binary_target_writer.cc
+++ b/src/gn/ninja_rust_binary_target_writer.cc
@@ -299,7 +299,6 @@
 
   EscapeOptions lib_escape_opts;
   lib_escape_opts.mode = ESCAPE_NINJA_COMMAND;
-  const std::string_view lib_prefix("lib");
 
   // Non-Rust native dependencies.
   UniqueVector<SourceDir> nonrustdep_dirs;
@@ -307,22 +306,15 @@
     nonrustdep_dirs.push_back(
         nonrustdep.AsSourceFile(settings_->build_settings()).GetDir());
   }
-  // First -Lnative to specify search directories
+  // First -Lnative to specify the search directories.
+  // This is necessary for #[link(...)] directives to work properly.
   for (const auto& nonrustdep_dir : nonrustdep_dirs) {
     out_ << " -Lnative=";
     path_output_.WriteDir(out_, nonrustdep_dir, PathOutput::DIR_NO_LAST_SLASH);
   }
-  // Now the dependencies themselves.
   for (const auto& nonrustdep : nonrustdeps) {
-    std::string_view file = FindFilenameNoExtension(&nonrustdep.value());
-    if (!file.compare(0, lib_prefix.size(), lib_prefix)) {
-      out_ << " -l";
-      EscapeStringToStream(out_, file.substr(lib_prefix.size()),
-                           lib_escape_opts);
-    } else {
-      out_ << " -Clink-arg=";
-      path_output_.WriteFile(out_, nonrustdep);
-    }
+    out_ << " -Clink-arg=";
+    path_output_.WriteFile(out_, nonrustdep);
   }
 
   WriteLinkerFlags(out_, tool_, nullptr);
diff --git a/src/gn/ninja_rust_binary_target_writer_unittest.cc b/src/gn/ninja_rust_binary_target_writer_unittest.cc
index e58572b..6840b72 100644
--- a/src/gn/ninja_rust_binary_target_writer_unittest.cc
+++ b/src/gn/ninja_rust_binary_target_writer_unittest.cc
@@ -438,9 +438,11 @@
         "obj/foo/libstatic.a ./libshared.so ./libshared_with_toc.so.TOC "
         "|| obj/baz/sourceset.stamp\n"
         "  externs = --extern mylib=obj/bar/libmylib.rlib\n"
-        "  rustdeps = -Ldependency=obj/bar -Lnative=obj/baz -Lnative=obj/foo "
-        "-Lnative=. -Clink-arg=obj/baz/sourceset.csourceset.o -lstatic "
-        "-lshared -lshared_with_toc\n"
+        "  rustdeps = -Ldependency=obj/bar "
+        "-Lnative=obj/baz -Lnative=obj/foo -Lnative=. "
+        "-Clink-arg=obj/baz/sourceset.csourceset.o "
+        "-Clink-arg=obj/foo/libstatic.a -Clink-arg=./libshared.so "
+        "-Clink-arg=./libshared_with_toc.so\n"
         "  sources = ../../foo/source.rs ../../foo/main.rs\n";
     std::string out_str = out.str();
     EXPECT_EQ(expected, out_str) << expected << "\n" << out_str;
@@ -477,7 +479,7 @@
         "build ./foo_bar: rust_bin ../../foo/main.rs | ../../foo/source.rs "
         "../../foo/main.rs obj/foo/libstatic.a\n"
         "  externs =\n"
-        "  rustdeps = -Lnative=obj/foo -lstatic\n"
+        "  rustdeps = -Lnative=obj/foo -Clink-arg=obj/foo/libstatic.a\n"
         "  sources = ../../foo/source.rs ../../foo/main.rs\n";
     std::string out_str = out.str();
     EXPECT_EQ(expected, out_str) << expected << "\n" << out_str;
@@ -511,10 +513,11 @@
         "target_out_dir = obj/baz\n"
         "target_output_name = libbaz\n"
         "\n"
-        "build obj/baz/libbaz.a: rust_staticlib ../../baz/lib.rs | ../../baz/lib.rs "
+        "build obj/baz/libbaz.a: rust_staticlib ../../baz/lib.rs | "
+        "../../baz/lib.rs "
         "obj/foo/libstatic.a\n"
         "  externs =\n"
-        "  rustdeps = -Lnative=obj/foo -lstatic\n"
+        "  rustdeps = -Lnative=obj/foo -Clink-arg=obj/foo/libstatic.a\n"
         "  sources = ../../baz/lib.rs\n";
     std::string out_str = out.str();
     EXPECT_EQ(expected, out_str) << expected << "\n" << out_str;
