/* 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"
};