Add support for v850e and v850eq targets.
authorNick Clifton <nickc@redhat.com>
Mon, 18 Aug 1997 18:42:35 +0000 (18:42 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 18 Aug 1997 18:42:35 +0000 (18:42 +0000)
Add support for BFD_RELOC_V850_PCREL relocation.

bfd/.Sanitize
bfd/ChangeLog
bfd/cpu-v850e.c [new file with mode: 0644]
bfd/cpu-v850eq.c [new file with mode: 0644]

index c857054d1718e7479fd388c15b9b21a67df9120e..514b833de93d7ef95209efe7268ad8231cca5593 100644 (file)
@@ -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"
index c8be16b99b2ff5eef15ce5106602d9e50d285996..d59ba5dce324bf0e73cd1c81d109214503f1c6e5 100644 (file)
@@ -1,3 +1,47 @@
+start-sanitize-v850
+Mon Aug 18 11:36:19 1997  Nick Clifton  <nickc@cygnus.com>
+
+       * 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  <nickc@cygnus.com>
+
+       * 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  <nickc@cygnus.com>
+
+       * 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  <ian@cygnus.com>
 
        * 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 (file)
index 0000000..803c7b3
--- /dev/null
@@ -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 (file)
index 0000000..a820186
--- /dev/null
@@ -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,
+  };
+