* ld.h (args_type): Add new field endian.
authorIan Lance Taylor <ian@airs.com>
Tue, 20 Sep 1994 21:16:11 +0000 (21:16 +0000)
committerIan Lance Taylor <ian@airs.com>
Tue, 20 Sep 1994 21:16:11 +0000 (21:16 +0000)
* lexsup.c (parse_args): Handle -EB and -EL by setting
command_line.endian.
* ldgram.y (ifile_p1): Accept OUTPUT_FORMAT with three arguments.
* ldlang.c (lang_add_output_format): Add arguments big and little.
If command_line.endian is set, use it to select big or little
rather than the default.  Changed all callers.
* ldlang.h (lang_add_output_format): Update declaration.
* emulparams/elf32mipb.sh: Define BIG_OUTPUT_FORMAT and
LITTLE_OUTPUT_FORMAT.
* emulparams/elf32mipl.sh: Likewise.
* emulparams/mipsbig.sh: Likewise.
* emulparams/mipsbsd.sh: Likewise.
* emulparams/mipsidt.sh: Likewise.
* emulparams/mipsidtl.sh: Likewise.
* emulparams/mipslit.sh: Likewise.
* scripttempl/elf.sc: Define BIG_OUTPUT_FORMAT and
LITTLE_OUTPUT_FORMAT if not already defined.  Pass them to
OUTPUT_FORMAT.
* scripttempl/mips.sc: Pass BIG_OUTPUT_FORMAT and
LITTLE_OUTPUT_FORMAT to OUTPUT_FORMAT.
* scripttempl/mipsbsd.sc: Likewise.

ld/ChangeLog
ld/emulparams/elf32mipb.sh
ld/emulparams/elf32mipl.sh
ld/lexsup.c

index 19ffb234aa4faf0865a04ccaf5ce42c33e5d4ffa..8eebbc9199578e6b32b76ecef1af74a3b395fe38 100644 (file)
@@ -1,8 +1,36 @@
 Tue Sep 20 14:35:27 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
 
+       * ld.h (args_type): Add new field endian.
+       * lexsup.c (parse_args): Handle -EB and -EL by setting
+       command_line.endian.
+       * ldgram.y (ifile_p1): Accept OUTPUT_FORMAT with three arguments.
+       * ldlang.c (lang_add_output_format): Add arguments big and little.
+       If command_line.endian is set, use it to select big or little
+       rather than the default.  Changed all callers.
+       * ldlang.h (lang_add_output_format): Update declaration.
+       * emulparams/elf32mipb.sh: Define BIG_OUTPUT_FORMAT and
+       LITTLE_OUTPUT_FORMAT.
+       * emulparams/elf32mipl.sh: Likewise.
+       * emulparams/mipsbig.sh: Likewise.
+       * emulparams/mipsbsd.sh: Likewise.
+       * emulparams/mipsidt.sh: Likewise.
+       * emulparams/mipsidtl.sh: Likewise.
+       * emulparams/mipslit.sh: Likewise.
+       * scripttempl/elf.sc: Define BIG_OUTPUT_FORMAT and
+       LITTLE_OUTPUT_FORMAT if not already defined.  Pass them to
+       OUTPUT_FORMAT.
+       * scripttempl/mips.sc: Pass BIG_OUTPUT_FORMAT and
+       LITTLE_OUTPUT_FORMAT to OUTPUT_FORMAT.
+       * scripttempl/mipsbsd.sc: Likewise.
+
+       * Makefile.in (ldgram.h): Make separate target from ldgram.c,
+       depending upon ldgram.c, so that a parallel make does not try to
+       build both at once.
+
        * configure.in (mips*el-elf*): New target.
        * Makefile.in (ALL_EMULATIONS): Add eelf32mipb.o and eelf32mipl.o.
        (eelf32mipl.c): New target.
+
        * config/mipsl-elf32.mt: New file.
        * emulparams/elf32mipl.sh: New file.
 
index 154b9dfaabcd78a77facc0286bfd750665fc7b2d..470497d8fc6894f7e59e03964745bcda1c40681f 100644 (file)
@@ -1,5 +1,7 @@
 SCRIPT_NAME=elf
 OUTPUT_FORMAT="elf32-bigmips"
+BIG_OUTPUT_FORMAT="elf32-bigmips"
+LITTLE_OUTPUT_FORMAT="elf32-littlemips"
 TEXT_START_ADDR=0x0400000
 DATA_ADDR=0x10000000
 MAXPAGESIZE=0x40000
index 4a710dc820c3dafb1d183bfffa315951909c66e0..bb91f350cce9d270d7eab9b25e8298341e5deb70 100644 (file)
@@ -1,5 +1,7 @@
 SCRIPT_NAME=elf
 OUTPUT_FORMAT="elf32-littlemips"
+BIG_OUTPUT_FORMAT="elf32-bigmips"
+LITTLE_OUTPUT_FORMAT="elf32-littlemips"
 TEXT_START_ADDR=0x0400000
 DATA_ADDR=0x10000000
 MAXPAGESIZE=0x40000
index 21e8f12d82d2800cf65bb782bfffeb0eece3b648..1102efd0062ccea6902dac39cf4794c96a66e016 100644 (file)
@@ -186,14 +186,10 @@ parse_args (argc, argv)
          command_line.interpreter = optarg;
          break;
        case OPTION_EB:
-         /* FIXME: This is currently ignored.  It means
-            ``produce a big-endian object file''.  It could
-            be used to select an output format.  */
+         command_line.endian = ENDIAN_BIG;
          break;
        case OPTION_EL:
-         /* FIXME: This is currently ignored.  It means
-            ``produce a little-endian object file''.  It could
-            be used to select an output format.  */
+         command_line.endian = ENDIAN_LITTLE;
          break;
        case 'e':
          lang_add_entry (optarg, 1);
@@ -257,7 +253,7 @@ parse_args (argc, argv)
          lang_add_output (optarg, 0); 
          break;
        case OPTION_OFORMAT:
-         lang_add_output_format (optarg, 0);
+         lang_add_output_format (optarg, (char *) NULL, (char *) NULL, 0);
          break;
        case 'i':
        case 'r':