[Bug gas/15649] ARM - Invalid constant after fixup with shifted immediate values

2013-06-26 Thread nickc at redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=15649

--- Comment #3 from Nick Clifton nickc at redhat dot com ---
Created attachment 7094
  -- http://sourceware.org/bugzilla/attachment.cgi?id=7094action=edit
Use A1 encoding when A2 encoding of negative PC+offset fails

Here is a possible patch.  I am not sure that it is 100% correct however - I
need an opinion from an ARM assembler expert...

-- 
You are receiving this mail because:
You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gas/15649] ARM - Invalid constant after fixup with shifted immediate values

2013-06-25 Thread m.lesniewski at samsung dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=15649



--- Comment #2 from Michał Leśniewski m.lesniewski at samsung do
t com ---

Hi Nick,



I run a few tests to see which values actually cause the problem. 



Here are is a small source file which demonstrates the problem:

   .text

   .global foo

   .syntax unified

   .arm



foo: 

add r0, pc, #0x7d, 4

add r0, pc, #0xd007



add r0, pc, #0xe8, 4

add r0, pc, #0x800e



add r0, pc, #0x53, 2

add r0, pc, #0xc014



Output:

test.S: Assembler messages:

test.S:8: Error: invalid constant (d007) after fixup

test.S:11: Error: invalid constant (800e) after fixup

test.S:14: Error: invalid constant (c014) after fixup



I also checked with other operand registers (rn != pc) -- the assembler d
id not

report any errors.



-- 

You are receiving this mail because:

You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gas/15649] ARM - Invalid constant after fixup with shifted immediate values

2013-06-24 Thread nickc at redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=15649

Nick Clifton nickc at redhat dot com changed:

   What|Removed |Added

 Status|NEW |WAITING
 CC||nickc at redhat dot com

--- Comment #1 from Nick Clifton nickc at redhat dot com ---
Hi Michal,

  Please could you provide a test case to reproduce this problem ?

  I tried the following:

  % cat pr15649.s
   .text
.global foo
foo: 
add r0, r1, #0xf00f
add r0, r1, #0xff, 4

  But was able to assemble it without any problems:

  % as pr15649.s
  % objdump -d a.out
  a.out: file format elf32-littlearm

  Disassembly of section .text:

   foo:
 0:   e28102ffadd r0, r1, #-268435441 ; 0xf00f
 4:   e28102ffadd r0, r1, #-268435441 ; 0xf00f


This was using GAS built from the 2.23 branch, but the same thing happens with
the current mainline sources as well.

Cheers
  Nick

-- 
You are receiving this mail because:
You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gas/15649] ARM - Invalid constant after fixup with shifted immediate values

2013-06-20 Thread m.lesniewski at samsung dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=15649



Michał Leśniewski m.lesniewski at samsung dot com changed:



   What|Removed |Added



 CC||m.lesniewski at samsung do
t com



-- 

You are receiving this mail because:

You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils