浏览代码

DynamicLinker: Replace $ORIGIN with the executable path

Tim Schumacher 3 年之前
父节点
当前提交
35e5024b7d
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      Userland/Libraries/LibELF/DynamicLinker.cpp

+ 1 - 1
Userland/Libraries/LibELF/DynamicLinker.cpp

@@ -127,7 +127,7 @@ static Result<NonnullRefPtr<DynamicLoader>, DlErrorMessage> map_library(String c
     search_paths.append("/usr/local/lib"sv);
 
     for (auto const& search_path : search_paths) {
-        LexicalPath library_path(search_path);
+        LexicalPath library_path(search_path.replace("$ORIGIN"sv, LexicalPath::dirname(s_main_program_name)));
         int fd = open(library_path.append(name).string().characters(), O_RDONLY);
 
         if (fd < 0)