Snap for 8730993 from 505e701a520b7aaf5776004e9b77b181dd5b9e48 to mainline-tzdata3-release

Change-Id: If4aadcc76903d11edc3dfdec592f21d898108b96
diff --git a/lib/LD/IdenticalCodeFolding.cpp b/lib/LD/IdenticalCodeFolding.cpp
index a899bb0..5ba0fc1 100644
--- a/lib/LD/IdenticalCodeFolding.cpp
+++ b/lib/LD/IdenticalCodeFolding.cpp
@@ -126,7 +126,8 @@
     for (sect = (*obj)->context()->sectBegin(); sect != sectEnd; ++sect) {
       switch ((*sect)->kind()) {
         case LDFileFormat::TEXT: {
-          candidate_map.insert(std::make_pair(*sect, nullptr));
+          candidate_map.insert(
+              std::make_pair(*sect, reinterpret_cast<LDSection*>(NULL)));
           break;
         }
         case LDFileFormat::Relocation: {
diff --git a/lib/Object/SectionMap.cpp b/lib/Object/SectionMap.cpp
index 9cba895..615c493 100644
--- a/lib/Object/SectionMap.cpp
+++ b/lib/Object/SectionMap.cpp
@@ -193,7 +193,8 @@
         return std::make_pair(*out, *in);
     }
   }
-  return std::make_pair(nullptr, nullptr);
+  return std::make_pair(reinterpret_cast<Output*>(NULL),
+                        reinterpret_cast<Input*>(NULL));
 }
 
 SectionMap::const_iterator SectionMap::find(
diff --git a/lib/Script/Assignment.cpp b/lib/Script/Assignment.cpp
index 1df7817..333b366 100644
--- a/lib/Script/Assignment.cpp
+++ b/lib/Script/Assignment.cpp
@@ -80,7 +80,8 @@
   switch (m_Level) {
     case OUTSIDE_SECTIONS:
       assert(!isLhsDot);
-      script.assignments().push_back(std::make_pair(nullptr, *this));
+      script.assignments().push_back(
+          std::make_pair(reinterpret_cast<LDSymbol*>(NULL), *this));
       break;
 
     case OUTPUT_SECTION: {
@@ -121,7 +122,8 @@
       if (isLhsDot) {
         out->dotAssignments().push_back(*this);
       } else {
-        script.assignments().push_back(std::make_pair(nullptr, *this));
+        script.assignments().push_back(
+            std::make_pair(reinterpret_cast<LDSymbol*>(NULL), *this));
       }
       break;
     }
@@ -136,7 +138,8 @@
               in->getSection()->getSectionData()->front());
           Assignment assign(
               INPUT_SECTION, HIDDEN, *SymOperand::create("."), *expr);
-          in->dotAssignments().push_back(std::make_pair(nullptr, assign));
+          in->dotAssignments().push_back(
+              std::make_pair(reinterpret_cast<Fragment*>(NULL), assign));
         }
 
         Assignment& prevDotAssign = in->dotAssignments().back().second;
@@ -155,7 +158,8 @@
         in->dotAssignments().push_back(std::make_pair(
             in->getSection()->getSectionData()->front().getNextNode(), *this));
       } else {
-        script.assignments().push_back(std::make_pair(nullptr, *this));
+        script.assignments().push_back(
+            std::make_pair(reinterpret_cast<LDSymbol*>(NULL), *this));
       }
       break;
     }
diff --git a/tools/mcld/Android.bp b/tools/mcld/Android.bp
index 6681aae..3342f36 100644
--- a/tools/mcld/Android.bp
+++ b/tools/mcld/Android.bp
@@ -42,6 +42,7 @@
 
     // arch-specific static libraries depend on libmcldTarget.
     // Can be removed once soong supports transitive static library dependencies
+    group_static_libs: true,
     static_libs: [
         "libmcldADT",
         "libmcldCore",