bug-binutils
[Top][All Lists]
Advanced

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

[Bug gas/14448] New: AVR - BFD_RELOC_32 (4bytes) is written as 2 bytes


From: M.Cerveny at computer dot org
Subject: [Bug gas/14448] New: AVR - BFD_RELOC_32 (4bytes) is written as 2 bytes
Date: Fri, 10 Aug 2012 11:55:40 +0000

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

             Bug #: 14448
           Summary: AVR - BFD_RELOC_32 (4bytes) is written as 2 bytes
           Product: binutils
           Version: 2.20
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gas
        AssignedTo: address@hidden
        ReportedBy: address@hidden
    Classification: Unclassified


Hello, 

I have problem to debug large avr programs (tinyos/nescc generate one large
source file that is passed throught avr-gcc to avr-as). The debug information
are getting corrupted if any generated section in elf is larger than 64kB.

Example errors: 
- avr-gdb cannot find source line
- "avr-objdump -Wl" / "avr-readelf -wl" outputs "Warning: The information in
section .debug_line appears to be corrupt - the section is too small"

I debugged avr-as. All relloc/fixup are correctly computed in BFD_RELOC_32
format (traced with DEBUG5 in gas/write.c) but there is written only first 2
bytes :-(

I am not expert in code generation.

M.C>

--- gas/config/tc-avr.c.orig    2012-08-05 23:30:56.030369086 +0200
+++ gas/config/tc-avr.c    2012-08-10 13:00:17.610451285 +0200
@@ -1244,7 +1245,7 @@
       break;

     case BFD_RELOC_32:
-      bfd_putl16 ((bfd_vma) value, where);
+      bfd_putl32 ((bfd_vma) value, where);
       break;

     case BFD_RELOC_16:

-- 
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]