Linker configuration for recovery

Implements linker configuration for recovery. Linkerconfig will generate
recovery configuration on --recovery argument.

Bug: 139638519
Test: m -j passed & tested from crosshatch
Change-Id: I02a38bde8075167dd67334d69507f2604b7d3b33
diff --git a/main.cc b/main.cc
index a721485..c965c1b 100644
--- a/main.cc
+++ b/main.cc
@@ -25,6 +25,7 @@
 #include "linkerconfig/environment.h"
 #include "linkerconfig/legacy.h"
 #include "linkerconfig/log.h"
+#include "linkerconfig/recovery.h"
 #include "linkerconfig/variableloader.h"
 #include "linkerconfig/variables.h"
 
@@ -50,6 +51,7 @@
                " --root <root dir>"
                " --vndk <vndk version>"
 #endif
+               " [--recovery]"
                " [--help]"
             << std::endl;
   exit(status);
@@ -84,12 +86,14 @@
 }
 
 android::linkerconfig::modules::Configuration GetConfiguration() {
+  if (android::linkerconfig::modules::IsRecoveryMode()) {
+    return android::linkerconfig::contents::CreateRecoveryConfiguration();
+  }
+
   if (android::linkerconfig::modules::IsLegacyDevice()) {
     return android::linkerconfig::contents::CreateLegacyConfiguration();
   }
 
-  // TODO : Use recovery if needed
-
   // Use base configuration in default
   return android::linkerconfig::contents::CreateBaseConfiguration();
 }