URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-stable/] [binutils-2.20.1/] [ld/] [emultempl/] [gld960.em] - Rev 826
Go to most recent revision | Compare with Previous | Blame | View Log
# This shell script emits a C file. -*- C -*-# It does some substitutions.fragment <<EOF/* Copyright 1991, 1992, 1994, 1999, 2000, 2001, 2002, 2003, 2005, 2007, 2008Free Software Foundation, Inc.This file is part of the GNU Binutils.This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 3 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 ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 51 Franklin Street - Fifth Floor, Boston,MA 02110-1301, USA. *//* Emulate the Intel's port of gld. */#include "sysdep.h"#include "bfd.h"#include "libiberty.h"#include "bfdlink.h"#include "ld.h"#include "ldmisc.h"#include "ldmain.h"#include "ldexp.h"#include "ldlang.h"#include "ldfile.h"#include "ldemul.h"static void gld960_before_parse (void){char *env ;env = getenv("G960LIB");if (env) {ldfile_add_library_path(env, FALSE);}env = getenv("G960BASE");if (env)ldfile_add_library_path (concat (env, "/lib", (const char *) NULL), FALSE);ldfile_output_architecture = bfd_arch_i960;}static voidgld960_set_output_arch (void){bfd_set_arch_mach (link_info.output_bfd,ldfile_output_architecture, bfd_mach_i960_core);}static char *gld960_choose_target (int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED){char *from_outside = getenv(TARGET_ENVIRON);output_filename = "b.out";if (from_outside != (char *)NULL)return from_outside;return "b.out.little";}static char *gld960_get_script (int *isfile)EOFif test -n "$COMPILE_IN"then# Scripts compiled in.# sed commands to quote an ld script as a C string.sc="-f stringify.sed"fragment <<EOF{*isfile = 0;if (link_info.relocatable && config.build_constructors)returnEOFsed $sc ldscripts/${EMULATION_NAME}.xu >> e${EMULATION_NAME}.cecho ' ; else if (link_info.relocatable) return' >> e${EMULATION_NAME}.csed $sc ldscripts/${EMULATION_NAME}.xr >> e${EMULATION_NAME}.cecho ' ; else if (!config.text_read_only) return' >> e${EMULATION_NAME}.csed $sc ldscripts/${EMULATION_NAME}.xbn >> e${EMULATION_NAME}.cecho ' ; else if (!config.magic_demand_paged) return' >> e${EMULATION_NAME}.csed $sc ldscripts/${EMULATION_NAME}.xn >> e${EMULATION_NAME}.cecho ' ; else return' >> e${EMULATION_NAME}.csed $sc ldscripts/${EMULATION_NAME}.x >> e${EMULATION_NAME}.cecho '; }' >> e${EMULATION_NAME}.celse# Scripts read from the filesystem.fragment <<EOF{*isfile = 1;if (link_info.relocatable && config.build_constructors)return "ldscripts/${EMULATION_NAME}.xu";else if (link_info.relocatable)return "ldscripts/${EMULATION_NAME}.xr";else if (!config.text_read_only)return "ldscripts/${EMULATION_NAME}.xbn";else if (!config.magic_demand_paged)return "ldscripts/${EMULATION_NAME}.xn";elsereturn "ldscripts/${EMULATION_NAME}.x";}EOFfifragment <<EOFstruct ld_emulation_xfer_struct ld_gld960_emulation ={gld960_before_parse,syslib_default,hll_default,after_parse_default,after_open_default,after_allocation_default,gld960_set_output_arch,gld960_choose_target,before_allocation_default,gld960_get_script,"960","",finish_default,NULL, /* create output section statements */NULL, /* open dynamic archive */NULL, /* place orphan */NULL, /* set symbols */NULL, /* parse args */NULL, /* add_options */NULL, /* handle_option */NULL, /* unrecognized file */NULL, /* list options */NULL, /* recognized file */NULL, /* find_potential_libraries */NULL /* new_vers_pattern */};EOF
Go to most recent revision | Compare with Previous | Blame | View Log
