+#ifdef HAVE_TARGET_32_LITTLE
+template
+Output_section*
+Layout::layout_reloc<32, false>(Sized_relobj<32, false>* object,
+ unsigned int reloc_shndx,
+ const elfcpp::Shdr<32, false>& shdr,
+ Output_section* data_section,
+ Relocatable_relocs* rr);
+#endif
+
+#ifdef HAVE_TARGET_32_BIG
+template
+Output_section*
+Layout::layout_reloc<32, true>(Sized_relobj<32, true>* object,
+ unsigned int reloc_shndx,
+ const elfcpp::Shdr<32, true>& shdr,
+ Output_section* data_section,
+ Relocatable_relocs* rr);
+#endif
+
+#ifdef HAVE_TARGET_64_LITTLE
+template
+Output_section*
+Layout::layout_reloc<64, false>(Sized_relobj<64, false>* object,
+ unsigned int reloc_shndx,
+ const elfcpp::Shdr<64, false>& shdr,
+ Output_section* data_section,
+ Relocatable_relocs* rr);
+#endif
+
+#ifdef HAVE_TARGET_64_BIG
+template
+Output_section*
+Layout::layout_reloc<64, true>(Sized_relobj<64, true>* object,
+ unsigned int reloc_shndx,
+ const elfcpp::Shdr<64, true>& shdr,
+ Output_section* data_section,
+ Relocatable_relocs* rr);
+#endif
+
+#ifdef HAVE_TARGET_32_LITTLE
+template
+void
+Layout::layout_group<32, false>(Symbol_table* symtab,
+ Sized_relobj<32, false>* object,
+ unsigned int,
+ const char* group_section_name,
+ const char* signature,
+ const elfcpp::Shdr<32, false>& shdr,
+ elfcpp::Elf_Word flags,
+ std::vector<unsigned int>* shndxes);
+#endif
+
+#ifdef HAVE_TARGET_32_BIG
+template
+void
+Layout::layout_group<32, true>(Symbol_table* symtab,
+ Sized_relobj<32, true>* object,
+ unsigned int,
+ const char* group_section_name,
+ const char* signature,
+ const elfcpp::Shdr<32, true>& shdr,
+ elfcpp::Elf_Word flags,
+ std::vector<unsigned int>* shndxes);
+#endif
+
+#ifdef HAVE_TARGET_64_LITTLE
+template
+void
+Layout::layout_group<64, false>(Symbol_table* symtab,
+ Sized_relobj<64, false>* object,
+ unsigned int,
+ const char* group_section_name,
+ const char* signature,
+ const elfcpp::Shdr<64, false>& shdr,
+ elfcpp::Elf_Word flags,
+ std::vector<unsigned int>* shndxes);
+#endif
+
+#ifdef HAVE_TARGET_64_BIG
+template
+void
+Layout::layout_group<64, true>(Symbol_table* symtab,
+ Sized_relobj<64, true>* object,
+ unsigned int,
+ const char* group_section_name,
+ const char* signature,
+ const elfcpp::Shdr<64, true>& shdr,
+ elfcpp::Elf_Word flags,
+ std::vector<unsigned int>* shndxes);
+#endif
+