Browse Source
Added initial support for the z8k * z8ksim.em, z8ksim.sc-sh, z8ksim.sh: new files * configure.in, Makefile.in: modified to reflect above * ldlang.c (lang_check): when linking conflicting architectures, make the output file reflect at least one of the bad inputs.gdb-4_18-branch
7 changed files with 180 additions and 24 deletions
@ -0,0 +1,86 @@ |
|||||
|
cat >em_${EMULATION_NAME}.c <<EOF |
||||
|
/* Copyright (C) 1991 Free Software Foundation, Inc. |
||||
|
|
||||
|
This file is part of GLD, the Gnu Linker. |
||||
|
|
||||
|
GLD 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 1, or (at your option) |
||||
|
any later version. |
||||
|
|
||||
|
GLD 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 GLD; see the file COPYING. If not, write to |
||||
|
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ |
||||
|
|
||||
|
/* |
||||
|
Written by Steve Chamberlain steve@cygnus.com |
||||
|
|
||||
|
*/ |
||||
|
|
||||
|
#include "bfd.h" |
||||
|
#include "sysdep.h" |
||||
|
|
||||
|
#include "ld.h" |
||||
|
#include "config.h" |
||||
|
#include "ldemul.h" |
||||
|
#include "ldfile.h" |
||||
|
#include "ldmisc.h" |
||||
|
|
||||
|
extern boolean lang_float_flag; |
||||
|
|
||||
|
|
||||
|
extern enum bfd_architecture ldfile_output_architecture; |
||||
|
extern unsigned long ldfile_output_machine; |
||||
|
extern char *ldfile_output_machine_name; |
||||
|
|
||||
|
extern bfd *output_bfd; |
||||
|
|
||||
|
|
||||
|
|
||||
|
static void z8ksim_before_parse() |
||||
|
{ |
||||
|
ldfile_output_architecture = bfd_arch_z8k; |
||||
|
} |
||||
|
|
||||
|
static char *z8ksim_script = |
||||
|
#include "z8ksim.x" |
||||
|
; |
||||
|
static char *z8ksim_script_option_Ur = |
||||
|
#include "z8ksim.x" |
||||
|
; |
||||
|
static char *z8ksim_script_option_r = |
||||
|
#include "z8ksim.x" |
||||
|
; |
||||
|
|
||||
|
static char *z8ksim_get_script() |
||||
|
{ |
||||
|
extern ld_config_type config; |
||||
|
if (config.relocateable_output == true && |
||||
|
config.build_constructors == true) { |
||||
|
return z8ksim_script_option_Ur; |
||||
|
} |
||||
|
if (config.relocateable_output) { |
||||
|
return z8ksim_script_option_r; |
||||
|
} |
||||
|
|
||||
|
return z8ksim_script; |
||||
|
} |
||||
|
struct ld_emulation_xfer_struct ld_z8ksim_emulation = |
||||
|
{ |
||||
|
z8ksim_before_parse, |
||||
|
syslib_default, |
||||
|
hll_default, |
||||
|
after_parse_default, |
||||
|
after_allocation_default, |
||||
|
set_output_arch_default, |
||||
|
ldemul_default_target, |
||||
|
before_allocation_default, |
||||
|
z8ksim_get_script, |
||||
|
"z8ksim" |
||||
|
}; |
||||
|
EOF |
||||
@ -0,0 +1,26 @@ |
|||||
|
cat <<EOF |
||||
|
OUTPUT_FORMAT("${OUTPUT_FORMAT}") |
||||
|
OUTPUT_ARCH(${ARCH}) |
||||
|
|
||||
|
|
||||
|
SECTIONS |
||||
|
{ |
||||
|
.text : |
||||
|
{ |
||||
|
*(.text) |
||||
|
*(.strings) |
||||
|
_etext = .; |
||||
|
*(.data) |
||||
|
_edata = .; |
||||
|
*(.bss) |
||||
|
*(COMMON) |
||||
|
_end = .; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
EOF |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
@ -0,0 +1,8 @@ |
|||||
|
EMULATION_NAME=z8ksim |
||||
|
SCRIPT_NAME=z8ksim |
||||
|
OUTPUT_FORMAT="coff-z8k" |
||||
|
TEXT_START_ADDR=0x0 |
||||
|
PAGE_SIZE=128 |
||||
|
ARCH=z8k |
||||
|
TEMPLATE_NAME=z8ksim |
||||
|
|
||||
Loading…
Reference in new issue