Add support for WinCE based toolchains.
[deliverable/binutils-gdb.git] / ld / ld.h
diff --git a/ld/ld.h b/ld/ld.h
index c776de62784b3ef0a4ffa13ad62cbdbcd5456038..3c53b98a54ce05a2219d585af4885b6da014d890 100644 (file)
--- a/ld/ld.h
+++ b/ld/ld.h
@@ -1,6 +1,6 @@
-/* ld.h -
-
-   Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation, Inc.
+/* ld.h -- general linker header file
+   Copyright (C) 1991, 93, 94, 95, 96, 97, 98, 99, 2000
+   Free Software Foundation, Inc.
 
    This file is part of GLD, the Gnu Linker.
 
 
    This file is part of GLD, the Gnu Linker.
 
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with GLD; see the file COPYING.  If not, write to
-   the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   along with GLD; see the file COPYING.  If not, write to the Free
+   Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+   02111-1307, USA.  */
 
 #ifndef LD_H
 #define LD_H
 
 
 #ifndef LD_H
 #define LD_H
 
+#ifdef HAVE_LOCALE_H
+# include <locale.h>
+#endif
+
+#ifdef ENABLE_NLS
+# include <libintl.h>
+# define _(String) gettext (String)
+# ifdef gettext_noop
+#  define N_(String) gettext_noop (String)
+# else
+#  define N_(String) (String)
+# endif
+#else
+/* Stubs that do something close enough.  */
+# define textdomain(String) (String)
+# define gettext(String) (String)
+# define dgettext(Domain,Message) (Message)
+# define dcgettext(Domain,Message,Type) (Message)
+# define bindtextdomain(Domain,Directory) (Domain)
+# define _(String) (String)
+# define N_(String) (String)
+#endif
+
 /* Look in this environment name for the linker to pretend to be */
 #define EMULATION_ENVIRON "LDEMULATION"
 /* If in there look for the strings: */
 /* Look in this environment name for the linker to pretend to be */
 #define EMULATION_ENVIRON "LDEMULATION"
 /* If in there look for the strings: */
    discarded.  */
 #define DISCARD_SECTION_NAME "/DISCARD/"
 
    discarded.  */
 #define DISCARD_SECTION_NAME "/DISCARD/"
 
+/* A file name list */
+typedef struct name_list
+{
+   const char *name;
+   struct name_list *next;
+} name_list;
+
+/* A wildcard specification.  This is only used in ldgram.y, but it
+   winds up in ldgram.h, so we need to define it outside.  */
+
+struct wildcard_spec
+{
+  const char *name;
+  struct name_list *exclude_name_list;
+  boolean sorted;
+};
+
 /* Extra information we hold on sections */
 typedef struct  user_section_struct
 {
 /* Extra information we hold on sections */
 typedef struct  user_section_struct
 {
@@ -84,6 +125,36 @@ typedef struct
   /* If true, build MIPS embedded PIC relocation tables in the output
      file.  */
   boolean embedded_relocs;
   /* If true, build MIPS embedded PIC relocation tables in the output
      file.  */
   boolean embedded_relocs;
+
+  /* If true, force generation of a file with a .exe file. */
+  boolean force_exe_suffix;
+
+  /* If true, generate a cross reference report.  */
+  boolean cref;
+
+  /* If true (which is the default), warn about mismatched input
+     files.  */
+  boolean warn_mismatch;
+
+  /* Remove unreferenced sections?  */
+  boolean gc_sections;
+
+  /* Name of shared object whose symbol table should be filtered with
+     this shared object.  From the --filter option.  */
+  char *filter_shlib;
+
+  /* Name of shared object for whose symbol table this shared object
+     is an auxiliary filter.  From the --auxiliary option.  */
+  char **auxiliary_filters;
+
+  /* A version symbol to be applied to the symbol names found in the
+     .exports sections.  */
+  char *version_exports_section;
+
+  /* If true (the default) check section addresses, once compute,
+     fpor overlaps.  */
+  boolean check_section_addresses;
+  
 } args_type;
 
 extern args_type command_line;
 } args_type;
 
 extern args_type command_line;
@@ -99,6 +170,12 @@ typedef struct
   /* If true, doing a dynamic link.  */
   boolean dynamic_link;
 
   /* If true, doing a dynamic link.  */
   boolean dynamic_link;
 
+  /* If true, -shared is supported.  */
+  /* ??? A better way to do this is perhaps to define this in the
+     ld_emulation_xfer_struct since this is really a target dependent
+     parameter.  */
+  boolean has_shared;
+
   /* If true, build constructors.  */
   boolean build_constructors;
 
   /* If true, build constructors.  */
   boolean build_constructors;
 
@@ -115,6 +192,10 @@ typedef struct
      only).  */
   boolean warn_multiple_gp;
 
      only).  */
   boolean warn_multiple_gp;
 
+  /* If true, warn if the starting address of an output section
+     changes due to the alignment of an input section.  */
+  boolean warn_section_align;
+
   boolean sort_common;
 
   boolean text_read_only;
   boolean sort_common;
 
   boolean text_read_only;
@@ -145,4 +226,19 @@ extern int parsing_defsym;
 
 extern int yyparse PARAMS ((void));
 
 
 extern int yyparse PARAMS ((void));
 
+extern void add_cref PARAMS ((const char *, bfd *, asection *, bfd_vma));
+extern void output_cref PARAMS ((FILE *));
+extern void check_nocrossrefs PARAMS ((void));
+
+extern void ld_abort PARAMS ((const char *, int, const char *))
+     ATTRIBUTE_NORETURN;
+
+/* If gcc, we can give a function name, too.  */
+#if !defined (__GNUC__) || __GNUC_MINOR__ <= 5
+#define __PRETTY_FUNCTION__  ((char*) NULL)
+#endif
+
+#undef abort
+#define abort() ld_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__)
+
 #endif
 #endif
This page took 0.023893 seconds and 4 git commands to generate.