ソースを参照

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)