This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Patch AArch64] Turn lr, fp, ip0 and ip1 into proper aliases

We got a report from the linux-arm-kernel folks about getting spurious
warnings when building the kernel with binutils 2.29. See

which boils down to this testcase.

$> cat /tmp/tst.s
    lr .req x30
    /tmp/tst.s: Assembler messages:
/tmp/tst.s:1: Warning: ignoring attempt to redefine built-in register 'lr'

Instead let's treat this as a proper alias at startup time thus
avoiding the problem and treating these as proper aliases
rather than new registers. This means that attempts to redefine
the alias with the same "name" will provoke no warning and attempts
to redefine the alias to something else will provoke the above mentioned

Tested make check-gas and no regressions.

Ok to apply to trunk (and backport to 2.29 branch)?


    * config/tc-aarch64.c (REGDEF_ALIAS): Define
      (reg_names): Update for ip0, ip1, fp, lr to use REGDEF_ALIAS
    * doc/c-aarch64.texi: Update documentation on .req.
    * testsuite/gas/diagnostic.s: Update
    * testsuite/gas/diagnostic.l: Likewise
    * testsuite/gas/register_aliases.s: New file.
    * testsuite/gas/register_aliases.d: New file.

Attachment: p1.txt
Description: Text document

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]