* ldlang.c (lang_finish): If the entry symbol is not found, try
[binutils-gdb.git] / ld / ld.h
diff --git a/ld/ld.h b/ld/ld.h
index c776de62784b3ef0a4ffa13ad62cbdbcd5456038..c6ee15fa9c61c81c36e42f9cc4336b512e43b8bc 100644 (file)
--- a/ld/ld.h
+++ b/ld/ld.h
@@ -1,6 +1,5 @@
-/* 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, 1998 Free Software Foundation, Inc.
 
    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
-   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
 
+#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
+
+#ifndef LC_MESSAGES
+# define LC_MESSAGES 0
+#endif
+
 /* 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/"
 
+/* 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;
+  boolean sorted;
+};
+
 /* Extra information we hold on sections */
 typedef struct  user_section_struct
 {
@@ -84,6 +120,24 @@ typedef struct
   /* 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;
+
+  /* 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;
 } args_type;
 
 extern args_type command_line;
@@ -115,6 +169,10 @@ typedef struct
      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;
@@ -145,4 +203,8 @@ extern int parsing_defsym;
 
 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));
+
 #endif