*** empty log message ***
[deliverable/binutils-gdb.git] / include / bfdlink.h
index 56b1fe4586f7b3770377f0ffb0c5cb20a7471393..a034547212df6982081f8da86f63e8f0fd4a94df 100644 (file)
@@ -1,5 +1,5 @@
 /* bfdlink.h -- header file for BFD link routines
-   Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+   Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002
    Free Software Foundation, Inc.
    Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support.
 
@@ -41,6 +41,15 @@ enum bfd_link_discard
   discard_l,           /* Discard local temporary symbols.  */
   discard_all          /* Discard all locals.  */
 };
+
+/* Describes the type of hash table entry structure being used.
+   Different hash table structure have different fields and so
+   support different linking features.  */
+enum bfd_link_hash_table_type
+  {
+    bfd_link_generic_hash_table,
+    bfd_link_elf_hash_table
+  };
 \f
 /* These are the possible types of an entry in the BFD link hash
    table.  */
@@ -146,6 +155,8 @@ struct bfd_link_hash_table
   struct bfd_link_hash_entry *undefs;
   /* Entries are added to the tail of the undefs list.  */
   struct bfd_link_hash_entry *undefs_tail;
+  /* The type of the ink hash table.  */
+  enum bfd_link_hash_table_type type;
 };
 
 /* Look up an entry in a link hash table.  If FOLLOW is true, this
@@ -275,9 +286,24 @@ struct bfd_link_info
   /* May be used to set DT_FLAGS_1 for ELF. */
   bfd_vma flags_1;
 
-  /* true if auto-import thunks for DATA items in pei386 DLLs 
+  /* True if auto-import thunks for DATA items in pei386 DLLs 
      should be generated/linked against.  */
   boolean pei386_auto_import;
+
+  /* True if non-PLT relocs should be merged into one reloc section
+     and sorted so that relocs against the same symbol come together.  */
+  boolean combreloc;
+
+  /* True if executable should not contain copy relocs.
+     Setting this true may result in a non-sharable text segment.  */
+  boolean nocopyreloc;
+
+  /* True if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment
+     should be created.  */
+  boolean eh_frame_hdr;
+
+  /* How many spare .dynamic DT_NULL entries should be added?  */
+  unsigned int spare_dynamic_tags;
 };
 
 /* This structures holds a set of callback functions.  These are
@@ -420,7 +446,6 @@ enum bfd_link_order_type
 {
   bfd_undefined_link_order,    /* Undefined.  */
   bfd_indirect_link_order,     /* Built from a section.  */
-  bfd_fill_link_order,         /* Fill with a 16 bit constant.  */
   bfd_data_link_order,         /* Set to explicit data.  */
   bfd_section_reloc_link_order,        /* Relocate against a section.  */
   bfd_symbol_reloc_link_order  /* Relocate against a symbol.  */
@@ -454,13 +479,12 @@ struct bfd_link_order
        } indirect;
       struct
        {
-         /* Value to fill with.  */
-         unsigned int value;
-       } fill;
-      struct
-       {
-         /* Data to put into file.  The size field gives the number
-            of bytes which this field points to.  */
+         /* Size of contents, or zero when contents size == size
+            within output section.
+            A non-zero value allows filling of the output section
+            with an arbitrary repeated pattern.  */
+         unsigned int size;
+         /* Data to put into file.  */
          bfd_byte *contents;
        } data;
       struct
This page took 0.023936 seconds and 4 git commands to generate.