aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/.Sanitize2
-rw-r--r--bfd/aout-rce.c8
-rw-r--r--bfd/bfd-in2.h3
-rw-r--r--bfd/cpu-rce.c2
-rw-r--r--gas/config/tc-rce.c41
5 files changed, 43 insertions, 13 deletions
diff --git a/bfd/.Sanitize b/bfd/.Sanitize
index f3d944f..c5a8fe4 100644
--- a/bfd/.Sanitize
+++ b/bfd/.Sanitize
@@ -263,7 +263,7 @@ else
done
fi
-rce_files="ChangeLog archures.c config.bfd configure.in targets.c"
+rce_files="ChangeLog archures.c bfd-in2.h config.bfd configure.in targets.c"
if ( echo $* | grep keep\-rce > /dev/null ) ; then
for i in $rce_files ; do
if test ! -d $i && (grep sanitize-rce $i > /dev/null) ; then
diff --git a/bfd/aout-rce.c b/bfd/aout-rce.c
index a89f140..6fa3f52 100644
--- a/bfd/aout-rce.c
+++ b/bfd/aout-rce.c
@@ -1,4 +1,4 @@
-/* BFD back-end for SOP a.out binaries.
+/* BFD back-end for RCE a.out binaries.
Copyright 1990, 1991, 1992 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -32,7 +32,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "aout/stab_gnu.h"
#include "aout/ar.h"
#include "libaout.h"
-#define DEFAULT_ARCH bfd_arch_sop
-#define MY(OP) CAT(sop_aout_,OP)
-#define TARGETNAME "a.out-sop"
+#define DEFAULT_ARCH bfd_arch_rce
+#define MY(OP) CAT(rce_aout_,OP)
+#define TARGETNAME "a.out-rce"
#include "aout-target.h"
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 9beb971..ae32bae 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1027,6 +1027,9 @@ enum bfd_architecture
bfd_arch_alpha, /* Dec Alpha */
bfd_arch_arm, /* Advanced Risc Machines ARM */
bfd_arch_ns32k, /* National Semiconductors ns32000 */
+ /* start-sanitize-rce */
+ bfd_arch_rce, /* Experimental Motorola RCE */
+ /* end-sanitize-rce */
bfd_arch_last
};
diff --git a/bfd/cpu-rce.c b/bfd/cpu-rce.c
index 3300b0a..57b44ba 100644
--- a/bfd/cpu-rce.c
+++ b/bfd/cpu-rce.c
@@ -72,7 +72,7 @@ static bfd_arch_info_type arch_info_struct[] =
void
-DEFUN_VOID(bfd_sop_arch)
+DEFUN_VOID(bfd_rce_arch)
{
bfd_arch_linkin(&arch_info_struct[0]);
}
diff --git a/gas/config/tc-rce.c b/gas/config/tc-rce.c
index 62698aa..20f9488 100644
--- a/gas/config/tc-rce.c
+++ b/gas/config/tc-rce.c
@@ -563,22 +563,49 @@ md_atof (type, litP, sizeP)
}
return 0;
}
+
+CONST char *md_shortopts = "";
+struct option md_longopts[] = {
-int
-md_parse_option (argP, cntP, vecP)
- char **argP;
- int *cntP;
- char ***vecP;
+#define OPTION_RELAX (OPTION_MD_BASE)
+#define OPTION_LITTLE (OPTION_MD_BASE+1)
+
+ {"relax", no_argument, NULL, OPTION_RELAX},
+ {"little", no_argument, NULL, OPTION_LITTLE},
+ {NULL, no_argument, NULL, 0}
+};
+size_t md_longopts_size = sizeof(md_longopts);
+int
+md_parse_option (c, arg)
+ int c;
+ char *arg;
{
- if (!strcmp (*argP, "relax"))
+ switch (c)
{
+ case OPTION_RELAX:
relax = 1;
- **argP = 0;
+ break;
+ case OPTION_LITTLE:
+ abort ();
+ break;
+
+ default:
+ return 0;
}
+
return 1;
}
+void
+md_show_usage (stream)
+ FILE *stream;
+{
+ fprintf(stream, "\
+RCE options:\n\
+-relax alter jump instructions for long displacements\n");
+}
+
int md_short_jump_size;
void