arm: Fix LoadClass/BssEntry{Public,Package}

Also update oatdump to list the new entries.

Test: testrunner.py --target --32 --optimizing -t 727
Bug: 161898207
Change-Id: I34b400531498cfac3c9606fa82b0894841054457
diff --git a/compiler/optimizing/code_generator_arm_vixl.cc b/compiler/optimizing/code_generator_arm_vixl.cc
index 9aefdab..0940f42 100644
--- a/compiler/optimizing/code_generator_arm_vixl.cc
+++ b/compiler/optimizing/code_generator_arm_vixl.cc
@@ -9279,7 +9279,7 @@
       LOG(FATAL) << "Unexpected load kind: " << load_class->GetLoadKind();
       UNREACHABLE();
   }
-  return NewPcRelativePatch(&dex_file, type_index.index_, &type_bss_entry_patches_);
+  return NewPcRelativePatch(&dex_file, type_index.index_, patches);
 }
 
 CodeGeneratorARMVIXL::PcRelativePatchInfo* CodeGeneratorARMVIXL::NewBootImageStringPatch(
diff --git a/oatdump/oatdump.cc b/oatdump/oatdump.cc
index 103f60f..02636e2 100644
--- a/oatdump/oatdump.cc
+++ b/oatdump/oatdump.cc
@@ -542,6 +542,20 @@
             [=](uint32_t index) { return dex_file->PrettyType(dex::TypeIndex(index)); });
         DumpBssEntries(
             os,
+            "Public Class",
+            oat_dex_file->GetPublicTypeBssMapping(),
+            dex_file->NumTypeIds(),
+            sizeof(GcRoot<mirror::Class>),
+            [=](uint32_t index) { return dex_file->PrettyType(dex::TypeIndex(index)); });
+        DumpBssEntries(
+            os,
+            "Package Class",
+            oat_dex_file->GetPackageTypeBssMapping(),
+            dex_file->NumTypeIds(),
+            sizeof(GcRoot<mirror::Class>),
+            [=](uint32_t index) { return dex_file->PrettyType(dex::TypeIndex(index)); });
+        DumpBssEntries(
+            os,
             "String",
             oat_dex_file->GetStringBssMapping(),
             dex_file->NumStringIds(),