Enable pei386_auto_import by default. Only print a info message about auto
[deliverable/binutils-gdb.git] / ld / ldlang.h
index 7641992e90d29950a87d0051bcb185f8cf1a7904..26c4121fa7e5151c7194128353e2c6ae211f5979 100644 (file)
@@ -32,7 +32,10 @@ typedef enum {
   lang_input_file_is_file_enum
 } lang_input_file_enum_type;
 
-typedef unsigned int fill_type;
+struct _fill_type {
+  size_t size;
+  unsigned char data[1];
+};
 
 typedef struct statement_list {
   union lang_statement_union *head;
@@ -125,13 +128,19 @@ typedef struct lang_output_section_statement_struct {
   struct memory_region_struct *region;
   struct memory_region_struct *lma_region;
   size_t block_value;
-  fill_type fill;
+  fill_type *fill;
 
   int subsection_alignment;    /* alignment of components */
   int section_alignment;       /* alignment of start of section */
 
   union etree_union *load_base;
 
+  /* If non-null, an expression to evaluate after setting the section's
+     size.  The expression is evaluated inside REGION (above) with '.'
+     set to the end of the section.  Used in the last overlay section
+     to move '.' past all the overlaid sections.  */
+  union etree_union *update_dot_tree;
+
   struct lang_output_section_phdr_list *phdrs;
 } lang_output_section_statement_type;
 
@@ -145,7 +154,7 @@ typedef struct {
 
 typedef struct {
   lang_statement_header_type header;
-  fill_type fill;
+  fill_type *fill;
   int size;
   asection *output_section;
 } lang_fill_statement_type;
@@ -275,7 +284,7 @@ typedef struct {
   bfd_vma output_offset;
   size_t size;
   asection *output_section;
-  fill_type fill;
+  fill_type *fill;
 } lang_padding_statement_type;
 
 /* A group statement collects a set of libraries together.  The
@@ -356,6 +365,7 @@ extern lang_statement_list_type *stat_ptr;
 extern boolean delete_output_file_on_failure;
 
 extern const char *entry_symbol;
+extern const char *entry_section;
 extern boolean entry_from_cmdline;
 extern lang_statement_list_type file_chain;
 
@@ -384,13 +394,13 @@ extern void lang_add_target PARAMS ((const char *));
 extern void lang_add_wild
   PARAMS ((struct wildcard_spec *, struct wildcard_list *, boolean));
 extern void lang_add_map PARAMS ((const char *));
-extern void lang_add_fill PARAMS ((int));
+extern void lang_add_fill PARAMS ((fill_type *));
 extern lang_assignment_statement_type * lang_add_assignment PARAMS ((union etree_union *));
 extern void lang_add_attribute PARAMS ((enum statement_enum));
 extern void lang_startup PARAMS ((const char *));
 extern void lang_float PARAMS ((enum bfd_boolean));
 extern void lang_leave_output_section_statement
-  PARAMS ((bfd_vma, const char *, struct lang_output_section_phdr_list *,
+  PARAMS ((fill_type *, const char *, struct lang_output_section_phdr_list *,
            const char *));
 extern void lang_abs_symbol_at_end_of PARAMS ((const char *, const char *));
 extern void lang_abs_symbol_at_beginning_of PARAMS ((const char *,
@@ -406,7 +416,7 @@ extern void lang_reset_memory_regions PARAMS ((void));
 extern bfd_vma lang_do_assignments
   PARAMS ((lang_statement_union_type * s,
           lang_output_section_statement_type *output_section_statement,
-          fill_type fill,
+          fill_type *fill,
           bfd_vma dot));
 
 #define LANG_FOR_EACH_INPUT_STATEMENT(statement)               \
@@ -440,7 +450,7 @@ extern void dprint_statement PARAMS ((lang_statement_union_type *, int));
 extern bfd_vma lang_size_sections
   PARAMS ((lang_statement_union_type *s,
           lang_output_section_statement_type *output_section_statement,
-          lang_statement_union_type **prev, fill_type fill,
+          lang_statement_union_type **prev, fill_type *fill,
           bfd_vma dot, boolean *relax));
 extern void lang_enter_group PARAMS ((void));
 extern void lang_leave_group PARAMS ((void));
@@ -452,17 +462,17 @@ extern void lang_new_phdr
   PARAMS ((const char *, etree_type *, boolean, boolean, etree_type *,
           etree_type *));
 extern void lang_add_nocrossref PARAMS ((struct lang_nocrossref *));
-extern void lang_enter_overlay PARAMS ((etree_type *, etree_type *, int));
+extern void lang_enter_overlay PARAMS ((etree_type *));
 extern void lang_enter_overlay_section PARAMS ((const char *));
 extern void lang_leave_overlay_section
-  PARAMS ((bfd_vma, struct lang_output_section_phdr_list *));
+  PARAMS ((fill_type *, struct lang_output_section_phdr_list *));
 extern void lang_leave_overlay
-  PARAMS ((bfd_vma, const char *, struct lang_output_section_phdr_list *,
-           const char *));
+  PARAMS ((etree_type *, int, fill_type *, const char *,
+          struct lang_output_section_phdr_list *, const char *));
 
 extern struct bfd_elf_version_tree *lang_elf_version_info;
 
-extern struct bfd_elf_version_expr *lang_new_vers_regex
+extern struct bfd_elf_version_expr *lang_new_vers_pattern
   PARAMS ((struct bfd_elf_version_expr *, const char *, const char *));
 extern struct bfd_elf_version_tree *lang_new_vers_node
   PARAMS ((struct bfd_elf_version_expr *, struct bfd_elf_version_expr *));
This page took 0.041539 seconds and 4 git commands to generate.