From def47b537e22f5f9fb3cad980cf6adbc710598bd Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Mon, 18 Aug 1997 18:42:35 +0000 Subject: [PATCH] Add support for v850e and v850eq targets. Add support for BFD_RELOC_V850_PCREL relocation. --- bfd/.Sanitize | 80 +++++++++++++++++++++++++++++++++++++++++++++--- bfd/ChangeLog | 44 ++++++++++++++++++++++++++ bfd/cpu-v850e.c | 39 +++++++++++++++++++++++ bfd/cpu-v850eq.c | 39 +++++++++++++++++++++++ 4 files changed, 198 insertions(+), 4 deletions(-) create mode 100644 bfd/cpu-v850e.c create mode 100644 bfd/cpu-v850eq.c diff --git a/bfd/.Sanitize b/bfd/.Sanitize index c857054d17..514b833de9 100644 --- a/bfd/.Sanitize +++ b/bfd/.Sanitize @@ -23,12 +23,23 @@ else lose_these_too="${d30v_files} ${lose_these_too}" fi -v850_files="cpu-v850.c elf32-v850.c" +v850_files="elf32-v850.c" if ( echo $* | grep keep\-v850 > /dev/null ) ; then - keep_these_too="${v850_files} ${keep_these_too}" + keep_these_too="cpu-v850.c ${v850_files} ${keep_these_too}" + lose_these_too="cpu-v850e.c cpu-v850eq.c ${lose_these_too}" else - lose_these_too="${v850_files} ${lose_these_too}" + if ( echo $* | grep keep\-v850e > /dev/null ) ; then + keep_these_too="cpu-v850e.c ${v850_files} ${keep_these_too}" + lose_these_too="cpu-v850.c cpu-v850eq.c ${lose_these_too}" + else + if ( echo $* | grep keep\-v850eq > /dev/null ) ; then + keep_these_too="cpu-v850eq.c ${v850_files} ${keep_these_too}" + lose_these_too="cpu-v850.c cpu-v850e.c ${lose_these_too}" + else + lose_these_too="cpu-v850.c cpu-v850e.c cpu-v850eq.c ${v850_files} ${lose_these_too}" + fi + fi fi tic80_files="cpu-tic80.c coff-tic80.c" @@ -323,7 +334,7 @@ else done fi -v850_files="ChangeLog ChangeLog.2 Makefile.in Makefile.am archures.c reloc.c targets.c config.bfd configure.in configure bfd-in2.h elf.c libbfd.h" +v850_files="ChangeLog ChangeLog.2 Makefile.in Makefile.am archures.c reloc.c targets.c config.bfd configure.in configure bfd-in2.h elf.c libbfd.h elf32-v850.c" if ( echo $* | grep keep\-v850 > /dev/null ) ; then for i in $v850_files ; do if test ! -d $i && (grep sanitize-v850 $i > /dev/null) ; then @@ -333,6 +344,12 @@ if ( echo $* | grep keep\-v850 > /dev/null ) ; then fi done else + if ( echo $* | grep keep\-v850e > /dev/null ) ; then + ; + else + if ( echo $* | grep keep\-v850eq > /dev/null ) ; then + ; + else for i in $v850_files ; do if test ! -d $i && (grep sanitize-v850 $i > /dev/null) ; then if [ -n "${verbose}" ] ; then @@ -349,6 +366,61 @@ else mv new $i fi done + fi + fi +fi + +if ( echo $* | grep keep\-v850e > /dev/null ) ; then + for i in $v850_files ; do + if test -r $i && (grep sanitize-v850e $i > /dev/null) ; then + if [ -n "${verbose}" ] ; then + echo Keeping v850e stuff in $i + fi + fi + done +else + for i in $v850_files ; do + if test -f $i && (grep sanitize-v850e $i > /dev/null) ; then + if [ -n "${verbose}" ] ; then + echo Removing traces of \"v850e\" from $i... + fi + cp $i new + sed '/start\-sanitize\-v850e/,/end-\sanitize\-v850e/d' < $i > new + if [ -n "${safe}" -a ! -f .Recover/$i ] ; then + if [ -n "${verbose}" ] ; then + echo Caching $i in .Recover... + fi + mv $i .Recover + fi + mv new $i + fi + done +fi +if ( echo $* | grep keep\-v850eq > /dev/null ) ; then + for i in $v850_files ; do + if test -r $i && (grep sanitize-v850eq $i > /dev/null) ; then + if [ -n "${verbose}" ] ; then + echo Keeping v850eq stuff in $i + fi + fi + done +else + for i in $v850_files ; do + if test -f $i && (grep sanitize-v850eq $i > /dev/null) ; then + if [ -n "${verbose}" ] ; then + echo Removing traces of \"v850eq\" from $i... + fi + cp $i new + sed '/start\-sanitize\-v850eq/,/end-\sanitize\-v850eq/d' < $i > new + if [ -n "${safe}" -a ! -f .Recover/$i ] ; then + if [ -n "${verbose}" ] ; then + echo Caching $i in .Recover... + fi + mv $i .Recover + fi + mv new $i + fi + done fi r5900_files="ChangeLog config.bfd" diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c8be16b99b..d59ba5dce3 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,47 @@ +start-sanitize-v850 +Mon Aug 18 11:36:19 1997 Nick Clifton + + * elf32-v850.c (v850_elf_howto_table, v850_elf_reloc_map, + v850_elf_check_relocs, v850_elf_reloc, + v850_elf_final_link_relocate): Add support for + BFD_RELOC_V850_16_PCREL relocation. + + * reloc.c (COMMENT): Add suuport for BFD_RELOC_V850_16_PCREL + relocation. + + * libbfd.h: Add support for BFD_RELOC_V850_16_PCREL relocation. + + * bfd-in2.h: Add support for BFD_RELOC_V850_16_PCREL relocation. +end-sanitize-v850 + +start-sanitize-v850e +Mon Aug 18 11:33:56 1997 Nick Clifton + + * cpu-v850e: New file. + + * elf.c (prep_headers): Add support for v850e target. + + * bfd-in2.h (bfd_architecture): Add support for v850e target. + + * config.bfd: Add support for v850e target. + + * archures.c: Add support for v850e target. +end-sanitize-v850e + +start-sanitize-v850eq +Mon Aug 18 11:33:56 1997 Nick Clifton + + * cpu-v850eq: New file. + + * elf.c (prep_headers): Add support for v850eq target. + + * bfd-in2.h (bfd_architecture): Add support for v850eq target. + + * config.bfd: Add support for v850eq target. + + * archures.c: Add support for v850eq target. +end-sanitize-v850eq + Fri Aug 15 12:01:28 1997 Ian Lance Taylor * coffgen.c (coff_find_nearest_line): Correctly handle the offset diff --git a/bfd/cpu-v850e.c b/bfd/cpu-v850e.c new file mode 100644 index 0000000000..803c7b38af --- /dev/null +++ b/bfd/cpu-v850e.c @@ -0,0 +1,39 @@ +/* BFD support for the NEC V850E processor + Copyright 1994, 1995 Free Software Foundation, Inc. + +This file is part of BFD, the Binary File Descriptor library. + +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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "bfd.h" +#include "sysdep.h" +#include "libbfd.h" + +const bfd_arch_info_type bfd_v850e_arch = + { + 32, /* 32 bits in a word */ + 32, /* 32 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_v850e, + 0, /* only 1 machine */ + "v850e", + "v850e", + 2, + true, /* the one and only */ + bfd_default_compatible, + bfd_default_scan , + 0, + }; + diff --git a/bfd/cpu-v850eq.c b/bfd/cpu-v850eq.c new file mode 100644 index 0000000000..a820186e70 --- /dev/null +++ b/bfd/cpu-v850eq.c @@ -0,0 +1,39 @@ +/* BFD support for the NEC V850EQ processor + Copyright 1994, 1995 Free Software Foundation, Inc. + +This file is part of BFD, the Binary File Descriptor library. + +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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "bfd.h" +#include "sysdep.h" +#include "libbfd.h" + +const bfd_arch_info_type bfd_v850eq_arch = + { + 32, /* 32 bits in a word */ + 32, /* 32 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_v850eq, + 0, /* only 1 machine */ + "v850eq", + "v850eq", + 2, + true, /* the one and only */ + bfd_default_compatible, + bfd_default_scan , + 0, + }; +