[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/14260] New: ARM ldrt instruction causes an internal error.

From: m.lesniewski at samsung dot com
Subject: [Bug gas/14260] New: ARM ldrt instruction causes an internal error.
Date: Mon, 18 Jun 2012 10:04:35 +0000


             Bug #: 14260
           Summary: ARM ldrt instruction causes an internal error.
           Product: binutils
           Version: 2.19
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gas
        AssignedTo: address@hidden
        ReportedBy: address@hidden
    Classification: Unclassified

Created attachment 6455
  --> http://sourceware.org/bugzilla/attachment.cgi?id=6455
Source file, which can be used to reproduce the error.

Using ldrt ARM instruction causes an internal error when the source address is
in the literal pool. An example of an instruction, which causes such behavior:

   ldrt r0, =0x0

Trying to compile a file containing this instruction causes the following
messages to be printed:

foo.S: Assembler messages:
foo.S:6: Internal error!
Assertion failure in encode_arm_addr_mode_common at
/home/docbrown/binutils/binutils-2.19/gas/config/tc-arm.c line 6262.
Please report this bug

I guess the error can be related to the fact, that the ldrt instruction
requires a post-indexing addressing mode. Normally the second operand of the
instruction is a register and the third operand is an offset (immediate value
or register), for example:

   ldrt r0, [r1], #12    ; load one word at address [r1] to r0 and update r1 to
r1 + 12

Of course, using ldrt to load constants from a literal pool makes no sense (or
am I missing something?). I found the error because of a typo in my source file
-- I wanted to use the ldr instruction instead of ldrt. Perhaps the assembler
should not allow such kinds of instructions and automatically suggest using ldr
instead of ldrt in cases like this.

I attached a file, which can be used to reproduce the error.

Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]