Move .art.rel data to a section in .art, part 1.

Refactor the code so that we can collect all relocation
offsets while writing the image.

Test: Manually verify that the aosp_taimen-userdebug boot
      image is identical before and after this change;
      using WIP follow-up code, check that we record the
      same locations as the patchoat-generated .rel files.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 77856493
Change-Id: Id8c78e417e77e859a82a680504253f41e84560d6
diff --git a/runtime/mirror/executable.h b/runtime/mirror/executable.h
index 23dd787..bf66d79 100644
--- a/runtime/mirror/executable.h
+++ b/runtime/mirror/executable.h
@@ -42,6 +42,10 @@
   void SetArtMethod(ArtMethod* method) REQUIRES_SHARED(Locks::mutator_lock_);
   mirror::Class* GetDeclaringClass() REQUIRES_SHARED(Locks::mutator_lock_);
 
+  static MemberOffset ArtMethodOffset() {
+    return MemberOffset(OFFSETOF_MEMBER(Executable, art_method_));
+  }
+
  private:
   uint16_t has_real_parameter_data_;
   HeapReference<mirror::Class> declaring_class_;
@@ -51,9 +55,6 @@
   uint32_t access_flags_;
   uint32_t dex_method_index_;
 
-  static MemberOffset ArtMethodOffset() {
-    return MemberOffset(OFFSETOF_MEMBER(Executable, art_method_));
-  }
   static MemberOffset DeclaringClassOffset() {
     return MemberOffset(OFFSETOF_MEMBER(Executable, declaring_class_));
   }