* elf.c (prep_headers): Use new EM_SPARCV9 symbol.
[deliverable/binutils-gdb.git] / ld / ldlang.h
index 3d6a6f3b886a6cc4f8cec9ce8d00c7396ad777d3..ee5b777c7b73306815cafc8c499c8825cbb8ac8a 100644 (file)
@@ -1,5 +1,5 @@
 /* ldlang.h - linker command language support
-   Copyright 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+   Copyright 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
    
    This file is part of GLD, the Gnu Linker.
    
@@ -96,6 +96,17 @@ typedef struct lang_output_statement_struct
   const char *name;
 } lang_output_statement_type;
 
+/* Section types specified in a linker script.  */
+
+enum section_type
+{
+  normal_section,
+  dsect_section,
+  copy_section,
+  noload_section,
+  info_section,
+  overlay_section
+};
 
 /* This structure holds a list of program headers describing segments
    in which this section should be placed.  */
@@ -120,7 +131,7 @@ typedef struct lang_output_section_statement_struct
     
   asection *bfd_section;
   int flags;                   /* Or together of all input sections */
-  int loadable;                        /* set from NOLOAD flag in script */
+  enum section_type sectype;
   struct memory_region_struct *region;
   size_t block_value;
   fill_type fill;
@@ -243,9 +254,6 @@ typedef struct lang_input_statement_struct
   /*    unsigned int globals_in_this_file;*/
   const char *target;
   boolean real;
-  asection *common_section;
-  asection *common_output_section;
-  boolean complained;
 } lang_input_statement_type;
 
 typedef struct
@@ -335,6 +343,25 @@ struct lang_phdr
   etree_type *flags;
 };
 
+/* This structure is used to hold a list of sections which may not
+   cross reference each other.  */
+
+struct lang_nocrossref
+{
+  struct lang_nocrossref *next;
+  const char *name;
+};
+
+/* The list of nocrossref lists.  */
+
+struct lang_nocrossrefs
+{
+  struct lang_nocrossrefs *next;
+  struct lang_nocrossref *list;
+};
+
+extern struct lang_nocrossrefs *nocrossref_list;
+
 extern lang_output_section_statement_type *abs_output_section;
 extern boolean lang_has_input_file;
 extern etree_type *base;
@@ -353,7 +380,7 @@ extern void lang_add_output PARAMS ((const char *, int from_script));
 extern void lang_enter_output_section_statement
   PARAMS ((const char *output_section_statement_name,
           etree_type * address_exp,
-          int flags,
+          enum section_type sectype,
           bfd_vma block_value,
           etree_type *align,
           etree_type *subalign,
@@ -431,5 +458,6 @@ extern void lang_new_phdr
   PARAMS ((const char *, etree_type *, boolean, boolean, etree_type *,
           etree_type *));
 extern void lang_section_in_phdr PARAMS ((const char *));
+extern void lang_add_nocrossref PARAMS ((struct lang_nocrossref *));
 
 #endif
This page took 0.034161 seconds and 4 git commands to generate.