[Top][All Lists]
[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.
- [Bug gas/14448] New: AVR - BFD_RELOC_32 (4bytes) is written as 2 bytes,
M.Cerveny at computer dot org <=