Preserve copy of case clobber opcodes so that .req pseudo op works

This commit is contained in:
Nick Clifton 2000-11-02 19:32:47 +00:00
parent d75bb8cff6
commit 37d8bb275b
4 changed files with 30 additions and 4 deletions

View file

@ -1,11 +1,20 @@
2000-11-01 Nick Clifton <nickc@redhat.com>
* read.c (original_case_string): New global variable.
(read_a_source_file): Copy opcode string into
original_case_string if clobbering the case of the opcode.
* read.h: Export the definition of original_case_string.
* config/tc-arm.c (md_assembler): When parsing a .req
directive use the original opcode string, not the case
clobbered version.
2000-11-02 Nick Clifton <nickc@redhat.com>
* config/tc-mn10300.c (debug_line): Remove this static
varaible.
variable.
(md_assemble): Call dwarf2_generate_asm_lineno instead of
dwarf2_where and dwarf2_gen_line_info.
2000-11-02 Theo Honohan <th@futuretv.com>
* config/tc-arm.c (do_msr): Improve error message.

View file

@ -6613,9 +6613,14 @@ _("Warning: Use of the 'nv' conditional is deprecated\n"));
if (*q && !strncmp (q, ".req ", 4))
{
int reg;
char * copy_of_str = str;
char * copy_of_str;
char * r;
#ifdef IGNORE_OPCODE_CASE
str = original_case_string;
#endif
copy_of_str = str;
q += 4;
skip_whitespace (q);

View file

@ -165,6 +165,10 @@ char is_end_of_line[256] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /* */
};
#ifdef IGNORE_OPCODE_CASE
char original_case_string[128];
#endif
/* Functions private to this file. */
static char *buffer; /* 1st char of each buffer of lines is here. */
@ -735,10 +739,13 @@ read_a_source_file (name)
/* Expect pseudo-op or machine instruction. */
pop = NULL;
#define IGNORE_OPCODE_CASE
#ifdef IGNORE_OPCODE_CASE
{
char *s2 = s;
strncpy (original_case_string, s2, sizeof (original_case_string));
original_case_string[sizeof (original_case_string) - 1] = 0;
while (*s2)
{
if (isupper ((unsigned char) *s2))

View file

@ -85,6 +85,11 @@ enum linkonce_type
LINKONCE_SAME_CONTENTS
};
#define IGNORE_OPCODE_CASE
#ifdef IGNORE_OPCODE_CASE
extern char original_case_string[];
#endif
extern void pop_insert PARAMS ((const pseudo_typeS *));
extern unsigned int get_stab_string_offset
PARAMS ((const char *string, const char *stabstr_secname));