* Re: Problem with .req directive in arm-elf-as (2.15 branch)
2004-04-23 3:15 Problem with .req directive in arm-elf-as (2.15 branch) Peter S. Housel
@ 2004-04-30 8:43 ` Nick Clifton
2004-04-30 11:02 ` Nick Clifton
1 sibling, 0 replies; 3+ messages in thread
From: Nick Clifton @ 2004-04-30 8:43 UTC (permalink / raw)
To: Peter S. Housel; +Cc: binutils
[-- Attachment #1: Type: text/plain, Size: 628 bytes --]
Hi Peter,
>The current binutils-2_15-branch has a problem with the ARM ".req"
>pseudo-op. The following code, which used to assemble correctly in 2.13,
>now fails:
>
>MMUPurgeTLBReg .req c6
>MMUCP .req p15
>MCR MMUCP, 0, a1, MMUPurgeTLBReg, c0, 0
>
>Apparently this results because the alias names are already downcased by the
>time md_assemble() (and therefore create_register_alias()) in tc-arm.c get
>to see them.
>
>
Thanks for catching this. It was due to a small typo in the sources
which is fixed by the attached patch. I will be applying this patch to
the sources shortly.
Cheers
Nick
[-- Attachment #2: tc-arm.c.patch --]
[-- Type: text/plain, Size: 709 bytes --]
Index: gas/config/tc-arm.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-arm.c,v
retrieving revision 1.167
diff -c -3 -p -r1.167 tc-arm.c
*** gas/config/tc-arm.c 22 Apr 2004 16:18:29 -0000 1.167
--- gas/config/tc-arm.c 30 Apr 2004 08:00:37 -0000
*************** create_register_alias (newname, p)
*** 11439,11445 ****
char *copy_of_str;
char *r;
! #ifdef IGNORE_OPCODE_CASE
newname = original_case_string;
#endif
copy_of_str = newname;
--- 11439,11445 ----
char *copy_of_str;
char *r;
! #ifndef IGNORE_OPCODE_CASE
newname = original_case_string;
#endif
copy_of_str = newname;
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Problem with .req directive in arm-elf-as (2.15 branch)
2004-04-23 3:15 Problem with .req directive in arm-elf-as (2.15 branch) Peter S. Housel
2004-04-30 8:43 ` Nick Clifton
@ 2004-04-30 11:02 ` Nick Clifton
1 sibling, 0 replies; 3+ messages in thread
From: Nick Clifton @ 2004-04-30 11:02 UTC (permalink / raw)
To: Peter S. Housel; +Cc: binutils
[-- Attachment #1: Type: text/plain, Size: 627 bytes --]
Hi Peter,
>The current binutils-2_15-branch has a problem with the ARM ".req"
>pseudo-op. The following code, which used to assemble correctly in 2.13,
>now fails:
>
>MMUPurgeTLBReg .req c6
>MMUCP .req p15
>MCR MMUCP, 0, a1, MMUPurgeTLBReg, c0, 0
>
>Apparently this results because the alias names are already downcased by the
>time md_assemble() (and therefore create_register_alias()) in tc-arm.c get
>to see them.
>
Thanks for catching this. It was due to a small typo in the sources
which is fixed by the attached patch. I will be applying this patch to
the sources shortly.
Cheers
Nick
[-- Attachment #2: tc-arm.c.patch --]
[-- Type: text/plain, Size: 2090 bytes --]
Index: gas/config/tc-arm.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-arm.c,v
retrieving revision 1.167
diff -c -3 -p -r1.167 tc-arm.c
*** gas/config/tc-arm.c 22 Apr 2004 16:18:29 -0000 1.167
--- gas/config/tc-arm.c 30 Apr 2004 10:37:21 -0000
*************** co_proc_number (str)
*** 3595,3601 ****
}
else
{
! inst.error = _("bad or missing co-processor number");
return FAIL;
}
}
--- 3595,3601 ----
}
else
{
! inst.error = all_reg_maps[REG_TYPE_CP].expected;
return FAIL;
}
}
*************** cp_reg_required_here (str, where)
*** 3650,3656 ****
/* In the few cases where we might be able to accept something else
this error can be overridden. */
! inst.error = _("co-processor register expected");
/* Restore the start point. */
*str = start;
--- 3650,3656 ----
/* In the few cases where we might be able to accept something else
this error can be overridden. */
! inst.error = all_reg_maps[REG_TYPE_CN].expected;
/* Restore the start point. */
*str = start;
*************** fp_reg_required_here (str, where)
*** 3673,3679 ****
/* In the few cases where we might be able to accept something else
this error can be overridden. */
! inst.error = _("floating point register expected");
/* Restore the start point. */
*str = start;
--- 3673,3679 ----
/* In the few cases where we might be able to accept something else
this error can be overridden. */
! inst.error = all_reg_maps[REG_TYPE_FN].expected;
/* Restore the start point. */
*str = start;
*************** create_register_alias (newname, p)
*** 11439,11445 ****
char *copy_of_str;
char *r;
! #ifdef IGNORE_OPCODE_CASE
newname = original_case_string;
#endif
copy_of_str = newname;
--- 11439,11445 ----
char *copy_of_str;
char *r;
! #ifndef IGNORE_OPCODE_CASE
newname = original_case_string;
#endif
copy_of_str = newname;
^ permalink raw reply [flat|nested] 3+ messages in thread