mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 14:39:09 +08:00
The ARM assembler is not assembling the following instruction
correctly. mrs lr, spsr The string pointer is advanced to far before the check to set the SPSR bit. Thu Jun 01 2000 Scott Bambrough <scottb@netwinder.org> * config/tc-arm.c (do_mrs): Allow SPSR_BIT to be set correctly.
This commit is contained in:
@ -1,3 +1,7 @@
|
||||
2000-06-01 Scott Bambrough <scottb@netwinder.org>
|
||||
|
||||
* config/tc-arm.c (do_mrs): Allow SPSR_BIT to be set correctly.
|
||||
|
||||
2000-05-29 Nick Clifton <nickc@cygnus.com>
|
||||
|
||||
* config/tc-sh.c: Fix compile time warning messages.
|
||||
|
@ -1914,6 +1914,8 @@ do_mrs (str, flags)
|
||||
char *str;
|
||||
unsigned long flags;
|
||||
{
|
||||
int skip = 0;
|
||||
|
||||
/* Only one syntax. */
|
||||
skip_whitespace (str);
|
||||
|
||||
@ -1936,11 +1938,11 @@ do_mrs (str, flags)
|
||||
/* Lower case versions for backwards compatability. */
|
||||
|| strcmp (str, "cpsr") == 0
|
||||
|| strcmp (str, "spsr") == 0)
|
||||
str += 4;
|
||||
skip = 4;
|
||||
/* This is for backwards compatability with older toolchains. */
|
||||
else if (strcmp (str, "cpsr_all") == 0
|
||||
|| strcmp (str, "spsr_all") == 0)
|
||||
str += 7;
|
||||
skip = 7;
|
||||
else
|
||||
{
|
||||
inst.error = _("{C|S}PSR expected");
|
||||
@ -1949,6 +1951,7 @@ do_mrs (str, flags)
|
||||
|
||||
if (* str == 's' || * str == 'S')
|
||||
inst.instruction |= SPSR_BIT;
|
||||
str += skip;
|
||||
|
||||
inst.instruction |= flags;
|
||||
end_of_line (str);
|
||||
|
Reference in New Issue
Block a user