diff options
-rw-r--r-- | bfd/.Sanitize | 2 | ||||
-rw-r--r-- | bfd/aout-rce.c | 8 | ||||
-rw-r--r-- | bfd/bfd-in2.h | 3 | ||||
-rw-r--r-- | bfd/cpu-rce.c | 2 | ||||
-rw-r--r-- | gas/config/tc-rce.c | 41 |
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 |