From 9218920aba121ddabbbf3af7673900a5ae407282 Mon Sep 17 00:00:00 2001 From: Stan Shebs Date: Wed, 26 Jan 1994 04:18:25 +0000 Subject: [PATCH] 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. --- ld/ChangeLog.gm | 6 + ld/mpw-em.c | 283 ++++++++++++++++++++++++++++++++++++++++++++++ ld/mpw-xconfig.in | 9 ++ 3 files changed, 298 insertions(+) create mode 100644 ld/ChangeLog.gm create mode 100644 ld/mpw-em.c create mode 100644 ld/mpw-xconfig.in diff --git a/ld/ChangeLog.gm b/ld/ChangeLog.gm new file mode 100644 index 00000000000..60d9df24764 --- /dev/null +++ b/ld/ChangeLog.gm @@ -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 index 00000000000..ff715440f58 --- /dev/null +++ b/ld/mpw-em.c @@ -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 index 00000000000..2505db02d60 --- /dev/null +++ b/ld/mpw-xconfig.in @@ -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 -- 2.30.2