OSDN Git Service

2005-05-11 Eli Zaretskii <eliz@gnu.org>
[pf3gnuchains/pf3gnuchains4x.git] / ld / emultempl / gld960c.em
index 2fdabe9..b99cb59 100644 (file)
@@ -1,8 +1,8 @@
 # This shell script emits a C file. -*- C -*-
 # It does some substitutions.
 cat >e${EMULATION_NAME}.c <<EOF
-/* Copyright 1991, 1993, 1994, 1996, 1999, 2000, 2001
-   Free Software Foundation, Inc.
+/* Copyright 1991, 1993, 1994, 1996, 1999, 2000, 2001, 2002, 2003, 2004,
+   2005 Free Software Foundation, Inc.
 
 This file is part of GLD, the Gnu Linker.
 
@@ -21,7 +21,7 @@ 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.  */
 
-/* 
+/*
  * emulate the Intels port of  gld
  */
 
@@ -41,53 +41,22 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #include "ldfile.h"
 #include "ldemul.h"
 
-static void gld960_before_parse PARAMS ((void));
-static void gld960_set_output_arch PARAMS ((void));
-static char *gld960_choose_target PARAMS ((void));
-static char *gld960_get_script PARAMS ((int *));
-
-#ifdef GNU960
-
-static void
-gld960_before_parse()
-{
-  static char *env_variables[] = { "G960LIB", "G960BASE", 0 };
-  char **p;
-  char *env ;
-
-  for ( p = env_variables; *p; p++ ){
-    env =  (char *) getenv(*p);
-    if (env) {
-      ldfile_add_library_path (concat (env,
-                                      "/lib/libcoff",
-                                      (const char *) NULL),
-                              false);
-    }
-  }
-  ldfile_output_architecture = bfd_arch_i960;
-}
-
-#else  /* not GNU960 */
-
-static void gld960_before_parse()
+static void gld960_before_parse (void)
 {
   char *env ;
   env =  getenv("G960LIB");
   if (env) {
-    ldfile_add_library_path(env, false);
+    ldfile_add_library_path(env, FALSE);
   }
   env = getenv("G960BASE");
   if (env)
     ldfile_add_library_path (concat (env, "/lib", (const char *) NULL),
-                            false);
+                            FALSE);
   ldfile_output_architecture = bfd_arch_i960;
 }
 
-#endif /* GNU960 */
-
-
 static void
-gld960_set_output_arch()
+gld960_set_output_arch (void)
 {
   if (ldfile_output_machine_name != NULL
       && *ldfile_output_machine_name != '\0')
@@ -97,7 +66,7 @@ gld960_set_output_arch()
       s = concat ("i960:", ldfile_output_machine_name, (char *) NULL);
       for (s1 = s; *s1 != '\0'; s1++)
        *s1 = TOLOWER (*s1);
-      ldfile_set_output_arch (s);
+      ldfile_set_output_arch (s, bfd_arch_unknown);
       free (s);
     }
 
@@ -105,15 +74,8 @@ gld960_set_output_arch()
 }
 
 static char *
-gld960_choose_target()
+gld960_choose_target (int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
 {
-#ifdef GNU960
-
-  output_filename = "b.out";
-  return bfd_make_targ_name(BFD_BOUT_FORMAT, 0);
-
-#else
-
   char *from_outside = getenv(TARGET_ENVIRON);
   output_filename = "b.out";
 
@@ -121,13 +83,10 @@ gld960_choose_target()
     return from_outside;
 
   return "coff-Intel-little";
-
-#endif
 }
 
 static char *
-gld960_get_script(isfile)
-     int *isfile;
+gld960_get_script (int *isfile)
 EOF
 
 if test -n "$COMPILE_IN"
@@ -138,33 +97,33 @@ then
 sc="-f stringify.sed"
 
 cat >>e${EMULATION_NAME}.c <<EOF
-{                           
+{
   *isfile = 0;
 
-  if (link_info.relocateable == true && config.build_constructors == true)
+  if (link_info.relocatable && config.build_constructors)
     return
 EOF
-sed $sc ldscripts/${EMULATION_NAME}.xu                     >> e${EMULATION_NAME}.c
-echo '  ; else if (link_info.relocateable == true) return' >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xr                     >> e${EMULATION_NAME}.c
-echo '  ; else if (!config.text_read_only) return'         >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xbn                    >> e${EMULATION_NAME}.c
-echo '  ; else if (!config.magic_demand_paged) return'     >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xn                     >> e${EMULATION_NAME}.c
-echo '  ; else return'                                     >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.x                      >> e${EMULATION_NAME}.c
-echo '; }'                                                 >> e${EMULATION_NAME}.c
+sed $sc ldscripts/${EMULATION_NAME}.xu                 >> e${EMULATION_NAME}.c
+echo '  ; else if (link_info.relocatable) return'     >> e${EMULATION_NAME}.c
+sed $sc ldscripts/${EMULATION_NAME}.xr                 >> e${EMULATION_NAME}.c
+echo '  ; else if (!config.text_read_only) return'     >> e${EMULATION_NAME}.c
+sed $sc ldscripts/${EMULATION_NAME}.xbn                >> e${EMULATION_NAME}.c
+echo '  ; else if (!config.magic_demand_paged) return' >> e${EMULATION_NAME}.c
+sed $sc ldscripts/${EMULATION_NAME}.xn                 >> e${EMULATION_NAME}.c
+echo '  ; else return'                                 >> e${EMULATION_NAME}.c
+sed $sc ldscripts/${EMULATION_NAME}.x                  >> e${EMULATION_NAME}.c
+echo '; }'                                             >> e${EMULATION_NAME}.c
 
 else
 # Scripts read from the filesystem.
 
 cat >>e${EMULATION_NAME}.c <<EOF
-{                           
+{
   *isfile = 1;
 
-  if (link_info.relocateable == true && config.build_constructors == true)
+  if (link_info.relocatable && config.build_constructors)
     return "ldscripts/${EMULATION_NAME}.xu";
-  else if (link_info.relocateable == true)
+  else if (link_info.relocatable)
     return "ldscripts/${EMULATION_NAME}.xr";
   else if (!config.text_read_only)
     return "ldscripts/${EMULATION_NAME}.xbn";
@@ -179,7 +138,7 @@ fi
 
 cat >>e${EMULATION_NAME}.c <<EOF
 
-struct ld_emulation_xfer_struct ld_gld960coff_emulation = 
+struct ld_emulation_xfer_struct ld_gld960coff_emulation =
 {
   gld960_before_parse,
   syslib_default,
@@ -199,9 +158,12 @@ struct ld_emulation_xfer_struct ld_gld960coff_emulation =
   NULL,        /* place orphan */
   NULL,        /* set symbols */
   NULL,        /* parse args */
+  NULL,        /* add_options */
+  NULL,        /* handle_option */
   NULL,        /* unrecognized file */
   NULL,        /* list options */
   NULL,        /* recognized file */
-  NULL         /* find_potential_libraries */
+  NULL,        /* find_potential_libraries */
+  NULL /* new_vers_pattern */
 };
 EOF