diff --git a/Kernel/Syscalls/execve.cpp b/Kernel/Syscalls/execve.cpp index 35b8d81b9e..c386f1b49b 100644 --- a/Kernel/Syscalls/execve.cpp +++ b/Kernel/Syscalls/execve.cpp @@ -634,12 +634,10 @@ KResultOr> 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; } diff --git a/Userland/DynamicLoader/CMakeLists.txt b/Userland/DynamicLoader/CMakeLists.txt index 2a89e994c6..4b022f4f78 100644 --- a/Userland/DynamicLoader/CMakeLists.txt +++ b/Userland/DynamicLoader/CMakeLists.txt @@ -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/)