+ // Get the file and offset for an archive member, which may be an
+ // external member of a thin archive. Set *INPUT_FILE to the
+ // file containing the actual member, *MEMOFF to the offset
+ // within that file (0 if not a nested archive), and *MEMBER_NAME
+ // to the name of the archive member. Return TRUE on success.
+ bool
+ get_file_and_offset(off_t off, Input_objects* input_objects,
+ Input_file** input_file, off_t* memoff,
+ off_t* memsize, std::string* member_name);
+
+ // Return an ELF object for the member at offset OFF. Set *MEMBER_NAME to
+ // the name of the member.
+ Object*
+ get_elf_object_for_member(off_t off, Input_objects* input_objects);
+
+ // Read the symbols from all the archive members in the link.
+ void
+ read_all_symbols(Input_objects* input_objects);
+
+ // Read the symbols from an archive member in the link. OFF is the file
+ // offset of the member header.
+ void
+ read_symbols(Input_objects* input_objects, off_t off);
+