* config.sub: add vxworks29k configuration.
[deliverable/binutils-gdb.git] / bfd / libelf.h
index 262007767ffd01a4ecbcd1b55685341a6face58c..01d159909f6f4802724d9db5973aa2e90af2fc31 100644 (file)
@@ -117,12 +117,10 @@ struct elf_link_hash_entry
 #define ELF_LINK_HASH_DEF_DYNAMIC 010
   /* Dynamic symbol has been adjustd.  */
 #define ELF_LINK_HASH_DYNAMIC_ADJUSTED 020
-  /* Symbol is defined as weak.  */
-#define ELF_LINK_HASH_DEFINED_WEAK 040
   /* Symbol needs a copy reloc.  */
-#define ELF_LINK_HASH_NEEDS_COPY 0100
+#define ELF_LINK_HASH_NEEDS_COPY 040
   /* Symbol needs a procedure linkage table entry.  */
-#define ELF_LINK_HASH_NEEDS_PLT 0200
+#define ELF_LINK_HASH_NEEDS_PLT 0100
 };
 
 /* ELF linker hash table.  */
@@ -146,6 +144,10 @@ struct elf_link_hash_table
   /* The number of buckets in the hash table in the .hash section.
      This is based on the number of dynamic symbols.  */
   size_t bucketcount;
+  /* Whether we are linking against a dynamic object which has a
+     DT_NEEDED entry in the .dynamic section.  This may need to become
+     a list of DT_NEEDED entries.  */
+  boolean saw_needed;
 };
 
 /* Look up an entry in an ELF linker hash table.  */
@@ -308,12 +310,13 @@ struct elf_backend_data
      referenced by a regular object.  This is called after all the
      input files have been seen, but before the SIZE_DYNAMIC_SECTIONS
      function has been called.  The hash table entry should be
-     bfd_link_hash_defined, and it should be defined in a section from
-     a dynamic object.  Dynamic object sections are not included in
-     the final link, and this function is responsible for changing the
-     value to something which the rest of the link can deal with.
-     This will normally involve adding an entry to the .plt or .got or
-     some such section, and setting the symbol to point to that.  */
+     bfd_link_hash_defined ore bfd_link_hash_defweak, and it should be
+     defined in a section from a dynamic object.  Dynamic object
+     sections are not included in the final link, and this function is
+     responsible for changing the value to something which the rest of
+     the link can deal with.  This will normally involve adding an
+     entry to the .plt or .got or some such section, and setting the
+     symbol to point to that.  */
   boolean (*elf_backend_adjust_dynamic_symbol)
     PARAMS ((struct bfd_link_info *info, struct elf_link_hash_entry *h));
 
@@ -396,6 +399,10 @@ struct elf_backend_data
   /* The swapping table to use when dealing with ECOFF information.
      Used for the MIPS ELF .mdebug section.  */
   const struct ecoff_debug_swap *elf_backend_ecoff_debug_swap;
+
+  /* Alternate EM_xxxx machine codes for this backend.  */
+  int elf_machine_alt1;
+  int elf_machine_alt2;
 };
 
 /* Information stored for each BFD section in an ELF file.  This
@@ -483,6 +490,12 @@ struct elf_obj_tdata
 
   /* Records the result of `get_program_header_size'.  */
   bfd_size_type program_header_size;
+
+  /* Used by MIPS ELF find_nearest_line entry point.  The structure
+     could be included directly in this one, but there's no point to
+     wasting the memory just for the infrequently called
+     find_nearest_line.  */
+  struct mips_elf_find_line *find_line_info;
 };
 
 #define elf_tdata(bfd)         ((bfd) -> tdata.elf_obj_data)
This page took 0.023237 seconds and 4 git commands to generate.