Tue Jan 25 20:01:55 1994 Stan Shebs (shebs@andros.cygnus.com)
authorStan Shebs <shebs@codesourcery.com>
Wed, 26 Jan 1994 04:18:25 +0000 (04:18 +0000)
committerStan Shebs <shebs@codesourcery.com>
Wed, 26 Jan 1994 04:18:25 +0000 (04:18 +0000)
* mpw-xconfig.in: New file, mpw x mips configuration fragment.
* mpw-em.c: New file, compressed version of em_mipsidt.c.

ld/ChangeLog.gm [new file with mode: 0644]
ld/mpw-em.c [new file with mode: 0644]
ld/mpw-xconfig.in [new file with mode: 0644]

diff --git a/ld/ChangeLog.gm b/ld/ChangeLog.gm
new file mode 100644 (file)
index 0000000..60d9df2
--- /dev/null
@@ -0,0 +1,6 @@
+Tue Jan 25 20:01:55 1994  Stan Shebs  (shebs@andros.cygnus.com)
+
+       * mpw-xconfig.in: New file, mpw x mips configuration fragment.
+       * mpw-em.c: New file, compressed version of em_mipsidt.c.
+
+
diff --git a/ld/mpw-em.c b/ld/mpw-em.c
new file mode 100644 (file)
index 0000000..ff71544
--- /dev/null
@@ -0,0 +1,283 @@
+/* This file is is generated by a shell script.  DO NOT EDIT! */
+
+/* emulate the original gld for the given mipsidt
+   Copyright (C) 1991, 1993 Free Software Foundation, Inc.
+  Written by Steve Chamberlain steve@cygnus.com
+
+This file is part of GLD, the Gnu Linker.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+#define TARGET_IS_mipsidt
+
+#include "bfd.h"
+#include "sysdep.h"
+#include "bfdlink.h"
+
+#include "ld.h"
+#include "config.h"
+#include "ldmain.h"
+#include "ldemul.h"
+#include "ldfile.h"
+#include "ldmisc.h"
+
+static void gldmipsidt_before_parse PARAMS ((void));
+static char *gldmipsidt_get_script PARAMS ((int *isfile));
+
+static void
+gldmipsidt_before_parse()
+{
+#ifndef TARGET_                        /* I.e., if not generic. */
+ ldfile_output_architecture = bfd_arch_mips;
+#endif /* not TARGET_ */
+}
+
+static char *
+gldmipsidt_get_script(isfile)
+ int *isfile;
+{                       
+ *isfile = 0;
+
+ if (link_info.relocateable == true && config.build_constructors == true)
+ return "{OUTPUT_FORMAT(\"ecoff-bigmips\")\n\
+ENTRY(start)\n\
+SECTIONS\n\
+{\n\
+ .text : {\n\
+ ;\n\
+ *(.init)\n\
+ ;\n\
+ *(.text)\n\
+ *(.fini)\n\
+ ;\n\
+ ;\n\
+ }\n\
+ .rdata : {\n\
+ *(.rdata)\n\
+ }\n\
+ .data : {\n\
+ *(.data)\n\
+ CONSTRUCTORS\n\
+ }\n\
+ .lit8 : {\n\
+ *(.lit8)\n\
+ }\n\
+ .lit4 : {\n\
+ *(.lit4)\n\
+ }\n\
+ .sdata : {\n\
+ *(.sdata)\n\
+ }\n\
+ .sbss : {\n\
+ *(.sbss)\n\
+ *(.scommon)\n\
+ }\n\
+ .bss : {\n\
+ *(.bss)\n\
+ *(COMMON)\n\
+ }\n\
+}\n\n}";
+ else if (link_info.relocateable == true)
+ return "{OUTPUT_FORMAT(\"ecoff-bigmips\")\n\
+ENTRY(start)\n\
+SECTIONS\n\
+{\n\
+ .text : {\n\
+ ;\n\
+ *(.init)\n\
+ ;\n\
+ *(.text)\n\
+ *(.fini)\n\
+ ;\n\
+ ;\n\
+ }\n\
+ .rdata : {\n\
+ *(.rdata)\n\
+ }\n\
+ .data : {\n\
+ *(.data)\n\
+ }\n\
+ .lit8 : {\n\
+ *(.lit8)\n\
+ }\n\
+ .lit4 : {\n\
+ *(.lit4)\n\
+ }\n\
+ .sdata : {\n\
+ *(.sdata)\n\
+ }\n\
+ .sbss : {\n\
+ *(.sbss)\n\
+ *(.scommon)\n\
+ }\n\
+ .bss : {\n\
+ *(.bss)\n\
+ *(COMMON)\n\
+ }\n\
+}\n\n}";
+ else if (!config.text_read_only)
+ return "{OUTPUT_FORMAT(\"ecoff-bigmips\")\n\
+ENTRY(start)\n\
+SECTIONS\n\
+{\n\
+ .text 0xa0012000 : {\n\
+ _ftext = . ;\n\
+ *(.init)\n\
+ eprol = .;\n\
+ *(.text)\n\
+ *(.fini)\n\
+ etext = .;\n\
+ _etext = .;\n\
+ }\n\
+ .rdata . : {\n\
+ *(.rdata)\n\
+ }\n\
+  _fdata = .;\n\
+ .data . : {\n\
+ *(.data)\n\
+ CONSTRUCTORS\n\
+ }\n\
+  _gp = . + 0x8000;\n\
+ .lit8 . : {\n\
+ *(.lit8)\n\
+ }\n\
+ .lit4 . : {\n\
+ *(.lit4)\n\
+ }\n\
+ .sdata . : {\n\
+ *(.sdata)\n\
+ }\n\
+  edata = .;\n\
+  _edata = .;\n\
+  _fbss = .;\n\
+ .sbss . : {\n\
+ *(.sbss)\n\
+ *(.scommon)\n\
+ }\n\
+ .bss . : {\n\
+ *(.bss)\n\
+ *(COMMON)\n\
+ }\n\
+  end = .;\n\
+  _end = .;\n\
+}\n\n}";
+ else if (!config.magic_demand_paged)
+ return "{OUTPUT_FORMAT(\"ecoff-bigmips\")\n\
+ENTRY(start)\n\
+SECTIONS\n\
+{\n\
+ .text 0xa0012000 : {\n\
+ _ftext = . ;\n\
+ *(.init)\n\
+ eprol = .;\n\
+ *(.text)\n\
+ *(.fini)\n\
+ etext = .;\n\
+ _etext = .;\n\
+ }\n\
+ .rdata . : {\n\
+ *(.rdata)\n\
+ }\n\
+  _fdata = .;\n\
+ .data . : {\n\
+ *(.data)\n\
+ CONSTRUCTORS\n\
+ }\n\
+  _gp = . + 0x8000;\n\
+ .lit8 . : {\n\
+ *(.lit8)\n\
+ }\n\
+ .lit4 . : {\n\
+ *(.lit4)\n\
+ }\n\
+ .sdata . : {\n\
+ *(.sdata)\n\
+ }\n\
+  edata = .;\n\
+  _edata = .;\n\
+  _fbss = .;\n\
+ .sbss . : {\n\
+ *(.sbss)\n\
+ *(.scommon)\n\
+ }\n\
+ .bss . : {\n\
+ *(.bss)\n\
+ *(COMMON)\n\
+ }\n\
+  end = .;\n\
+  _end = .;\n\
+}\n\n}";
+ else
+ return "{OUTPUT_FORMAT(\"ecoff-bigmips\")\n\
+ENTRY(start)\n\
+SECTIONS\n\
+{\n\
+ .text 0xa0012000 : {\n\
+ _ftext = . ;\n\
+ *(.init)\n\
+ eprol = .;\n\
+ *(.text)\n\
+ *(.fini)\n\
+ etext = .;\n\
+ _etext = .;\n\
+ }\n\
+ .rdata . : {\n\
+ *(.rdata)\n\
+ }\n\
+  _fdata = .;\n\
+ .data . : {\n\
+ *(.data)\n\
+ CONSTRUCTORS\n\
+ }\n\
+  _gp = . + 0x8000;\n\
+ .lit8 . : {\n\
+ *(.lit8)\n\
+ }\n\
+ .lit4 . : {\n\
+ *(.lit4)\n\
+ }\n\
+ .sdata . : {\n\
+ *(.sdata)\n\
+ }\n\
+  edata = .;\n\
+  _edata = .;\n\
+  _fbss = .;\n\
+ .sbss . : {\n\
+ *(.sbss)\n\
+ *(.scommon)\n\
+ }\n\
+ .bss . : {\n\
+ *(.bss)\n\
+ *(COMMON)\n\
+ }\n\
+  end = .;\n\
+  _end = .;\n\
+}\n\n}";
+}
+
+struct ld_emulation_xfer_struct ld_mipsidt_emulation = 
+{
+ gldmipsidt_before_parse,
+ syslib_default,
+ hll_default,
+ after_parse_default,
+ after_allocation_default,
+ set_output_arch_default,
+ ldemul_default_target,
+ before_allocation_default,
+ gldmipsidt_get_script,
+ "mipsidt",
+ "ecoff-bigmips"
+};
diff --git a/ld/mpw-xconfig.in b/ld/mpw-xconfig.in
new file mode 100644 (file)
index 0000000..2505db0
--- /dev/null
@@ -0,0 +1,9 @@
+# Extra configuration fragment for LD.
+
+echo '/* This file is automatically generated.  DO NOT EDIT! */' >ldemul-list.h
+echo 'extern ld_emulation_xfer_type ld_mipsidt_emulation;' >>ldemul-list.h
+echo '#define EMULATION_LIST \' >>ldemul-list.h
+echo '  &ld_mipsidt_emulation, \' >>ldemul-list.h
+echo '  0' >>ldemul-list.h
+
+forward-include "{srcdir}"mpw-em.c em_mipsidt.c