mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 03:07:44 +00:00
DynamicLoader: Tell the linker to not add a PT_INTERP header
Use the GNU LD option --no-dynamic-linker. This allows uncommenting some code in the Kernel that gets upset if your ELF interpreter has its own interpreter.
This commit is contained in:
parent
4ea4cd5ee3
commit
a3a9016701
2 changed files with 5 additions and 6 deletions
|
@ -634,12 +634,10 @@ KResultOr<NonnullRefPtr<FileDescription>> Process::find_elf_interpreter_for_exec
|
|||
return KResult(-ENOEXEC);
|
||||
}
|
||||
|
||||
// FIXME: Uncomment this
|
||||
// How do we get gcc to not insert an interpreter section to /usr/lib/Loader.so itself?
|
||||
// if (!interpreter_interpreter_path.is_empty()) {
|
||||
// dbgln("exec({}): Interpreter ({}) has its own interpreter ({})! No thank you!", path, interpreter_description->absolute_path(), interpreter_interpreter_path);
|
||||
// return KResult(-ELOOP);
|
||||
// }
|
||||
if (!interpreter_interpreter_path.is_empty()) {
|
||||
dbgln("exec({}): Interpreter ({}) has its own interpreter ({})! No thank you!", path, interpreter_description->absolute_path(), interpreter_interpreter_path);
|
||||
return KResult(-ELOOP);
|
||||
}
|
||||
|
||||
return interpreter_description;
|
||||
}
|
||||
|
|
|
@ -19,4 +19,5 @@ set(SOURCES ${LOADER_SOURCES} ${AK_SOURCES} ${ELF_SOURCES} ${LIBC_SOURCES1} ${LI
|
|||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nostdlib -pie -fpic -DNO_TLS")
|
||||
|
||||
add_executable(Loader.so ${SOURCES})
|
||||
target_link_options(Loader.so PRIVATE LINKER:--no-dynamic-linker)
|
||||
install(TARGETS Loader.so RUNTIME DESTINATION usr/lib/)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue