* as.c (show_usage): Document --execstack and --noexecstack.
[binutils-gdb.git] / bfd / bfd-in2.h
index d23a0b7a6b006a131d6dd930d8341e86c9b9ced8..b0af69e60a78bd7eec52dee0f32afa0e0c737180 100644 (file)
@@ -658,9 +658,7 @@ struct bfd_link_needed_list
   const char *name;
 };
 
-extern bfd_boolean bfd_elf32_record_link_assignment
-  PARAMS ((bfd *, struct bfd_link_info *, const char *, bfd_boolean));
-extern bfd_boolean bfd_elf64_record_link_assignment
+extern bfd_boolean bfd_elf_record_link_assignment
   PARAMS ((bfd *, struct bfd_link_info *, const char *, bfd_boolean));
 extern struct bfd_link_needed_list *bfd_elf_get_needed_list
   PARAMS ((bfd *, struct bfd_link_info *));
@@ -703,6 +701,22 @@ extern long bfd_get_elf_phdr_upper_bound
 extern int bfd_get_elf_phdrs
   PARAMS ((bfd *abfd, void *phdrs));
 
+/* Create a new BFD as if by bfd_openr.  Rather than opening a file,
+   reconstruct an ELF file by reading the segments out of remote memory
+   based on the ELF file header at EHDR_VMA and the ELF program headers it
+   points to.  If not null, *LOADBASEP is filled in with the difference
+   between the VMAs from which the segments were read, and the VMAs the
+   file headers (and hence BFD's idea of each section's VMA) put them at.
+
+   The function TARGET_READ_MEMORY is called to copy LEN bytes from the
+   remote memory at target address VMA into the local buffer at MYADDR; it
+   should return zero on success or an `errno' code on failure.  TEMPL must
+   be a BFD for an ELF target with the word size and byte order found in
+   the remote memory.  */
+extern bfd *bfd_elf_bfd_from_remote_memory
+  PARAMS ((bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep,
+          int (*target_read_memory) (bfd_vma vma, char *myaddr, int len)));
+
 /* Return the arch_size field of an elf bfd, or -1 if not elf.  */
 extern int bfd_get_arch_size
   PARAMS ((bfd *));
@@ -1291,8 +1305,10 @@ typedef struct sec
   /* Bits used by various backends.  */
   unsigned int has_tls_reloc:1;
 
+  /* Nonzero if this section needs the relax finalize pass.  */
+  unsigned int need_finalize_relax:1;
+
   /* Usused bits.  */
-  unsigned int flag11:1;
   unsigned int flag12:1;
   unsigned int flag13:1;
   unsigned int flag14:1;
@@ -1635,6 +1651,7 @@ enum bfd_architecture
 #define bfd_mach_h8300s   3
 #define bfd_mach_h8300hn  4
 #define bfd_mach_h8300sn  5
+#define bfd_mach_h8300sx  6
   bfd_arch_pdp11,     /* DEC PDP-11 */
   bfd_arch_powerpc,   /* PowerPC */
 #define bfd_mach_ppc           32