If I compile

------
.arch   atmega128
.text
.org    0x0
        jmp main
.org    0x46
.global main
.type   main, @function
main:
        nop
        jmp main
------
with
avr-as -g -D -o t.elf -mmcu=atmega128 t.S
I get
------
 avr-objdump -D t.elf

t.elf:     file format elf32-avr

Disassembly of section .text:

00000000 <main-0x46>:
   0:   0c 94 00 00     jmp     0       ; 0x0 <main-0x46>
        ...

00000046 <main>:
  46:   00 00           nop
  48:   0c 94 00 00     jmp     0       ; 0x0 <main-0x46>
------

which should be a "jmp 0x46". When I use rjmp/rcall it works fine.

-- 
           Summary: avr-as generates wrong opcode for call/jmp with lables
           Product: binutils
           Version: 2.17 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gas
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: rmack at student dot ethz dot ch
                CC: bug-binutils at gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu (Gentoo 3.4.5)
GCC target triplet: avr


http://sourceware.org/bugzilla/show_bug.cgi?id=2539

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to