ART: Interfaces must declare superclass j.l.Object.

Test: 166-bad-interface-super
Bug: 69442553
Change-Id: I13b11fb4831f3a2780e6d621676c807907587346
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index 38dd761..ccf4319 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -5523,6 +5523,10 @@
     return false;
   }
   // Verify
+  if (klass->IsInterface() && super != GetClassRoot(kJavaLangObject)) {
+    ThrowClassFormatError(klass.Get(), "Interfaces must have java.lang.Object as superclass");
+    return false;
+  }
   if (super->IsFinal()) {
     ThrowVerifyError(klass.Get(),
                      "Superclass %s of %s is declared final",