diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-07-31 15:55:44 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-07-31 15:55:44 -0700 |
| commit | d46446e4dfade96fe0db773ce4d8d1b7154cae92 (patch) | |
| tree | b0cb2fbc5ba6cf2d800c3a3f96cd760863b63aca /src/link/Elf.zig | |
| parent | d3389eadf42417deae2d9ba01f9529be861fb998 (diff) | |
| parent | ff125db53d8c18a63872ebdcdf6dd9653eb3f56b (diff) | |
| download | zig-d46446e4dfade96fe0db773ce4d8d1b7154cae92.tar.gz zig-d46446e4dfade96fe0db773ce4d8d1b7154cae92.zip | |
Merge remote-tracking branch 'origin/master' into llvm15
Diffstat (limited to 'src/link/Elf.zig')
| -rw-r--r-- | src/link/Elf.zig | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/link/Elf.zig b/src/link/Elf.zig index 3e9b1ab3ed..917e4c18d1 100644 --- a/src/link/Elf.zig +++ b/src/link/Elf.zig @@ -1592,6 +1592,15 @@ fn linkWithLLD(self: *Elf, comp: *Compilation, prog_node: *std.Progress.Node) !v } } } + for (self.base.options.objects) |obj| { + if (Compilation.classifyFileExt(obj.path) == .shared_library) { + const lib_dir_path = std.fs.path.dirname(obj.path).?; + if ((try rpath_table.fetchPut(lib_dir_path, {})) == null) { + try argv.append("-rpath"); + try argv.append(lib_dir_path); + } + } + } } for (self.base.options.lib_dirs) |lib_dir| { |
