accept --executable-only on aarch64, riscv64, and mips64 because the
authorderaadt <deraadt@openbsd.org>
Sat, 7 Jan 2023 16:01:58 +0000 (16:01 +0000)
committerderaadt <deraadt@openbsd.org>
Sat, 7 Jan 2023 16:01:58 +0000 (16:01 +0000)
linker is creating correct binaries.  There can also be problems with
compilers generating incorrect data-inside-text, but those (so far minor)
issues are being resolved seperately.
ok kettenis

gnu/llvm/lld/ELF/Driver.cpp

index f2de4ec..4eb87a2 100644 (file)
@@ -358,8 +358,14 @@ static void checkOptions() {
   }
 
   if (config->executeOnly) {
-    if (config->emachine != EM_AARCH64)
-      error("-execute-only is only supported on AArch64 targets");
+    switch (config->emachine) {
+    case EM_AARCH64:
+    case EM_RISCV:
+    case EM_MIPS:
+      break;
+    default:
+      error("-execute-only is not supported on this target");
+    }
 
     if (config->singleRoRx && !script->hasSectionsCommand)
       error("-execute-only and -no-rosegment cannot be used together");