Snap for 8564071 from 18374a53dc8e00ec3667b4e1a257c9b4e41f007f to mainline-tethering-release

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