OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [binutils-2.18.50/] [ld/] [emultempl/] [scoreelf.em] - Diff between revs 38 and 156

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 38 Rev 156
# This shell script emits a C file. -*- C -*-
# This shell script emits a C file. -*- C -*-
#   Copyright 2006, 2007, 2008 Free Software Foundation, Inc.
#   Copyright 2006, 2007, 2008 Free Software Foundation, Inc.
#   Contributed by:
#   Contributed by:
#   Mei Ligang (ligang@sunnorth.com.cn)
#   Mei Ligang (ligang@sunnorth.com.cn)
#   Pei-Lin Tsai (pltsai@sunplus.com)
#   Pei-Lin Tsai (pltsai@sunplus.com)
# This file is part of the GNU Binutils.
# This file is part of the GNU Binutils.
#
#
# This program is free software; you can redistribute it and/or modify
# 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
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
# MA 02110-1301, USA.
# MA 02110-1301, USA.
#
#
# This file is sourced from elf32.em, and defines extra score-elf
# This file is sourced from elf32.em, and defines extra score-elf
# specific routines.
# specific routines.
#
#
fragment <
fragment <
static void
static void
gld${EMULATION_NAME}_before_parse ()
gld${EMULATION_NAME}_before_parse ()
{
{
#ifndef TARGET_                 /* I.e., if not generic.  */
#ifndef TARGET_                 /* I.e., if not generic.  */
  ldfile_set_output_arch ("`echo ${ARCH}`");
  ldfile_set_output_arch ("`echo ${ARCH}`");
#endif /* not TARGET_ */
#endif /* not TARGET_ */
  config.dynamic_link = ${DYNAMIC_LINK-true};
  config.dynamic_link = ${DYNAMIC_LINK-true};
  config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo true ; else echo false ; fi`;
  config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo true ; else echo false ; fi`;
}
}
static void
static void
score_elf_after_open (void)
score_elf_after_open (void)
{
{
  if (strstr (bfd_get_target (link_info.output_bfd), "score") == NULL)
  if (strstr (bfd_get_target (link_info.output_bfd), "score") == NULL)
    {
    {
      /* The score backend needs special fields in the output hash structure.
      /* The score backend needs special fields in the output hash structure.
         These will only be created if the output format is an score format,
         These will only be created if the output format is an score format,
         hence we do not support linking and changing output formats at the
         hence we do not support linking and changing output formats at the
         same time.  Use a link followed by objcopy to change output formats.  */
         same time.  Use a link followed by objcopy to change output formats.  */
      einfo ("%F%X%P: error: cannot change output format whilst linking S+core binaries\n");
      einfo ("%F%X%P: error: cannot change output format whilst linking S+core binaries\n");
      return;
      return;
    }
    }
  /* Call the standard elf routine.  */
  /* Call the standard elf routine.  */
  gld${EMULATION_NAME}_after_open ();
  gld${EMULATION_NAME}_after_open ();
}
}
EOF
EOF
# We have our own after_open and before_allocation functions, but they call
# We have our own after_open and before_allocation functions, but they call
# the standard routines, so give them a different name.
# the standard routines, so give them a different name.
LDEMUL_AFTER_OPEN=score_elf_after_open
LDEMUL_AFTER_OPEN=score_elf_after_open
# Replace the elf before_parse function with our own.
# Replace the elf before_parse function with our own.
LDEMUL_BEFORE_PARSE=gld"${EMULATION_NAME}"_before_parse
LDEMUL_BEFORE_PARSE=gld"${EMULATION_NAME}"_before_parse
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.