Initial ARC support.
authorDavid Edelsohn <dje.gcc@gmail.com>
Wed, 30 Nov 1994 01:29:26 +0000 (01:29 +0000)
committerDavid Edelsohn <dje.gcc@gmail.com>
Wed, 30 Nov 1994 01:29:26 +0000 (01:29 +0000)
bfd/.Sanitize
bfd/ChangeLog
bfd/bfd-in2.h

index c5f1daebc213bd10890d6c66ff48833293bcbe37..ff20bb237ceb443522d39b39930979aa25076960 100644 (file)
@@ -31,6 +31,14 @@ else
        lose_these_too="${rce_files} ${lose_these_too}"
 fi
 
+arc_files="cpu-arc.c elf32-arc.c"
+
+if ( echo $* | grep keep\-arc > /dev/null ) ; then
+       keep_these_too="${arc_files} ${keep_these_too}"
+else
+       lose_these_too="${arc_files} ${lose_these_too}"
+fi
+
 # All files listed between the "Things-to-keep:" line and the
 # "Files-to-sed:" line will be kept.  All other files will be removed.
 # Directories listed in this section will have their own Sanitize
@@ -291,6 +299,34 @@ else
        done
 fi
 
+arc_files="ChangeLog archures.c reloc.c targets.c config.bfd configure.in bfd-in2.h elfcode.h libbfd.h"
+if ( echo $* | grep keep\-arc > /dev/null ) ; then
+       for i in $arc_files ; do
+               if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
+                       if [ -n "${verbose}" ] ; then
+                               echo Keeping arc stuff in $i
+                       fi
+               fi
+       done
+else
+       for i in $arc_files ; do
+               if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
+                       if [ -n "${verbose}" ] ; then
+                               echo Removing traces of \"arc\" from $i...
+                       fi
+                       cp $i new
+                       sed '/start\-sanitize\-arc/,/end-\sanitize\-arc/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
+
 for i in * ; do
        if test ! -d $i && (grep sanitize $i > /dev/null) ; then
                echo '***' Some mentions of Sanitize are still left in $i! 1>&2
index 24dc49f607224c648f80eb41156cedf1523d6f81..186697cf3f5bc628484a0b575f3798e7eba83819 100644 (file)
@@ -1,3 +1,12 @@
+start-sanitize-arc
+Tue Nov 29 17:14:21 1994  Doug Evans  <dje@canuck.cygnus.com>
+
+       * archures.c: Initial support for the ARC.
+       * reloc.c, targets.c, config.bfd, configure.in, elfcode.h: Likewise.
+       * bfd-in2.h: Regenerated.
+       * libbfd.h: Likewise.
+end-sanitize-arc
+
 Tue Nov 29 14:00:19 1994  J.T. Conklin  <jtc@.rtl.cygnus.com>
 
        * config.bfd (i[345]86-*-freebsd*): Use i386-bsd as bfd_name.
index ae32bae3ef97a29fc059ded40a7a63ea1b7d4b4f..6a25c59e4bb95e0c68ff96dbf658a4c0df304f90 100644 (file)
@@ -1028,8 +1028,11 @@ enum bfd_architecture
   bfd_arch_arm,        /* Advanced Risc Machines ARM */
   bfd_arch_ns32k,      /* National Semiconductors ns32000 */
   /* start-sanitize-rce */
-  bfd_arch_rce,               /* Experimental Motorola RCE */
+  bfd_arch_rce,        /* Motorola RCE */
   /* end-sanitize-rce */
+  /* start-sanitize-arc */
+  bfd_arch_arc,        /* Argonaut RISC Core */
+  /* end-sanitize-arc */
   bfd_arch_last
   };
 
@@ -1510,6 +1513,15 @@ not stored in the instruction. */
   BFD_RELOC_ARM_SWI,
   BFD_RELOC_ARM_MULTI,
   BFD_RELOC_ARM_CP_OFF_IMM,
+/* start-sanitize-arc */
+
+/* Argonaut RISC Core (ARC) relocs.
+ARC 22 bit pc-relative branch.  The lowest two bits must be zero and are
+not stored in the instruction.  High 20 bits installed in bits 7 through 26
+of instruction. */
+  BFD_RELOC_ARC_B22_PCREL,
+/* end-sanitize-arc */
+
   BFD_RELOC_UNUSED };
 typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
 const struct reloc_howto_struct *