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