mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-07 00:29:15 +00:00
LibELF: Add support for loading libraries from /usr/local
This commit is contained in:
parent
594d480391
commit
960079b020
Notes:
sideshowbarker
2024-07-18 20:16:07 +09:00
Author: https://github.com/gunnarbeutner
Commit: 960079b020
Pull-request: https://github.com/SerenityOS/serenity/pull/6365
Reviewed-by: https://github.com/awesomekling
1 changed files with 11 additions and 6 deletions
|
@ -99,13 +99,18 @@ static void map_library(const String& name, int fd)
|
||||||
static void map_library(const String& name)
|
static void map_library(const String& name)
|
||||||
{
|
{
|
||||||
// TODO: Do we want to also look for libs in other paths too?
|
// TODO: Do we want to also look for libs in other paths too?
|
||||||
String path = String::formatted("/usr/lib/{}", name);
|
const char* search_paths[] = { "/usr/lib/{}", "/usr/local/lib/{}" };
|
||||||
|
for (auto& search_path : search_paths) {
|
||||||
|
auto path = String::formatted(search_path, name);
|
||||||
int fd = open(path.characters(), O_RDONLY);
|
int fd = open(path.characters(), O_RDONLY);
|
||||||
if (fd < 0) {
|
if (fd < 0)
|
||||||
fprintf(stderr, "Could not find required shared library: %s\n", path.characters());
|
continue;
|
||||||
VERIFY_NOT_REACHED();
|
|
||||||
}
|
|
||||||
map_library(name, fd);
|
map_library(name, fd);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
fprintf(stderr, "Could not find required shared library: %s\n", name.characters());
|
||||||
|
VERIFY_NOT_REACHED();
|
||||||
}
|
}
|
||||||
|
|
||||||
static String get_library_name(const StringView& path)
|
static String get_library_name(const StringView& path)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue