mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-26 07:19:16 +08:00
LoongArch: Deprecate $v[01], $fv[01] and $x names per spec
As outlined in the LoongArch ELF psABI spec [1], it is actually already 2 versions after the initial LoongArch support, and the $v[01] and $fv[01] names should really get sunset by now. In addition, the "$x" name for $r21 was never included in any released version of the ABI spec, and such usages are all fixed to say just $r21 for every project I could think of that accepted a LoongArch port. Plus, the upcoming LSX/LASX support makes use of registers named "$vrNN" and "$xrNN", so having "$vN" and "$x" alongside would almost certainly create confusion for developers. Issue warnings for such usages per the deprecation procedure detailed in the spec, so we can finally remove support in the next release cycle after this. [1]: https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html gas/ChangeLog: * config/tc-loongarch.c: Init canonical register ABI name mappings and deprecated register names. (loongarch_args_parser_can_match_arg_helper): Warn in case of deprecated register name usage. * testsuite/gas/loongarch/deprecated_reg_aliases.d: New test. * testsuite/gas/loongarch/deprecated_reg_aliases.l: Likewise. * testsuite/gas/loongarch/deprecated_reg_aliases.s: Likewise. include/ChangeLog: * opcode/loongarch.h: Rename global variables. opcodes/ChangeLog: * loongarch-opc.c: Rename the alternate/deprecated register name mappings, and move $x to the deprecated name map. Signed-off-by: WANG Xuerui <git@xen0n.name>
This commit is contained in:
@ -178,10 +178,10 @@ dec2 : [1-9][0-9]?
|
||||
|
||||
extern const char *const loongarch_r_normal_name[32];
|
||||
extern const char *const loongarch_r_lp64_name[32];
|
||||
extern const char *const loongarch_r_lp64_name1[32];
|
||||
extern const char *const loongarch_r_lp64_name_deprecated[32];
|
||||
extern const char *const loongarch_f_normal_name[32];
|
||||
extern const char *const loongarch_f_lp64_name[32];
|
||||
extern const char *const loongarch_f_lp64_name1[32];
|
||||
extern const char *const loongarch_f_lp64_name_deprecated[32];
|
||||
extern const char *const loongarch_fc_normal_name[4];
|
||||
extern const char *const loongarch_fc_numeric_name[4];
|
||||
extern const char *const loongarch_c_normal_name[8];
|
||||
|
Reference in New Issue
Block a user